All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_initialize
      Src: /src/fuzz_addr_parse.c:20,1
    - Dst: apr_pool_create
      Src: /src/fuzz_addr_parse.c:21,1
    - Dst: abort
      Src: /src/fuzz_addr_parse.c:22,1
    - Dst: strndup
      Src: /src/fuzz_addr_parse.c:28,1
    - Dst: apr_parse_addr_port
      Src: /src/fuzz_addr_parse.c:30,1
    - Dst: free
      Src: /src/fuzz_addr_parse.c:32,1
    - Dst: apr_pool_destroy
      Src: /src/fuzz_addr_parse.c:33,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_addr_parse.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_addr_parse.c
    functionUses: 0
    functionsReached:
    - apr_pool_terminate
    - apr_parse_addr_port
    - strndup
    - apr_pool_create
    - apr_pool_initialize
    - abort
    - apr_pool_destroy
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/fuzz_request.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: http_scheme2
    functionSourceFile: /src/fuzz_request.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *http_scheme2(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/fuzz_request.c:58,1
    - Dst: ap_open_stderr_log
      Src: /src/fuzz_request.c:59,1
    - Dst: ap_hook_http_scheme
      Src: /src/fuzz_request.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/fuzz_request.c
    functionUses: 0
    functionsReached:
    - ap_hook_http_scheme
    - ap_open_stderr_log
    - apr_pool_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz_request.c:65,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_request.c:71,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_request.c:72,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_request.c:73,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_request.c:74,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_request.c:75,1
    - Dst: apr_pool_initialize
      Src: /src/fuzz_request.c:84,1
    - Dst: apr_pool_create
      Src: /src/fuzz_request.c:86,1
    - Dst: apr_bucket_alloc_create
      Src: /src/fuzz_request.c:92,1
    - Dst: ap_method_registry_init
      Src: /src/fuzz_request.c:93,1
    - Dst: ap_create_request
      Src: /src/fuzz_request.c:99,1
    - Dst: calloc
      Src: /src/fuzz_request.c:103,1
    - Dst: memset
      Src: /src/fuzz_request.c:104,1
    - Dst: apr_brigade_create
      Src: /src/fuzz_request.c:108,1
    - Dst: ap_run_pre_read_request
      Src: /src/fuzz_request.c:111,1
    - Dst: af_get_short
      Src: /src/fuzz_request.c:114,1
    - Dst: af_get_short
      Src: /src/fuzz_request.c:115,1
    - Dst: af_get_short
      Src: /src/fuzz_request.c:116,1
    - Dst: malloc
      Src: /src/fuzz_request.c:117,1
    - Dst: ap_set_core_module_config
      Src: /src/fuzz_request.c:121,1
    - Dst: ap_parse_request_line
      Src: /src/fuzz_request.c:131,1
    - Dst: free
      Src: /src/fuzz_request.c:133,1
    - Dst: free
      Src: /src/fuzz_request.c:135,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_request.c:136,1
    - Dst: af_gb_cleanup
      Src: /src/fuzz_request.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 141
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_request.c
    functionUses: 0
    functionsReached:
    - ap_create_request
    - memset
    - apr_bucket_alloc_create
    - apr_pool_terminate
    - af_gb_get_null_terminated
    - apr_brigade_create
    - calloc
    - ap_parse_request_line
    - apr_pool_create
    - apr_pool_initialize
    - ap_method_registry_init
    - ap_run_pre_read_request
    - ap_set_core_module_config
    - malloc
    - af_gb_cleanup
    - free
    - af_get_short
    - af_gb_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz_utils.c:45,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:50,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:51,1
    - Dst: strlen
      Src: /src/fuzz_utils.c:53,1
    - Dst: ap_cstr_casecmp
      Src: /src/fuzz_utils.c:57,1
    - Dst: ap_cstr_casecmpn
      Src: /src/fuzz_utils.c:59,1
    - Dst: ap_strcmp_match
      Src: /src/fuzz_utils.c:61,1
    - Dst: ap_strcasecmp_match
      Src: /src/fuzz_utils.c:62,1
    - Dst: ap_strcasestr
      Src: /src/fuzz_utils.c:63,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/fuzz_utils.c:66,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:68,1
    - Dst: ap_getparents
      Src: /src/fuzz_utils.c:70,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:73,1
    - Dst: ap_no2slash
      Src: /src/fuzz_utils.c:75,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:78,1
    - Dst: ap_unescape_url
      Src: /src/fuzz_utils.c:80,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:83,1
    - Dst: ap_unescape_urlencoded
      Src: /src/fuzz_utils.c:85,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:88,1
    - Dst: ap_content_type_tolower
      Src: /src/fuzz_utils.c:90,1
    - Dst: malloc
      Src: /src/fuzz_utils.c:93,1
    - Dst: ap_escape_path_segment_buffer
      Src: /src/fuzz_utils.c:94,1
    - Dst: free
      Src: /src/fuzz_utils.c:95,1
    - Dst: malloc
      Src: /src/fuzz_utils.c:97,1
    - Dst: ap_escape_errorlog_item
      Src: /src/fuzz_utils.c:98,1
    - Dst: free
      Src: /src/fuzz_utils.c:99,1
    - Dst: apr_pool_initialize
      Src: /src/fuzz_utils.c:102,1
    - Dst: apr_pool_create
      Src: /src/fuzz_utils.c:104,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:108,1
    - Dst: ap_make_dirstr_parent
      Src: /src/fuzz_utils.c:110,1
    - Dst: ap_field_noparam
      Src: /src/fuzz_utils.c:113,1
    - Dst: ap_escape_shell_cmd
      Src: /src/fuzz_utils.c:115,1
    - Dst: ap_os_escape_path
      Src: /src/fuzz_utils.c:116,1
    - Dst: ap_escape_html2
      Src: /src/fuzz_utils.c:117,1
    - Dst: ap_escape_logitem
      Src: /src/fuzz_utils.c:118,1
    - Dst: ap_escape_quotes
      Src: /src/fuzz_utils.c:121,1
    - Dst: ap_pbase64decode
      Src: /src/fuzz_utils.c:124,1
    - Dst: ap_pbase64encode
      Src: /src/fuzz_utils.c:125,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:126,1
    - Dst: ap_pbase64decode_strict
      Src: /src/fuzz_utils.c:130,1
    - Dst: ap_get_list_item
      Src: /src/fuzz_utils.c:135,1
    - Dst: ap_find_list_item
      Src: /src/fuzz_utils.c:136,1
    - Dst: ap_find_token
      Src: /src/fuzz_utils.c:137,1
    - Dst: ap_find_last_token
      Src: /src/fuzz_utils.c:138,1
    - Dst: ap_parse_token_list_strict
      Src: /src/fuzz_utils.c:140,1
    - Dst: ap_get_token
      Src: /src/fuzz_utils.c:143,1
    - Dst: ap_pstr2_alnum
      Src: /src/fuzz_utils.c:146,1
    - Dst: ap_is_chunked
      Src: /src/fuzz_utils.c:148,1
    - Dst: ap_getword
      Src: /src/fuzz_utils.c:152,1
    - Dst: ap_getword_conf2
      Src: /src/fuzz_utils.c:154,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_utils.c:155,1
    - Dst: ap_getword_white_nc
      Src: /src/fuzz_utils.c:158,1
    - Dst: ap_escape_urlencoded
      Src: /src/fuzz_utils.c:161,1
    - Dst: sprintf
      Src: /src/fuzz_utils.c:165,1
    - Dst: getpid
      Src: /src/fuzz_utils.c:165,1
    - Dst: fopen
      Src: /src/fuzz_utils.c:166,1
    - Dst: fwrite
      Src: /src/fuzz_utils.c:167,1
    - Dst: fclose
      Src: /src/fuzz_utils.c:168,1
    - Dst: ap_pcfg_openfile
      Src: /src/fuzz_utils.c:172,1
    - Dst: af_get_short
      Src: /src/fuzz_utils.c:174,1
    - Dst: ap_cfg_getline
      Src: /src/fuzz_utils.c:175,1
    - Dst: ap_cfg_getline
      Src: /src/fuzz_utils.c:179,1
    - Dst: unlink
      Src: /src/fuzz_utils.c:183,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_utils.c:186,1
    - Dst: af_gb_cleanup
      Src: /src/fuzz_utils.c:191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 193
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_utils.c
    functionUses: 0
    functionsReached:
    - ap_is_chunked
    - apr_pool_terminate
    - ap_make_dirstr_parent
    - ap_find_list_item
    - ap_getword_conf2
    - ap_get_list_item
    - fopen
    - unlink
    - ap_cfg_getline
    - ap_cstr_casecmp
    - ap_escape_logitem
    - af_gb_get_null_terminated
    - ap_getparents
    - ap_find_token
    - ap_get_token
    - ap_strcmp_match
    - getpid
    - ap_escape_quotes
    - af_gb_cleanup
    - ap_escape_errorlog_item
    - ap_getword
    - ap_cstr_casecmpn
    - ap_pstr2_alnum
    - fwrite
    - ap_strcasestr
    - ap_getword_white_nc
    - ap_pcfg_openfile
    - ap_escape_shell_cmd
    - apr_pool_create
    - ap_strcasecmp_match
    - apr_pool_initialize
    - ap_field_noparam
    - malloc
    - ap_escape_path_segment_buffer
    - ap_pbase64decode
    - ap_no2slash
    - free
    - ap_parse_token_list_strict
    - af_get_short
    - sprintf
    - ap_os_escape_path
    - ap_pbase64encode
    - ap_timeout_parameter_parse
    - ap_content_type_tolower
    - ap_escape_html2
    - ap_escape_urlencoded
    - ap_pbase64decode_strict
    - ap_find_last_token
    - fclose
    - strlen
    - ap_unescape_url
    - ap_unescape_urlencoded
    - af_gb_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_initialize
      Src: /src/fuzz_tokenize.c:20,1
    - Dst: apr_pool_create
      Src: /src/fuzz_tokenize.c:21,1
    - Dst: abort
      Src: /src/fuzz_tokenize.c:22,1
    - Dst: strndup
      Src: /src/fuzz_tokenize.c:25,1
    - Dst: apr_tokenize_to_argv
      Src: /src/fuzz_tokenize.c:27,1
    - Dst: free
      Src: /src/fuzz_tokenize.c:29,1
    - Dst: apr_pool_destroy
      Src: /src/fuzz_tokenize.c:30,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_tokenize.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_tokenize.c
    functionUses: 0
    functionsReached:
    - apr_pool_terminate
    - strndup
    - apr_tokenize_to_argv
    - apr_pool_create
    - apr_pool_initialize
    - abort
    - apr_pool_destroy
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_parse.c:37,1
    - Dst: memcpy
      Src: /src/fuzz_parse.c:41,1
    - Dst: apr_pool_initialize
      Src: /src/fuzz_parse.c:44,1
    - Dst: apr_pool_create
      Src: /src/fuzz_parse.c:46,1
    - Dst: free
      Src: /src/fuzz_parse.c:47,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_parse.c:48,1
    - Dst: ap_expr_parse
      Src: /src/fuzz_parse.c:68,1
    - Dst: apr_pool_destroy
      Src: /src/fuzz_parse.c:71,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_parse.c:72,1
    - Dst: free
      Src: /src/fuzz_parse.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_parse.c
    functionUses: 0
    functionsReached:
    - apr_pool_terminate
    - ap_expr_parse
    - apr_pool_create
    - apr_pool_initialize
    - malloc
    - apr_pool_destroy
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hook
    - param
    - bb
    argTypes:
    - apreq_hook_t*
    - apreq_param_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: hookfunc
    functionSourceFile: /src/fuzz_preq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t hookfunc(apreq_hook_t *hook, apreq_param_t *param,\n
      \                     apr_bucket_brigade *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz_preq.c:45,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_preq.c:51,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_preq.c:52,1
    - Dst: apr_pool_initialize
      Src: /src/fuzz_preq.c:55,1
    - Dst: apr_pool_create
      Src: /src/fuzz_preq.c:57,1
    - Dst: apr_bucket_alloc_create
      Src: /src/fuzz_preq.c:59,1
    - Dst: apr_brigade_create
      Src: /src/fuzz_preq.c:60,1
    - Dst: apr_brigade_write
      Src: /src/fuzz_preq.c:61,1
    - Dst: strlen
      Src: /src/fuzz_preq.c:61,1
    - Dst: apreq_hook_make
      Src: /src/fuzz_preq.c:71,1
    - Dst: apr_table_make
      Src: /src/fuzz_preq.c:73,1
    - Dst: af_get_short
      Src: /src/fuzz_preq.c:74,1
    - Dst: apreq_parse_multipart
      Src: /src/fuzz_preq.c:75,1
    - Dst: apreq_parse_urlencoded
      Src: /src/fuzz_preq.c:77,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_preq.c:80,1
    - Dst: af_gb_cleanup
      Src: /src/fuzz_preq.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_preq.c
    functionUses: 0
    functionsReached:
    - af_get_short
    - apreq_parse_urlencoded
    - apr_pool_terminate
    - apr_bucket_alloc_create
    - af_gb_get_null_terminated
    - apr_brigade_create
    - apr_pool_create
    - strlen
    - apr_pool_initialize
    - af_gb_cleanup
    - apreq_parse_multipart
    - apreq_hook_make
    - apr_brigade_write
    - apr_table_make
    - af_gb_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz_uri.c:41,1
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz_uri.c:46,1
    - Dst: apr_pool_initialize
      Src: /src/fuzz_uri.c:49,1
    - Dst: apr_pool_create
      Src: /src/fuzz_uri.c:51,1
    - Dst: apr_uri_parse
      Src: /src/fuzz_uri.c:53,1
    - Dst: apr_uri_unparse
      Src: /src/fuzz_uri.c:54,1
    - Dst: apr_uri_parse_hostinfo
      Src: /src/fuzz_uri.c:56,1
    - Dst: apr_pool_destroy
      Src: /src/fuzz_uri.c:59,1
    - Dst: apr_pool_terminate
      Src: /src/fuzz_uri.c:61,1
    - Dst: af_gb_cleanup
      Src: /src/fuzz_uri.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_uri.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - apr_pool_terminate
    - apr_uri_parse
    - af_gb_get_null_terminated
    - apr_uri_parse_hostinfo
    - apr_pool_create
    - apr_pool_initialize
    - af_gb_cleanup
    - apr_pool_destroy
    - af_gb_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:74,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: usage
    functionSourceFile: /src/httpd/test/test_limits.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/httpd/test/test_limits.c:94,1
    - Dst: atoi
      Src: /src/httpd/test/test_limits.c:110,1
    - Dst: atoi
      Src: /src/httpd/test/test_limits.c:113,1
    - Dst: usage
      Src: /src/httpd/test/test_limits.c:116,1
    - Dst: usage
      Src: /src/httpd/test/test_limits.c:120,1
    - Dst: gethostbyname
      Src: /src/httpd/test/test_limits.c:123,1
    - Dst: perror
      Src: /src/httpd/test/test_limits.c:124,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:125,1
    - Dst: memset
      Src: /src/httpd/test/test_limits.c:127,1
    - Dst: memcpy
      Src: /src/httpd/test/test_limits.c:128,1
    - Dst: htons
      Src: /src/httpd/test/test_limits.c:130,1
    - Dst: socket
      Src: /src/httpd/test/test_limits.c:132,1
    - Dst: perror
      Src: /src/httpd/test/test_limits.c:133,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:134,1
    - Dst: connect
      Src: /src/httpd/test/test_limits.c:137,1
    - Dst: perror
      Src: /src/httpd/test/test_limits.c:138,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:139,1
    - Dst: fdopen
      Src: /src/httpd/test/test_limits.c:142,1
    - Dst: perror
      Src: /src/httpd/test/test_limits.c:143,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:144,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:148,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:151,1
    - Dst: ferror
      Src: /src/httpd/test/test_limits.c:152,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:153,1
    - Dst: fflush
      Src: /src/httpd/test/test_limits.c:154,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:156,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:159,1
    - Dst: ferror
      Src: /src/httpd/test/test_limits.c:162,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:163,1
    - Dst: fflush
      Src: /src/httpd/test/test_limits.c:164,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:166,1
    - Dst: ferror
      Src: /src/httpd/test/test_limits.c:169,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:170,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:171,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:174,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:175,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:176,1
    - Dst: ferror
      Src: /src/httpd/test/test_limits.c:177,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:178,1
    - Dst: fprintf
      Src: /src/httpd/test/test_limits.c:181,1
    - Dst: fflush
      Src: /src/httpd/test/test_limits.c:184,1
    - Dst: read
      Src: /src/httpd/test/test_limits.c:190,1
    - Dst: write
      Src: /src/httpd/test/test_limits.c:191,1
    - Dst: ferror
      Src: /src/httpd/test/test_limits.c:193,1
    - Dst: perror
      Src: /src/httpd/test/test_limits.c:194,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:195,1
    - Dst: fclose
      Src: /src/httpd/test/test_limits.c:198,1
    - Dst: exit
      Src: /src/httpd/test/test_limits.c:199,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/httpd/test/test_limits.c
    functionUses: 0
    functionsReached:
    - fdopen
    - htons
    - memset
    - socket
    - read
    - fclose
    - fprintf
    - gethostbyname
    - atoi
    - perror
    - usage
    - memcpy
    - connect
    - fflush
    - write
    - exit
    - ferror
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/httpd/test/cls.c:41,1
    - Dst: islower
      Src: /src/httpd/test/cls.c:45,1
    - Dst: isdigit
      Src: /src/httpd/test/cls.c:49,1
    - Dst: isxdigit
      Src: /src/httpd/test/cls.c:53,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - data
    - mask
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: checkmask
    functionSourceFile: /src/httpd/test/cls.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isxdigit
    - islower
    - isupper
    linkageType: ''
    returnType: int
    signature: int checkmask(const char *data, const char *mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/httpd/test/cls.c:77,1
    - Dst: isupper
      Src: /src/httpd/test/cls.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: hex2sec
    functionSourceFile: /src/httpd/test/cls.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isupper
    linkageType: ''
    returnType: int
    signature: int hex2sec(const char *x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/test/cls.c:106,1
    - Dst: exit
      Src: /src/httpd/test/cls.c:107,1
    - Dst: opendir
      Src: /src/httpd/test/cls.c:110,1
    - Dst: perror
      Src: /src/httpd/test/cls.c:112,1
    - Dst: exit
      Src: /src/httpd/test/cls.c:113,1
    - Dst: readdir
      Src: /src/httpd/test/cls.c:117,1
    - Dst: sprintf
      Src: /src/httpd/test/cls.c:123,1
    - Dst: fopen
      Src: /src/httpd/test/cls.c:124,1
    - Dst: perror
      Src: /src/httpd/test/cls.c:126,1
    - Dst: fgets
      Src: /src/httpd/test/cls.c:129,1
    - Dst: perror
      Src: /src/httpd/test/cls.c:130,1
    - Dst: fclose
      Src: /src/httpd/test/cls.c:131,1
    - Dst: checkmask
      Src: /src/httpd/test/cls.c:134,1
    - Dst: fprintf
      Src: /src/httpd/test/cls.c:135,1
    - Dst: fclose
      Src: /src/httpd/test/cls.c:136,1
    - Dst: hex2sec
      Src: /src/httpd/test/cls.c:139,1
    - Dst: hex2sec
      Src: /src/httpd/test/cls.c:140,1
    - Dst: hex2sec
      Src: /src/httpd/test/cls.c:141,1
    - Dst: hex2sec
      Src: /src/httpd/test/cls.c:142,1
    - Dst: hex2sec
      Src: /src/httpd/test/cls.c:143,1
    - Dst: fgets
      Src: /src/httpd/test/cls.c:144,1
    - Dst: perror
      Src: /src/httpd/test/cls.c:145,1
    - Dst: fclose
      Src: /src/httpd/test/cls.c:146,1
    - Dst: fclose
      Src: /src/httpd/test/cls.c:149,1
    - Dst: strlen
      Src: /src/httpd/test/cls.c:150,1
    - Dst: strncmp
      Src: /src/httpd/test/cls.c:151,1
    - Dst: fprintf
      Src: /src/httpd/test/cls.c:152,1
    - Dst: gmtime
      Src: /src/httpd/test/cls.c:157,1
    - Dst: strftime
      Src: /src/httpd/test/cls.c:158,1
    - Dst: strcpy
      Src: /src/httpd/test/cls.c:161,1
    - Dst: gmtime
      Src: /src/httpd/test/cls.c:164,1
    - Dst: strftime
      Src: /src/httpd/test/cls.c:165,1
    - Dst: strcpy
      Src: /src/httpd/test/cls.c:168,1
    - Dst: gmtime
      Src: /src/httpd/test/cls.c:171,1
    - Dst: strftime
      Src: /src/httpd/test/cls.c:172,1
    - Dst: strcpy
      Src: /src/httpd/test/cls.c:175,1
    - Dst: printf
      Src: /src/httpd/test/cls.c:177,1
    - Dst: closedir
      Src: /src/httpd/test/cls.c:180,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/httpd/test/cls.c
    functionUses: 0
    functionsReached:
    - sprintf
    - checkmask
    - gmtime
    - fclose
    - hex2sec
    - strcpy
    - opendir
    - fprintf
    - strftime
    - closedir
    - perror
    - readdir
    - fopen
    - exit
    - printf
    - strlen
    - fgets
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/test/test-writev.c:60,1
    - Dst: exit
      Src: /src/httpd/test/test-writev.c:61,1
    - Dst: inet_addr
      Src: /src/httpd/test/test-writev.c:64,1
    - Dst: fprintf
      Src: /src/httpd/test/test-writev.c:66,1
    - Dst: htons
      Src: /src/httpd/test/test-writev.c:69,1
    - Dst: atoi
      Src: /src/httpd/test/test-writev.c:69,1
    - Dst: socket
      Src: /src/httpd/test/test-writev.c:71,1
    - Dst: perror
      Src: /src/httpd/test/test-writev.c:73,1
    - Dst: exit
      Src: /src/httpd/test/test-writev.c:74,1
    - Dst: connect
      Src: /src/httpd/test/test-writev.c:76,1
    - Dst: perror
      Src: /src/httpd/test/test-writev.c:78,1
    - Dst: exit
      Src: /src/httpd/test/test-writev.c:79,1
    - Dst: setsockopt
      Src: /src/httpd/test/test-writev.c:82,1
    - Dst: perror
      Src: /src/httpd/test/test-writev.c:84,1
    - Dst: exit
      Src: /src/httpd/test/test-writev.c:85,1
    - Dst: writev
      Src: /src/httpd/test/test-writev.c:98,1
    - Dst: fprintf
      Src: /src/httpd/test/test-writev.c:99,1
    - Dst: exit
      Src: /src/httpd/test/test-writev.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/httpd/test/test-writev.c
    functionUses: 0
    functionsReached:
    - htons
    - writev
    - socket
    - fprintf
    - setsockopt
    - atoi
    - perror
    - connect
    - exit
    - inet_addr
    linkageType: ''
    returnType: void
    signature: void main( int argc, char **argv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/test/time-sem.c:100,1
    - Dst: open
      Src: /src/httpd/test/time-sem.c:101,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:104,1
    - Dst: fprintf
      Src: /src/httpd/test/time-sem.c:105,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:106,1
    - Dst: unlink
      Src: /src/httpd/test/time-sem.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: accept_mutex_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - perror
    - unlink
    - exit
    - printf
    - open
    linkageType: ''
    returnType: void
    signature: void accept_mutex_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/httpd/test/time-sem.c:115,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:119,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - fcntl
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_on(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/httpd/test/time-sem.c:126,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:128,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - fcntl
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_off(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/test/time-sem.c:148,1
    - Dst: open
      Src: /src/httpd/test/time-sem.c:149,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:152,1
    - Dst: fprintf
      Src: /src/httpd/test/time-sem.c:153,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: accept_mutex_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - perror
    - exit
    - printf
    - open
    linkageType: ''
    returnType: void
    signature: void accept_mutex_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/httpd/test/time-sem.c:160,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:162,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: accept_mutex_child_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - open
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_child_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/httpd/test/time-sem.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: accept_mutex_cleanup
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: void
    signature: void accept_mutex_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flock
      Src: /src/httpd/test/time-sem.c:176,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:180,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - flock
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_on(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flock
      Src: /src/httpd/test/time-sem.c:187,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:189,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - flock
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_off(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: semget
      Src: /src/httpd/test/time-sem.c:222,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:224,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:225,1
    - Dst: semctl
      Src: /src/httpd/test/time-sem.c:228,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:229,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:230,1
    - Dst: sigfillset
      Src: /src/httpd/test/time-sem.c:233,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:234,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:235,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: accept_mutex_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - semctl
    - exit
    - perror
    - sigdelset
    - semget
    - sigfillset
    linkageType: ''
    returnType: void
    signature: void accept_mutex_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/httpd/test/time-sem.c:245,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:246,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:247,1
    - Dst: semop
      Src: /src/httpd/test/time-sem.c:255,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:256,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - exit
    - perror
    - semop
    linkageType: ''
    returnType: void
    signature: void accept_mutex_on()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: semop
      Src: /src/httpd/test/time-sem.c:272,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:273,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:274,1
    - Dst: sigprocmask
      Src: /src/httpd/test/time-sem.c:277,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:278,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - exit
    - perror
    - semop
    linkageType: ''
    returnType: void
    signature: void accept_mutex_off()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/httpd/test/time-sem.c:305,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:307,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:308,1
    - Dst: mmap
      Src: /src/httpd/test/time-sem.c:310,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:313,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:314,1
    - Dst: close
      Src: /src/httpd/test/time-sem.c:316,1
    - Dst: pthread_mutexattr_init
      Src: /src/httpd/test/time-sem.c:317,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:318,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:319,1
    - Dst: pthread_mutexattr_setpshared
      Src: /src/httpd/test/time-sem.c:321,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:322,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:323,1
    - Dst: pthread_mutex_init
      Src: /src/httpd/test/time-sem.c:325,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:326,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:327,1
    - Dst: sigfillset
      Src: /src/httpd/test/time-sem.c:329,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:330,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:331,1
    - Dst: sigdelset
      Src: /src/httpd/test/time-sem.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: accept_mutex_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_setpshared
    - sigfillset
    - pthread_mutexattr_init
    - perror
    - mmap
    - pthread_mutex_init
    - sigdelset
    - exit
    - close
    - open
    linkageType: ''
    returnType: void
    signature: void accept_mutex_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/httpd/test/time-sem.c:337,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:338,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:339,1
    - Dst: pthread_mutex_lock
      Src: /src/httpd/test/time-sem.c:341,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:342,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - exit
    - pthread_mutex_lock
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_on()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/httpd/test/time-sem.c:349,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:350,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:351,1
    - Dst: sigprocmask
      Src: /src/httpd/test/time-sem.c:353,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:354,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - pthread_mutex_unlock
    - exit
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_off()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usconfig
      Src: /src/httpd/test/time-sem.c:374,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:375,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:376,1
    - Dst: usconfig
      Src: /src/httpd/test/time-sem.c:378,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:379,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:380,1
    - Dst: usconfig
      Src: /src/httpd/test/time-sem.c:382,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:383,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:384,1
    - Dst: usinit
      Src: /src/httpd/test/time-sem.c:386,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:387,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:388,1
    - Dst: usnewlock
      Src: /src/httpd/test/time-sem.c:390,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:391,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 394
    functionName: accept_mutex_init
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - usinit
    - perror
    - usnewlock
    - usconfig
    - exit
    linkageType: ''
    returnType: void
    signature: void accept_mutex_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ussetlock
      Src: /src/httpd/test/time-sem.c:397,1
    - Dst: fprintf
      Src: /src/httpd/test/time-sem.c:402,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:403,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:405,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - ussetlock
    - fprintf
    - exit
    - perror
    linkageType: ''
    returnType: void
    signature: void accept_mutex_on()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usunsetlock
      Src: /src/httpd/test/time-sem.c:411,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:412,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - exit
    - perror
    - usunsetlock
    linkageType: ''
    returnType: void
    signature: void accept_mutex_off()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/httpd/test/time-sem.c:425,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:428,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: get_shared_mem
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - mmap
    - exit
    - perror
    linkageType: ''
    returnType: void
    signature: void *get_shared_mem(apr_size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/httpd/test/time-sem.c:450,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:451,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:452,1
    - Dst: sbrk
      Src: /src/httpd/test/time-sem.c:465,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:466,1
    - Dst: shmat
      Src: /src/httpd/test/time-sem.c:471,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:472,1
    - Dst: shmctl
      Src: /src/httpd/test/time-sem.c:478,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:479,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:482,1
    - Dst: sbrk
      Src: /src/httpd/test/time-sem.c:487,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - size
    argTypes:
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: get_shared_mem
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - shmat
    - shmctl
    - perror
    - sbrk
    - exit
    - shmget
    linkageType: ''
    returnType: void
    signature: void *get_shared_mem(apr_size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/test/time-sem.c:516,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:517,1
    - Dst: atoi
      Src: /src/httpd/test/time-sem.c:520,1
    - Dst: atoi
      Src: /src/httpd/test/time-sem.c:521,1
    - Dst: get_shared_mem
      Src: /src/httpd/test/time-sem.c:524,1
    - Dst: accept_mutex_init
      Src: /src/httpd/test/time-sem.c:529,1
    - Dst: accept_mutex_on
      Src: /src/httpd/test/time-sem.c:532,1
    - Dst: fork
      Src: /src/httpd/test/time-sem.c:535,1
    - Dst: accept_mutex_child_init
      Src: /src/httpd/test/time-sem.c:538,1
    - Dst: accept_mutex_on
      Src: /src/httpd/test/time-sem.c:542,1
    - Dst: accept_mutex_off
      Src: /src/httpd/test/time-sem.c:546,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:548,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:550,1
    - Dst: accept_mutex_off
      Src: /src/httpd/test/time-sem.c:551,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:552,1
    - Dst: puts
      Src: /src/httpd/test/time-sem.c:558,1
    - Dst: accept_mutex_off
      Src: /src/httpd/test/time-sem.c:559,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:560,1
    - Dst: gettimeofday
      Src: /src/httpd/test/time-sem.c:563,1
    - Dst: accept_mutex_off
      Src: /src/httpd/test/time-sem.c:565,1
    - Dst: wait
      Src: /src/httpd/test/time-sem.c:567,1
    - Dst: perror
      Src: /src/httpd/test/time-sem.c:568,1
    - Dst: gettimeofday
      Src: /src/httpd/test/time-sem.c:571,1
    - Dst: printf
      Src: /src/httpd/test/time-sem.c:574,1
    - Dst: printf
      Src: /src/httpd/test/time-sem.c:587,1
    - Dst: accept_mutex_cleanup
      Src: /src/httpd/test/time-sem.c:589,1
    - Dst: exit
      Src: /src/httpd/test/time-sem.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 592
    functionName: main
    functionSourceFile: /src/httpd/test/time-sem.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - get_shared_mem
    - wait
    - fprintf
    - exit
    - atoi
    - perror
    - accept_mutex_cleanup
    - accept_mutex_child_init
    - accept_mutex_off
    - accept_mutex_init
    - printf
    - fork
    - accept_mutex_on
    - puts
    linkageType: ''
    returnType: void
    signature: void main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/test/test_select.c:36,1
    - Dst: printf
      Src: /src/httpd/test/test_select.c:38,1
    - Dst: select
      Src: /src/httpd/test/test_select.c:42,1
    - Dst: printf
      Src: /src/httpd/test/test_select.c:44,1
    - Dst: exit
      Src: /src/httpd/test/test_select.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/httpd/test/test_select.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - select
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ap_block_alarms
    functionSourceFile: /src/httpd/test/test_find.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_block_alarms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ap_unblock_alarms
    functionSourceFile: /src/httpd/test/test_find.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_unblock_alarms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - level
    - r
    - fmt
    argTypes:
    - char*
    - int
    - int
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ap_log_error
    functionSourceFile: /src/httpd/test/test_find.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_log_error(const char *file, int line, int level,\n                              const
      request_rec *r, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_alloc_init
      Src: /src/httpd/test/test_find.c:64,1
    - Dst: printf
      Src: /src/httpd/test/test_find.c:66,1
    - Dst: gets
      Src: /src/httpd/test/test_find.c:67,1
    - Dst: exit
      Src: /src/httpd/test/test_find.c:68,1
    - Dst: printf
      Src: /src/httpd/test/test_find.c:70,1
    - Dst: gets
      Src: /src/httpd/test/test_find.c:71,1
    - Dst: printf
      Src: /src/httpd/test/test_find.c:72,1
    - Dst: ap_find_list_item
      Src: /src/httpd/test/test_find.c:72,1
    - Dst: printf
      Src: /src/httpd/test/test_find.c:74,1
    - Dst: exit
      Src: /src/httpd/test/test_find.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/httpd/test/test_find.c
    functionUses: 0
    functionsReached:
    - apr_pool_alloc_init
    - ap_find_list_item
    - gets
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_create
      Src: /src/httpd/test/httpdunit.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: main_test_suite
    functionSourceFile: /src/httpd/test/httpdunit.c
    functionUses: 0
    functionsReached:
    - suite_create
    linkageType: ''
    returnType: Suite
    signature: Suite *main_test_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/test/httpdunit.c:38,1
    - Dst: srunner_create
      Src: /src/httpd/test/httpdunit.c:39,1
    - Dst: main_test_suite
      Src: /src/httpd/test/httpdunit.c:39,1
    - Dst: srunner_set_tap
      Src: /src/httpd/test/httpdunit.c:42,1
    - Dst: srunner_run_all
      Src: /src/httpd/test/httpdunit.c:45,1
    - Dst: srunner_ntests_failed
      Src: /src/httpd/test/httpdunit.c:46,1
    - Dst: srunner_free
      Src: /src/httpd/test/httpdunit.c:49,1
    - Dst: apr_terminate
      Src: /src/httpd/test/httpdunit.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/httpd/test/httpdunit.c
    functionUses: 0
    functionsReached:
    - apr_terminate
    - srunner_set_tap
    - srunner_run_all
    - main_test_suite
    - apr_app_initialize
    - srunner_create
    - srunner_ntests_failed
    - srunner_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ap_block_alarms
    functionSourceFile: /src/httpd/test/test_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_block_alarms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ap_unblock_alarms
    functionSourceFile: /src/httpd/test/test_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_unblock_alarms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - level
    - r
    - fmt
    argTypes:
    - char*
    - int
    - int
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ap_log_error
    functionSourceFile: /src/httpd/test/test_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_log_error(const char *file, int line, int level,\n                               const
      request_rec *r, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_alloc_init
      Src: /src/httpd/test/test_parser.c:65,1
    - Dst: gets
      Src: /src/httpd/test/test_parser.c:67,1
    - Dst: printf
      Src: /src/httpd/test/test_parser.c:68,1
    - Dst: ap_get_list_item
      Src: /src/httpd/test/test_parser.c:70,1
    - Dst: printf
      Src: /src/httpd/test/test_parser.c:71,1
    - Dst: exit
      Src: /src/httpd/test/test_parser.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/httpd/test/test_parser.c
    functionUses: 0
    functionsReached:
    - apr_pool_alloc_init
    - gets
    - ap_get_list_item
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: HTTPD_BEGIN_TEST_CASE
    functionSourceFile: /src/httpd/test/httpdunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPD_BEGIN_TEST_CASE(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - SETUP
    - ','
    - TEARDOWN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: HTTPD_BEGIN_TEST_CASE_WITH_FIXTURE
    functionSourceFile: /src/httpd/test/httpdunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPD_BEGIN_TEST_CASE_WITH_FIXTURE(NAME, SETUP, TEARDOWN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - NUM_ITERATIONS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/httpdunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPD_START_LOOP_TEST(NAME, NUM_ITERATIONS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:55,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:62,1
    - Dst: apr_table_get
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:66,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:67,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:69,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:71,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:72,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:73,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:74,1
    - Dst: apr_brigade_write
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:76,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:78,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:80,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:85,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:86,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:87,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:89,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:90,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:92,1
    - Dst: apr_itoa
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:93,1
    - Dst: apr_table_get
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:95,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:96,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:98,1
    - Dst: apr_table_get
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:99,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:102,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:108,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:113,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 117
    functionName: h1test_echo_handler
    functionSourceFile: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - ap_setup_client_block
    - apr_brigade_create
    - apr_table_setn
    - apr_itoa
    - apr_bucket_eos_create
    - apr_is_empty_table
    - ap_should_client_block
    - apr_table_get
    - ap_get_client_block
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int h1test_echo_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:124,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: h1test_hooks
    functionSourceFile: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    - ap_log_perror
    linkageType: ''
    returnType: void
    signature: void h1test_hooks(apr_pool_t *pool)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:55,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:72,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:76,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:81,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:94,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ptimeout
    - value
    - def_unit
    argTypes:
    - apr_interval_time_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 104
    functionName: duration_parse
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_strtoi64
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t duration_parse(apr_interval_time_t *ptimeout, const char
      *value,\n                                   const char *def_unit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:114,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: h2test_post_config
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    linkageType: ''
    returnType: int
    signature: "int h2test_post_config(apr_pool_t *p, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: h2test_child_init
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2test_child_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:147,1
    - Dst: apr_cstr_split
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:155,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:157,1
    - Dst: strchr
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:158,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:162,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:166,1
    - Dst: duration_parse
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:167,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:172,1
    - Dst: apr_atoi64
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:173,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:180,1
    - Dst: ap_die
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:183,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:188,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:192,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:194,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:195,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:196,1
    - Dst: apr_table_get
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:198,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:199,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:201,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:203,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:204,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:205,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:206,1
    - Dst: apr_brigade_write
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:215,1
    - Dst: apr_sleep
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:218,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:220,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:222,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:231,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:233,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:236,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:238,1
    - Dst: apr_itoa
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:239,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:242,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:248,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:252,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:253,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:254,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:255,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:259,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 263
    functionName: h2test_echo_handler
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_cstr_split
    - ap_should_client_block
    - strchr
    - ap_bucket_error_create
    - apr_table_get
    - ap_pass_brigade
    - strcmp
    - APR_ARRAY_IDX
    - ap_die
    - apr_bucket_eos_create
    - duration_parse
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - ap_setup_client_block
    - apr_itoa
    - apr_table_setn
    - apr_table_unset
    - apr_sleep
    - apr_is_empty_table
    - ap_map_http_request_error
    - ap_get_client_block
    - apr_atoi64
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int h2test_echo_handler(request_rec *r)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:276,1
    - Dst: duration_parse
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:284,1
    - Dst: ap_die
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:286,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:291,1
    - Dst: apr_time_sec
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:292,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:296,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:298,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:299,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:300,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:302,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:304,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:306,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:307,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:309,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:311,1
    - Dst: memset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:320,1
    - Dst: apr_brigade_write
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:323,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:325,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:327,1
    - Dst: apr_sleep
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:330,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:334,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:335,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:336,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:337,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:338,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:341,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 350
    functionName: h2test_delay_handler
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - ap_should_client_block
    - apr_time_sec
    - ap_pass_brigade
    - strcmp
    - ap_die
    - apr_bucket_eos_create
    - duration_parse
    - apr_brigade_cleanup
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - ap_setup_client_block
    - memset
    - apr_table_setn
    - apr_table_unset
    - apr_sleep
    - ap_get_client_block
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int h2test_delay_handler(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:362,1
    - Dst: apr_atoi64
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:370,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:374,1
    - Dst: ap_set_content_length
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:378,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:380,1
    - Dst: apr_table_mergen
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:381,1
    - Dst: apr_table_set
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:382,1
    - Dst: apr_psprintf
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:383,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:385,1
    - Dst: memset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:386,1
    - Dst: apr_brigade_write
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:390,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:392,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:394,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:398,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:399,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:400,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:401,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:402,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:405,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 414
    functionName: h2test_trailer_handler
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_table_mergen
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - memset
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_table_set
    - apr_brigade_cleanup
    - apr_psprintf
    - apr_atoi64
    - apr_brigade_write
    - ap_set_content_length
    - APR_BRIGADE_INSERT_TAIL
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int h2test_trailer_handler(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:418,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pstatus
    argTypes:
    - char*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: status_from_str
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int status_from_str(const char *s, apr_status_t *pstatus)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:443,1
    - Dst: apr_cstr_split
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:451,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:453,1
    - Dst: strchr
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:454,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:458,1
    - Dst: apr_atoi64
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:459,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:464,1
    - Dst: status_from_str
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:465,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:469,1
    - Dst: apr_atoi64
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:470,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:475,1
    - Dst: status_from_str
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:476,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:480,1
    - Dst: duration_parse
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:481,1
    - Dst: strcmp
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:486,1
    - Dst: duration_parse
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:487,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:493,1
    - Dst: ap_die
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:495,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:500,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:505,1
    - Dst: apr_table_unset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:507,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:508,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:509,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:511,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:512,1
    - Dst: apr_sleep
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:515,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:518,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:521,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:522,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:523,1
    - Dst: memset
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:526,1
    - Dst: apr_sleep
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:530,1
    - Dst: apr_brigade_write
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:532,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:534,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:536,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:544,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:545,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:546,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:547,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:548,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:551,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:558,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:559,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:560,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:561,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 115
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 564
    functionName: h2test_error_handler
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_cstr_split
    - strchr
    - ap_bucket_error_create
    - ap_pass_brigade
    - strcmp
    - APR_ARRAY_IDX
    - ap_die
    - status_from_str
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - duration_parse
    - apr_brigade_cleanup
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - memset
    - apr_table_setn
    - apr_table_unset
    - apr_sleep
    - ap_map_http_request_error
    - apr_atoi64
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int h2test_error_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:572,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:576,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:580,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:583,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:584,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:585,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: h2test_hooks
    functionSourceFile: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_log_perror
    - ap_hook_child_init
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void h2test_hooks(apr_pool_t *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c:24,1
    - Dst: va_arg
      Src: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c:27,1
    - Dst: strtol
      Src: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c:31,1
    - Dst: va_end
      Src: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: httpd_test_split_qs_numbers
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c
    functionUses: 0
    functionsReached:
    - strtol
    - va_end
    - va_arg
    - va_start
    linkageType: ''
    returnType: int
    signature: int httpd_test_split_qs_numbers(request_rec *r, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtrue
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:30,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: authn_check_password
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - strtrue
    - strcmp
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_check_password(request_rec *r, const char *user,\n
      \                                        const char *password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:43,1
    - Dst: strtrue
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:48,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - r
    - requirement
    - dummy
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: any_check_authorization
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - strtrue
    - AP_MODULE_MAGIC_AT_LEAST
    - strcmp
    linkageType: ''
    returnType: authz_status
    signature: "authz_status any_check_authorization(request_rec *r,\n                                            const
      char *requirement,\n                                            const void *dummy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:59,1
    - Dst: ap_register_provider
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: extra_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void extra_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_requires
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:91,1
    - Dst: ap_getword
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:105,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:107,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 115
    functionName: require_any_user
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_getword
    - ap_requires
    linkageType: ''
    returnType: int
    signature: int require_any_user(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_basic_auth_pw
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:120,1
    - Dst: require_any_user
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:127,1
    - Dst: strtrue
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:138,1
    - Dst: strtrue
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:138,1
    - Dst: ap_note_basic_auth_failure
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:139,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:141,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 152
    functionName: authany_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_get_basic_auth_pw
    - require_any_user
    - strtrue
    - ap_note_basic_auth_failure
    linkageType: ''
    returnType: int
    signature: int authany_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_check_user_id
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:164,1
    - Dst: ap_hook_auth_checker
      Src: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: extra_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
    functionUses: 0
    functionsReached:
    - ap_hook_auth_checker
    - ap_hook_check_user_id
    linkageType: ''
    returnType: void
    signature: void extra_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:91,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:92,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:93,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: test_session_init
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void test_session_init(apr_pool_t *p, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:100,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:105,1
    - Dst: apr_pstrdup
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:109,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:112,1
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:117,1
    - Dst: apr_table_make
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:119,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: test_session_load
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_table_setn
    - apr_table_make
    - apr_table_get
    - ap_get_module_config
    - apr_pstrdup
    - ap_unescape_urlencoded
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t test_session_load(request_rec * r, session_rec ** z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:130,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:136,1
    - Dst: apr_table_set
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: test_session_save
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_table_setn
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t test_session_save(request_rec * r, session_rec * z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:146,1
    - Dst: apr_pstrcat
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: test_session_encode
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t test_session_encode(request_rec * r, session_rec * z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:159,1
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:160,1
    - Dst: strncmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: test_session_decode
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t test_session_decode(request_rec * r, session_rec * z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_session_load_fn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:178,1
    - Dst: ap_session_get_fn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:181,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: test_session_get
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - ap_session_load_fn
    - ap_session_get_fn
    - ap_rputs
    linkageType: ''
    returnType: int
    signature: int test_session_get(request_rec *r, char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_session_load_fn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:196,1
    - Dst: ap_session_set_fn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - name
    - value
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: test_session_set
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - ap_session_load_fn
    - ap_session_set_fn
    linkageType: ''
    returnType: int
    signature: int test_session_set(request_rec *r, char *name, char *value)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:208,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:212,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:213,1
    - Dst: ap_parse_form_data
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:228,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:233,1
    - Dst: apr_array_pop
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:234,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:235,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:238,1
    - Dst: strncmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:240,1
    - Dst: strncmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:242,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:247,1
    - Dst: apr_brigade_length
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:250,1
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:252,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:253,1
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:255,1
    - Dst: apr_brigade_length
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:258,1
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:260,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:261,1
    - Dst: test_session_get
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:273,1
    - Dst: test_session_set
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:276,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: test_session_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - strcmp
    - apr_pcalloc
    - apr_table_setn
    - apr_brigade_flatten
    - test_session_set
    - test_session_get
    - apr_array_pop
    - apr_table_get
    - apr_brigade_length
    - apr_brigade_pflatten
    - ap_parse_form_data
    - strncmp
    linkageType: ''
    returnType: int
    signature: int test_session_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: test_session_dcfg_create
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *test_session_dcfg_create(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: test_session_dcfg_merge
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *test_session_dcfg_merge(apr_pool_t * p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: set_session_enable
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_session_enable(cmd_parms * parms, void *dconf, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: set_encoder_enable
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_encoder_enable(cmd_parms * parms, void *dconf, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_session_load
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:335,1
    - Dst: ap_hook_session_save
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:338,1
    - Dst: ap_hook_session_encode
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:341,1
    - Dst: ap_hook_session_decode
      Src: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: extra_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    functionUses: 0
    functionsReached:
    - ap_hook_session_load
    - ap_hook_session_encode
    - ap_hook_session_save
    - ap_hook_session_decode
    linkageType: ''
    returnType: void
    signature: void extra_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: nntp_like_srv_cfg_create
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *nntp_like_srv_cfg_create(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: nntp_like_cmd_enable
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *nntp_like_cmd_enable(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:75,1
    - Dst: ap_get_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:77,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: nntp_like_init_connection
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_destroy
    - apr_brigade_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t nntp_like_init_connection(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:88,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:93,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:96,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:97,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:97,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: nntp_like_send_welcome
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - apr_bucket_immortal_create
    - ap_pass_brigade
    - apr_brigade_create
    - apr_bucket_flush_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t nntp_like_send_welcome(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:105,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: nntp_like_pre_connection
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_set
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int nntp_like_pre_connection(conn_rec *c, void *csd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:120,1
    - Dst: nntp_like_init_connection
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:128,1
    - Dst: nntp_like_send_welcome
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:133,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:138,1
    - Dst: ap_get_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:140,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:143,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:145,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:149,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:149,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 155
    functionName: nntp_like_process_connection
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_pass_brigade
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_bucket_flush_create
    - nntp_like_send_welcome
    - nntp_like_init_connection
    - ap_get_module_config
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int nntp_like_process_connection(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:159,1
    - Dst: ap_hook_process_connection
      Src: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: nntp_like_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_connection
    - ap_hook_process_connection
    linkageType: ''
    returnType: void
    signature: void nntp_like_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: input_body_filter_dcfg_create
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *input_body_filter_dcfg_create(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: input_body_filter_fixup_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int input_body_filter_fixup_handler(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:51,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: input_body_filter_response_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_rputs
    linkageType: ''
    returnType: int
    signature: int input_body_filter_response_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: reverse_string
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_string(char *string, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:94,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:95,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:98,1
    - Dst: ap_get_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:100,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:106,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:111,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:113,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:114,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:115,1
    - Dst: apr_bucket_read
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:119,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:125,1
    - Dst: apr_pstrndup
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:128,1
    - Dst: reverse_string
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:129,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:130,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 138
    functionName: input_body_filter_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - apr_pcalloc
    - APR_BUCKET_IS_EOS
    - reverse_string
    - apr_brigade_create
    - apr_pstrndup
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - apr_bucket_pool_create
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: "int input_body_filter_handler(ap_filter_t *f, apr_bucket_brigade *bb,
      \n                                     ap_input_mode_t mode, \n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:143,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: input_body_filter_insert_filter
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void input_body_filter_insert_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:153,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:156,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:159,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: input_body_filter_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    - ap_register_input_filter
    - ap_hook_insert_filter
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void input_body_filter_register_hooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:19,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:26,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:28,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:31,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:37,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:42,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:47,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:49,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:54,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:58,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:63,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:65,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:69,1
    - Dst: ap_rwrite
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:74,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:79,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:81,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:84,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:90,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 100
    functionName: echo_post_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_setup_client_block
    - ap_send_http_header
    - ap_log_error
    - ap_should_client_block
    - ap_rprintf
    - ap_get_client_block
    - ap_rwrite
    - ap_rputs
    linkageType: ''
    returnType: int
    signature: int echo_post_handler(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:23,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:24,1
    - Dst: strcasecmp
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:26,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: client_add_filter_header
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_add_input_filter
    - ap_add_output_filter
    linkageType: ''
    returnType: int
    signature: "int client_add_filter_header(void *data,\n                                    const
      char *key,\n                                    const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: client_add_filter_insert
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    linkageType: ''
    returnType: void
    signature: void client_add_filter_insert(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: client_add_filter_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c
    functionUses: 0
    functionsReached:
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void client_add_filter_register_hooks(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:112,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:116,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:129,1
    - Dst: httpd_test_split_qs_numbers
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:135,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:138,1
    - Dst: srand
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:144,1
    - Dst: srandom
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:146,1
    - Dst: rand
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:151,1
    - Dst: random
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:153,1
    - Dst: ap_rputc
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:157,1
    - Dst: ap_bsetflag
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:163,1
    - Dst: ap_bsetflag
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:164,1
    - Dst: memset
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:168,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:170,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:174,1
    - Dst: fprintf
      Src: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 180
    functionName: random_chunk_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rand
    - ap_send_http_header
    - memset
    - fprintf
    - ap_rputc
    - ap_bsetflag
    - ap_rputs
    - HTTP_VERSION
    - srand
    - srandom
    - ap_rprintf
    - httpd_test_split_qs_numbers
    - random
    linkageType: ''
    returnType: int
    signature: int random_chunk_handler(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:22,1
    - Dst: atol
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:30,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:34,1
    - Dst: httpd_test_split_qs_numbers
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:37,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:39,1
    - Dst: malloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:43,1
    - Dst: memset
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:44,1
    - Dst: ap_rwrite
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:49,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:52,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:56,1
    - Dst: free
      Src: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 63
    functionName: test_rwrite_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_send_http_header
    - memset
    - ap_rwrite
    - malloc
    - atol
    - httpd_test_split_qs_numbers
    - free
    linkageType: ''
    returnType: int
    signature: int test_rwrite_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c:25,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: util_strlen_func
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *util_strlen_func(ap_expr_eval_ctx_t *ctx, const void *data,\n
      \                                   const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: util_expr_lookup
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int util_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: util_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
    functionUses: 0
    functionsReached:
    - ap_hook_expr_lookup
    linkageType: ''
    returnType: void
    signature: void util_register_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c:16,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c:21,1
    - Dst: ap_set_content_type
      Src: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c:24,1
    - Dst: apr_table_set
      Src: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: fold_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - strcasecmp
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int fold_handler(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c:18,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c:27,1
    - Dst: ap_rvputs
      Src: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: list_modules_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_send_http_header
    - ap_rvputs
    linkageType: ''
    returnType: int
    signature: int list_modules_handler(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c:18,1
    - Dst: ap_mpm_query
      Src: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c:26,1
    - Dst: apr_pool_num_bytes
      Src: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c:33,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: memory_track_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c
    functionUses: 0
    functionsReached:
    - apr_pool_num_bytes
    - strcmp
    - ap_mpm_query
    - ap_rprintf
    linkageType: ''
    returnType: int
    signature: int memory_track_handler(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:20,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:27,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:29,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:32,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:38,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:43,1
    - Dst: fprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:46,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:50,1
    - Dst: fprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:51,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:65,1
    - Dst: ap_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:69,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:70,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:71,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:72,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:73,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:74,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:75,1
    - Dst: apr_table_get
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:77,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:83,1
    - Dst: fprintf
      Src: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c:85,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 91
    functionName: echo_post_chunk_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_setup_client_block
    - ap_send_http_header
    - fprintf
    - ap_log_error
    - ap_should_client_block
    - ap_rprintf
    - ap_get_client_block
    - apr_table_get
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_rputs
    - ap_table_get
    linkageType: ''
    returnType: int
    signature: int echo_post_chunk_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:56,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:58,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: import_ssl_var_lookup
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void import_ssl_var_lookup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:70,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:76,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:82,1
    - Dst: ext_lookup
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:86,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:89,1
    - Dst: ext_list
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:94,1
    - Dst: apr_array_pop
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:98,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 111
    functionName: test_ssl_ext_lookup
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ext_list
    - ext_lookup
    - ap_rputs
    - apr_array_pop
    linkageType: ''
    returnType: int
    signature: int test_ssl_ext_lookup(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:119,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:128,1
    - Dst: apr_table_setn
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:132,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:135,1
    - Dst: var_lookup
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:139,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:143,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 150
    functionName: test_ssl_var_lookup
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - var_lookup
    - ap_rputs
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int test_ssl_var_lookup(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:154,1
    - Dst: ap_hook_handler
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:156,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: test_ssl_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
    functionUses: 0
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void test_ssl_register_hooks(apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:32,1
    - Dst: httpd_test_split_qs_numbers
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:39,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:41,1
    - Dst: malloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:46,1
    - Dst: memset
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:47,1
    - Dst: apr_brigade_create
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:48,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:53,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:57,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:58,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:60,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:61,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:63,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:64,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:66,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:70,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:74,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:77,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:78,1
    - Dst: free
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:80,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:86,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:91,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:92,1
    - Dst: free
      Src: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 99
    functionName: test_pass_brigade_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - apr_brigade_destroy
    - memset
    - apr_brigade_create
    - apr_bucket_transient_create
    - apr_bucket_eos_create
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - malloc
    - httpd_test_split_qs_numbers
    - free
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int test_pass_brigade_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: my_stpcpy
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *my_stpcpy(char *d, const char *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:162,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:163,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:164,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:165,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:166,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:167,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:168,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:169,1
    - Dst: strlen
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:170,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:181,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:188,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:192,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:197,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:201,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:206,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:211,1
    - Dst: my_stpcpy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:216,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:220,1
    - Dst: apr_uri_parse
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:221,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:231,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:232,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:233,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:234,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:235,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:236,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:237,1
    - Dst: CHECK
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:238,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:242,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:256,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:257,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:258,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:259,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:260,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:261,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:262,1
    - Dst: DUMP
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:263,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:265,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 3
    argNames:
    - r
    - pieces
    - row
    argTypes:
    - request_rec*
    - test_uri_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 271
    functionName: iterate_pieces
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - DUMP
    - apr_uri_parse
    - CHECK
    - my_stpcpy
    - apr_pool_create_ex
    - ap_rputs
    - ap_rprintf
    - apr_pool_destroy
    - strlen
    linkageType: ''
    returnType: unsigned
    signature: unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int
      row)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: CHECK
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: DUMP
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP(f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:282,1
    - Dst: ap_rputs
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:288,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:310,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:311,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:312,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:313,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:314,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:315,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:316,1
    - Dst: HEADER
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:317,1
    - Dst: atoi
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:321,1
    - Dst: iterate_pieces
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:322,1
    - Dst: iterate_pieces
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:327,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:329,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 339
    functionName: test_apr_uri_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 0
    functionsReached:
    - strcmp
    - HEADER
    - atoi
    - ap_rputs
    - ap_rprintf
    - iterate_pieces
    linkageType: ''
    returnType: int
    signature: int test_apr_uri_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: HEADER
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEADER(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: test_apr_uri_register_hooks
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void test_apr_uri_register_hooks(apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:26,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:33,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:35,1
    - Dst: ap_log_error
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:38,1
    - Dst: ap_should_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:44,1
    - Dst: ap_send_http_header
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:49,1
    - Dst: ap_get_client_block
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:52,1
    - Dst: ap_rprintf
      Src: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 59
    functionName: eat_post_handler
    functionSourceFile: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_setup_client_block
    - ap_send_http_header
    - ap_log_error
    - ap_should_client_block
    - ap_rprintf
    - ap_get_client_block
    linkageType: ''
    returnType: int
    signature: int eat_post_handler(request_rec *r)
  - 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: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: MAKE_NV
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_NV(NAME, 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: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: MAKE_NV_CS
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_NV_CS(NAME, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/httpd/test/clients/h2ws.c:71,1
    - Dst: localtime_r
      Src: /src/httpd/test/clients/h2ws.c:72,1
    - Dst: strftime
      Src: /src/httpd/test/clients/h2ws.c:73,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - level
    - where
    - msg
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: log_out
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strftime
    - clock_gettime
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void log_out(const char *level, const char *where, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_out
      Src: /src/httpd/test/clients/h2ws.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: log_err
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_out
    linkageType: ''
    returnType: void
    signature: void log_err(const char *where, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_out
      Src: /src/httpd/test/clients/h2ws.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: log_info
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_out
    linkageType: ''
    returnType: void
    signature: void log_info(const char *where, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_out
      Src: /src/httpd/test/clients/h2ws.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: log_debug
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_out
    linkageType: ''
    returnType: void
    signature: void log_debug(const char *where, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/httpd/test/clients/h2ws.c:95,1
    - Dst: va_start
      Src: /src/httpd/test/clients/h2ws.c:102,1
    - Dst: vsnprintf
      Src: /src/httpd/test/clients/h2ws.c:103,1
    - Dst: va_end
      Src: /src/httpd/test/clients/h2ws.c:104,1
    - Dst: log_err
      Src: /src/httpd/test/clients/h2ws.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: log_errf
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - format
    - vsnprintf
    - va_end
    - log_err
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_errf(const char *where, const char *msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/httpd/test/clients/h2ws.c:109,1
    - Dst: va_start
      Src: /src/httpd/test/clients/h2ws.c:117,1
    - Dst: vsnprintf
      Src: /src/httpd/test/clients/h2ws.c:118,1
    - Dst: va_end
      Src: /src/httpd/test/clients/h2ws.c:119,1
    - Dst: log_info
      Src: /src/httpd/test/clients/h2ws.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: log_infof
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - format
    - vsnprintf
    - log_info
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_infof(const char *where, const char *msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/httpd/test/clients/h2ws.c:125,1
    - Dst: va_start
      Src: /src/httpd/test/clients/h2ws.c:133,1
    - Dst: vsnprintf
      Src: /src/httpd/test/clients/h2ws.c:134,1
    - Dst: va_end
      Src: /src/httpd/test/clients/h2ws.c:135,1
    - Dst: log_debug
      Src: /src/httpd/test/clients/h2ws.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: log_debugf
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - format
    - vsnprintf
    - log_debug
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_debugf(const char *where, const char *msg, ...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/httpd/test/clients/h2ws.c:159,1
    - Dst: strchr
      Src: /src/httpd/test/clients/h2ws.c:164,1
    - Dst: log_debugf
      Src: /src/httpd/test/clients/h2ws.c:168,1
    - Dst: strndup
      Src: /src/httpd/test/clients/h2ws.c:171,1
    - Dst: strchr
      Src: /src/httpd/test/clients/h2ws.c:178,1
    - Dst: log_debugf
      Src: /src/httpd/test/clients/h2ws.c:181,1
    - Dst: log_debugf
      Src: /src/httpd/test/clients/h2ws.c:187,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 7
    argNames:
    - phost
    - pport
    - pipv6
    - pconsumed
    - s
    - len
    - def_port
    argTypes:
    - char**
    - uint16_t*
    - int*
    - size_t*
    - char*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 203
    functionName: parse_host_port
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_debugf
    - strndup
    - strchr
    linkageType: ''
    returnType: int
    signature: "int parse_host_port(const char **phost, uint16_t *pport,\n                           int
      *pipv6, size_t *pconsumed,\n                           const char *s, size_t
      len, uint16_t def_port)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/test/clients/h2ws.c:222,1
    - Dst: memcmp
      Src: /src/httpd/test/clients/h2ws.c:223,1
    - Dst: memcmp
      Src: /src/httpd/test/clients/h2ws.c:228,1
    - Dst: parse_host_port
      Src: /src/httpd/test/clients/h2ws.c:238,1
    - Dst: snprintf
      Src: /src/httpd/test/clients/h2ws.c:246,1
    - Dst: strdup
      Src: /src/httpd/test/clients/h2ws.c:247,1
    - Dst: snprintf
      Src: /src/httpd/test/clients/h2ws.c:250,1
    - Dst: strdup
      Src: /src/httpd/test/clients/h2ws.c:251,1
    - Dst: strndup
      Src: /src/httpd/test/clients/h2ws.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - uri
    - s
    - len
    argTypes:
    - struct uri*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 261
    functionName: parse_uri
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - memset
    - parse_host_port
    - strdup
    - strndup
    - snprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: int parse_uri(struct uri *uri, const char *s, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/httpd/test/clients/h2ws.c:267,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:270,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:271,1
    - Dst: fcntl
      Src: /src/httpd/test/clients/h2ws.c:274,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:277,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:278,1
    - Dst: setsockopt
      Src: /src/httpd/test/clients/h2ws.c:281,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:283,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: sock_nonblock_nodelay
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - log_errf
    - fcntl
    - strerror
    linkageType: ''
    returnType: int
    signature: int sock_nonblock_nodelay(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/test/clients/h2ws.c:297,1
    - Dst: snprintf
      Src: /src/httpd/test/clients/h2ws.c:298,1
    - Dst: getaddrinfo
      Src: /src/httpd/test/clients/h2ws.c:301,1
    - Dst: log_err
      Src: /src/httpd/test/clients/h2ws.c:303,1
    - Dst: gai_strerror
      Src: /src/httpd/test/clients/h2ws.c:303,1
    - Dst: socket
      Src: /src/httpd/test/clients/h2ws.c:308,1
    - Dst: connect
      Src: /src/httpd/test/clients/h2ws.c:312,1
    - Dst: close
      Src: /src/httpd/test/clients/h2ws.c:317,1
    - Dst: freeaddrinfo
      Src: /src/httpd/test/clients/h2ws.c:323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 325
    functionName: open_connection
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - memset
    - socket
    - gai_strerror
    - snprintf
    - connect
    - freeaddrinfo
    - close
    - log_err
    linkageType: ''
    returnType: int
    signature: int open_connection(const char *host, uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - struct h2_session*
    - struct h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: h2_session_stream_add
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void h2_session_stream_add(struct h2_session *session,\n                                  struct
      h2_stream *stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - struct h2_session*
    - struct h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: h2_session_stream_remove
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void h2_session_stream_remove(struct h2_session *session,\n                                     struct
      h2_stream *stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - session
    - id
    argTypes:
    - struct h2_session*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: h2_session_stream_get
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct h2_stream
    signature: "struct h2_stream *h2_session_stream_get(struct h2_session *session,\n
      \                                              int32_t id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/httpd/test/clients/h2ws.c:411,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:418,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - ngh2
    - data
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: h2_session_send
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - send
    - log_errf
    - strerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t h2_session_send(nghttp2_session *ngh2, const uint8_t *data,\n
      \                              size_t length, int flags, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/httpd/test/clients/h2ws.c:434,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:440,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - ngh2
    - buf
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 445
    functionName: h2_session_recv
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - recv
    - log_errf
    - strerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t h2_session_recv(nghttp2_session *ngh2, uint8_t *buf,\n                               size_t
      length, int flags, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/test/clients/h2ws.c:456,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:458,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:461,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:465,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:469,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:474,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:478,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - session
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 486
    functionName: h2_session_on_frame_send
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_infof
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: int
    signature: "int h2_session_on_frame_send(nghttp2_session *session,\n                                    const
      nghttp2_frame *frame,\n                                    void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:497,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:502,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:507,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:509,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ngh2
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 516
    functionName: h2_session_on_frame_recv
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - fprintf
    - log_infof
    linkageType: ''
    returnType: int
    signature: "int h2_session_on_frame_recv(nghttp2_session *ngh2,\n                                    const
      nghttp2_frame *frame,\n                                    void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:528,1
    - Dst: h2_session_stream_get
      Src: /src/httpd/test/clients/h2ws.c:531,1
    - Dst: strncmp
      Src: /src/httpd/test/clients/h2ws.c:533,1
    - Dst: memcpy
      Src: /src/httpd/test/clients/h2ws.c:537,1
    - Dst: strtol
      Src: /src/httpd/test/clients/h2ws.c:539,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:542,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 8
    argNames:
    - ngh2
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 553
    functionName: h2_session_on_header
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - fprintf
    - log_errf
    - strtol
    - h2_session_stream_get
    - log_infof
    - strncmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int h2_session_on_header(nghttp2_session *ngh2,\n                                const
      nghttp2_frame *frame,\n                                const uint8_t *name,
      size_t namelen,\n                                const uint8_t *value, size_t
      valuelen,\n                                uint8_t flags, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_stream_get
      Src: /src/httpd/test/clients/h2ws.c:561,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:569,1
    - Dst: h2_session_stream_remove
      Src: /src/httpd/test/clients/h2ws.c:573,1
    - Dst: struct h2_stream*::on_close
      Src: /src/httpd/test/clients/h2ws.c:575,1
    - Dst: nghttp2_session_terminate_session
      Src: /src/httpd/test/clients/h2ws.c:579,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:581,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ngh2
    - stream_id
    - error_code
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 588
    functionName: h2_session_on_stream_close
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - h2_session_stream_remove
    - struct h2_stream*::on_close
    - log_errf
    - nghttp2_strerror
    - nghttp2_session_terminate_session
    - h2_session_stream_get
    linkageType: ''
    returnType: int
    signature: "int h2_session_on_stream_close(nghttp2_session *ngh2, int32_t stream_id,\n
      \                                     uint32_t error_code, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_stream_get
      Src: /src/httpd/test/clients/h2ws.c:596,1
    - Dst: struct h2_stream*::on_recv_data
      Src: /src/httpd/test/clients/h2ws.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ngh2
    - flags
    - stream_id
    - data
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: h2_session_on_data_chunk_recv
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - struct h2_stream*::on_recv_data
    - h2_session_stream_get
    linkageType: ''
    returnType: int
    signature: "int h2_session_on_data_chunk_recv(nghttp2_session *ngh2, uint8_t flags,\n
      \                                        int32_t stream_id, const uint8_t *data,\n
      \                                        size_t len, void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/test/clients/h2ws.c:610,1
    - Dst: open_connection
      Src: /src/httpd/test/clients/h2ws.c:615,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:617,1
    - Dst: sock_nonblock_nodelay
      Src: /src/httpd/test/clients/h2ws.c:621,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:625,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/httpd/test/clients/h2ws.c:628,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:630,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:631,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/httpd/test/clients/h2ws.c:636,1
    - Dst: nghttp2_session_callbacks_set_recv_callback
      Src: /src/httpd/test/clients/h2ws.c:637,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/httpd/test/clients/h2ws.c:638,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/httpd/test/clients/h2ws.c:640,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/httpd/test/clients/h2ws.c:642,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/httpd/test/clients/h2ws.c:644,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/httpd/test/clients/h2ws.c:646,1
    - Dst: nghttp2_session_client_new
      Src: /src/httpd/test/clients/h2ws.c:649,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:651,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:652,1
    - Dst: nghttp2_submit_settings
      Src: /src/httpd/test/clients/h2ws.c:662,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:664,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:665,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/httpd/test/clients/h2ws.c:669,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:672,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:673,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/httpd/test/clients/h2ws.c:681,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - session
    - server_name
    - host
    - port
    argTypes:
    - struct h2_session*
    - char*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 683
    functionName: h2_session_open
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_callbacks_new
    - memset
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - nghttp2_session_callbacks_set_on_header_callback
    - sock_nonblock_nodelay
    - log_errf
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_del
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_client_new
    - nghttp2_submit_settings
    - open_connection
    - nghttp2_strerror
    - nghttp2_session_callbacks_set_recv_callback
    - nghttp2_session_set_local_window_size
    - nghttp2_session_callbacks_set_send_callback
    - log_infof
    linkageType: ''
    returnType: int
    signature: "int h2_session_open(struct h2_session *session, const char *server_name,\n
      \                          const char *host, uint16_t port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_recv
      Src: /src/httpd/test/clients/h2ws.c:687,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:689,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:690,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/test/clients/h2ws.c:693,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:695,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/test/clients/h2ws.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - struct h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 699
    functionName: h2_session_io
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - nghttp2_strerror
    - nghttp2_session_send
    - nghttp2_session_recv
    - log_errf
    linkageType: ''
    returnType: int
    signature: int h2_session_io(struct h2_session *session)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_io
      Src: /src/httpd/test/clients/h2ws.c:713,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:716,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pctx
    - pfd
    argTypes:
    - struct h2_poll_ctx*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: h2_session_ev
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_errf
    - h2_session_io
    linkageType: ''
    returnType: int
    signature: int h2_session_ev(struct h2_poll_ctx *pctx, struct pollfd *pfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_resume_data
      Src: /src/httpd/test/clients/h2ws.c:729,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/test/clients/h2ws.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - pfd
    argTypes:
    - struct h2_poll_ctx*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 736
    functionName: h2_stream_ev
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_rst_stream
    - nghttp2_session_resume_data
    linkageType: ''
    returnType: int
    signature: int h2_stream_ev(struct h2_poll_ctx *pctx, struct pollfd *pfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/test/clients/h2ws.c:746,1
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/test/clients/h2ws.c:748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - session
    - pollctxs
    - pfds
    argTypes:
    - struct h2_session*
    - struct h2_poll_ctx*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 775
    functionName: h2_session_set_poll
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    linkageType: ''
    returnType: nfds_t
    signature: "nfds_t h2_session_set_poll(struct h2_session *session,\n                                  struct
      h2_poll_ctx *pollctxs,\n                                  struct pollfd *pfds)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_set_poll
      Src: /src/httpd/test/clients/h2ws.c:783,1
    - Dst: poll
      Src: /src/httpd/test/clients/h2ws.c:785,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:786,1
    - Dst: strerror
      Src: /src/httpd/test/clients/h2ws.c:786,1
    - Dst: on_ev
      Src: /src/httpd/test/clients/h2ws.c:791,1
    - Dst: h2_session_set_poll
      Src: /src/httpd/test/clients/h2ws.c:796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - session
    argTypes:
    - struct h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 800
    functionName: h2_session_run
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - h2_session_set_poll
    - log_errf
    - strerror
    - poll
    - on_ev
    linkageType: ''
    returnType: void
    signature: void h2_session_run(struct h2_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - struct h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: h2_session_close
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_infof
    linkageType: ''
    returnType: void
    signature: void h2_session_close(struct h2_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:816,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 819
    functionName: ws_stream_on_close
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - fprintf
    - log_infof
    linkageType: ''
    returnType: void
    signature: void ws_stream_on_close(struct h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:826,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:829,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - data
    - len
    argTypes:
    - struct h2_stream*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 832
    functionName: ws_stream_on_recv_data
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - fprintf
    - log_infof
    linkageType: ''
    returnType: void
    signature: "void ws_stream_on_recv_data(struct h2_stream *stream,\n                            const
      uint8_t *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/httpd/test/clients/h2ws.c:838,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pstream
    - uri
    argTypes:
    - struct ws_stream**
    - struct uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 850
    functionName: ws_stream_create
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - log_errf
    - calloc
    linkageType: ''
    returnType: int
    signature: int ws_stream_create(struct ws_stream **pstream, struct uri *uri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_stream_get
      Src: /src/httpd/test/clients/h2ws.c:864,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:866,1
    - Dst: assert
      Src: /src/httpd/test/clients/h2ws.c:871,1
    - Dst: read
      Src: /src/httpd/test/clients/h2ws.c:872,1
    - Dst: log_debugf
      Src: /src/httpd/test/clients/h2ws.c:873,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - ngh2
    - stream_id
    - buf
    - buflen
    - pflags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts:
    - condition: (stream->s.fdin >= 0)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/httpd/test/clients/h2ws.c
    constantsTouched: []
    func_position:
      end: 895
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 895
    functionName: ws_stream_read_req_body
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - read
    - log_debugf
    - log_errf
    - assert
    - h2_session_stream_get
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ws_stream_read_req_body(nghttp2_session *ngh2,\n                                       int32_t
      stream_id,\n                                       uint8_t *buf, size_t buflen,\n
      \                                      uint32_t *pflags,\n                                       nghttp2_data_source
      *source,\n                                       void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_nonblock_nodelay
      Src: /src/httpd/test/clients/h2ws.c:905,1
    - Dst: nghttp2_submit_request
      Src: /src/httpd/test/clients/h2ws.c:915,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:918,1
    - Dst: h2_session_stream_add
      Src: /src/httpd/test/clients/h2ws.c:923,1
    - Dst: log_infof
      Src: /src/httpd/test/clients/h2ws.c:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - session
    - nva
    - nvalen
    - fdin
    argTypes:
    - struct ws_stream*
    - struct h2_session*
    - nghttp2_nv*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 927
    functionName: ws_stream_submit
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_request
    - log_errf
    - sock_nonblock_nodelay
    - log_infof
    - h2_session_stream_add
    linkageType: ''
    returnType: int
    signature: "int ws_stream_submit(struct ws_stream *stream,\n                            struct
      h2_session *session,\n                            const nghttp2_nv *nva, size_t
      nvalen,\n                            int fdin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:932,1
    - Dst: fprintf
      Src: /src/httpd/test/clients/h2ws.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 946
    functionName: usage
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *msg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/httpd/test/clients/h2ws.c:958,1
    - Dst: parse_host_port
      Src: /src/httpd/test/clients/h2ws.c:961,1
    - Dst: strlen
      Src: /src/httpd/test/clients/h2ws.c:962,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:963,1
    - Dst: usage
      Src: /src/httpd/test/clients/h2ws.c:968,1
    - Dst: usage
      Src: /src/httpd/test/clients/h2ws.c:975,1
    - Dst: usage
      Src: /src/httpd/test/clients/h2ws.c:983,1
    - Dst: usage
      Src: /src/httpd/test/clients/h2ws.c:987,1
    - Dst: parse_uri
      Src: /src/httpd/test/clients/h2ws.c:990,1
    - Dst: strlen
      Src: /src/httpd/test/clients/h2ws.c:990,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:991,1
    - Dst: log_debugf
      Src: /src/httpd/test/clients/h2ws.c:994,1
    - Dst: h2_session_open
      Src: /src/httpd/test/clients/h2ws.c:1003,1
    - Dst: ws_stream_create
      Src: /src/httpd/test/clients/h2ws.c:1006,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1009,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1011,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1012,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1013,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1014,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1015,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1016,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1017,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1018,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1019,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1021,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1025,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1027,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1028,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1029,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1030,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1031,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1032,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1033,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1034,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1035,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1037,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1041,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1043,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1044,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1045,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1046,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1047,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1048,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1049,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1050,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1052,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1056,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1058,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1059,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1060,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1061,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1062,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1063,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1064,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1065,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1067,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1071,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1073,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1074,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1075,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1076,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1077,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1078,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1079,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1080,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1082,1
    - Dst: strcmp
      Src: /src/httpd/test/clients/h2ws.c:1086,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1088,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1089,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1090,1
    - Dst: MAKE_NV_CS
      Src: /src/httpd/test/clients/h2ws.c:1091,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1092,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1093,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1094,1
    - Dst: MAKE_NV
      Src: /src/httpd/test/clients/h2ws.c:1095,1
    - Dst: ws_stream_submit
      Src: /src/httpd/test/clients/h2ws.c:1097,1
    - Dst: log_errf
      Src: /src/httpd/test/clients/h2ws.c:1102,1
    - Dst: h2_session_run
      Src: /src/httpd/test/clients/h2ws.c:1106,1
    - Dst: h2_session_close
      Src: /src/httpd/test/clients/h2ws.c:1107,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 948
    functionDepth: 5
    functionLinenumber: 948
    functionLinenumberEnd: 1109
    functionName: main
    functionSourceFile: /src/httpd/test/clients/h2ws.c
    functionUses: 0
    functionsReached:
    - parse_uri
    - strcmp
    - MAKE_NV_CS
    - parse_host_port
    - log_errf
    - log_debugf
    - usage
    - h2_session_open
    - ws_stream_submit
    - h2_session_run
    - MAKE_NV
    - ws_stream_create
    - strlen
    - h2_session_close
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/test/unit/authn.c:32,1
    - Dst: exit
      Src: /src/httpd/test/unit/authn.c:33,1
    - Dst: apr_pcalloc
      Src: /src/httpd/test/unit/authn.c:40,1
    - Dst: exit
      Src: /src/httpd/test/unit/authn.c:42,1
    - Dst: apr_table_make
      Src: /src/httpd/test/unit/authn.c:46,1
    - Dst: exit
      Src: /src/httpd/test/unit/authn.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: authn_setup
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - exit
    - apr_table_make
    - apr_pcalloc
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void authn_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/test/unit/authn.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: authn_teardown
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void authn_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/test/unit/authn.c:101,1
    - Dst: ap_get_basic_auth_components
      Src: /src/httpd/test/unit/authn.c:103,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/authn.c:105,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/authn.c:106,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/authn.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - ck_assert_str_eq
    - apr_table_setn
    - ck_assert_int_eq
    - ap_get_basic_auth_components
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(test_get_basic_auth_components_correctly_decodes_credentials,
      basic_auth_cases_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_basic_auth_components
      Src: /src/httpd/test/unit/authn.c:115,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/authn.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - ck_assert_int_eq
    - ap_get_basic_auth_components
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_get_basic_auth_components_fails_without_Authorization_header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/test/unit/authn.c:124,1
    - Dst: ap_get_basic_auth_components
      Src: /src/httpd/test/unit/authn.c:127,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/authn.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - ck_assert_int_eq
    - ap_get_basic_auth_components
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_get_basic_auth_components_fails_with_non_Basic_credentials)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/test/unit/authn.c:139,1
    - Dst: ap_get_basic_auth_components
      Src: /src/httpd/test/unit/authn.c:142,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/authn.c:144,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/authn.c:145,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/authn.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/authn.c
    functionUses: 0
    functionsReached:
    - ck_assert_str_eq
    - apr_table_setn
    - ck_assert_int_eq
    - ap_get_basic_auth_components
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_get_basic_auth_components_uses_Proxy_Authorization_for_proxied_requests)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/test/unit/mod_auth_digest.c:38,1
    - Dst: exit
      Src: /src/httpd/test/unit/mod_auth_digest.c:39,1
    - Dst: apr_pcalloc
      Src: /src/httpd/test/unit/mod_auth_digest.c:46,1
    - Dst: exit
      Src: /src/httpd/test/unit/mod_auth_digest.c:48,1
    - Dst: apr_table_make
      Src: /src/httpd/test/unit/mod_auth_digest.c:52,1
    - Dst: exit
      Src: /src/httpd/test/unit/mod_auth_digest.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: mod_auth_digest_setup
    functionSourceFile: /src/httpd/test/unit/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - exit
    - apr_table_make
    - apr_pcalloc
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void mod_auth_digest_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/test/unit/mod_auth_digest.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: mod_auth_digest_teardown
    functionSourceFile: /src/httpd/test/unit/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void mod_auth_digest_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_set
      Src: /src/httpd/test/unit/mod_auth_digest.c:76,1
    - Dst: get_digest_rec
      Src: /src/httpd/test/unit/mod_auth_digest.c:79,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/mod_auth_digest.c:81,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/mod_auth_digest.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - ck_assert_str_eq
    - get_digest_rec
    linkageType: ''
    returnType: void
    signature: void START_TEST(get_digest_rec_uses_empty_string_for_key_without_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_set
      Src: /src/httpd/test/unit/mod_auth_digest.c:94,1
    - Dst: get_digest_rec
      Src: /src/httpd/test/unit/mod_auth_digest.c:96,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/mod_auth_digest.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - ck_assert_str_eq
    - get_digest_rec
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(get_digest_rec_does_not_use_uninitialized_memory_for_key_without_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/test/unit/util.c:29,1
    - Dst: exit
      Src: /src/httpd/test/unit/util.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: util_setup
    functionSourceFile: /src/httpd/test/unit/util.c
    functionUses: 0
    functionsReached:
    - exit
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void util_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/test/unit/util.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: util_teardown
    functionSourceFile: /src/httpd/test/unit/util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void util_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_token
      Src: /src/httpd/test/unit/util.c:77,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/util.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/util.c
    functionUses: 0
    functionsReached:
    - ap_find_token
    - ck_assert_int_eq
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(find_token_correctly_parses_token_list,
      ap_test_token_cases_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ap_escape_quotes_case
    functionSourceFile: /src/httpd/test/unit/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST ap_escape_quotes_case
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_quotes
      Src: /src/httpd/test/unit/util.c:111,1
    - Dst: ck_assert_str_eq
      Src: /src/httpd/test/unit/util.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/util.c
    functionUses: 0
    functionsReached:
    - ck_assert_str_eq
    - ap_escape_quotes
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(check_escape_quotes, ap_test_escape_quotes_cases_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/test/unit/base64.c:29,1
    - Dst: exit
      Src: /src/httpd/test/unit/base64.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: base64_setup
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - exit
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void base64_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/test/unit/base64.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: base64_teardown
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void base64_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:65,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/base64.c:67,1
    - Dst: ck_assert_uint_eq
      Src: /src/httpd/test/unit/base64.c:68,1
    - Dst: strlen
      Src: /src/httpd/test/unit/base64.c:68,1
    - Dst: ck_assert
      Src: /src/httpd/test/unit/base64.c:69,1
    - Dst: memcmp
      Src: /src/httpd/test/unit/base64.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ck_assert_int_eq
    - ck_assert_uint_eq
    - ap_pbase64decode_strict
    - ck_assert
    - strlen
    - memcmp
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(strict_decoding_works, base64_cases_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:80,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/base64.c:82,1
    - Dst: ck_assert_uint_eq
      Src: /src/httpd/test/unit/base64.c:83,1
    - Dst: ck_assert
      Src: /src/httpd/test/unit/base64.c:84,1
    - Dst: memcmp
      Src: /src/httpd/test/unit/base64.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ck_assert_int_eq
    - ck_assert_uint_eq
    - ap_pbase64decode_strict
    - ck_assert
    - memcmp
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(strict_decoding_works_with_embedded_nulls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:93,1
    - Dst: ck_assert
      Src: /src/httpd/test/unit/base64.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ap_pbase64decode_strict
    - ck_assert
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(strict_decoding_produces_null_terminated_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:105,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/base64.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: START_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ap_pbase64decode_strict
    - ck_assert_int_eq
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(strict_decoding_allows_all_base64_characters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:130,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/base64.c:132,1
    - Dst: ck_assert
      Src: /src/httpd/test/unit/base64.c:133,1
    - Dst: ck_assert_uint_eq
      Src: /src/httpd/test/unit/base64.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ck_assert_uint_eq
    - ap_pbase64decode_strict
    - ck_assert
    - ck_assert_int_eq
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(strict_decoding_rejects_non_base64_characters,
      invalid_chars_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode_strict
      Src: /src/httpd/test/unit/base64.c:161,1
    - Dst: ck_assert_int_eq
      Src: /src/httpd/test/unit/base64.c:164,1
    - Dst: ck_assert
      Src: /src/httpd/test/unit/base64.c:165,1
    - Dst: ck_assert_uint_eq
      Src: /src/httpd/test/unit/base64.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: HTTPD_START_LOOP_TEST
    functionSourceFile: /src/httpd/test/unit/base64.c
    functionUses: 0
    functionsReached:
    - ck_assert_uint_eq
    - ap_pbase64decode_strict
    - ck_assert
    - ck_assert_int_eq
    linkageType: ''
    returnType: void
    signature: void HTTPD_START_LOOP_TEST(strict_decoding_rejects_incorrect_padding,
      invalid_padding_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c:46,1
    - Dst: ap_log_rerror
      Src: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: aptest_post_read_request
    functionSourceFile: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int aptest_post_read_request(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c:58,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: aptest_hooks
    functionSourceFile: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void aptest_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: create_isapi_dir_config
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_isapi_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - base_
    - add_
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: merge_isapi_dir_configs
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_isapi_dir_configs(apr_pool_t *p, void *base_, void *add_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:137,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:139,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:139,1
    - Dst: apr_stat
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:143,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:145,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:150,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:150,1
    - Dst: isapi_lookup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:156,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:158,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - cmd
    - dummy
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 164
    functionName: isapi_cmd_cachefile
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - isapi_lookup
    - APLOGNO
    - ap_log_error
    - apr_stat
    linkageType: ''
    returnType: char
    signature: "char *isapi_cmd_cachefile(cmd_parms *cmd, void *dummy,\n                                       const
      char *filename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dso_unload
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - isa
    - force
    argTypes:
    - isapi_loaded*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: isapi_unload
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_dso_unload
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t isapi_unload(isapi_loaded *isa, int force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isapi_unload
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isa_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: cleanup_isapi
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - isapi_unload
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_isapi(void *isa_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:258,1
    - Dst: apr_dso_load
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:271,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:274,1
    - Dst: apr_dso_sym
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:280,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:284,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:284,1
    - Dst: apr_dso_unload
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:287,1
    - Dst: apr_dso_sym
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:292,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:296,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:296,1
    - Dst: apr_dso_unload
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:299,1
    - Dst: apr_dso_sym
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:305,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:307,1
    - Dst: apr_get_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:311,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:312,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:312,1
    - Dst: apr_dso_unload
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:315,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - p
    - s
    - isa
    argTypes:
    - apr_pool_t*
    - server_rec*
    - isapi_loaded*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 324
    functionName: isapi_load
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_dso_sym
    - apr_dso_unload
    - APLOGNO
    - apr_get_os_error
    - apr_set_os_error
    - ap_log_error
    - apr_dso_load
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t isapi_load(apr_pool_t *p, server_rec *s, isapi_loaded
      *isa)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:332,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:336,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:354,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:360,1
    - Dst: apr_thread_rwlock_rdlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:361,1
    - Dst: apr_thread_rwlock_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:366,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:370,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:379,1
    - Dst: apr_thread_rwlock_wrlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:381,1
    - Dst: isapi_load
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:394,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:396,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:398,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:399,1
    - Dst: apr_thread_rwlock_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:404,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:413,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:422,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:423,1
    - Dst: apr_thread_rwlock_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:435,1
    - Dst: apr_thread_rwlock_wrlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:436,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:439,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:444,1
    - Dst: isapi_load
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:446,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:447,1
    - Dst: apr_thread_rwlock_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:456,1
    - Dst: apr_thread_rwlock_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 5
    argNames:
    - p
    - s
    - r
    - fpath
    - isa
    argTypes:
    - apr_pool_t*
    - server_rec*
    - request_rec*
    - char*
    - isapi_loaded**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 467
    functionName: isapi_lookup
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 1
    functionsReached:
    - apr_thread_rwlock_wrlock
    - apr_thread_mutex_lock
    - apr_hash_set
    - apr_time_now
    - apr_pcalloc
    - apr_thread_mutex_unlock
    - isapi_load
    - apr_thread_rwlock_rdlock
    - apr_thread_rwlock_unlock
    - apr_thread_rwlock_create
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec
      *r,\n                          const char *fpath, isapi_loaded** isa)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:498,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:503,1
    - Dst: strncmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:508,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:509,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:509,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:515,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:515,1
    - Dst: strncmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:520,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:521,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:522,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:524,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:525,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:536,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:541,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:546,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:546,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:551,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:551,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:556,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:557,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:560,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:561,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:571,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:574,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:577,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:577,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:580,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:586,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:586,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 4
    argNames:
    - cid
    - variable_name
    - buf_ptr
    - buf_size
    argTypes:
    - isapi_cid*
    - char*
    - void*
    - apr_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 588
    functionName: APR_THREAD_FUNC::regfnGetServerVariable
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_table_elts
    - apr_table_get
    - strcpy
    - apr_set_os_error
    - strlen
    - APR_FROM_OS_ERROR
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int APR_THREAD_FUNC regfnGetServerVariable(isapi_cid    *cid,\n                                                  char
      \        *variable_name,\n                                                  void
      \        *buf_ptr,\n                                                  apr_uint32_t
      *buf_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:603,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:610,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cid
    - buf_data
    - buf_size
    argTypes:
    - isapi_cid*
    - void*
    - apr_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 613
    functionName: APR_THREAD_FUNC::regfnReadClient
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_set_os_error
    - APR_FROM_OS_ERROR
    - ap_get_client_block
    linkageType: ''
    returnType: int
    signature: "int APR_THREAD_FUNC regfnReadClient(isapi_cid    *cid,\n                                           void
      \        *buf_data,\n                                           apr_uint32_t
      *buf_size)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:647,1
    - Dst: memchr
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:648,1
    - Dst: memchr
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:649,1
    - Dst: memchr
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:652,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:654,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:672,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:675,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:678,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:684,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:689,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:690,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:691,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:704,1
    - Dst: ap_scan_script_header_err_strs_ex
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:717,1
    - Dst: ap_scan_script_header_err_strs_ex
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:721,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:730,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:750,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:762,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:772,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:774,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:774,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 95
    argCount: 5
    argNames:
    - cid
    - stat
    - head
    - statlen
    - headlen
    argTypes:
    - isapi_cid*
    - char*
    - char*
    - apr_size_t
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 805
    functionName: send_response_header
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - apr_palloc
    - apr_isdigit
    - memchr
    - apr_cpystrn
    - APLOGNO
    - apr_pstrndup
    - ap_get_status_line
    - strcpy
    - strlen
    - ap_scan_script_header_err_strs_ex
    linkageType: ''
    returnType: apr_ssize_t
    signature: "apr_ssize_t send_response_header(isapi_cid *cid,\n                                        const
      char *stat,\n                                        const char *head,\n                                        apr_size_t
      statlen,\n                                        apr_size_t headlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: send_response_header
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:826,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:828,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:828,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:837,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:838,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:839,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:840,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:841,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:842,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:845,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:845,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:852,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - cid
    - buf_ptr
    - size_arg
    - flags
    argTypes:
    - isapi_cid*
    - void*
    - apr_uint32_t*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 861
    functionName: APR_THREAD_FUNC::regfnWriteClient
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - apr_brigade_create
    - send_response_header
    - apr_bucket_transient_create
    - apr_bucket_flush_create
    - isapi_cid*::completion
    - apr_set_os_error
    - APR_FROM_OS_ERROR
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: "int APR_THREAD_FUNC regfnWriteClient(isapi_cid    *cid,\n                                            void
      \        *buf_ptr,\n                                            apr_uint32_t
      *size_arg,\n                                            apr_uint32_t  flags)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_set
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:883,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:885,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:893,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:901,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:904,1
    - Dst: ap_internal_redirect
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:905,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:914,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:916,1
    - Dst: send_response_header
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:917,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:921,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:921,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:927,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:928,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:930,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:931,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:932,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:933,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:936,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:936,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:954,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:958,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:958,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:963,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:963,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:971,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:972,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:975,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:979,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:984,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:986,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:989,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:993,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:996,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1003,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1003,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1006,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1006,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1012,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1015,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1017,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1020,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1020,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1038,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1038,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1041,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1041,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1058,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1058,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1061,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1061,1
    - Dst: apr_os_file_put
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1068,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1078,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1079,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1079,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1086,1
    - Dst: send_response_header
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1098,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1100,1
    - Dst: send_response_header
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1105,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1109,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1110,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1110,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1116,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1119,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1124,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1128,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1130,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1133,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1134,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1138,1
    - Dst: HSE_TF_INFO*::pfnHseIO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1149,1
    - Dst: HSE_TF_INFO*::pfnHseIO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1153,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1159,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1163,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1173,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1173,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1177,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1177,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1190,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1190,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1193,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1193,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1202,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1217,1
    - Dst: isapi_cid*::completion
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1221,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1230,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1230,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1234,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1234,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1241,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1243,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1244,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1245,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1253,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1256,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1309,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1312,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1312,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1317,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1317,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1321,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1321,1
    - Dst: send_response_header
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1330,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1335,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1335,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1341,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1342,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1345,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1346,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1347,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1348,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1351,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1351,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1366,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1366,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1370,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1370,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1384,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1384,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1388,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1388,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1393,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1393,1
    - Dst: apr_set_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1396,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1396,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 273
    argCount: 5
    argNames:
    - cid
    - HSE_code
    - buf_ptr
    - buf_size
    - data_type
    argTypes:
    - isapi_cid*
    - apr_uint32_t
    - void*
    - apr_uint32_t*
    - apr_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 1399
    functionName: APR_THREAD_FUNC::regfnServerSupportFunction
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_brigade_destroy
    - apr_thread_mutex_unlock
    - ap_destroy_sub_req
    - apr_brigade_create
    - isapi_cid*::completion
    - apr_pstrcat
    - ap_internal_redirect
    - apr_pstrdup
    - apr_pstrndup
    - apr_set_os_error
    - APR_FROM_OS_ERROR
    - ap_pass_brigade
    - apr_cpystrn
    - apr_file_info_get
    - HSE_TF_INFO*::pfnHseIO
    - apr_bucket_transient_create
    - apr_bucket_flush_create
    - apr_brigade_insert_file
    - apr_filepath_merge
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - APLOGNO
    - send_response_header
    - apr_table_set
    - apr_table_unset
    - ap_get_status_line
    - ap_get_client_block
    - apr_os_file_put
    - strlen
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: "int APR_THREAD_FUNC regfnServerSupportFunction(isapi_cid    *cid,\n
      \                                                     apr_uint32_t  HSE_code,\n
      \                                                     void         *buf_ptr,\n
      \                                                     apr_uint32_t *buf_size,\n
      \                                                     apr_uint32_t *data_type)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1418,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1419,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1426,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1433,1
    - Dst: isapi_lookup
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1448,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1453,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1454,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1455,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1456,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1456,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1457,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1459,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1460,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1465,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1479,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1488,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1492,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1493,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1494,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1495,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1504,1
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1509,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1526,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1530,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1567,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1571,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1575,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1575,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1586,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1586,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1614,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1618,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1618,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1629,1
    - Dst: apr_get_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1629,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1629,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1636,1
    - Dst: apr_get_os_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1636,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1636,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1651,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1652,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1653,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1654,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1658,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1658,1
    - Dst: ap_is_HTTP_SERVER_ERROR
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1669,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 136
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1677
    functionName: isapi_handler
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - ap_add_common_vars
    - ap_is_HTTP_SERVER_ERROR
    - ap_should_client_block
    - ap_get_module_config
    - ap_allow_options
    - ap_get_client_block
    - apr_table_get
    - ap_pass_brigade
    - strcmp
    - isapi_lookup
    - apr_get_os_error
    - apr_bucket_eos_create
    - apr_thread_mutex_create
    - APR_BRIGADE_INSERT_TAIL
    - apr_thread_mutex_lock
    - ap_log_rerror
    - ap_setup_client_block
    - apr_pcalloc
    - APLOGNO
    - apr_table_setn
    - strcpy
    - ap_add_cgi_vars
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t isapi_handler (request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1689,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1691,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1691,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1695,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1697,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1699,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1699,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1704,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1707,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1712
    functionName: isapi_pre_config
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create_ex
    - ap_log_error
    - apr_thread_mutex_create
    linkageType: ''
    returnType: int
    signature: int isapi_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1716,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/arch/win32/mod_isapi.c:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cont
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1718
    functionName: isapi_hooks
    functionSourceFile: /src/httpd/modules/arch/win32/mod_isapi.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void isapi_hooks(apr_pool_t *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_win32.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: create_win32_dir_config
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_win32_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc::apr_pcalloc
      Src: /src/httpd/modules/arch/win32/mod_win32.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: merge_win32_dir_configs
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc::apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_win32_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:80,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:83,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:86,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/win32/mod_win32.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dv
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: set_interpreter_source
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_interpreter_source(cmd_parms *cmd, void *dv,\n                                          char
      *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_win32.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - str
    - p
    argTypes:
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: prep_string
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void prep_string(const char ** str, apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:164,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:171,1
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:175,1
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:191,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:193,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:194,1
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:199,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:201,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:202,1
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:207,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:209,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:210,1
    - Dst: ap_regkey_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:215,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:217,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:218,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:223,1
    - Dst: ap_regkey_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:226,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - p
    - ext
    - strict
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 233
    functionName: get_interpreter_from_win32_registry
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - ap_regkey_open
    - ap_regkey_value_get
    - ap_regkey_close
    linkageType: ''
    returnType: char
    signature: "char * get_interpreter_from_win32_registry(apr_pool_t *p,\n                                                 const
      char* ext,\n                                                 int strict)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/arch/win32/mod_win32.c:239,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/win32/mod_win32.c:240,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/win32/mod_win32.c:240,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_win32.c:250,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/arch/win32/mod_win32.c:258,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/arch/win32/mod_win32.c:262,1
    - Dst: prep_string
      Src: /src/httpd/modules/arch/win32/mod_win32.c:263,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:264,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/arch/win32/mod_win32.c:265,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:273,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/win32/mod_win32.c:275,1
    - Dst: strchr
      Src: /src/httpd/modules/arch/win32/mod_win32.c:277,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:291,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/win32/mod_win32.c:293,1
    - Dst: strchr
      Src: /src/httpd/modules/arch/win32/mod_win32.c:295,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:305,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_win32.c:309,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_win32.c:330,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:344,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/arch/win32/mod_win32.c:351,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/arch/win32/mod_win32.c:355,1
    - Dst: prep_string
      Src: /src/httpd/modules/arch/win32/mod_win32.c:356,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:357,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/arch/win32/mod_win32.c:358,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/win32/mod_win32.c:362,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 99
    argCount: 4
    argNames:
    - p
    - interp
    - cgiprg
    - cgiargs
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 366
    functionName: split_argv
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - prep_string
    - apr_isspace
    - apr_palloc
    - strchr
    - ap_getword_nulls
    - apr_array_push
    - apr_pstrdup
    - ap_escape_shell_cmd
    - strlen
    - ap_unescape_url
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *split_argv(apr_pool_t *p, const char *interp,\n
      \                                     const char *cgiprg, const char *cgiargs)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/arch/win32/mod_win32.c:373,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/win32/mod_win32.c:382,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/arch/win32/mod_win32.c:391,1
    - Dst: strrchr
      Src: /src/httpd/modules/arch/win32/mod_win32.c:401,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/modules/arch/win32/mod_win32.c:401,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:407,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:407,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:408,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:408,1
    - Dst: get_interpreter_from_win32_registry
      Src: /src/httpd/modules/arch/win32/mod_win32.c:419,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/win32/mod_win32.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_win32.c:426,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_win32.c:427,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/arch/win32/mod_win32.c:440,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_win32.c:442,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_win32.c:442,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/arch/win32/mod_win32.c:446,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_win32.c:447,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_win32.c:447,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/arch/win32/mod_win32.c:451,1
    - Dst: memcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:467,1
    - Dst: memmove
      Src: /src/httpd/modules/arch/win32/mod_win32.c:468,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/arch/win32/mod_win32.c:485,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/win32/mod_win32.c:508,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/win32/mod_win32.c:508,1
    - Dst: split_argv
      Src: /src/httpd/modules/arch/win32/mod_win32.c:514,1
    - Dst: strncmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:528,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:529,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:530,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:531,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:532,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/win32/mod_win32.c:533,1
    - Dst: prep_string
      Src: /src/httpd/modules/arch/win32/mod_win32.c:534,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 73
    argCount: 5
    argNames:
    - cmd
    - argv
    - r
    - p
    - e_info
    argTypes:
    - char**
    - char***
    - request_rec*
    - apr_pool_t*
    - cgi_exec_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 538
    functionName: ap_cgi_build_command
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - apr_table_elts
    - ap_get_module_config
    - memcmp
    - strncmp
    - split_argv
    - apr_file_open
    - ap_strchr_c
    - strcmp
    - apr_isspace
    - ap_log_error
    - apr_file_read
    - memmove
    - prep_string
    - ap_log_rerror
    - apr_filepath_name_get
    - strcasecmp
    - APLOGNO
    - strrchr
    - get_interpreter_from_win32_registry
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,\n
      \                                        request_rec *r, apr_pool_t *p,\n                                         cgi_exec_info_t
      *e_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/win32/mod_win32.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/arch/win32/mod_win32.c
    functionUses: 0
    functionsReached:
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: CFG_CHECK
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFG_CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: CR_CHECK
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CR_CHECK(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: priv_freeset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:66,1
    - Dst: priv_freeset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - CFG
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: priv_cfg_cleanup
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_freeset
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t priv_cfg_cleanup(void *CFG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: privileges_merge_cfg
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void *privileges_merge_cfg(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:81,1
    - Dst: priv_str_to_set
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:84,1
    - Dst: priv_str_to_set
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:85,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:90,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:90,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:91,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:91,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:91,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:92,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:92,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:92,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 115
    functionName: privileges_create_cfg
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_delset
    - apr_palloc
    - APLOGNO
    - priv_str_to_set
    - CR_CHECK
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void *privileges_create_cfg(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: privileges_create_dir_cfg
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *privileges_create_dir_cfg(apr_pool_t *pool, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: privileges_merge_dir_cfg
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *privileges_merge_dir_cfg(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:134,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:136,1
    - Dst: exit
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:147,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:152,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:153,1
    - Dst: setuid
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:156,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:157,1
    - Dst: setgid
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:160,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:161,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:161,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:167,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:168,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 172
    functionName: privileges_end_req
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - setppriv
    - APLOGNO
    - setgid
    - ap_get_module_config
    - setuid
    - exit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t privileges_end_req(void *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:181,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:184,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:192,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:211,1
    - Dst: apr_proc_fork
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:216,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:219,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:219,1
    - Dst: apr_proc_wait
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:225,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:226,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:234,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:242,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:242,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:245,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:245,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:254,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:258,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:259,1
    - Dst: setuid
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:265,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:266,1
    - Dst: setgid
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:270,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:271,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:271,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:277,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:278,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:278,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:284,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:285,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:289,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:290,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:290,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:297,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:298,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:298,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 305
    functionName: privileges_req
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - setppriv
    - APLOGNO
    - ap_set_module_config
    - setgid
    - apr_table_unset
    - apr_proc_wait
    - ap_get_module_config
    - setuid
    - apr_proc_fork
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int privileges_req(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: PDROP_CHECK
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PDROP_CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: priv_allocset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:319,1
    - Dst: priv_copyset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:322,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:324,1
    - Dst: priv_union
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:325,1
    - Dst: priv_freeset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: privileges_drop_first
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_union
    - priv_freeset
    - priv_copyset
    - priv_allocset
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int privileges_drop_first(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:341,1
    - Dst: PDROP_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:344,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:344,1
    - Dst: PDROP_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:345,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:345,1
    - Dst: PDROP_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:346,1
    - Dst: setppriv
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: privileges_drop_last
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - setppriv
    - PDROP_CHECK
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int privileges_drop_last(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: priv_freeset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rec
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: privileges_term
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_freeset
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t privileges_term(void *rec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:364,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:365,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:365,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:365,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:366,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:366,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:366,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:367,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:367,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:367,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:368,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:368,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:368,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:369,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:369,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:369,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:370,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:370,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:370,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:372,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:372,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:372,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:373,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:373,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:373,1
    - Dst: CR_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:374,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:374,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:374,1
    - Dst: priv_allocset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:378,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:379,1
    - Dst: priv_emptyset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:381,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:382,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:383,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 388
    functionName: privileges_postconf
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - priv_emptyset
    - APLOGNO
    - priv_addset
    - priv_allocset
    - ap_get_module_config
    - CR_CHECK
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int privileges_postconf(apr_pool_t *pconf, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:394,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:396,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:396,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 407
    functionName: privileges_init
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - ap_mpm_query
    linkageType: ''
    returnType: int
    signature: "int privileges_init(apr_pool_t *pconf, apr_pool_t *plog,\n                           apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:410,1
    - Dst: ap_hook_header_parser
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:412,1
    - Dst: ap_hook_drop_privileges
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:413,1
    - Dst: ap_hook_drop_privileges
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:414,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:415,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: privileges_hooks
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_hook_header_parser
    - ap_hook_pre_config
    - ap_hook_drop_privileges
    - ap_hook_post_config
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void privileges_hooks(apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:421,1
    - Dst: ap_uname2id
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:423,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: vhost_user
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_uname2id
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *vhost_user(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:432,1
    - Dst: ap_gname2id
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:434,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: vhost_group
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_gname2id
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *vhost_group(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:443,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:447,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:447,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:448,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:448,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:449,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: vhost_secure
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - CFG_CHECK
    - priv_addset
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *vhost_secure(cmd_parms *cmd, void *dir, int arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:455,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:457,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:460,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:462,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:462,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:463,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:463,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:465,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:467,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:467,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:468,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:468,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:469,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:469,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:470,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:470,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:471,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 478
    functionName: vhost_cgimode
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - CFG_CHECK
    - strcasecmp
    - priv_delset
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *vhost_cgimode(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: dtraceenable
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *dtraceenable(cmd_parms *cmd, void *dir, int arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:492,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:495,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:498,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 520
    functionName: privs_mode
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *privs_mode(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:525,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:530,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:530,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:533,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:533,1
    - Dst: priv_emptyset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:536,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:537,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 540
    functionName: vhost_privs
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_delset
    - priv_emptyset
    - priv_addset
    - ap_get_module_config
    - CFG_CHECK
    linkageType: ''
    returnType: char
    signature: char *vhost_privs(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:543,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:547,1
    - Dst: priv_delset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:547,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:550,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:550,1
    - Dst: priv_emptyset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:553,1
    - Dst: CFG_CHECK
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:554,1
    - Dst: priv_addset
      Src: /src/httpd/modules/arch/unix/mod_privileges.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - dir
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: vhost_cgiprivs
    functionSourceFile: /src/httpd/modules/arch/unix/mod_privileges.c
    functionUses: 0
    functionsReached:
    - priv_delset
    - priv_emptyset
    - priv_addset
    - ap_get_module_config
    - CFG_CHECK
    linkageType: ''
    returnType: char
    signature: char *vhost_cgiprivs(cmd_parms *cmd, void *dir, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_notify
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: systemd_pre_config
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - sd_notify
    linkageType: ''
    returnType: int
    signature: "int systemd_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_selinux_enabled
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:57,1
    - Dst: getcon
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:57,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:58,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:59,1
    - Dst: freecon
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: log_selinux_context
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - freecon
    - is_selinux_enabled
    - APLOGNO
    - ap_log_error
    - getcon
    linkageType: ''
    returnType: void
    signature: void log_selinux_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:76,1
    - Dst: log_selinux_context
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:80,1
    - Dst: sd_notify
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - main_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: systemd_post_config
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - log_selinux_context
    - sd_notify
    - ap_state_query
    linkageType: ''
    returnType: int
    signature: "int systemd_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *main_server)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_notifyf
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:90,1
    - Dst: getpid
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - sb_type
    argTypes:
    - apr_pool_t*
    - ap_scoreboard_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: systemd_pre_mpm
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - getpid
    - sd_notifyf
    linkageType: ''
    returnType: int
    signature: int systemd_pre_mpm(apr_pool_t *p, ap_scoreboard_e sb_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sload
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:108,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:110,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:110,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:113,1
    - Dst: sd_notifyf
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: systemd_monitor
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - sd_notifyf
    - apr_strfsize
    - ap_get_sload
    - apr_time_sec
    linkageType: ''
    returnType: int
    signature: int systemd_monitor(apr_pool_t *p, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sd_listen_fds
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:127,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:130,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:137,1
    - Dst: atoi
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:142,1
    - Dst: getenv
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:142,1
    - Dst: sd_is_socket_inet
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - process
    - port
    argTypes:
    - process_rec*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: ap_find_systemd_socket
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - sd_is_socket_inet
    - APLOGNO
    - atoi
    - getenv
    - sd_listen_fds
    linkageType: ''
    returnType: int
    signature: int ap_find_systemd_socket(process_rec * process, apr_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_listen_fds
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unset_environment
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: ap_systemd_listen_fds
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - sd_listen_fds
    linkageType: ''
    returnType: int
    signature: int ap_systemd_listen_fds(int unset_environment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:158,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:159,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:162,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:164,1
    - Dst: ap_hook_pre_mpm
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:166,1
    - Dst: ap_hook_monitor
      Src: /src/httpd/modules/arch/unix/mod_systemd.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: systemd_register_hooks
    functionSourceFile: /src/httpd/modules/arch/unix/mod_systemd.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - ap_hook_pre_mpm
    - ap_hook_monitor
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void systemd_register_hooks(apr_pool_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:92,1
    - Dst: atol
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:99,1
    - Dst: getpwuid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:101,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:102,1
    - Dst: setgid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:120,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:121,1
    - Dst: initgroups
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:129,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 138
    functionName: set_group_privs
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getpwuid
    - APLOGNO
    - setgid
    - initgroups
    - ap_log_error
    - atol
    linkageType: ''
    returnType: int
    signature: int set_group_privs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_unixd_setup_child
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: unixd_drop_privileges
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_unixd_setup_child
    linkageType: ''
    returnType: int
    signature: int unixd_drop_privileges(apr_pool_t *pool, server_rec *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: set_group_privs
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:148,1
    - Dst: chdir
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:155,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:157,1
    - Dst: chroot
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:162,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:164,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:164,1
    - Dst: chdir
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:169,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:171,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:171,1
    - Dst: geteuid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:178,1
    - Dst: os_init_job_environment
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:180,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:180,1
    - Dst: setuid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:182,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:184,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:184,1
    - Dst: prctl
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:192,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:194,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:194,1
    - Dst: procctl
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:205,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:207,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 216
    functionName: ap_unixd_setup_child
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 1
    functionsReached:
    - prctl
    - geteuid
    - ap_exists_config_define
    - os_init_job_environment
    - procctl
    - APLOGNO
    - set_group_privs
    - ap_log_error
    - chroot
    - setuid
    - chdir
    linkageType: ''
    returnType: void
    signature: void ap_unixd_setup_child(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:223,1
    - Dst: ap_uname2id
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: unixd_set_user
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_uname2id
    linkageType: ''
    returnType: char
    signature: "char *\nunixd_set_user(cmd_parms *cmd, void *dummy,\n               const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:251,1
    - Dst: ap_gname2id
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: unixd_set_group
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_gname2id
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *\nunixd_set_group(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:266,1
    - Dst: ap_is_directory
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: unixd_set_chroot_dir
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_is_directory
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *\nunixd_set_chroot_dir(cmd_parms *cmd, void *dummy,\n                    const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:281,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: unixd_set_suexec
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: 'char *

      unixd_set_suexec(cmd_parms *cmd, void *dummy, int arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - finfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: SETUID_TEST
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUID_TEST(finfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - finfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: SETUID_TEST
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUID_TEST(finfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_uname2id
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:313,1
    - Dst: ap_gname2id
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:315,1
    - Dst: apr_stat
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:321,1
    - Dst: SETUID_TEST
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:323,1
    - Dst: access
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:324,1
    - Dst: ap_sys_privileges_handlers
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 340
    functionName: unixd_pre_config
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_uname2id
    - ap_sys_privileges_handlers
    - apr_stat
    - access
    - SETUID_TEST
    - ap_gname2id
    linkageType: ''
    returnType: int
    signature: "int unixd_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                 apr_pool_t
      *ptemp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:349,1
    - Dst: geteuid
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:351,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:353,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:354,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:356,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: unixd_dump_config
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - apr_file_open_stdout
    - geteuid
    - ap_exists_config_define
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void unixd_dump_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:365,1
    - Dst: ap_hook_test_config
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:367,1
    - Dst: ap_hook_drop_privileges
      Src: /src/httpd/modules/arch/unix/mod_unixd.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: unixd_hooks
    functionSourceFile: /src/httpd/modules/arch/unix/mod_unixd.c
    functionUses: 0
    functionsReached:
    - ap_hook_test_config
    - ap_hook_pre_config
    - ap_hook_drop_privileges
    linkageType: ''
    returnType: void
    signature: void unixd_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/httpd/modules/arch/netware/libprews.c:61,1
    - Dst: MAKEWORD
      Src: /src/httpd/modules/arch/netware/libprews.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - NLMHandle
    - errorScreen
    - cmdLine
    - loadDirPath
    - uninitializedDataLength
    - NLMFileHandle
    - customDataOffset
    - customDataSize
    - messageCount
    - messages
    argTypes:
    - void*
    - void*
    - char*
    - char*
    - size_t
    - void*
    - size_t
    - size_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: _NonAppStart
    functionSourceFile: /src/httpd/modules/arch/netware/libprews.c
    functionUses: 0
    functionsReached:
    - WSAStartup
    - MAKEWORD
    linkageType: ''
    returnType: int
    signature: "int _NonAppStart\n(\n    void        *NLMHandle,\n    void        *errorScreen,\n
      \   const char  *cmdLine,\n    const char  *loadDirPath,\n    size_t      uninitializedDataLength,\n
      \   void        *NLMFileHandle,\n    int         (*readRoutineP)( int conn,
      void *fileHandle, size_t offset,\n                    size_t nbytes, size_t
      *bytesRead, void *buffer ),\n    size_t      customDataOffset,\n    size_t      customDataSize,\n
      \   int         messageCount,\n    const char  **messages\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/httpd/modules/arch/netware/libprews.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: _NonAppStop
    functionSourceFile: /src/httpd/modules/arch/netware/libprews.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void _NonAppStop( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: _NonAppCheckUnload
    functionSourceFile: /src/httpd/modules/arch/netware/libprews.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _NonAppCheckUnload( void )
  - 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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: strEQ
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strEQ(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: strNE
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strNE(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: strEQn
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strEQn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: strNEn
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strNEn(s1,s2,n)
  - 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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: strcEQ
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcEQ(s1,s2)
  - 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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: strcNE
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcNE(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: strcEQn
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcEQn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: strcNEn
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcNEn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: strIsEmpty
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strIsEmpty(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - srv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: get_nwssl_cfg
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_nwssl_cfg(srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:154,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:158,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:158,1
    - Dst: loc2uni
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: build_cert_list
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_palloc
    - loc2uni
    linkageType: ''
    returnType: void
    signature: void build_cert_list(apr_pool_t *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:174,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:177,1
    - Dst: atoi
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:178,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:183,1
    - Dst: htonl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:186,1
    - Dst: apr_inet_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:189,1
    - Dst: gethostbyname
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:196,1
    - Dst: fprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:202,1
    - Dst: exit
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:203,1
    - Dst: fprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:207,1
    - Dst: fprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:208,1
    - Dst: fprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:209,1
    - Dst: exit
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - w
    - ports
    argTypes:
    - char*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 217
    functionName: parse_addr
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    - fprintf
    - gethostbyname
    - atoi
    - exit
    - htonl
    - apr_inet_addr
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long parse_addr(const char *w, unsigned short *ports)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lr
    argTypes:
    - seclisten_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: find_secure_listener
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int find_secure_listener(seclisten_rec *lr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:238,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 244
    functionName: get_port_key
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *get_port_key(conn_rec *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:256,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:257,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:258,1
    - Dst: ntohs
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:258,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:260,1
    - Dst: ntohs
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:260,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:263,1
    - Dst: WSASocket
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:270,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:274,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:275,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:284,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:286,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:286,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:287,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:295,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:300,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:302,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:302,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:303,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:312,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:314,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:314,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:315,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - pconf
    - server
    - key
    - mutual
    - sconf
    argTypes:
    - apr_pool_t*
    - struct sockaddr_in*
    - char*
    - int
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 327
    functionName: make_secure_socket
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - memset
    - WSAGetLastError
    - APLOGNO
    - strlen
    - WSASocket
    - WSAIoctl
    - inet_ntoa
    - ap_log_error
    - htonl
    - ntohs
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int make_secure_socket(apr_pool_t *pconf,\n                              const
      struct sockaddr_in *server,\n                              char* key, int mutual,
      server_rec *sconf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_sock_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:339,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:342,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:343,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:347,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:350,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:352,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:357,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:361,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:362,1
    - Dst: unicpy
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:372,1
    - Dst: unilen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:374,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:380,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:386,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:386,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 391
    functionName: convert_secure_socket
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - unilen
    - unicpy
    - memset
    - WSAGetLastError
    - APLOGNO
    - apr_os_sock_get
    - ap_log_error
    - WSAIoctl
    linkageType: ''
    returnType: int
    signature: int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:401,1
    - Dst: memset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:402,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:405,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:408,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:408,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:410,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:416,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:420,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:420,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:422,1
    - Dst: loc2uni
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:426,1
    - Dst: unilen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:430,1
    - Dst: WSAIoctl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:448,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:458,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:458,1
    - Dst: WSAGetLastError
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - socketHnd
    - key
    - r
    argTypes:
    - SOCKET
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 465
    functionName: SSLize_Socket
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - unilen
    - memset
    - WSAGetLastError
    - APLOGNO
    - ap_log_error
    - loc2uni
    - WSAIoctl
    linkageType: ''
    returnType: int
    signature: int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:471,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:472,1
    - Dst: strchr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:484,1
    - Dst: apr_pcalloc::apr_pcalloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:498,1
    - Dst: local_addr::local_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:499,1
    - Dst: local_addr::local_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:502,1
    - Dst: htonl
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:502,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:503,1
    - Dst: local_addr::local_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:506,1
    - Dst: parse_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:506,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:507,1
    - Dst: atoi
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:510,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:530,1
    - Dst: walk::walk
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:531,1
    - Dst: next::next
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:532,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:543,1
    - Dst: local_addr::local_addr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:551,1
    - Dst: htons
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:551,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:555,1
    - Dst: key::key
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:555,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 5
    argNames:
    - cmd
    - dummy
    - ips
    - key
    - mutual
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 561
    functionName: set_secure_listener
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_addr
    - apr_pcalloc::apr_pcalloc
    - get_nwssl_cfg
    - strchr
    - apr_table_add
    - htons
    - key::key
    - apr_pstrdup
    - atoi
    - next::next
    - local_addr::local_addr
    - ap_check_cmd_context
    - strcpy
    - htonl
    - walk::walk
    linkageType: ''
    returnType: char
    signature: "char *set_secure_listener(cmd_parms *cmd, void *dummy,\n                                       const
      char *ips, const char* key,\n                                       const char*
      mutual)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:566,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:567,1
    - Dst: strchr
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:575,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:590,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:593,1
    - Dst: atoi
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:596,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:601,1
    - Dst: apr_pcalloc::apr_pcalloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:603,1
    - Dst: strcpy
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:605,1
    - Dst: key::key
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - cmd
    - dummy
    - ips
    - key
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 611
    functionName: set_secure_upgradeable_listener
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc::apr_pcalloc
    - get_nwssl_cfg
    - strchr
    - key::key
    - atoi
    - apr_table_set
    - ap_check_cmd_context
    - strcpy
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *set_secure_upgradeable_listener(cmd_parms *cmd, void *dummy,\n
      \                                      const char *ips, const char* key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 632
    functionName: nwssl_socket_cleanup
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t nwssl_socket_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: set_trusted_certs
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: char *set_trusted_certs(cmd_parms *cmd, void *dummy, char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:672,1
    - Dst: walk::walk
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:674,1
    - Dst: next::next
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:675,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:700,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 711
    functionName: nwssl_pre_config
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - walk::walk
    - strcmp
    - next::next
    - ap_listen_pre_config
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int nwssl_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                         apr_pool_t
      *ptemp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:716,1
    - Dst: convert_secure_socket
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:717,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:720,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 728
    functionName: nwssl_pre_connection
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - convert_secure_socket
    - apr_palloc
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int nwssl_pre_connection(conn_rec *c, void *csd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:761,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:768,1
    - Dst: find_secure_listener
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:782,1
    - Dst: make_secure_socket
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:787,1
    - Dst: apr_os_sock_make
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:798,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:800,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:804,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:806,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:806,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:812,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:829,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:829,1
    - Dst: build_cert_list
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:834,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 837
    functionName: nwssl_post_config
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_perror
    - apr_pcalloc
    - make_secure_socket
    - APLOGNO
    - apr_socket_close
    - apr_os_sock_make
    - build_cert_list
    - find_secure_listener
    - apr_pool_cleanup_register
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: "int nwssl_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:841,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:842,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 845
    functionName: nwssl_config_server_create
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *nwssl_config_server_create(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 853
    functionName: nwssl_config_server_merge
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *nwssl_config_server_merge(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:860,1
    - Dst: strcmp
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - rec
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 865
    functionName: compare_ipports
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_ipports(void *rec, const char *key, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: itoa
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:871,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - c
    - t
    argTypes:
    - server_rec*
    - conn_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: isSecureConnEx
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - itoa
    - apr_table_do
    linkageType: ''
    returnType: int
    signature: int isSecureConnEx (const server_rec *s, const conn_rec *c, const apr_table_t
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:881,1
    - Dst: isSecureConnEx
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - server_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: isSecureConn
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureConnEx
    - get_nwssl_cfg
    linkageType: ''
    returnType: int
    signature: int isSecureConn (const server_rec *s, const conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:888,1
    - Dst: isSecureConnEx
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - server_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: isSecureConnUpgradeable
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureConnEx
    - get_nwssl_cfg
    linkageType: ''
    returnType: int
    signature: int isSecureConnUpgradeable (const server_rec *s, const conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSecureConn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: isSecure
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureConn
    linkageType: ''
    returnType: int
    signature: int isSecure (const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSecureConnUpgradeable
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: isSecureUpgradeable
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureConnUpgradeable
    linkageType: ''
    returnType: int
    signature: int isSecureUpgradeable (const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 908
    functionName: isSecureUpgraded
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int isSecureUpgraded (const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isSecure
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:912,1
    - Dst: isSecureUpgraded
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:912,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: nwssl_hook_Fixup
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureUpgraded
    - apr_table_setn
    - isSecure
    linkageType: ''
    returnType: int
    signature: int nwssl_hook_Fixup(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isSecure
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:922,1
    - Dst: isSecureUpgraded
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 926
    functionName: nwssl_hook_http_scheme
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureUpgraded
    - isSecure
    linkageType: ''
    returnType: char
    signature: char *nwssl_hook_http_scheme(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isSecure
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 928
    functionDepth: 3
    functionLinenumber: 928
    functionLinenumberEnd: 934
    functionName: nwssl_hook_default_port
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecure
    linkageType: ''
    returnType: apr_port_t
    signature: apr_port_t nwssl_hook_default_port(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: ssl_proxy_enable
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int ssl_proxy_enable(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: ssl_engine_disable
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_engine_disable(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:950,1
    - Dst: isSecureConn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: ssl_is_https
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - isSecureConn
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int ssl_is_https(conn_rec *c)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:958,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:985,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:986,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:987,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:988,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:989,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:990,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:991,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:992,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:993,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:994,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:995,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:996,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:997,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:998,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:999,1
    - Dst: isSecure
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1000,1
    - Dst: isSecureUpgraded
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1000,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1005,1
    - Dst: strcEQn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1005,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1007,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1012,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1014,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1015,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1016,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1018,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1020,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1022,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1023,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1024,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1025,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1026,1
    - Dst: strcEQn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1032,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1034,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1036,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1037,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1038,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1039,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1039,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1040,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1042,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1047,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1049,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1051,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1053,1
    - Dst: ap_document_root
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1054,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1055,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1057,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1073,1
    - Dst: strcEQn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1073,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1081,1
    - Dst: strcEQn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1081,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1085,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1086,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1087,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1088,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1091,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1092,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1092,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1093,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1101,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1102,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1104,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1105,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1107,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1108,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1110,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1111,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1113,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1114,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1116,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1117,1
    - Dst: strcEQ
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1119,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1120,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1120,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1121,1
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1128,1
    - Dst: strcEQn
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1128,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1129,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1131,1
    - Dst: getenv
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1133,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1138,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 132
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - var
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 956
    functionDepth: 3
    functionLinenumber: 956
    functionLinenumberEnd: 1142
    functionName: ssl_var_lookup
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_get_useragent_host
    - isSecure
    - apr_pstrdup
    - getenv
    - isSecureUpgraded
    - apr_psprintf
    - apr_table_get
    - ap_get_remote_logname
    - get_nwssl_cfg
    - strcEQ
    - ap_document_root
    - ap_http_scheme
    - ap_get_server_name_for_url
    - apr_itoa
    - ap_get_server_banner
    - MKTIMESTR
    - ap_get_server_port
    - strlen
    - apr_time_exp_lt
    - strcEQn
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec
      *r, char *var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - tmfield
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1101
    functionName: MKTIMESTR
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKTIMESTR(format, tmfield)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1165,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1172,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1179,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1181,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1183,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1186,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1188,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1192,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1194,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1197,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1198,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1202,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1202,1
    - Dst: get_port_key
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1207,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1211,1
    - Dst: SSLize_Socket
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1214,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1220,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1220,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1225,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1225,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1232
    functionName: ssl_io_filter_Upgrade
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - ap_fputs
    - get_port_key
    - APLOGNO
    - ap_find_token
    - apr_brigade_create
    - apr_bucket_flush_create
    - apr_os_sock_get
    - apr_table_unset
    - ap_log_error
    - SSLize_Socket
    - apr_table_get
    - ap_remove_output_filter
    - ap_get_module_config
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_Upgrade(ap_filter_t *f,\n                                          apr_bucket_brigade
      *bb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_nwssl_cfg
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1236,1
    - Dst: isSecureUpgradeable
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1238,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 3
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: ssl_hook_Insert_Filter
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - isSecureUpgradeable
    - get_nwssl_cfg
    linkageType: ''
    returnType: void
    signature: void ssl_hook_Insert_Filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1258,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1260,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1261,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1262,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1263,1
    - Dst: ap_hook_http_scheme
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1264,1
    - Dst: ap_hook_default_port
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1265,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1266,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1268,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1269,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1271,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/netware/mod_nw_ssl.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1273
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    functionUses: 0
    functionsReached:
    - ap_hook_http_scheme
    - ap_hook_pre_connection
    - ap_hook_pre_config
    - ap_hook_default_port
    - ap_register_output_filter
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_netware.c:48,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/arch/netware/mod_netware.c:50,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/arch/netware/mod_netware.c:51,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/arch/netware/mod_netware.c:52,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/arch/netware/mod_netware.c:54,1
    - Dst: file_type_handlers::file_type_handlers
      Src: /src/httpd/modules/arch/netware/mod_netware.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: create_netware_dir_config
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - file_type_handlers::file_type_handlers
    - apr_table_make
    - apr_table_setn
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_netware_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/arch/netware/mod_netware.c:63,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/arch/netware/mod_netware.c:65,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/arch/netware/mod_netware.c:66,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/arch/netware/mod_netware.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: merge_netware_dir_configs
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_netware_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/arch/netware/mod_netware.c:81,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/arch/netware/mod_netware.c:89,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/arch/netware/mod_netware.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - cmd
    - m
    - CGIhdlr
    - ext
    - detach
    argTypes:
    - cmd_parms*
    - netware_dir_config*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: set_extension_map
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *set_extension_map(cmd_parms *cmd, netware_dir_config *m,\n                                     char
      *CGIhdlr, char *ext, char *detach)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/arch/netware/mod_netware.c:107,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/arch/netware/mod_netware.c:119,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/arch/netware/mod_netware.c:124,1
    - Dst: strrchr
      Src: /src/httpd/modules/arch/netware/mod_netware.c:132,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/modules/arch/netware/mod_netware.c:132,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_netware.c:145,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/arch/netware/mod_netware.c:148,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/arch/netware/mod_netware.c:148,1
    - Dst: stricmp
      Src: /src/httpd/modules/arch/netware/mod_netware.c:152,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/arch/netware/mod_netware.c:155,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/arch/netware/mod_netware.c:158,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/arch/netware/mod_netware.c:164,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/arch/netware/mod_netware.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - cmd
    - argv
    - r
    - p
    - e_info
    argTypes:
    - char**
    - char***
    - request_rec*
    - apr_pool_t*
    - cgi_exec_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 170
    functionName: ap_cgi_build_command
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_server_root_relative
    - apr_pstrcat
    - apr_filepath_name_get
    - APLOGNO
    - apr_tokenize_to_argv
    - strrchr
    - ap_strchr_c
    - ap_get_module_config
    - apr_table_get
    - stricmp
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,\n
      \                                        request_rec *r, apr_pool_t *p,\n                                         cgi_exec_info_t
      *e_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_sys_privileges_handlers
      Src: /src/httpd/modules/arch/netware/mod_netware.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: netware_pre_config
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - ap_sys_privileges_handlers
    linkageType: ''
    returnType: int
    signature: "int netware_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                 apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/arch/netware/mod_netware.c:182,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/arch/netware/mod_netware.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/arch/netware/mod_netware.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/httpd/modules/lua/lua_config.c:26,1
    - Dst: lua_unboxpointer
      Src: /src/httpd/modules/lua/lua_config.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: check_dir_config
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - lua_unboxpointer
    linkageType: ''
    returnType: ap_lua_dir_cfg
    signature: ap_lua_dir_cfg *check_dir_config(lua_State *L, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/httpd/modules/lua/lua_config.c:34,1
    - Dst: lua_unboxpointer
      Src: /src/httpd/modules/lua/lua_config.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: check_cmd_parms
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - lua_unboxpointer
    linkageType: ''
    returnType: cmd_parms
    signature: cmd_parms *check_cmd_parms(lua_State *L, int index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_config.c:41,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_config.c:43,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_config.c:45,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_config.c:47,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_config.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: apl_toscope
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int apl_toscope(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_config.c:63,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_config.c:67,1
    - Dst: ap_regcomp
      Src: /src/httpd/modules/lua/lua_config.c:68,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_config.c:71,1
    - Dst: apl_toscope
      Src: /src/httpd/modules/lua/lua_config.c:73,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_config.c:75,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/lua_config.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - cfg
    - file
    - function
    - pattern
    - scope
    argTypes:
    - ap_lua_dir_cfg*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: ap_lua_map_handler
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pcalloc
    - apr_array_push
    - ap_regcomp
    - apl_toscope
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_lua_map_handler(ap_lua_dir_cfg *cfg,\n                                                 const
      char *file,\n                                                 const char *function,\n
      \                                                const char *pattern,\n                                                 const
      char *scope)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_dir_config
      Src: /src/httpd/modules/lua/lua_config.c:84,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_config.c:86,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_config.c:90,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_config.c:91,1
    - Dst: lua_isstring
      Src: /src/httpd/modules/lua/lua_config.c:92,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_config.c:93,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_config.c:94,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_config.c:96,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_config.c:98,1
    - Dst: lua_isstring
      Src: /src/httpd/modules/lua/lua_config.c:99,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_config.c:100,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_config.c:102,1
    - Dst: ap_regcomp
      Src: /src/httpd/modules/lua/lua_config.c:103,1
    - Dst: luaL_error
      Src: /src/httpd/modules/lua/lua_config.c:104,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_config.c:109,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_config.c:111,1
    - Dst: lua_isstring
      Src: /src/httpd/modules/lua/lua_config.c:112,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_config.c:113,1
    - Dst: apl_toscope
      Src: /src/httpd/modules/lua/lua_config.c:114,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_config.c:119,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_config.c:121,1
    - Dst: lua_isstring
      Src: /src/httpd/modules/lua/lua_config.c:122,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_config.c:123,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_config.c:124,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_config.c:129,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/lua_config.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 135
    functionName: cfg_lua_map_handler
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - check_dir_config
    - apr_pcalloc
    - apr_palloc
    - apr_array_push
    - ap_regcomp
    - luaL_error
    - lua_getfield
    - lua_isstring
    - apl_toscope
    - luaL_checktype
    - lua_pop
    - apr_pstrdup
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int cfg_lua_map_handler(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_dir_config
      Src: /src/httpd/modules/lua/lua_config.c:139,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_config.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: cfg_directory
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - check_dir_config
    linkageType: ''
    returnType: int
    signature: int cfg_directory(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_cmd_parms
      Src: /src/httpd/modules/lua/lua_config.c:162,1
    - Dst: lua_getstack
      Src: /src/httpd/modules/lua/lua_config.c:165,1
    - Dst: lua_getinfo
      Src: /src/httpd/modules/lua/lua_config.c:166,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_config.c:168,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/lua/lua_config.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - L
    - level
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: cmd_log_at
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - check_cmd_parms
    - lua_getinfo
    - lua_getstack
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int cmd_log_at(lua_State *L, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: cmd_emerg
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_emerg(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: cmd_alert
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_alert(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: cmd_crit
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_crit(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: cmd_err
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_err(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: cmd_warn
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_warn(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: cmd_notice
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_notice(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: cmd_info
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_info(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: cmd_debug
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_debug(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: cmd_trace1
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace1(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: cmd_trace2
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace2(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: cmd_trace3
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace3(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: cmd_trace4
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace4(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: cmd_trace5
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace5(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: cmd_trace6
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace6(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: cmd_trace7
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace7(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_log_at
      Src: /src/httpd/modules/lua/lua_config.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: cmd_trace8
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - cmd_log_at
    linkageType: ''
    returnType: int
    signature: int cmd_trace8(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_config.c:264,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_config.c:265,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_config.c:267,1
    - Dst: luaL_setfuncs_compat
      Src: /src/httpd/modules/lua/lua_config.c:268,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_config.c:271,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_config.c:272,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_config.c:274,1
    - Dst: luaL_setfuncs_compat
      Src: /src/httpd/modules/lua/lua_config.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: ap_lua_load_config_lmodule
    functionSourceFile: /src/httpd/modules/lua/lua_config.c
    functionUses: 0
    functionsReached:
    - luaL_newmetatable
    - luaL_setfuncs_compat
    - lua_setfield
    - lua_pushvalue
    linkageType: ''
    returnType: void
    signature: void ap_lua_load_config_lmodule(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/httpd/modules/lua/lua_apr.c:25,1
    - Dst: lua_unboxpointer
      Src: /src/httpd/modules/lua/lua_apr.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: ap_lua_check_apr_table
    functionSourceFile: /src/httpd/modules/lua/lua_apr.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - lua_unboxpointer
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t *ap_lua_check_apr_table(lua_State *L, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_boxpointer
      Src: /src/httpd/modules/lua/lua_apr.c:33,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_apr.c:34,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_apr.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - t
    argTypes:
    - lua_State*
    - req_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ap_lua_push_apr_table
    functionSourceFile: /src/httpd/modules/lua/lua_apr.c
    functionUses: 0
    functionsReached:
    - lua_boxpointer
    - luaL_getmetatable
    - lua_setmetatable
    linkageType: ''
    returnType: void
    signature: void ap_lua_push_apr_table(lua_State *L, req_table_t *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_apr_table
      Src: /src/httpd/modules/lua/lua_apr.c:40,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_apr.c:41,1
    - Dst: luaL_optlstring
      Src: /src/httpd/modules/lua/lua_apr.c:42,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/lua/lua_apr.c:45,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_apr.c:54,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/lua/lua_apr.c:54,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_apr.c:56,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/lua/lua_apr.c:58,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_apr.c:61,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_apr.c:61,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/lua/lua_apr.c:64,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/lua/lua_apr.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: lua_table_set
    functionSourceFile: /src/httpd/modules/lua/lua_apr.c
    functionUses: 0
    functionsReached:
    - luaL_optlstring
    - luaL_checkstring
    - strcmp
    - ap_log_rerror
    - ap_strchr
    - APLOGNO
    - apr_pstrdup
    - ap_lua_check_apr_table
    - apr_table_set
    - apr_table_unset
    - ap_strchr_c
    linkageType: ''
    returnType: int
    signature: int lua_table_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_apr_table
      Src: /src/httpd/modules/lua/lua_apr.c:74,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_apr.c:75,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/lua/lua_apr.c:76,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_apr.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: lua_table_get
    functionSourceFile: /src/httpd/modules/lua/lua_apr.c
    functionUses: 0
    functionsReached:
    - ap_lua_check_apr_table
    - luaL_checkstring
    - lua_pushstring
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int lua_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_apr.c:90,1
    - Dst: luaL_register
      Src: /src/httpd/modules/lua/lua_apr.c:92,1
    - Dst: luaL_newlib
      Src: /src/httpd/modules/lua/lua_apr.c:94,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_apr.c:96,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_apr.c:97,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_apr.c:98,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_apr.c:99,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_apr.c:101,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_apr.c:102,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_apr.c:103,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_apr.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - L
    - p
    argTypes:
    - lua_State*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: ap_lua_init
    functionSourceFile: /src/httpd/modules/lua/lua_apr.c
    functionUses: 0
    functionsReached:
    - luaL_newlib
    - luaL_newmetatable
    - lua_settable
    - lua_gettable
    - luaL_register
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int ap_lua_init(lua_State *L, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/httpd/modules/lua/lua_dbd.c:32,1
    - Dst: lua_unboxpointer
      Src: /src/httpd/modules/lua/lua_dbd.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ap_lua_check_request_rec
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - lua_unboxpointer
    linkageType: ''
    returnType: request_rec
    signature: request_rec *ap_lua_check_request_rec(lua_State *L, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:39,1
    - Dst: lua_rawgeti
      Src: /src/httpd/modules/lua/lua_dbd.c:40,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:41,1
    - Dst: lua_topointer
      Src: /src/httpd/modules/lua/lua_dbd.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: lua_get_db_handle
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_rawgeti
    - lua_topointer
    - luaL_checktype
    linkageType: ''
    returnType: lua_db_handle
    signature: lua_db_handle *lua_get_db_handle(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:47,1
    - Dst: lua_rawgeti
      Src: /src/httpd/modules/lua/lua_dbd.c:48,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:49,1
    - Dst: lua_topointer
      Src: /src/httpd/modules/lua/lua_dbd.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: lua_get_result_set
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_rawgeti
    - lua_topointer
    - luaL_checktype
    linkageType: ''
    returnType: lua_db_result_set
    signature: lua_db_result_set *lua_get_result_set(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:66,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/lua/lua_dbd.c:69,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/lua/lua_dbd.c:70,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/lua/lua_dbd.c:73,1
    - Dst: lua_ap_dbd_close
      Src: /src/httpd/modules/lua/lua_dbd.c:75,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_dbd.c:84,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_dbd.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 87
    functionName: lua_db_close
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_close
    - lua_pushnumber
    - lua_settop
    - lua_get_db_handle
    - lua_ap_dbd_close
    - apr_pool_destroy
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: int lua_db_close(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:100,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/lua/lua_dbd.c:103,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/lua/lua_dbd.c:104,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/lua/lua_dbd.c:107,1
    - Dst: lua_ap_dbd_close
      Src: /src/httpd/modules/lua/lua_dbd.c:109,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_dbd.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: lua_db_gc
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_close
    - lua_touserdata
    - lua_settop
    - lua_ap_dbd_close
    - apr_pool_destroy
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: int lua_db_gc(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:132,1
    - Dst: apr_dbd_check_conn
      Src: /src/httpd/modules/lua/lua_dbd.c:134,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:136,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: lua_db_active
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_check_conn
    - lua_pushboolean
    - lua_get_db_handle
    linkageType: ''
    returnType: int
    signature: int lua_db_active(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:160,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:161,1
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:162,1
    - Dst: apr_dbd_query
      Src: /src/httpd/modules/lua/lua_dbd.c:164,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_dbd.c:171,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/lua/lua_dbd.c:175,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:178,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: lua_db_query
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - apr_dbd_error
    - lua_pushnil
    - apr_dbd_query
    - luaL_checktype
    - lua_get_db_handle
    - lua_pushstring
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_db_query(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_dbd.c:202,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:204,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:205,1
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:206,1
    - Dst: apr_dbd_init
      Src: /src/httpd/modules/lua/lua_dbd.c:208,1
    - Dst: apr_dbd_escape
      Src: /src/httpd/modules/lua/lua_dbd.c:209,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:212,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: lua_db_escape
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_init
    - apr_dbd_escape
    - lua_pushnil
    - luaL_checktype
    - lua_get_db_handle
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_db_escape(lua_State *L)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lua_get_result_set
      Src: /src/httpd/modules/lua/lua_dbd.c:235,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:237,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:238,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:239,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_dbd.c:241,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:247,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/lua/lua_dbd.c:248,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:251,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:252,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/lua/lua_dbd.c:254,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/lua/lua_dbd.c:257,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:259,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:262,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:264,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:265,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:268,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/lua/lua_dbd.c:275,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:279,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/lua/lua_dbd.c:281,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/lua/lua_dbd.c:284,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:286,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:289,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:291,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 298
    functionName: lua_db_get_row
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - lua_rawset
    - lua_newtable
    - lua_settop
    - apr_dbd_get_row
    - apr_dbd_get_name
    - luaL_optinteger
    - lua_isboolean
    - lua_toboolean
    - apr_dbd_get_entry
    - lua_pushstring
    - lua_get_result_set
    linkageType: ''
    returnType: int
    signature: int lua_db_get_row(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_dbd.c:316,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:318,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:319,1
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:320,1
    - Dst: apr_dbd_select
      Src: /src/httpd/modules/lua/lua_dbd.c:329,1
    - Dst: apr_dbd_num_cols
      Src: /src/httpd/modules/lua/lua_dbd.c:333,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:336,1
    - Dst: lua_newuserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:337,1
    - Dst: apr_dbd_num_tuples
      Src: /src/httpd/modules/lua/lua_dbd.c:341,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:343,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:344,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:345,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:346,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:347,1
    - Dst: lua_rawseti
      Src: /src/httpd/modules/lua/lua_dbd.c:348,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/lua/lua_dbd.c:356,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:359,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:361,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 372
    functionName: lua_db_select
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_num_cols
    - lua_pushnil
    - lua_setmetatable
    - ap_lua_check_request_rec
    - lua_newtable
    - luaL_newmetatable
    - apr_dbd_num_tuples
    - luaL_checktype
    - lua_pushstring
    - apr_dbd_error
    - lua_pushliteral
    - lua_pushboolean
    - lua_get_db_handle
    - apr_dbd_select
    - lua_tostring
    - lua_newuserdata
    - lua_rawset
    - lua_rawseti
    - lua_pushcfunction
    linkageType: ''
    returnType: int
    signature: int lua_db_select(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:392,1
    - Dst: lua_rawgeti
      Src: /src/httpd/modules/lua/lua_dbd.c:393,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:394,1
    - Dst: lua_topointer
      Src: /src/httpd/modules/lua/lua_dbd.c:395,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/lua_dbd.c:399,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:401,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:402,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_dbd.c:407,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:409,1
    - Dst: apr_dbd_pselect
      Src: /src/httpd/modules/lua/lua_dbd.c:420,1
    - Dst: apr_dbd_num_cols
      Src: /src/httpd/modules/lua/lua_dbd.c:428,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:429,1
    - Dst: lua_newuserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:430,1
    - Dst: apr_dbd_num_tuples
      Src: /src/httpd/modules/lua/lua_dbd.c:434,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:436,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:437,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:438,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:439,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:440,1
    - Dst: lua_rawseti
      Src: /src/httpd/modules/lua/lua_dbd.c:441,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/lua/lua_dbd.c:448,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:451,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:453,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:460,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 464
    functionName: lua_db_prepared_select
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_num_cols
    - lua_pushnil
    - lua_setmetatable
    - lua_pushfstring
    - lua_rawgeti
    - lua_newtable
    - luaL_newmetatable
    - apr_dbd_num_tuples
    - luaL_checktype
    - lua_pushstring
    - apr_dbd_error
    - lua_pushliteral
    - lua_pushboolean
    - apr_dbd_pselect
    - lua_tostring
    - lua_newuserdata
    - lua_rawset
    - apr_pcalloc
    - lua_rawseti
    - lua_pushcfunction
    - lua_topointer
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int lua_db_prepared_select(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:483,1
    - Dst: lua_rawgeti
      Src: /src/httpd/modules/lua/lua_dbd.c:484,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:485,1
    - Dst: lua_topointer
      Src: /src/httpd/modules/lua/lua_dbd.c:486,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/lua_dbd.c:490,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:492,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:493,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_dbd.c:498,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:500,1
    - Dst: apr_dbd_pquery
      Src: /src/httpd/modules/lua/lua_dbd.c:510,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:513,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/lua/lua_dbd.c:519,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:522,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:524,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_dbd.c:531,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 535
    functionName: lua_db_prepared_query
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - apr_pcalloc
    - apr_dbd_error
    - lua_pushnil
    - lua_pushliteral
    - lua_topointer
    - lua_gettop
    - lua_pushboolean
    - luaL_checktype
    - apr_dbd_pquery
    - lua_pushfstring
    - lua_rawgeti
    - lua_pushstring
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_db_prepared_query(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_dbd.c:554,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:557,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:558,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/lua/lua_dbd.c:561,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/lua/lua_dbd.c:569,1
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:573,1
    - Dst: apr_dbd_prepare
      Src: /src/httpd/modules/lua/lua_dbd.c:574,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/lua/lua_dbd.c:578,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:581,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:583,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:590,1
    - Dst: lua_newuserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:591,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:596,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:597,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:598,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:599,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:600,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:601,1
    - Dst: lua_rawseti
      Src: /src/httpd/modules/lua/lua_dbd.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 606
    functionName: lua_db_prepare
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_pushstring
    - lua_newtable
    - apr_dbd_error
    - lua_newuserdata
    - apr_dbd_prepare
    - lua_rawseti
    - lua_pushnil
    - lua_pushliteral
    - lua_pushcfunction
    - luaL_checktype
    - lua_get_db_handle
    - ap_strchr_c
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_db_prepare(lua_State* L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_dbd.c:625,1
    - Dst: lua_get_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:628,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:629,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:630,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/lua_dbd.c:633,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:637,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:638,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:645,1
    - Dst: lua_newuserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:646,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:650,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:651,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:652,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:653,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:654,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:655,1
    - Dst: lua_rawseti
      Src: /src/httpd/modules/lua/lua_dbd.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 660
    functionName: lua_db_prepared
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_newtable
    - lua_rawseti
    - lua_newuserdata
    - lua_pushnil
    - lua_pushliteral
    - lua_pushcfunction
    - luaL_checktype
    - lua_get_db_handle
    - lua_pushfstring
    - lua_tostring
    - apr_hash_get
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_db_prepared(lua_State* L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_dbd.c:671,1
    - Dst: lua_newuserdata
      Src: /src/httpd/modules/lua/lua_dbd.c:672,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:678,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:679,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:680,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:681,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_dbd.c:682,1
    - Dst: lua_rawseti
      Src: /src/httpd/modules/lua/lua_dbd.c:683,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:685,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:686,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:687,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:689,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:690,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:691,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:693,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:694,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:695,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:697,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:698,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:699,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:701,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:702,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:703,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:705,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:706,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:707,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:709,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_dbd.c:710,1
    - Dst: lua_rawset
      Src: /src/httpd/modules/lua/lua_dbd.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 4
    argNames:
    - L
    - r
    - type
    - pool
    argTypes:
    - lua_State*
    - request_rec*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 713
    functionName: lua_push_db_handle
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_newtable
    - luaL_newmetatable
    - lua_rawseti
    - lua_pushliteral
    - lua_pushcfunction
    - lua_setmetatable
    - lua_newuserdata
    linkageType: ''
    returnType: lua_db_handle
    signature: "lua_db_handle * lua_push_db_handle(lua_State *L, request_rec* r, int
      type,\n        apr_pool_t* pool)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_dbd.c:738,1
    - Dst: luaL_optstring
      Src: /src/httpd/modules/lua/lua_dbd.c:740,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_dbd.c:742,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_dbd.c:744,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/lua/lua_dbd.c:745,1
    - Dst: lua_ap_dbd_open
      Src: /src/httpd/modules/lua/lua_dbd.c:747,1
    - Dst: lua_push_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:751,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:758,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:760,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:763,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/lua/lua_dbd.c:770,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:772,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:773,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/lua/lua_dbd.c:776,1
    - Dst: apr_dbd_init
      Src: /src/httpd/modules/lua/lua_dbd.c:777,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_dbd.c:778,1
    - Dst: apr_dbd_get_driver
      Src: /src/httpd/modules/lua/lua_dbd.c:779,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_dbd.c:781,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_dbd.c:782,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_dbd.c:783,1
    - Dst: apr_dbd_open_ex
      Src: /src/httpd/modules/lua/lua_dbd.c:786,1
    - Dst: lua_push_db_handle
      Src: /src/httpd/modules/lua/lua_dbd.c:789,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:796,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_dbd.c:798,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:806,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:807,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/lua/lua_dbd.c:809,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:813,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/lua/lua_dbd.c:814,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:815,1
    - Dst: APR_STATUS_IS_EDSOOPEN
      Src: /src/httpd/modules/lua/lua_dbd.c:818,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:819,1
    - Dst: APR_STATUS_IS_ESYMNOTFOUND
      Src: /src/httpd/modules/lua/lua_dbd.c:822,1
    - Dst: lua_pushfstring
      Src: /src/httpd/modules/lua/lua_dbd.c:823,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_dbd.c:828,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_dbd.c:831,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/lua/lua_dbd.c:832,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_dbd.c:837,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 842
    functionName: lua_db_acquire
    functionSourceFile: /src/httpd/modules/lua/lua_dbd.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - APR_STATUS_IS_ENOTIMPL
    - lua_ap_dbd_open
    - lua_pushnil
    - lua_pushfstring
    - ap_lua_check_request_rec
    - APR_STATUS_IS_ESYMNOTFOUND
    - apr_dbd_init
    - lua_push_db_handle
    - luaL_checktype
    - lua_pushstring
    - apr_dbd_open_ex
    - APR_RETRIEVE_OPTIONAL_FN
    - strcmp
    - apr_pool_create
    - lua_pushliteral
    - apr_pool_destroy
    - luaL_optstring
    - lua_tostring
    - APR_STATUS_IS_EDSOOPEN
    - apr_pcalloc
    - apr_dbd_get_driver
    - lua_settop
    - apr_pool_tag
    linkageType: ''
    returnType: int
    signature: int lua_db_acquire(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:59,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/modules/lua/lua_passwd.c:62,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - s
    - size
    - errstr
    - pool
    argTypes:
    - char*
    - size_t
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 81
    functionName: generate_salt
    functionSourceFile: /src/httpd/modules/lua/lua_passwd.c
    functionUses: 0
    functionsReached:
    - apr_generate_random_bytes
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: "int generate_salt(char *s, size_t size, const char **errstr,\n                         apr_pool_t
      *pool)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_sha1_base64
      Src: /src/httpd/modules/lua/lua_passwd.c:101,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_passwd.c:101,1
    - Dst: generate_salt
      Src: /src/httpd/modules/lua/lua_passwd.c:105,1
    - Dst: apr_md5_encode
      Src: /src/httpd/modules/lua/lua_passwd.c:110,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:112,1
    - Dst: generate_salt
      Src: /src/httpd/modules/lua/lua_passwd.c:120,1
    - Dst: crypt
      Src: /src/httpd/modules/lua/lua_passwd.c:123,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/lua/lua_passwd.c:125,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:126,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/lua/lua_passwd.c:131,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_passwd.c:132,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_passwd.c:133,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_passwd.c:135,1
    - Dst: crypt
      Src: /src/httpd/modules/lua/lua_passwd.c:135,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:136,1
    - Dst: memset
      Src: /src/httpd/modules/lua/lua_passwd.c:140,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_passwd.c:140,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/modules/lua/lua_passwd.c:147,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:149,1
    - Dst: apr_bcrypt_encode
      Src: /src/httpd/modules/lua/lua_passwd.c:157,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:160,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_passwd.c:169,1
    - Dst: memset
      Src: /src/httpd/modules/lua/lua_passwd.c:174,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_passwd.c:174,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - passwd_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 176
    functionName: mk_password_hash
    functionSourceFile: /src/httpd/modules/lua/lua_passwd.c
    functionUses: 0
    functionsReached:
    - generate_salt
    - strcmp
    - apr_generate_random_bytes
    - memset
    - apr_sha1_base64
    - apr_cpystrn
    - apr_pstrdup
    - apr_md5_encode
    - apr_bcrypt_encode
    - apr_psprintf
    - strlen
    - APR_FROM_OS_ERROR
    - crypt
    linkageType: ''
    returnType: int
    signature: int mk_password_hash(passwd_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/lua/lua_vmprep.c:48,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/lua/lua_vmprep.c:49,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/lua/lua_vmprep.c:52,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:52,1
    - Dst: exit
      Src: /src/httpd/modules/lua/lua_vmprep.c:54,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/lua/lua_vmprep.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: ap_lua_init_mutex
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_global_mutex_lockfile
    - ap_log_error
    - exit
    - apr_thread_mutex_create
    linkageType: ''
    returnType: void
    signature: void ap_lua_init_mutex(apr_pool_t *pool, server_rec *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/lua_vmprep.c:70,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:72,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:72,1
    - Dst: lua_type
      Src: /src/httpd/modules/lua/lua_vmprep.c:76,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:79,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:79,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:80,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:84,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:89,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:89,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:94,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:94,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:99,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:99,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:104,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:104,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_vmprep.c:106,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:110,1
    - Dst: lua_tonumber
      Src: /src/httpd/modules/lua/lua_vmprep.c:111,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:115,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:120,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:125,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:125,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:130,1
    - Dst: lua_typename
      Src: /src/httpd/modules/lua/lua_vmprep.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - L
    - r
    - level
    - msg
    argTypes:
    - lua_State*
    - apr_pool_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 136
    functionName: pstack_dump
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - lua_tonumber
    - ap_log_perror
    - lua_typename
    - APLOGNO
    - lua_gettop
    - lua_toboolean
    - lua_type
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: "void pstack_dump(lua_State *L, apr_pool_t *r, int level,\n                        const
      char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: makeintegerfield
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: makeintegerfield(L, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/lua_vmprep.c:147,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:148,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_vmprep.c:149,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:150,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/lua_vmprep.c:151,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_vmprep.c:152,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/lua_vmprep.c:154,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_vmprep.c:156,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/lua/lua_vmprep.c:156,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:157,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:159,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:160,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:161,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:162,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:163,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:164,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:165,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:166,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:167,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:168,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:169,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:170,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:171,1
    - Dst: makeintegerfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 233
    functionName: ap_lua_load_apache2_lmodule
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - ap_get_server_banner
    - lua_getfield
    - lua_getglobal
    - makeintegerfield
    - lua_pop
    - lua_setglobal
    - lua_pushstring
    linkageType: ''
    returnType: void
    signature: void ap_lua_load_apache2_lmodule(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/lua/lua_vmprep.c:242,1
    - Dst: lua_close
      Src: /src/httpd/modules/lua/lua_vmprep.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: cleanup_lua
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - lua_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_lua(void *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/lua/lua_vmprep.c:250,1
    - Dst: lua_close
      Src: /src/httpd/modules/lua/lua_vmprep.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - resource
    - params
    - pool
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: server_cleanup_lua
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - lua_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t server_cleanup_lua(void *resource, void *params, apr_pool_t
      *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/lua_vmprep.c:288,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:289,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:291,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/lua/lua_vmprep.c:293,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/lua_vmprep.c:295,1
    - Dst: luaL_gsub
      Src: /src/httpd/modules/lua/lua_vmprep.c:297,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:298,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:299,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:300,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_vmprep.c:303,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/lua_vmprep.c:305,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/lua/lua_vmprep.c:305,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_vmprep.c:308,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:309,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_vmprep.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 7
    argNames:
    - L
    - field
    - sub_pat
    - rep_pat
    - pool
    - paths
    - file
    argTypes:
    - lua_State*
    - char*
    - char*
    - char*
    - apr_pool_t*
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 311
    functionName: munge_path
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - ap_make_dirstr_parent
    - apr_pstrcat
    - luaL_gsub
    - apr_array_pstrcat
    - lua_getfield
    - lua_getglobal
    - lua_pop
    - lua_pushstring
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: "void munge_path(lua_State *L,\n                       const char *field,\n
      \                      const char *sub_pat,\n                       const char
      *rep_pat,\n                       apr_pool_t *pool,\n                       apr_array_header_t
      *paths,\n                       const char *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/lua_vmprep.c:316,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_vmprep.c:317,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_vmprep.c:318,1
    - Dst: lua_concat
      Src: /src/httpd/modules/lua/lua_vmprep.c:319,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/lua_vmprep.c:320,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:321,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:322,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:322,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:326,1
    - Dst: lua_remove
      Src: /src/httpd/modules/lua/lua_vmprep.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - L
    - lifecycle_pool
    argTypes:
    - lua_State*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: loadjitmodule
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - lua_concat
    - ap_log_perror
    - APLOGNO
    - lua_pushliteral
    - lua_getglobal
    - lua_getfield
    - lua_pcall
    - lua_remove
    - lua_tostring
    - lua_pushvalue
    linkageType: ''
    returnType: int
    signature: int loadjitmodule(lua_State *L, apr_pool_t *lifecycle_pool)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newstate
      Src: /src/httpd/modules/lua/lua_vmprep.c:339,1
    - Dst: luaopen_jit
      Src: /src/httpd/modules/lua/lua_vmprep.c:341,1
    - Dst: luaL_openlibs
      Src: /src/httpd/modules/lua/lua_vmprep.c:343,1
    - Dst: munge_path
      Src: /src/httpd/modules/lua/lua_vmprep.c:345,1
    - Dst: munge_path
      Src: /src/httpd/modules/lua/lua_vmprep.c:352,1
    - Dst: ap_lua_vm_spec*::cb
      Src: /src/httpd/modules/lua/lua_vmprep.c:360,1
    - Dst: luaL_loadbuffer
      Src: /src/httpd/modules/lua/lua_vmprep.c:365,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/lua_vmprep.c:366,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:370,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:370,1
    - Dst: luaL_loadfile
      Src: /src/httpd/modules/lua/lua_vmprep.c:372,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:374,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:374,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:377,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/lua_vmprep.c:380,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:381,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:383,1
    - Dst: loadjitmodule
      Src: /src/httpd/modules/lua/lua_vmprep.c:389,1
    - Dst: lua_pushlightuserdata
      Src: /src/httpd/modules/lua/lua_vmprep.c:391,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - vm
    - params
    - lifecycle_pool
    argTypes:
    - lua_State**
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 396
    functionName: vm_construct
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - luaopen_jit
    - ap_log_perror
    - lua_setfield
    - lua_pushlightuserdata
    - munge_path
    - luaL_loadbuffer
    - APLOGNO
    - ap_lua_vm_spec*::cb
    - luaL_openlibs
    - loadjitmodule
    - luaL_loadfile
    - lua_pcall
    - lua_tostring
    - luaL_newstate
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t vm_construct(lua_State **vm, void *params, apr_pool_t
      *lifecycle_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_vmprep.c:400,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_vmprep.c:402,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_vmprep.c:405,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/lua/lua_vmprep.c:406,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/lua/lua_vmprep.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - spec
    argTypes:
    - apr_pool_t*
    - ap_lua_vm_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: copy_vm_spec
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    - apr_array_copy
    linkageType: ''
    returnType: ap_lua_vm_spec
    signature: ap_lua_vm_spec * copy_vm_spec(apr_pool_t* pool, ap_lua_vm_spec* spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_vmprep.c:417,1
    - Dst: vm_construct
      Src: /src/httpd/modules/lua/lua_vmprep.c:419,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_vmprep.c:420,1
    - Dst: lua_pushlightuserdata
      Src: /src/httpd/modules/lua/lua_vmprep.c:424,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_vmprep.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - resource
    - params
    - pool
    argTypes:
    - lua_State**
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 430
    functionName: server_vm_construct
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - vm_construct
    - lua_setfield
    - apr_pcalloc
    - lua_pushlightuserdata
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t server_vm_construct(lua_State **resource, void *params,
      apr_pool_t *pool)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_vmprep.c:447,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/lua/lua_vmprep.c:449,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/lua_vmprep.c:451,1
    - Dst: apr_reslist_acquire
      Src: /src/httpd/modules/lua/lua_vmprep.c:454,1
    - Dst: copy_vm_spec
      Src: /src/httpd/modules/lua/lua_vmprep.c:461,1
    - Dst: apr_reslist_create
      Src: /src/httpd/modules/lua/lua_vmprep.c:463,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/lua/lua_vmprep.c:468,1
    - Dst: apr_reslist_acquire
      Src: /src/httpd/modules/lua/lua_vmprep.c:470,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/lua/lua_vmprep.c:476,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/lua/lua_vmprep.c:483,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/lua_vmprep.c:487,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:493,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:493,1
    - Dst: vm_construct
      Src: /src/httpd/modules/lua/lua_vmprep.c:497,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/lua/lua_vmprep.c:498,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/lua/lua_vmprep.c:499,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_vmprep.c:509,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/lua_vmprep.c:510,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_vmprep.c:512,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/lua/lua_vmprep.c:513,1
    - Dst: apr_stat
      Src: /src/httpd/modules/lua/lua_vmprep.c:518,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:538,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:538,1
    - Dst: luaL_loadfile
      Src: /src/httpd/modules/lua/lua_vmprep.c:540,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/lua_vmprep.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_vmprep.c:542,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_vmprep.c:545,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/lua_vmprep.c:548,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 3
    argNames:
    - lifecycle_pool
    - spec
    - r
    argTypes:
    - apr_pool_t*
    - ap_lua_vm_spec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 552
    functionName: ap_lua_get_lua_state
    functionSourceFile: /src/httpd/modules/lua/lua_vmprep.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - vm_construct
    - ap_log_perror
    - apr_pcalloc
    - apr_thread_mutex_unlock
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - copy_vm_spec
    - AP_DEBUG_ASSERT
    - apr_reslist_acquire
    - apr_psprintf
    - apr_reslist_create
    - luaL_loadfile
    - lua_pcall
    - apr_stat
    - lua_tostring
    linkageType: ''
    returnType: lua_State
    signature: "lua_State *ap_lua_get_lua_state(apr_pool_t *lifecycle_pool,\n                                               ap_lua_vm_spec
      *spec, request_rec* r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: lua_load
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_load(a,b,c,d)
  - 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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: lua_resume
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_resume(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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: lua_resume
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_resume(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: luaL_setfuncs_compat
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: luaL_setfuncs_compat(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: lua_rawlen
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_rawlen(L,i)
  - 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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: luaL_setfuncs_compat
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: luaL_setfuncs_compat(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: lua_resume
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_resume(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: lua_dump
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_dump(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: AP_LUA_DECLARE
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE(type)
  - 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: AP_LUA_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: AP_LUA_DECLARE
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: AP_LUA_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: AP_LUA_DECLARE
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: AP_LUA_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: AP_LUA_DECLARE
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: AP_LUA_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: lua_boxpointer
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_boxpointer(L,u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: lua_unboxpointer
    functionSourceFile: /src/httpd/modules/lua/mod_lua.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_unboxpointer(L,i)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/lua_request.c:53,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:54,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:54,1
    - Dst: lua_type
      Src: /src/httpd/modules/lua/lua_request.c:56,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:59,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:59,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:60,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:64,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:64,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:69,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:69,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:74,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:74,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:79,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:79,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:84,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:86,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:90,1
    - Dst: lua_tonumber
      Src: /src/httpd/modules/lua/lua_request.c:91,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:95,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:95,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:100,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:100,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:105,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:105,1
    - Dst: lua_typename
      Src: /src/httpd/modules/lua/lua_request.c:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - L
    - r
    - msg
    argTypes:
    - lua_State*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 111
    functionName: ap_lua_rstack_dump
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_tonumber
    - ap_log_rerror
    - lua_typename
    - APLOGNO
    - lua_gettop
    - lua_toboolean
    - lua_type
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: void ap_lua_rstack_dump(lua_State *L, request_rec *r, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/httpd/modules/lua/lua_request.c:121,1
    - Dst: lua_unboxpointer
      Src: /src/httpd/modules/lua/lua_request.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: ap_lua_check_request_rec
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 5
    functionsReached:
    - luaL_checkudata
    - lua_unboxpointer
    linkageType: ''
    returnType: request_rec
    signature: request_rec *ap_lua_check_request_rec(lua_State *L, int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_request.c:137,1
    - Dst: lua_type
      Src: /src/httpd/modules/lua/lua_request.c:139,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:143,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:144,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:145,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:146,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:147,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:148,1
    - Dst: lua_rawlen
      Src: /src/httpd/modules/lua/lua_request.c:153,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:154,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:155,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:156,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:157,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_request.c:164,1
    - Dst: lua_isnoneornil
      Src: /src/httpd/modules/lua/lua_request.c:165,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:166,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:167,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:168,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - l
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: req_aprtable2luatable_cb
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushnumber
    - lua_settable
    - lua_getfield
    - lua_isnoneornil
    - lua_pop
    - lua_type
    - lua_rawlen
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: "int req_aprtable2luatable_cb(void *l, const char *key,\n                                    const
      char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_request.c:186,1
    - Dst: lua_type
      Src: /src/httpd/modules/lua/lua_request.c:188,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:192,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:193,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:194,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:195,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:196,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:197,1
    - Dst: lua_rawlen
      Src: /src/httpd/modules/lua/lua_request.c:203,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:204,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:205,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:206,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:207,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_request.c:214,1
    - Dst: lua_isnoneornil
      Src: /src/httpd/modules/lua/lua_request.c:215,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:216,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:217,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:218,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - l
    - key
    - value
    - len
    argTypes:
    - void*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: req_aprtable2luatable_cb_len
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushnumber
    - lua_settable
    - lua_getfield
    - lua_isnoneornil
    - lua_pop
    - lua_pushlstring
    - lua_type
    - lua_rawlen
    linkageType: ''
    returnType: int
    signature: "int req_aprtable2luatable_cb_len(void *l, const char *key,\n                                    const
      char *value, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/lua/lua_request.c:241,1
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/lua/lua_request.c:244,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:255,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/lua/lua_request.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - r
    - rbuf
    - size
    - maxsize
    argTypes:
    - request_rec*
    - char**
    - apr_off_t*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 271
    functionName: lua_read_body
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_setup_client_block
    - ap_should_client_block
    - ap_get_client_block
    linkageType: ''
    returnType: int
    signature: "int lua_read_body(request_rec *r, const char **rbuf, apr_off_t *size,\n
      \       apr_off_t maxsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/lua/lua_request.c:286,1
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/lua/lua_request.c:288,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/lua/lua_request.c:297,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/lua/lua_request.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - r
    - file
    - size
    argTypes:
    - request_rec*
    - apr_file_t*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 316
    functionName: lua_write_body
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - ap_setup_client_block
    - ap_should_client_block
    - ap_get_client_block
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t lua_write_body(request_rec *r, apr_file_t *file, apr_off_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:321,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:322,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/lua/lua_request.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - t
    argTypes:
    - lua_State*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: req_aprtable2luatable
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - apr_table_do
    linkageType: ''
    returnType: int
    signature: int req_aprtable2luatable(lua_State *L, apr_table_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:329,1
    - Dst: req_aprtable2luatable
      Src: /src/httpd/modules/lua/lua_request.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: req_headers_in_table
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_aprtable2luatable
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_headers_in_table(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:334,1
    - Dst: req_aprtable2luatable
      Src: /src/httpd/modules/lua/lua_request.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: req_headers_out_table
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_aprtable2luatable
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_headers_out_table(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:339,1
    - Dst: req_aprtable2luatable
      Src: /src/httpd/modules/lua/lua_request.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: req_err_headers_out_table
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_aprtable2luatable
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_err_headers_out_table(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:344,1
    - Dst: req_aprtable2luatable
      Src: /src/httpd/modules/lua/lua_request.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: req_notes_table
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_aprtable2luatable
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_notes_table(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:349,1
    - Dst: req_aprtable2luatable
      Src: /src/httpd/modules/lua/lua_request.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: req_subprocess_env_table
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_aprtable2luatable
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_subprocess_env_table(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:356,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:357,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:358,1
    - Dst: ap_args_to_table
      Src: /src/httpd/modules/lua/lua_request.c:359,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/lua/lua_request.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: req_parseargs
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - apr_table_do
    - ap_args_to_table
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_parseargs(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/lua/lua_request.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - haystack
    - hsize
    - needle
    - nsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: ap_lua_binstrstr
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: char
    signature: char * ap_lua_binstrstr (const char * haystack, size_t hsize, const
      char* needle, size_t nsize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:389,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:390,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:391,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/lua/lua_request.c:392,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:393,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:394,1
    - Dst: sscanf
      Src: /src/httpd/modules/lua/lua_request.c:395,1
    - Dst: lua_read_body
      Src: /src/httpd/modules/lua/lua_request.c:402,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_request.c:405,1
    - Dst: strstr
      Src: /src/httpd/modules/lua/lua_request.c:409,1
    - Dst: strstr
      Src: /src/httpd/modules/lua/lua_request.c:415,1
    - Dst: ap_lua_binstrstr
      Src: /src/httpd/modules/lua/lua_request.c:417,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:419,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:420,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:423,1
    - Dst: memcpy
      Src: /src/httpd/modules/lua/lua_request.c:424,1
    - Dst: sscanf
      Src: /src/httpd/modules/lua/lua_request.c:425,1
    - Dst: req_aprtable2luatable_cb_len
      Src: /src/httpd/modules/lua/lua_request.c:429,1
    - Dst: ap_parse_form_data
      Src: /src/httpd/modules/lua/lua_request.c:435,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/lua/lua_request.c:437,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/lua/lua_request.c:438,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/lua/lua_request.c:439,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:441,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/lua/lua_request.c:442,1
    - Dst: req_aprtable2luatable_cb
      Src: /src/httpd/modules/lua/lua_request.c:444,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 449
    functionName: req_parsebody
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - lua_read_body
    - apr_brigade_flatten
    - ap_lua_check_request_rec
    - lua_newtable
    - req_aprtable2luatable_cb_len
    - apr_brigade_length
    - apr_table_get
    - sscanf
    - memcpy
    - ap_lua_binstrstr
    - apr_pcalloc
    - apr_palloc
    - strstr
    - req_aprtable2luatable_cb
    - luaL_optinteger
    - apr_array_pop
    - strlen
    - ap_parse_form_data
    linkageType: ''
    returnType: int
    signature: int req_parsebody(lua_State *L)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:462,1
    - Dst: luaL_optstring
      Src: /src/httpd/modules/lua/lua_request.c:463,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:464,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_request.c:469,1
    - Dst: lua_pushliteral
      Src: /src/httpd/modules/lua/lua_request.c:470,1
    - Dst: lua_read_body
      Src: /src/httpd/modules/lua/lua_request.c:478,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:481,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:482,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/lua/lua_request.c:488,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/lua_request.c:490,1
    - Dst: lua_write_body
      Src: /src/httpd/modules/lua/lua_request.c:492,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/lua/lua_request.c:493,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:495,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:498,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 507
    functionName: lua_ap_requestbody
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - lua_write_body
    - lua_read_body
    - apr_file_close
    - lua_settop
    - lua_pushnil
    - luaL_optinteger
    - lua_pushliteral
    - lua_pushlstring
    - lua_pushboolean
    - apr_file_open
    - luaL_optstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_requestbody(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:512,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/lua_request.c:514,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/lua_request.c:518,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 521
    functionName: req_puts
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_gettop
    - ap_rputs
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_puts(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:526,1
    - Dst: luaL_checklstring
      Src: /src/httpd/modules/lua/lua_request.c:529,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/lua/lua_request.c:531,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: req_write
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - ap_rwrite
    - luaL_checklstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_write(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:539,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:540,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:541,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:541,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/lua/lua_request.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: req_add_output_filter
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - ap_log_rerror
    - APLOGNO
    - ap_add_output_filter
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_add_output_filter(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:550,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:551,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:552,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/lua/lua_request.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: req_construct_url
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_construct_url
    - luaL_checkstring
    - lua_pushstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_construct_url(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:559,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:560,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:561,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/lua/lua_request.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: req_escape_html
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_pushstring
    - ap_escape_html
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_escape_html(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:568,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:569,1
    - Dst: ap_lua_ssl_val
      Src: /src/httpd/modules/lua/lua_request.c:570,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 574
    functionName: req_ssl_var_lookup
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_pushstring
    - ap_lua_ssl_val
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_ssl_var_lookup(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_document_root
      Src: /src/httpd/modules/lua/lua_request.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: req_document_root
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_document_root
    linkageType: ''
    returnType: char
    signature: char *req_document_root(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_context_prefix
      Src: /src/httpd/modules/lua/lua_request.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: req_context_prefix
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_context_prefix
    linkageType: ''
    returnType: char
    signature: char *req_context_prefix(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_context_document_root
      Src: /src/httpd/modules/lua/lua_request.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: req_context_document_root
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_context_document_root
    linkageType: ''
    returnType: char
    signature: char *req_context_document_root(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: req_uri_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_uri_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: req_method_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_method_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: req_handler_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_handler_field(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: req_proxyreq_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_proxyreq_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: req_hostname_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_hostname_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: req_args_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_args_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: req_path_info_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_path_info_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: req_canonical_filename_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_canonical_filename_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: req_filename_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_filename_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: req_user_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_user_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: req_unparsed_uri_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_unparsed_uri_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: req_ap_auth_type_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_ap_auth_type_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: req_content_encoding_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_content_encoding_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: req_content_type_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_content_type_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: req_range_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_range_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: req_protocol_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_protocol_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: req_the_request_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_the_request_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: req_log_id_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_log_id_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: req_useragent_ip_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *req_useragent_ip_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: req_remaining_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int req_remaining_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: req_status_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int req_status_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: req_assbackwards_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int req_assbackwards_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: req_headers_in
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t * req_headers_in(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: req_headers_out
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t * req_headers_out(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: req_err_headers_out
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t * req_err_headers_out(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 741
    functionName: req_subprocess_env
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t * req_subprocess_env(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: req_notes
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_table_t
    signature: req_table_t * req_notes(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_ssl_is_https
      Src: /src/httpd/modules/lua/lua_request.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: req_ssl_is_https_field
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_lua_ssl_is_https
    linkageType: ''
    returnType: int
    signature: int req_ssl_is_https_field(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/lua/lua_request.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: req_ap_get_server_port
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_server_port
    linkageType: ''
    returnType: int
    signature: int req_ap_get_server_port(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:766,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:767,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/lua/lua_request.c:768,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 771
    functionName: lua_ap_rflush
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - ap_rflush
    - luaL_checktype
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_rflush (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_allow_options
      Src: /src/httpd/modules/lua/lua_request.c:777,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: lua_ap_options
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_allow_options
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char * lua_ap_options(request_rec* r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_allow_overrides
      Src: /src/httpd/modules/lua/lua_request.c:784,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 793
    functionName: lua_ap_allowoverrides
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - ap_allow_overrides
    linkageType: ''
    returnType: char
    signature: char * lua_ap_allowoverrides(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: lua_ap_started
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lua_ap_started(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_basic_auth_pw
      Src: /src/httpd/modules/lua/lua_request.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: lua_ap_basic_auth_pw
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_basic_auth_pw
    linkageType: ''
    returnType: char
    signature: char * lua_ap_basic_auth_pw(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_limit_req_body
      Src: /src/httpd/modules/lua/lua_request.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: lua_ap_limit_req_body
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_limit_req_body
    linkageType: ''
    returnType: int
    signature: int lua_ap_limit_req_body(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/lua/lua_request.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: lua_ap_is_initial_req
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_is_initial_req
    linkageType: ''
    returnType: int
    signature: int lua_ap_is_initial_req(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_some_auth_required
      Src: /src/httpd/modules/lua/lua_request.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: lua_ap_some_auth_required
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_some_auth_required
    linkageType: ''
    returnType: int
    signature: int lua_ap_some_auth_required(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:829,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:830,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:831,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:832,1
    - Dst: apr_stat
      Src: /src/httpd/modules/lua/lua_request.c:833,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:835,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/lua/lua_request.c:842,1
    - Dst: ap_send_fd
      Src: /src/httpd/modules/lua/lua_request.c:845,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/lua/lua_request.c:846,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:847,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 855
    functionName: lua_ap_sendfile
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - ap_send_fd
    - apr_file_close
    - lua_pushboolean
    - luaL_checktype
    - apr_file_open
    - apr_stat
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_sendfile(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:869,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:870,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:871,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/modules/lua/lua_request.c:872,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:874,1
    - Dst: apr_base64_encode
      Src: /src/httpd/modules/lua/lua_request.c:875,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 882
    functionName: lua_apr_b64encode
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - luaL_checktype
    - lua_tolstring
    - apr_base64_encode_len
    - lua_pushlstring
    - apr_base64_encode
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_b64encode(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:894,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:895,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:896,1
    - Dst: apr_base64_decode_len
      Src: /src/httpd/modules/lua/lua_request.c:897,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:899,1
    - Dst: apr_base64_decode
      Src: /src/httpd/modules/lua/lua_request.c:900,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 907
    functionName: lua_apr_b64decode
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_base64_decode
    - apr_base64_decode_len
    - luaL_checktype
    - lua_tolstring
    - lua_pushlstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_b64decode(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:919,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:920,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:921,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:922,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/modules/lua/lua_request.c:923,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 929
    functionName: lua_ap_unescape
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - luaL_checktype
    - lua_tolstring
    - apr_pstrdup
    - ap_unescape_urlencoded
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_unescape(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:940,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:941,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:942,1
    - Dst: ap_escape_urlencoded
      Src: /src/httpd/modules/lua/lua_request.c:943,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 946
    functionName: lua_ap_escape
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_escape_urlencoded
    - luaL_checktype
    - lua_tolstring
    - lua_pushstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_escape(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:958,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:959,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:960,1
    - Dst: ap_md5_binary
      Src: /src/httpd/modules/lua/lua_request.c:961,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 964
    functionName: lua_apr_md5
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_md5_binary
    - luaL_checktype
    - lua_tolstring
    - lua_pushstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_md5(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:978,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:979,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:980,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:981,1
    - Dst: apr_sha1_init
      Src: /src/httpd/modules/lua/lua_request.c:982,1
    - Dst: apr_sha1_update
      Src: /src/httpd/modules/lua/lua_request.c:983,1
    - Dst: apr_sha1_final
      Src: /src/httpd/modules/lua/lua_request.c:984,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/lua/lua_request.c:986,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: lua_apr_sha1
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - apr_pcalloc
    - apr_sha1_init
    - luaL_checktype
    - lua_tolstring
    - ap_bin2hex
    - apr_sha1_final
    - apr_sha1_update
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_sha1(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1000,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1001,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:1002,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1002,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1003,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1004,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:1006,1
    - Dst: mk_password_hash
      Src: /src/httpd/modules/lua/lua_request.c:1008,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1009,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1010,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1016
    functionName: lua_apr_htpassword
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - apr_pcalloc
    - luaL_optinteger
    - mk_password_hash
    - luaL_checktype
    - lua_pushboolean
    - apr_pstrdup
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_htpassword(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1028,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1029,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1030,1
    - Dst: luaL_optnumber
      Src: /src/httpd/modules/lua/lua_request.c:1031,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/lua/lua_request.c:1031,1
    - Dst: apr_file_mtime_set
      Src: /src/httpd/modules/lua/lua_request.c:1032,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1035
    functionName: lua_apr_touch
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_file_mtime_set
    - luaL_optnumber
    - luaL_checktype
    - lua_pushboolean
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_touch(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1047,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1048,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1049,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1050,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/lua/lua_request.c:1051,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1054
    functionName: lua_apr_mkdir
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - luaL_optinteger
    - luaL_checktype
    - lua_pushboolean
    - apr_dir_make
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_mkdir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1067,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1068,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1069,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1070,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/lua/lua_request.c:1071,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1074
    functionName: lua_apr_mkrdir
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_dir_make_recursive
    - luaL_optinteger
    - luaL_checktype
    - lua_pushboolean
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_mkrdir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1085,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1086,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1087,1
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/lua/lua_request.c:1088,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1091
    functionName: lua_apr_rmdir
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_dir_remove
    - lua_pushboolean
    - luaL_checktype
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_apr_rmdir(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1101,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1102,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/lua/lua_request.c:1103,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1108
    functionName: lua_apr_date_parse_rfc
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - luaL_checktype
    - apr_date_parse_rfc
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_apr_date_parse_rfc(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1118,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/lua/lua_request.c:1119,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: lua_ap_mpm_query
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - ap_mpm_query
    - lua_tointeger
    linkageType: ''
    returnType: int
    signature: int lua_ap_mpm_query(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1135,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1136,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1137,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1138,1
    - Dst: ap_expr_parse
      Src: /src/httpd/modules/lua/lua_request.c:1146,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/lua/lua_request.c:1148,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1149,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1151,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1156,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1157,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1162
    functionName: lua_ap_expr
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse
    - luaL_checktype
    - lua_pushboolean
    - ap_expr_exec
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_expr(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1181,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1182,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1183,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1184,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1185,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1186,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1187,1
    - Dst: ap_regcomp
      Src: /src/httpd/modules/lua/lua_request.c:1189,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1191,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:1192,1
    - Dst: ap_regerror
      Src: /src/httpd/modules/lua/lua_request.c:1193,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1194,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1199,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:1200,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/lua/lua_request.c:1201,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1204,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/lua/lua_request.c:1208,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1210,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1214,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1216,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1218,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/lua/lua_request.c:1219,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/lua_request.c:1222,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1227
    functionName: lua_ap_regex
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - ap_regerror
    - lua_newtable
    - apr_palloc
    - apr_snprintf
    - lua_settable
    - ap_regcomp
    - lua_pushnil
    - luaL_optinteger
    - ap_regexec
    - luaL_checktype
    - lua_pushboolean
    - apr_pstrndup
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_regex(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1240,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1241,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1242,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/modules/lua/lua_request.c:1243,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1245,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1247,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1248,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1249,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1251,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1252,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1253,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1255,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1256,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1257,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1259,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1260,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1261,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1263,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1264,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1265,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1267,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1268,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1269,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1271,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1272,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1273,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1275,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1276,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1277,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1279,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1280,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1286
    functionName: lua_ap_scoreboard_process
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_pushnumber
    - lua_settable
    - luaL_checktype
    - lua_tointeger
    - lua_pushstring
    - ap_get_scoreboard_process
    linkageType: ''
    returnType: int
    signature: int lua_ap_scoreboard_process(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1298,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1299,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1300,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1302,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1305,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1306,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:1307,1
    - Dst: ap_copy_scoreboard_worker
      Src: /src/httpd/modules/lua/lua_request.c:1309,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1311,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1313,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1314,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1315,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1317,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1318,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1319,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1321,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1322,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1323,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1325,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1326,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1327,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1329,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1330,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1331,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1333,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1334,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1335,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1337,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1338,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1339,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1341,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1342,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1343,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1345,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1346,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1347,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1349,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1350,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1351,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1353,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1354,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1355,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1357,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1358,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1359,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1361,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1362,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1363,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1365,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1367,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1368,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1370,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1371,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1372,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1374,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1375,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1376,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1378,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1379,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1385
    functionName: lua_ap_scoreboard_worker
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - lua_newtable
    - apr_palloc
    - lua_pushnumber
    - lua_settable
    - luaL_checktype
    - lua_tointeger
    - lua_pushstring
    - ap_copy_scoreboard_worker
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_scoreboard_worker(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/lua/lua_request.c:1393,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1396
    functionName: lua_ap_clock
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int lua_ap_clock(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1408,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1409,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1410,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1411,1
    - Dst: ap_get_input_filter_handle
      Src: /src/httpd/modules/lua/lua_request.c:1412,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/lua/lua_request.c:1414,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1415,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1419
    functionName: lua_ap_add_input_filter
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_input_filter_handle
    - luaL_checktype
    - lua_pushboolean
    - ap_add_input_filter_handle
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_add_input_filter(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1431,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1432,1
    - Dst: ap_find_linked_module
      Src: /src/httpd/modules/lua/lua_request.c:1433,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1436,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1437,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1438,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1440,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1441,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1442,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1448
    functionName: lua_ap_module_info
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_settable
    - luaL_checktype
    - ap_find_linked_module
    - lua_pushstring
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_ap_module_info(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1459,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1460,1
    - Dst: luaL_optstring
      Src: /src/httpd/modules/lua/lua_request.c:1461,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1462,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/lua/lua_request.c:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1464
    functionName: lua_ap_runtime_dir_relative
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - luaL_checktype
    - luaL_optstring
    - lua_pushstring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_runtime_dir_relative(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1475,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1476,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1477,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1478,1
    - Dst: ap_set_document_root
      Src: /src/httpd/modules/lua/lua_request.c:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1481
    functionName: lua_ap_set_document_root
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_set_document_root
    - luaL_checktype
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_set_document_root(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1495,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1496,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1497,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1498,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/lua/lua_request.c:1499,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1501,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/lua/lua_request.c:1503,1
    - Dst: APR_STATUS_IS_INCOMPLETE
      Src: /src/httpd/modules/lua/lua_request.c:1504,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1510,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1511,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1512,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/lua/lua_request.c:1515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1521
    functionName: lua_ap_getdir
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - apr_dir_open
    - lua_newtable
    - apr_dir_read
    - apr_dir_close
    - lua_settable
    - luaL_checktype
    - APR_STATUS_IS_INCOMPLETE
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_getdir(lua_State *L)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1534,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1535,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1536,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1537,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1538,1
    - Dst: apr_stat
      Src: /src/httpd/modules/lua/lua_request.c:1539,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1540,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1542,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1543,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1544,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1547,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1548,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1549,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1552,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1553,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1554,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1557,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:1558,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1559,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1562,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1563,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1564,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1567,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1568,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1576
    functionName: lua_ap_stat
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - lua_pushstring
    - lua_newtable
    - lua_pushnumber
    - lua_settable
    - luaL_optinteger
    - luaL_checktype
    - apr_stat
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_stat(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1584,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1586,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1587,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1591
    functionName: lua_ap_loaded_modules
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - lua_settable
    - lua_newtable
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int lua_ap_loaded_modules(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:1599,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1601,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1602,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1603,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1605,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1606,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1607,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1609,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1610,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1611,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1613,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1614,1
    - Dst: ap_show_mpm
      Src: /src/httpd/modules/lua/lua_request.c:1614,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1618
    functionName: lua_ap_server_info
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_newtable
    - lua_pushstring
    - ap_show_mpm
    linkageType: ''
    returnType: int
    signature: int lua_ap_server_info(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1640,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1641,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1642,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1643,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1644,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1645,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/lua/lua_request.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1648
    functionName: lua_ap_set_context_info
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - luaL_checktype
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_set_context_info(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1666,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1667,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1668,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1669,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:1670,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:1671,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/lua/lua_request.c:1672,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1675
    functionName: lua_ap_os_escape_path
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_os_escape_path
    - lua_isboolean
    - lua_toboolean
    - luaL_checktype
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_os_escape_path(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1690,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1691,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1692,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1693,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/lua/lua_request.c:1694,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1697
    functionName: lua_ap_escape_logitem
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    - luaL_checktype
    - lua_pushstring
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_escape_logitem(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1713,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1714,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1715,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1716,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:1717,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:1718,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/lua/lua_request.c:1720,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/lua/lua_request.c:1722,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1725
    functionName: lua_ap_strcmp_match
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_strcmp_match
    - ap_strcasecmp_match
    - lua_isboolean
    - lua_toboolean
    - luaL_checktype
    - lua_pushboolean
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_ap_strcmp_match(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1738,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1739,1
    - Dst: ap_set_keepalive
      Src: /src/httpd/modules/lua/lua_request.c:1740,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1734
    functionDepth: 1
    functionLinenumber: 1734
    functionLinenumberEnd: 1743
    functionName: lua_ap_set_keepalive
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_set_keepalive
    - lua_pushboolean
    - luaL_checktype
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_set_keepalive(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1759,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1760,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1761,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:1762,1
    - Dst: ap_make_etag
      Src: /src/httpd/modules/lua/lua_request.c:1763,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1766
    functionName: lua_ap_make_etag
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_optinteger
    - luaL_checktype
    - lua_pushstring
    - ap_make_etag
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_make_etag(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1780,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1781,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:1782,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:1783,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/modules/lua/lua_request.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1786
    functionName: lua_ap_send_interim_response
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_send_interim_response
    - lua_isboolean
    - lua_toboolean
    - luaL_checktype
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_send_interim_response(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1802,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1803,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1804,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1805,1
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1806,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1807,1
    - Dst: ap_custom_response
      Src: /src/httpd/modules/lua/lua_request.c:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1810
    functionName: lua_ap_custom_response
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_custom_response
    - luaL_checktype
    - lua_tointeger
    - lua_tostring
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_custom_response(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1823,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/lua_request.c:1824,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/lua/lua_request.c:1825,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1828
    functionName: lua_ap_exists_config_define
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - lua_pushboolean
    - luaL_checktype
    - lua_tostring
    linkageType: ''
    returnType: int
    signature: int lua_ap_exists_config_define(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1834,1
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1835,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/lua/lua_request.c:1836,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1839
    functionName: lua_ap_get_server_name_for_url
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - luaL_checktype
    - ap_get_server_name_for_url
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_get_server_name_for_url(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1847,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/lua_request.c:1848,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/lua/lua_request.c:1849,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1852
    functionName: lua_ap_state_query
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - ap_state_query
    - luaL_checktype
    - lua_tointeger
    linkageType: ''
    returnType: int
    signature: int lua_ap_state_query(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/httpd/modules/lua/lua_request.c:1861,1
    - Dst: lua_tonumber
      Src: /src/httpd/modules/lua/lua_request.c:1862,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/lua/lua_request.c:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1865
    functionName: lua_ap_usleep
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_tonumber
    - luaL_checktype
    - apr_sleep
    linkageType: ''
    returnType: int
    signature: int lua_ap_usleep(lua_State *L)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1873,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:1874,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:1875,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/lua_request.c:1877,1
    - Dst: lua_touserdata
      Src: /src/httpd/modules/lua/lua_request.c:1878,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:1879,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/lua_request.c:1881,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1887,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1887,1
    - Dst: ap_lua_push_apr_table
      Src: /src/httpd/modules/lua/lua_request.c:1891,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1897,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1897,1
    - Dst: lua_pushcfunction
      Src: /src/httpd/modules/lua/lua_request.c:1900,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1906,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1906,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:1909,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1915,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1915,1
    - Dst: lua_pushinteger
      Src: /src/httpd/modules/lua/lua_request.c:1918,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1924,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1924,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:1927,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1933,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:1933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1935
    functionName: req_dispatch
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_lua_push_apr_table
    - luaL_checkstring
    - lua_pushinteger
    - ap_log_rerror
    - lua_touserdata
    - APLOGNO
    - lua_getfield
    - lua_pushcfunction
    - lua_pop
    - lua_pushboolean
    - lua_pushstring
    - apr_hash_get
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_dispatch(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1941,1
    - Dst: lua_getstack
      Src: /src/httpd/modules/lua/lua_request.c:1944,1
    - Dst: lua_getinfo
      Src: /src/httpd/modules/lua/lua_request.c:1945,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:1947,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - L
    - level
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1952
    functionName: req_log_at
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - ap_log_rerror
    - lua_getinfo
    - lua_getstack
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_log_at(lua_State *L, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1955
    functionDepth: 2
    functionLinenumber: 1955
    functionLinenumberEnd: 1958
    functionName: req_emerg
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_emerg(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 1962
    functionName: req_alert
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_alert(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1966
    functionName: req_crit
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_crit(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1967
    functionDepth: 2
    functionLinenumber: 1967
    functionLinenumberEnd: 1970
    functionName: req_err
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_err(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1971
    functionDepth: 2
    functionLinenumber: 1971
    functionLinenumberEnd: 1974
    functionName: req_warn
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_warn(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1975
    functionDepth: 2
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: req_notice
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_notice(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 1982
    functionName: req_info
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_info(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log_at
      Src: /src/httpd/modules/lua/lua_request.c:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1983
    functionDepth: 2
    functionLinenumber: 1983
    functionLinenumberEnd: 1986
    functionName: req_debug
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - req_log_at
    linkageType: ''
    returnType: int
    signature: int req_debug(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:1993,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:1994,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/lua_request.c:1995,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/lua/lua_request.c:1996,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/lua/lua_request.c:1997,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/lua_request.c:1998,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2000,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:2001,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:2002,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/lua/lua_request.c:2003,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/lua/lua_request.c:2007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2010
    functionName: lua_ivm_get
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - apr_pstrcat
    - lua_pushnumber
    - apr_pool_userdata_get
    - apr_shm_baseaddr_get
    - lua_pushboolean
    - lua_pushlstring
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ivm_get(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2020,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2021,1
    - Dst: luaL_checkany
      Src: /src/httpd/modules/lua/lua_request.c:2022,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/lua_request.c:2023,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/lua/lua_request.c:2025,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/lua/lua_request.c:2026,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/lua_request.c:2027,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:2029,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/lua/lua_request.c:2030,1
    - Dst: lua_type
      Src: /src/httpd/modules/lua/lua_request.c:2034,1
    - Dst: lua_tonumber
      Src: /src/httpd/modules/lua/lua_request.c:2035,1
    - Dst: lua_tonumber
      Src: /src/httpd/modules/lua/lua_request.c:2036,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:2038,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/modules/lua/lua_request.c:2041,1
    - Dst: memset
      Src: /src/httpd/modules/lua/lua_request.c:2045,1
    - Dst: memcpy
      Src: /src/httpd/modules/lua/lua_request.c:2046,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/lua/lua_request.c:2048,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/lua/lua_request.c:2049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2051
    functionName: lua_ivm_set
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_tonumber
    - apr_pcalloc
    - apr_pstrcat
    - memset
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - ap_varbuf_grow
    - memcpy
    - apr_shm_baseaddr_get
    - apr_global_mutex_unlock
    - lua_tolstring
    - apr_global_mutex_lock
    - lua_type
    - ap_varbuf_init
    - luaL_checkany
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ivm_set(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2056,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2057,1
    - Dst: ap_cookie_read
      Src: /src/httpd/modules/lua/lua_request.c:2059,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2065
    functionName: lua_get_cookie
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_pushstring
    - ap_cookie_read
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_get_cookie(lua_State *L)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2074,1
    - Dst: lua_istable
      Src: /src/httpd/modules/lua/lua_request.c:2077,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2080,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2081,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2082,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2083,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2086,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2087,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2088,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2089,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2092,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2093,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:2094,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2095,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2098,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2099,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:2100,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:2101,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2103,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2106,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2107,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:2108,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:2109,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2111,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2114,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2115,1
    - Dst: luaL_optstring
      Src: /src/httpd/modules/lua/lua_request.c:2116,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2117,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2120,1
    - Dst: lua_gettable
      Src: /src/httpd/modules/lua/lua_request.c:2121,1
    - Dst: luaL_optstring
      Src: /src/httpd/modules/lua/lua_request.c:2122,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2123,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2127,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2128,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:2130,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:2131,1
    - Dst: luaL_optinteger
      Src: /src/httpd/modules/lua/lua_request.c:2133,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/lua/lua_request.c:2138,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/lua/lua_request.c:2138,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2140,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_request.c:2145,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2146,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_request.c:2150,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2152,1
    - Dst: ap_escape_urlencoded
      Src: /src/httpd/modules/lua/lua_request.c:2156,1
    - Dst: ap_escape_urlencoded
      Src: /src/httpd/modules/lua/lua_request.c:2157,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2160,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/lua/lua_request.c:2167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2169
    functionName: lua_set_cookie
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - apr_time_from_sec
    - apr_table_add
    - apr_rfc822_date
    - lua_gettable
    - ap_lua_check_request_rec
    - luaL_optinteger
    - lua_isboolean
    - lua_toboolean
    - lua_pop
    - apr_psprintf
    - strlen
    - ap_escape_urlencoded
    - luaL_optstring
    - lua_pushstring
    - lua_istable
    linkageType: ''
    returnType: int
    signature: int lua_set_cookie(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - apr_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2189
    functionName: ap_ntoh64
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_uint64_t
    signature: apr_uint64_t ap_ntoh64(const apr_uint64_t *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2198,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/lua/lua_request.c:2199,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2201,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2201,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/lua_request.c:2203,1
    - Dst: apr_sha1_init
      Src: /src/httpd/modules/lua/lua_request.c:2205,1
    - Dst: apr_sha1_update
      Src: /src/httpd/modules/lua/lua_request.c:2206,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/lua_request.c:2206,1
    - Dst: apr_sha1_final
      Src: /src/httpd/modules/lua/lua_request.c:2207,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/modules/lua/lua_request.c:2208,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:2210,1
    - Dst: apr_base64_encode
      Src: /src/httpd/modules/lua/lua_request.c:2211,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/lua/lua_request.c:2213,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/lua/lua_request.c:2214,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/lua/lua_request.c:2215,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/lua/lua_request.c:2218,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/lua/lua_request.c:2223,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2224,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2226,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2230,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2233
    functionName: lua_websocket_greet
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - apr_pstrcat
    - apr_sha1_init
    - APLOGNO
    - apr_table_setn
    - strlen
    - apr_base64_encode
    - apr_base64_encode_len
    - lua_pushboolean
    - apr_table_get
    - apr_sha1_final
    - apr_sha1_update
    - ap_rflush
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_greet(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/lua/lua_request.c:2242,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/lua/lua_request.c:2246,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/lua_request.c:2251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - c
    - brigade
    - buffer
    - len
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    - char*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2253
    functionName: lua_websocket_readbytes
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_cleanup
    - apr_brigade_flatten
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t lua_websocket_readbytes(conn_rec* c,\n                                            apr_bucket_brigade
      *brigade,\n                                            char* buffer, apr_off_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2260,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/lua/lua_request.c:2262,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/lua/lua_request.c:2264,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2267,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2270,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/lua_request.c:2272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2274
    functionName: lua_websocket_peek
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_create
    - apr_brigade_cleanup
    - lua_pushboolean
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_peek(lua_State *L)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2289,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:2292,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/lua/lua_request.c:2294,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2299,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2309,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2320,1
    - Dst: ntohs
      Src: /src/httpd/modules/lua/lua_request.c:2327,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2331,1
    - Dst: ap_ntoh64
      Src: /src/httpd/modules/lua/lua_request.c:2338,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2340,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2340,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2347,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:2356,1
    - Dst: lua_websocket_readbytes
      Src: /src/httpd/modules/lua/lua_request.c:2359,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2365,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/lua_request.c:2374,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2375,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/lua/lua_request.c:2388,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/lua_request.c:2389,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/lua/lua_request.c:2391,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/lua_request.c:2392,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2276
    functionDepth: 2
    functionLinenumber: 2276
    functionLinenumberEnd: 2404
    functionName: lua_websocket_read
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_websocket_readbytes
    - ap_pass_brigade
    - ap_log_rerror
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - apr_brigade_create
    - apr_bucket_transient_create
    - ap_ntoh64
    - lua_pushlstring
    - lua_pushboolean
    - apr_brigade_cleanup
    - ntohs
    - APR_BRIGADE_INSERT_TAIL
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_read(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2414,1
    - Dst: lua_isboolean
      Src: /src/httpd/modules/lua/lua_request.c:2416,1
    - Dst: lua_toboolean
      Src: /src/httpd/modules/lua/lua_request.c:2417,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/lua_request.c:2419,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2422,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2422,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/lua/lua_request.c:2426,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/lua/lua_request.c:2428,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/lua/lua_request.c:2432,1
    - Dst: htons
      Src: /src/httpd/modules/lua/lua_request.c:2433,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/lua/lua_request.c:2434,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/lua/lua_request.c:2438,1
    - Dst: ap_ntoh64
      Src: /src/httpd/modules/lua/lua_request.c:2439,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/lua/lua_request.c:2440,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2444,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2444,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/lua/lua_request.c:2447,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/lua/lua_request.c:2448,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2450,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2456
    functionName: lua_websocket_write
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - htons
    - APLOGNO
    - ap_rputc
    - ap_ntoh64
    - lua_isboolean
    - lua_toboolean
    - ap_rwrite
    - lua_tolstring
    - lua_pushboolean
    - ap_rflush
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_write(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2463,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/lua/lua_request.c:2465,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/lua/lua_request.c:2470,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/lua/lua_request.c:2473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2459
    functionDepth: 1
    functionLinenumber: 2459
    functionLinenumberEnd: 2477
    functionName: lua_websocket_close
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_socket_close
    - ap_get_conn_socket
    - ap_rwrite
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_close(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2485,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/lua/lua_request.c:2486,1
    - Dst: apr_socket_send
      Src: /src/httpd/modules/lua/lua_request.c:2492,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/lua/lua_request.c:2497,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2504,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/lua_request.c:2504,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2507,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2510,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/lua_request.c:2513,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/lua/lua_request.c:2519,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/lua/lua_request.c:2521,1
    - Dst: lua_pushboolean
      Src: /src/httpd/modules/lua/lua_request.c:2525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2479
    functionDepth: 1
    functionLinenumber: 2479
    functionLinenumberEnd: 2528
    functionName: lua_websocket_ping
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_conn_socket
    - ap_log_rerror
    - apr_socket_send
    - APLOGNO
    - lua_pushboolean
    - apr_socket_recv
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_websocket_ping(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2535
    functionName: APLUA_REQ_TRACE
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLUA_REQ_TRACE(lev)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2551,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2552,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2554,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2555,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2556,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2560,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2561,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2562,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2566,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2567,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/lua/lua_request.c:2568,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2568,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2572,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2573,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2574,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2578,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2579,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2580,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2584,1
    - Dst: luaL_checkinteger
      Src: /src/httpd/modules/lua/lua_request.c:2585,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2590,1
    - Dst: luaL_checkinteger
      Src: /src/httpd/modules/lua/lua_request.c:2591,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2596,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2597,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2598,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/lua_request.c:2602,1
    - Dst: luaL_checkstring
      Src: /src/httpd/modules/lua/lua_request.c:2603,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/lua_request.c:2604,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2608,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2609,1
    - Dst: lua_error
      Src: /src/httpd/modules/lua/lua_request.c:2612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2546
    functionDepth: 1
    functionLinenumber: 2546
    functionLinenumberEnd: 2614
    functionName: req_newindex
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - strcmp
    - lua_pushstring
    - lua_error
    - apr_psprintf
    - apr_pstrdup
    - luaL_checkinteger
    - ap_set_content_type
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int req_newindex(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:2623,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:2627,1
    - Dst: lua_newtable
      Src: /src/httpd/modules/lua/lua_request.c:2628,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/lua_request.c:2629,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2630,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2631,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:2632,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2633,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2634,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:2635,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2636,1
    - Dst: lua_pushnumber
      Src: /src/httpd/modules/lua/lua_request.c:2637,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:2638,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:2640,1
    - Dst: read_cfg_tree
      Src: /src/httpd/modules/lua/lua_request.c:2641,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:2642,1
    - Dst: lua_settable
      Src: /src/httpd/modules/lua/lua_request.c:2644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - L
    - r
    - rcfg
    argTypes:
    - lua_State*
    - request_rec*
    - ap_directive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2646
    functionName: read_cfg_tree
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 1
    functionsReached:
    - lua_newtable
    - read_cfg_tree
    - lua_pushnumber
    - lua_settable
    - apr_psprintf
    - lua_pushstring
    linkageType: ''
    returnType: void
    signature: void read_cfg_tree(lua_State *L, request_rec *r, ap_directive_t *rcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2649,1
    - Dst: read_cfg_tree
      Src: /src/httpd/modules/lua/lua_request.c:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2653
    functionName: lua_ap_get_config
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - read_cfg_tree
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_get_config(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_check_request_rec
      Src: /src/httpd/modules/lua/lua_request.c:2660,1
    - Dst: ap_strcasestr
      Src: /src/httpd/modules/lua/lua_request.c:2663,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/lua/lua_request.c:2665,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/lua/lua_request.c:2666,1
    - Dst: read_cfg_tree
      Src: /src/httpd/modules/lua/lua_request.c:2667,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/lua/lua_request.c:2670,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/lua/lua_request.c:2671,1
    - Dst: read_cfg_tree
      Src: /src/httpd/modules/lua/lua_request.c:2672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2657
    functionDepth: 2
    functionLinenumber: 2657
    functionLinenumberEnd: 2679
    functionName: lua_ap_get_active_config
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - read_cfg_tree
    - ap_strcasestr
    - ap_lua_check_request_rec
    linkageType: ''
    returnType: int
    signature: int lua_ap_get_active_config(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_name
      Src: /src/httpd/modules/lua/lua_request.c:2698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2700
    functionName: lua_ap_auth_name
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_auth_name
    linkageType: ''
    returnType: char
    signature: char * lua_ap_auth_name(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/lua/lua_request.c:2705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2702
    functionDepth: 1
    functionLinenumber: 2702
    functionLinenumberEnd: 2707
    functionName: lua_ap_get_server_name
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_get_server_name
    linkageType: ''
    returnType: char
    signature: char * lua_ap_get_server_name(request_rec* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/lua_request.c:2719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fun
    - type
    - pool
    argTypes:
    - void*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2723
    functionName: makefun
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: req_fun_t
    signature: req_fun_t *makefun(const void *fun, int type, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/lua/lua_request.c:2728,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2730,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2731,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2732,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2733,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2734,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2735,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2736,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2737,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2738,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2739,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2740,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2741,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2742,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2743,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2744,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2745,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2746,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2747,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2748,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2749,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2750,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2751,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2752,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2753,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2754,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2755,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2756,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2757,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2758,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2759,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2760,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2761,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2762,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2763,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2764,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2765,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2766,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2767,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2768,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2769,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2770,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2771,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2772,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2773,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2774,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2775,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2776,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2777,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2778,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2779,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2780,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2781,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2782,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2783,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2784,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2785,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2786,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2787,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2788,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2789,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2790,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2791,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2792,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2793,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2794,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2795,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2796,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2797,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2799,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2800,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2801,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2802,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2803,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2804,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2805,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2806,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2807,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2808,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2810,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2811,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2812,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2813,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2814,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2815,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2816,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2817,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2818,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2819,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2820,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2821,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2822,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2823,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2824,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2825,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2826,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2827,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2828,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2829,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2830,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2831,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2832,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2833,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2834,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2835,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2836,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2837,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2838,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2839,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2840,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2841,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2842,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2843,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2844,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2845,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2846,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2847,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2848,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2849,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2850,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2851,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2852,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2853,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2854,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2855,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2856,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2857,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2858,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2859,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2860,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2861,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2862,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2863,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2864,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2865,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2866,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2867,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2868,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2869,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2870,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2871,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2872,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2873,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2874,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2875,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2876,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2877,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2878,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2879,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2880,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2881,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2882,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2883,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2884,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2885,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2886,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2887,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2888,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2889,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2890,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2891,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2892,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2893,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2894,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2895,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2896,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2897,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2898,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2899,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2900,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2901,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2902,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2903,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2904,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2905,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2906,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2907,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2908,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2909,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2910,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2911,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2912,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2913,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2914,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2915,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2916,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2917,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2918,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2919,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2920,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2921,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2922,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2923,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2924,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2925,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2926,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2927,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2928,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2929,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2930,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2931,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2932,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2933,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2934,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2935,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2936,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2937,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2938,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2939,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2940,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2941,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2942,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2943,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2944,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2945,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2946,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2947,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2948,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2949,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2950,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2951,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2952,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2953,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2954,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2955,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2956,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2957,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2958,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2959,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2960,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2961,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2962,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2963,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2964,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2965,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2966,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2967,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2968,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2969,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2970,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2971,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2972,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2973,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2974,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2975,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2976,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2977,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2978,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2979,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2980,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2981,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/lua_request.c:2982,1
    - Dst: makefun
      Src: /src/httpd/modules/lua/lua_request.c:2983,1
    - Dst: lua_pushlightuserdata
      Src: /src/httpd/modules/lua/lua_request.c:2984,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:2985,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_request.c:2987,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_request.c:2988,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:2990,1
    - Dst: luaL_setfuncs_compat
      Src: /src/httpd/modules/lua/lua_request.c:2991,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:2993,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_request.c:2995,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_request.c:2996,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:2998,1
    - Dst: luaL_setfuncs_compat
      Src: /src/httpd/modules/lua/lua_request.c:2999,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:3001,1
    - Dst: luaL_newmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3003,1
    - Dst: lua_pushvalue
      Src: /src/httpd/modules/lua/lua_request.c:3004,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:3006,1
    - Dst: luaL_setfuncs_compat
      Src: /src/httpd/modules/lua/lua_request.c:3007,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:3009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 144
    argCount: 2
    argNames:
    - L
    - p
    argTypes:
    - lua_State*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 2725
    functionDepth: 1
    functionLinenumber: 2725
    functionLinenumberEnd: 3011
    functionName: ap_lua_load_request_lmodule
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - lua_setfield
    - apr_hash_make
    - lua_pushlightuserdata
    - luaL_newmetatable
    - luaL_setfuncs_compat
    - lua_pop
    - lua_pushvalue
    - makefun
    linkageType: ''
    returnType: void
    signature: void ap_lua_load_request_lmodule(lua_State *L, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_boxpointer
      Src: /src/httpd/modules/lua/lua_request.c:3016,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3017,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3018,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3019,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/lua_request.c:3021,1
    - Dst: ap_lua_push_apr_table
      Src: /src/httpd/modules/lua/lua_request.c:3025,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:3026,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:3028,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:3029,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:3031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - L
    - c
    argTypes:
    - lua_State*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3013
    functionDepth: 2
    functionLinenumber: 3013
    functionLinenumberEnd: 3032
    functionName: ap_lua_push_connection
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - ap_lua_push_apr_table
    - lua_boxpointer
    - luaL_getmetatable
    - lua_setfield
    - apr_pcalloc
    - lua_pop
    - lua_setmetatable
    - lua_pushstring
    linkageType: ''
    returnType: void
    signature: void ap_lua_push_connection(lua_State *L, conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_boxpointer
      Src: /src/httpd/modules/lua/lua_request.c:3037,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3038,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3039,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3040,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/lua_request.c:3042,1
    - Dst: lua_setfield
      Src: /src/httpd/modules/lua/lua_request.c:3043,1
    - Dst: lua_pop
      Src: /src/httpd/modules/lua/lua_request.c:3045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - L
    - s
    argTypes:
    - lua_State*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3035
    functionDepth: 1
    functionLinenumber: 3035
    functionLinenumberEnd: 3046
    functionName: ap_lua_push_server
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_boxpointer
    - lua_setfield
    - luaL_getmetatable
    - lua_pop
    - lua_setmetatable
    - lua_pushstring
    linkageType: ''
    returnType: void
    signature: void ap_lua_push_server(lua_State *L, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_boxpointer
      Src: /src/httpd/modules/lua/lua_request.c:3050,1
    - Dst: luaL_getmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3051,1
    - Dst: lua_setmetatable
      Src: /src/httpd/modules/lua/lua_request.c:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - r
    argTypes:
    - lua_State*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3048
    functionDepth: 1
    functionLinenumber: 3048
    functionLinenumberEnd: 3053
    functionName: ap_lua_push_request
    functionSourceFile: /src/httpd/modules/lua/lua_request.c
    functionUses: 0
    functionsReached:
    - lua_boxpointer
    - luaL_getmetatable
    - lua_setmetatable
    linkageType: ''
    returnType: void
    signature: void ap_lua_push_request(lua_State *L, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/lua/mod_lua.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: shm_cleanup_wrapper
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t shm_cleanup_wrapper(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/mod_lua.c:105,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/mod_lua.c:106,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/mod_lua.c:107,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/mod_lua.c:108,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/lua/mod_lua.c:108,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/mod_lua.c:109,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/lua/mod_lua.c:111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - L
    - r
    argTypes:
    - lua_State*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: report_lua_error
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - ap_escape_html
    - ap_rputs
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: void report_lua_error(lua_State *L, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_init
      Src: /src/httpd/modules/lua/mod_lua.c:117,1
    - Dst: ap_lua_load_apache2_lmodule
      Src: /src/httpd/modules/lua/mod_lua.c:118,1
    - Dst: ap_lua_load_request_lmodule
      Src: /src/httpd/modules/lua/mod_lua.c:119,1
    - Dst: ap_lua_load_config_lmodule
      Src: /src/httpd/modules/lua/mod_lua.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - L
    - p
    - ctx
    argTypes:
    - lua_State*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: lua_open_callback
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_lua_load_config_lmodule
    - ap_lua_init
    - ap_lua_load_request_lmodule
    - ap_lua_load_apache2_lmodule
    linkageType: ''
    returnType: void
    signature: void lua_open_callback(lua_State *L, apr_pool_t *p, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_open_callback
      Src: /src/httpd/modules/lua/mod_lua.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - L
    - p
    argTypes:
    - lua_State*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: lua_open_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_open_callback
    linkageType: ''
    returnType: int
    signature: int lua_open_hook(lua_State *L, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/lua/mod_lua.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - scope
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: scope_to_string
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_assert
    linkageType: ''
    returnType: char
    signature: char *scope_to_string(unsigned int scope)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/mod_lua.c:158,1
    - Dst: lua_getfield
      Src: /src/httpd/modules/lua/mod_lua.c:159,1
    - Dst: lua_touserdata
      Src: /src/httpd/modules/lua/mod_lua.c:160,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:161,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/mod_lua.c:162,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/lua/mod_lua.c:164,1
    - Dst: apr_reslist_release
      Src: /src/httpd/modules/lua/mod_lua.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - L
    - spec
    - r
    argTypes:
    - lua_State*
    - ap_lua_vm_spec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: ap_lua_release_state
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_touserdata
    - apr_pool_userdata_get
    - AP_DEBUG_ASSERT
    - lua_settop
    - apr_reslist_release
    - lua_getfield
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: void ap_lua_release_state(lua_State* L, ap_lua_vm_spec* spec, request_rec*
      r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:183,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/lua/mod_lua.c:199,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:206,1
    - Dst: scope_to_string
      Src: /src/httpd/modules/lua/mod_lua.c:208,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/lua/mod_lua.c:214,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/lua/mod_lua.c:215,1
    - Dst: apr_thread_pool_get
      Src: /src/httpd/modules/lua/mod_lua.c:225,1
    - Dst: ap_assert
      Src: /src/httpd/modules/lua/mod_lua.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 9
    argNames:
    - lifecycle_pool
    - r
    - cfg
    - server_cfg
    - filename
    - bytecode
    - bytecode_len
    - function
    - what
    argTypes:
    - apr_pool_t**
    - request_rec*
    - ap_lua_dir_cfg*
    - ap_lua_server_cfg*
    - char*
    - char*
    - apr_size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 237
    functionName: create_vm_spec
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_assert
    - apr_pool_tag
    - scope_to_string
    - apr_pool_create
    - apr_thread_pool_get
    - apr_filepath_merge
    linkageType: ''
    returnType: ap_lua_vm_spec
    signature: "ap_lua_vm_spec *create_vm_spec(apr_pool_t **lifecycle_pool,\n                                      request_rec
      *r,\n                                      const ap_lua_dir_cfg *cfg,\n                                      const
      ap_lua_server_cfg *server_cfg,\n                                      const
      char *filename,\n                                      const char *bytecode,\n
      \                                     apr_size_t bytecode_len,\n                                      const
      char *function,\n                                      const char *what)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/lua/mod_lua.c:244,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/lua/mod_lua.c:251,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/mod_lua.c:256,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/lua/mod_lua.c:262,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/mod_lua.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pool
    - string
    - values
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 270
    functionName: ap_lua_interpolate_string
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_pstrndup
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char * ap_lua_interpolate_string(apr_pool_t* pool, const char* string,
      const char** values)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:280,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:291,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:298,1
    - Dst: create_vm_spec
      Src: /src/httpd/modules/lua/mod_lua.c:300,1
    - Dst: ap_lua_get_lua_state
      Src: /src/httpd/modules/lua/mod_lua.c:303,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/lua/mod_lua.c:307,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:308,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:311,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/mod_lua.c:312,1
    - Dst: lua_isfunction
      Src: /src/httpd/modules/lua/mod_lua.c:313,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:314,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:314,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:318,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:321,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/mod_lua.c:322,1
    - Dst: report_lua_error
      Src: /src/httpd/modules/lua/mod_lua.c:323,1
    - Dst: lua_isnumber
      Src: /src/httpd/modules/lua/mod_lua.c:325,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/mod_lua.c:326,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 331
    functionName: lua_handler
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_lua_run_lua_request
    - create_vm_spec
    - APLOGNO
    - lua_isfunction
    - ap_lua_release_state
    - lua_getglobal
    - ap_rputs
    - report_lua_error
    - ap_get_module_config
    - ap_lua_get_lua_state
    - lua_tointeger
    - lua_pcall
    - lua_isnumber
    linkageType: ''
    returnType: int
    signature: int lua_handler(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:344,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:346,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:349,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:363,1
    - Dst: create_vm_spec
      Src: /src/httpd/modules/lua/mod_lua.c:364,1
    - Dst: ap_lua_get_lua_state
      Src: /src/httpd/modules/lua/mod_lua.c:370,1
    - Dst: lua_newthread
      Src: /src/httpd/modules/lua/mod_lua.c:372,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:376,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:376,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:379,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/mod_lua.c:383,1
    - Dst: lua_isfunction
      Src: /src/httpd/modules/lua/mod_lua.c:384,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:385,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:385,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:389,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:393,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:397,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/mod_lua.c:399,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:400,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/mod_lua.c:401,1
    - Dst: lua_resume
      Src: /src/httpd/modules/lua/mod_lua.c:409,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/lua/mod_lua.c:413,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/lua/mod_lua.c:414,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/lua/mod_lua.c:415,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - f
    - r
    - c
    argTypes:
    - ap_filter_t*
    - request_rec*
    - lua_filter_ctx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 426
    functionName: lua_setup_filter_ctx
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_newthread
    - ap_log_rerror
    - ap_lua_run_lua_request
    - apr_pcalloc
    - create_vm_spec
    - strcasecmp
    - APLOGNO
    - lua_settop
    - lua_isfunction
    - ap_lua_release_state
    - lua_getglobal
    - lua_gettop
    - apr_table_unset
    - lua_setglobal
    - ap_get_module_config
    - ap_lua_get_lua_state
    - lua_resume
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t lua_setup_filter_ctx(ap_filter_t* f, request_rec* r, lua_filter_ctx**
      c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lua_setup_filter_ctx
      Src: /src/httpd/modules/lua/mod_lua.c:442,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/lua/mod_lua.c:448,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:449,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/mod_lua.c:455,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/lua/mod_lua.c:458,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/lua/mod_lua.c:461,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:462,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:463,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:464,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/lua/mod_lua.c:475,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/lua/mod_lua.c:480,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/lua/mod_lua.c:481,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/lua/mod_lua.c:486,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/mod_lua.c:489,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:490,1
    - Dst: lua_resume
      Src: /src/httpd/modules/lua/mod_lua.c:493,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/mod_lua.c:495,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/lua/mod_lua.c:497,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:499,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:500,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:501,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:509,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/lua/mod_lua.c:510,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:511,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:512,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:513,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:513,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/mod_lua.c:515,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/lua/mod_lua.c:518,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/lua/mod_lua.c:522,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/lua/mod_lua.c:522,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/lua/mod_lua.c:522,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/mod_lua.c:524,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:525,1
    - Dst: lua_resume
      Src: /src/httpd/modules/lua/mod_lua.c:526,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/mod_lua.c:529,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/lua/mod_lua.c:531,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:533,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/lua/mod_lua.c:536,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:537,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:538,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:539,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:540,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/lua/mod_lua.c:547,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - f
    - pbbIn
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 428
    functionDepth: 5
    functionLinenumber: 428
    functionLinenumberEnd: 549
    functionName: lua_output_filter_handle
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_create
    - lua_pushnil
    - apr_bucket_heap_create
    - apr_bucket_read
    - lua_resume
    - lua_setup_filter_ctx
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - ap_lua_release_state
    - lua_pushlstring
    - lua_tolstring
    - lua_setglobal
    - ap_pass_brigade
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - lua_tostring
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - APLOGNO
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t lua_output_filter_handle(ap_filter_t *f, apr_bucket_brigade
      *pbbIn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lua_setup_filter_ctx
      Src: /src/httpd/modules/lua/mod_lua.c:570,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/lua/mod_lua.c:574,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/lua/mod_lua.c:578,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/lua/mod_lua.c:582,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:589,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/lua/mod_lua.c:592,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/lua/mod_lua.c:593,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/lua/mod_lua.c:601,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/lua/mod_lua.c:602,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/lua/mod_lua.c:607,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/lua/mod_lua.c:608,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/lua/mod_lua.c:613,1
    - Dst: lua_pushlstring
      Src: /src/httpd/modules/lua/mod_lua.c:619,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:620,1
    - Dst: lua_resume
      Src: /src/httpd/modules/lua/mod_lua.c:623,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/mod_lua.c:625,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/lua/mod_lua.c:626,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:627,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/lua/mod_lua.c:628,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:633,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/lua/mod_lua.c:634,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/lua/mod_lua.c:635,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/lua/mod_lua.c:642,1
    - Dst: lua_pushnil
      Src: /src/httpd/modules/lua/mod_lua.c:643,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:644,1
    - Dst: lua_resume
      Src: /src/httpd/modules/lua/mod_lua.c:645,1
    - Dst: lua_tolstring
      Src: /src/httpd/modules/lua/mod_lua.c:648,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/lua/mod_lua.c:649,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:650,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/lua/mod_lua.c:652,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:653,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 5
    argNames:
    - f
    - pbbOut
    - eMode
    - eBlock
    - nBytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 657
    functionName: lua_input_filter_handle
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_create
    - lua_pushnil
    - apr_bucket_heap_create
    - apr_bucket_read
    - lua_resume
    - lua_setup_filter_ctx
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - ap_lua_release_state
    - lua_pushlstring
    - lua_setglobal
    - lua_tolstring
    - APR_BUCKET_REMOVE
    - ap_get_brigade
    - apr_bucket_eos_create
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t lua_input_filter_handle(ap_filter_t *f,\n                                       apr_bucket_brigade
      *pbbOut,\n                                       ap_input_mode_t eMode,\n                                       apr_read_type_e
      eBlock,\n                                       apr_off_t nBytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:670,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:672,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:674,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/mod_lua.c:675,1
    - Dst: create_vm_spec
      Src: /src/httpd/modules/lua/mod_lua.c:686,1
    - Dst: ap_lua_get_lua_state
      Src: /src/httpd/modules/lua/mod_lua.c:693,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:696,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/mod_lua.c:703,1
    - Dst: lua_isfunction
      Src: /src/httpd/modules/lua/mod_lua.c:704,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:705,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:705,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:709,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:713,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:717,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/mod_lua.c:719,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:720,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/mod_lua.c:721,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/mod_lua.c:724,1
    - Dst: report_lua_error
      Src: /src/httpd/modules/lua/mod_lua.c:725,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:726,1
    - Dst: lua_isnumber
      Src: /src/httpd/modules/lua/mod_lua.c:730,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/mod_lua.c:731,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:732,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:736,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:736,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:742,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - r
    - name
    - apr_hook_when
    argTypes:
    - request_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 749
    functionName: lua_request_rec_hook_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_lua_run_lua_request
    - create_vm_spec
    - APLOGNO
    - lua_settop
    - lua_isfunction
    - lua_getglobal
    - ap_lua_release_state
    - lua_gettop
    - report_lua_error
    - apr_psprintf
    - ap_get_module_config
    - ap_lua_get_lua_state
    - lua_setglobal
    - lua_pcall
    - lua_tointeger
    - apr_hash_get
    - lua_isnumber
    linkageType: ''
    returnType: int
    signature: int lua_request_rec_hook_harness(request_rec *r, const char *name,
      int apr_hook_when)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:759,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/lua/mod_lua.c:768,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 775
    functionName: lua_map_handler_fixups
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_regexec
    - apr_pstrdup
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int lua_map_handler_fixups(request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:787,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:789,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/lua/mod_lua.c:798,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/lua/mod_lua.c:802,1
    - Dst: ap_lua_interpolate_string
      Src: /src/httpd/modules/lua/mod_lua.c:806,1
    - Dst: ap_lua_interpolate_string
      Src: /src/httpd/modules/lua/mod_lua.c:807,1
    - Dst: create_vm_spec
      Src: /src/httpd/modules/lua/mod_lua.c:808,1
    - Dst: ap_lua_get_lua_state
      Src: /src/httpd/modules/lua/mod_lua.c:814,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:817,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:817,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:820,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/mod_lua.c:825,1
    - Dst: lua_isfunction
      Src: /src/httpd/modules/lua/mod_lua.c:826,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:827,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:827,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:831,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:835,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:839,1
    - Dst: lua_gettop
      Src: /src/httpd/modules/lua/mod_lua.c:841,1
    - Dst: lua_setglobal
      Src: /src/httpd/modules/lua/mod_lua.c:842,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/mod_lua.c:843,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/mod_lua.c:846,1
    - Dst: report_lua_error
      Src: /src/httpd/modules/lua/mod_lua.c:847,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:848,1
    - Dst: lua_isnumber
      Src: /src/httpd/modules/lua/mod_lua.c:852,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/mod_lua.c:853,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:856,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:856,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:862,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 869
    functionName: lua_map_handler
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_isfunction
    - ap_get_module_config
    - lua_tointeger
    - lua_isnumber
    - ap_lua_run_lua_request
    - ap_lua_release_state
    - lua_getglobal
    - apr_pstrndup
    - lua_setglobal
    - ap_lua_get_lua_state
    - create_vm_spec
    - ap_lua_interpolate_string
    - ap_log_rerror
    - APLOGNO
    - lua_settop
    - ap_regexec
    - lua_gettop
    - report_lua_error
    - lua_pcall
    linkageType: ''
    returnType: int
    signature: int lua_map_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/lua/mod_lua.c:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - cfg
    - buf
    - bufsiz
    argTypes:
    - ap_configfile_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 903
    functionName: config_getstr
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t config_getstr(ap_configfile_t *cfg, char *buf,\n                                size_t
      bufsiz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_getstr
      Src: /src/httpd/modules/lua/mod_lua.c:937,1
    - Dst: isspace
      Src: /src/httpd/modules/lua/mod_lua.c:939,1
    - Dst: strlen
      Src: /src/httpd/modules/lua/mod_lua.c:942,1
    - Dst: tolower
      Src: /src/httpd/modules/lua/mod_lua.c:943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - lvm
    - udata
    - plen
    argTypes:
    - lua_State*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 952
    functionName: direct_chunkreader
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - isspace
    - config_getstr
    - strlen
    - tolower
    linkageType: ''
    returnType: char
    signature: "char *direct_chunkreader(lua_State *lvm, void *udata,\n                                      size_t
      *plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_addlstring
      Src: /src/httpd/modules/lua/mod_lua.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - L
    - b
    - size
    - B
    argTypes:
    - lua_State*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    functionName: ldump_writer
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - luaL_addlstring
    linkageType: ''
    returnType: int
    signature: int ldump_writer(lua_State *L, const void *b, size_t size, void *B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:984,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/mod_lua.c:986,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:989,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/mod_lua.c:991,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/mod_lua.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1000
    functionName: hack_section_handler
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_array_push
    - apr_psprintf
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *hack_section_handler(cmd_parms *cmd, void *_cfg,\n                                        const
      char *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/lua/mod_lua.c:1010,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/mod_lua.c:1013,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/lua/mod_lua.c:1017,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/lua/mod_lua.c:1021,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1023,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/lua/mod_lua.c:1025,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1027,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1030,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/mod_lua.c:1034,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1040,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1050,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1061,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/lua/mod_lua.c:1062,1
    - Dst: luaL_newstate
      Src: /src/httpd/modules/lua/mod_lua.c:1068,1
    - Dst: lua_settop
      Src: /src/httpd/modules/lua/mod_lua.c:1070,1
    - Dst: lua_load
      Src: /src/httpd/modules/lua/mod_lua.c:1072,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/lua/mod_lua.c:1075,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/mod_lua.c:1076,1
    - Dst: lua_close
      Src: /src/httpd/modules/lua/mod_lua.c:1077,1
    - Dst: luaL_buffinit
      Src: /src/httpd/modules/lua/mod_lua.c:1082,1
    - Dst: lua_dump
      Src: /src/httpd/modules/lua/mod_lua.c:1083,1
    - Dst: luaL_pushresult
      Src: /src/httpd/modules/lua/mod_lua.c:1084,1
    - Dst: lua_rawlen
      Src: /src/httpd/modules/lua/mod_lua.c:1085,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/lua/mod_lua.c:1086,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/mod_lua.c:1086,1
    - Dst: lua_close
      Src: /src/httpd/modules/lua/mod_lua.c:1088,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1095,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1098,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 4
    argNames:
    - name
    - cmd
    - mconfig
    - line
    argTypes:
    - char*
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1111
    functionName: register_named_block_function_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_pstrmemdup
    - lua_load
    - apr_pstrcat
    - apr_pstrndup
    - apr_psprintf
    - lua_close
    - luaL_newstate
    - luaL_pushresult
    - lua_dump
    - lua_tostring
    - apr_pcalloc
    - strcasecmp
    - lua_settop
    - luaL_buffinit
    - ap_strrchr_c
    - lua_rawlen
    - apr_pstrdup
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *register_named_block_function_hook(const char *name,\n                                                      cmd_parms
      *cmd,\n                                                      void *mconfig,\n
      \                                                     const char *line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1122,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/mod_lua.c:1123,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1127,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/mod_lua.c:1129,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1132,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1133,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1134,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/mod_lua.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - name
    - cmd
    - _cfg
    - file
    - function
    - apr_hook_when
    argTypes:
    - char*
    - cmd_parms*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1139
    functionName: register_named_file_function_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_pcalloc
    - apr_array_push
    - apr_psprintf
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *register_named_file_function_hook(const char *name,\n                                                     cmd_parms
      *cmd,\n                                                     void *_cfg,\n                                                     const
      char *file,\n                                                     const char
      *function,\n                                                     int apr_hook_when)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1148,1
    - Dst: ap_regcomp
      Src: /src/httpd/modules/lua/mod_lua.c:1149,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1153,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1154,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1155,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/mod_lua.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pattern
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - char*
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1161
    functionName: register_mapped_file_function_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_regcomp
    - apr_pcalloc
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: "char *register_mapped_file_function_hook(const char *pattern,\n                                                     cmd_parms
      *cmd,\n                                                     void *_cfg,\n                                                     const
      char *file,\n                                                     const char
      *function)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1172,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1173,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1174,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/mod_lua.c:1177,1
    - Dst: ap_register_output_filter_protocol
      Src: /src/httpd/modules/lua/mod_lua.c:1181,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/lua/mod_lua.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - filter
    - cmd
    - _cfg
    - file
    - function
    - direction
    argTypes:
    - char*
    - cmd_parms*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1189
    functionName: register_filter_function_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_push
    - ap_register_input_filter
    - ap_register_output_filter_protocol
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *register_filter_function_hook(const char *filter,\n                                                     cmd_parms
      *cmd,\n                                                     void *_cfg,\n                                                     const
      char *file,\n                                                     const char
      *function,\n                                                     int direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: lua_check_user_id_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_check_user_id_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1210
    functionName: lua_pre_trans_name_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_pre_trans_name_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 5
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: lua_translate_name_harness_first
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_translate_name_harness_first(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1216
    functionDepth: 5
    functionLinenumber: 1216
    functionLinenumberEnd: 1219
    functionName: lua_translate_name_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_translate_name_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 5
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    functionName: lua_translate_name_harness_last
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_translate_name_harness_last(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 5
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: lua_fixup_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_fixup_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1230
    functionDepth: 5
    functionLinenumber: 1230
    functionLinenumberEnd: 1233
    functionName: lua_map_to_storage_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_map_to_storage_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 5
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: lua_type_checker_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_type_checker_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 5
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: lua_access_checker_harness_first
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_access_checker_harness_first(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1244
    functionDepth: 5
    functionLinenumber: 1244
    functionLinenumberEnd: 1247
    functionName: lua_access_checker_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_access_checker_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: lua_access_checker_harness_last
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_access_checker_harness_last(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 5
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: lua_auth_checker_harness_first
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_auth_checker_harness_first(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 5
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: lua_auth_checker_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_auth_checker_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1261
    functionDepth: 5
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionName: lua_auth_checker_harness_last
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_auth_checker_harness_last(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    functionName: lua_insert_filter_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lua_insert_filter_harness(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionName: lua_log_transaction_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_log_transaction_harness(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_request_rec_hook_harness
      Src: /src/httpd/modules/lua/mod_lua.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - lookup
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1276
    functionDepth: 5
    functionLinenumber: 1276
    functionLinenumberEnd: 1282
    functionName: lua_quick_harness
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - lua_request_rec_hook_harness
    linkageType: ''
    returnType: int
    signature: int lua_quick_harness(request_rec *r, int lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1290
    functionName: register_pre_trans_name_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_pre_trans_name_hook(cmd_parms *cmd, void *_cfg,\n                                                const
      char *file,\n                                                const char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1297
    functionName: register_pre_trans_name_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_pre_trans_name_block(cmd_parms *cmd, void *_cfg,\n
      \                                                const char *line)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1304,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1312,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1315,1
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - file
    - function
    - when
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1325
    functionName: register_translate_name_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_check_cmd_context
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_translate_name_hook(cmd_parms *cmd, void *_cfg,\n                                                const
      char *file,\n                                                const char *function,\n
      \                                               const char *when)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1332
    functionName: register_translate_name_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_translate_name_block(cmd_parms *cmd, void *_cfg,\n
      \                                                const char *line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: register_fixups_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_fixups_hook(cmd_parms *cmd, void *_cfg,\n                                        const
      char *file,\n                                        const char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1346
    functionName: register_fixups_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_fixups_block(cmd_parms *cmd, void *_cfg,\n                                         const
      char *line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1354
    functionName: register_map_to_storage_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_map_to_storage_hook(cmd_parms *cmd, void *_cfg,\n                                                const
      char *file,\n                                                const char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1362
    functionName: register_log_transaction_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_log_transaction_hook(cmd_parms *cmd, void *_cfg,\n
      \                                               const char *file,\n                                                const
      char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1369
    functionName: register_map_to_storage_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_map_to_storage_block(cmd_parms *cmd, void *_cfg,\n
      \                                                const char *line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - file
    - function
    - when
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1393
    functionName: register_check_user_id_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_check_user_id_hook(cmd_parms *cmd, void *_cfg,\n                                               const
      char *file,\n                                               const char *function,\n
      \                                              const char *when)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: register_check_user_id_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_check_user_id_block(cmd_parms *cmd, void *_cfg,\n                                                const
      char *line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1407
    functionName: register_type_checker_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_type_checker_hook(cmd_parms *cmd, void *_cfg,\n                                              const
      char *file,\n                                              const char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1413
    functionName: register_type_checker_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_type_checker_block(cmd_parms *cmd, void *_cfg,\n                                               const
      char *line)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1423,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1426,1
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - file
    - function
    - when
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1436
    functionName: register_access_checker_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_access_checker_hook(cmd_parms *cmd, void *_cfg,\n                                                const
      char *file,\n                                                const char *function,\n
      \                                               const char *when)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1443
    functionName: register_access_checker_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_access_checker_block(cmd_parms *cmd, void *_cfg,\n
      \                                                const char *line)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1453,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1456,1
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - file
    - function
    - when
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1466
    functionName: register_auth_checker_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - register_named_file_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_auth_checker_hook(cmd_parms *cmd, void *_cfg,\n                                              const
      char *file,\n                                              const char *function,\n
      \                                             const char *when)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1472
    functionName: register_auth_checker_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_auth_checker_block(cmd_parms *cmd, void *_cfg,\n                                               const
      char *line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1479
    functionName: register_insert_filter_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *register_insert_filter_hook(cmd_parms *cmd, void *_cfg,\n                                               const
      char *file,\n                                               const char *function)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1484,1
    - Dst: register_named_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1491
    functionName: register_quick_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_file_function_hook
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *register_quick_hook(cmd_parms *cmd, void *_cfg,\n                                       const
      char *file, const char *function)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1495,1
    - Dst: register_mapped_file_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - match
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1492
    functionDepth: 2
    functionLinenumber: 1492
    functionLinenumberEnd: 1503
    functionName: register_map_handler
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_mapped_file_function_hook
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *register_map_handler(cmd_parms *cmd, void *_cfg,\n                                       const
      char* match, const char *file, const char *function)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1507,1
    - Dst: register_filter_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - filter
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1504
    functionDepth: 2
    functionLinenumber: 1504
    functionLinenumberEnd: 1515
    functionName: register_output_filter
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 1
    functionsReached:
    - ap_check_cmd_context
    - register_filter_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_output_filter(cmd_parms *cmd, void *_cfg,\n                                       const
      char* filter, const char *file, const char *function)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1519,1
    - Dst: register_filter_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - filter
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1527
    functionName: register_input_filter
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 2
    functionsReached:
    - ap_check_cmd_context
    - register_filter_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_input_filter(cmd_parms *cmd, void *_cfg,\n                                       const
      char* filter, const char *file, const char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_named_block_function_hook
      Src: /src/httpd/modules/lua/mod_lua.c:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1533
    functionName: register_quick_block
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_named_block_function_hook
    linkageType: ''
    returnType: char
    signature: "char *register_quick_block(cmd_parms *cmd, void *_cfg,\n                                        const
      char *line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:1544,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/lua/mod_lua.c:1547,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1554,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/lua/mod_lua.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - arg
    - dir_array
    argTypes:
    - cmd_parms*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1560
    functionName: register_package_helper
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_filepath_merge
    - apr_array_push
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *register_package_helper(cmd_parms *cmd, \n                                           const
      char *arg,\n                                           apr_array_header_t *dir_array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_package_helper
      Src: /src/httpd/modules/lua/mod_lua.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1573
    functionName: register_package_dir
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_package_helper
    linkageType: ''
    returnType: char
    signature: "char *register_package_dir(cmd_parms *cmd, void *_cfg,\n                                        const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_package_helper
      Src: /src/httpd/modules/lua/mod_lua.c:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1586
    functionName: register_package_cdir
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - register_package_helper
    linkageType: ''
    returnType: char
    signature: "char *register_package_cdir(cmd_parms *cmd, \n                                         void
      *_cfg,\n                                         const char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1594,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1597,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1600,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1610
    functionName: register_lua_inherit
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *register_lua_inherit(cmd_parms *cmd, \n                                      void
      *_cfg,\n                                      const char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1617,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1620,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/lua/mod_lua.c:1623,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1633
    functionName: register_lua_codecache
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *register_lua_codecache(cmd_parms *cmd, \n                                      void
      *_cfg,\n                                      const char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:1641,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:1644,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:1647,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:1650,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1652,1
    - Dst: strcmp
      Src: /src/httpd/modules/lua/mod_lua.c:1660,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1663,1
    - Dst: atoi
      Src: /src/httpd/modules/lua/mod_lua.c:1670,1
    - Dst: atoi
      Src: /src/httpd/modules/lua/mod_lua.c:1671,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/lua/mod_lua.c:1682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - scope
    - min
    - max
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1692
    functionName: register_lua_scope
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *register_lua_scope(cmd_parms *cmd, \n                                      void
      *_cfg,\n                                      const char *scope, \n                                      const
      char *min,\n                                      const char *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - root
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1705
    functionName: register_lua_root
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *register_lua_root(cmd_parms *cmd, void *_cfg,\n                                     const
      char *root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/lua/mod_lua.c:1710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - var
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1711
    functionName: ap_lua_ssl_val
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 1
    functionsReached:
    - ap_ssl_var_lookup
    linkageType: ''
    returnType: char
    signature: "char *ap_lua_ssl_val(apr_pool_t *p, server_rec *s, conn_rec *c,\n
      \                          request_rec *r, const char *var)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/lua/mod_lua.c:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: ap_lua_ssl_is_https
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 1
    functionsReached:
    - ap_ssl_conn_is_ssl
    linkageType: ''
    returnType: int
    signature: int ap_lua_ssl_is_https(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1725,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/lua/mod_lua.c:1727,1
    - Dst: ap_assert
      Src: /src/httpd/modules/lua/mod_lua.c:1729,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/lua/mod_lua.c:1731,1
    - Dst: ap_assert
      Src: /src/httpd/modules/lua/mod_lua.c:1732,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1737,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/lua/mod_lua.c:1738,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/lua/mod_lua.c:1739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1745
    functionName: lua_authz_parse
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - apr_pool_userdata_get
    - apr_array_make
    - ap_assert
    - apr_hash_get
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *lua_authz_parse(cmd_parms *cmd, const char *require_line,\n
      \                                  const void **parsed_require_line)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:1753,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:1755,1
    - Dst: create_vm_spec
      Src: /src/httpd/modules/lua/mod_lua.c:1762,1
    - Dst: ap_lua_get_lua_state
      Src: /src/httpd/modules/lua/mod_lua.c:1765,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1767,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1767,1
    - Dst: lua_getglobal
      Src: /src/httpd/modules/lua/mod_lua.c:1771,1
    - Dst: lua_isfunction
      Src: /src/httpd/modules/lua/mod_lua.c:1772,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1773,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1773,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:1776,1
    - Dst: ap_lua_run_lua_request
      Src: /src/httpd/modules/lua/mod_lua.c:1779,1
    - Dst: lua_checkstack
      Src: /src/httpd/modules/lua/mod_lua.c:1782,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1783,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1783,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:1785,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/lua/mod_lua.c:1789,1
    - Dst: lua_pushstring
      Src: /src/httpd/modules/lua/mod_lua.c:1790,1
    - Dst: lua_pcall
      Src: /src/httpd/modules/lua/mod_lua.c:1794,1
    - Dst: lua_tostring
      Src: /src/httpd/modules/lua/mod_lua.c:1795,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1796,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1796,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:1798,1
    - Dst: lua_isnumber
      Src: /src/httpd/modules/lua/mod_lua.c:1801,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1802,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1802,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:1804,1
    - Dst: lua_tointeger
      Src: /src/httpd/modules/lua/mod_lua.c:1807,1
    - Dst: ap_lua_release_state
      Src: /src/httpd/modules/lua/mod_lua.c:1808,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/lua/mod_lua.c:1817,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:1817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1747
    functionDepth: 4
    functionLinenumber: 1747
    functionLinenumberEnd: 1822
    functionName: lua_authz_check
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_lua_run_lua_request
    - APR_ARRAY_IDX
    - create_vm_spec
    - APLOGNO
    - lua_isfunction
    - lua_getglobal
    - ap_lua_release_state
    - lua_checkstack
    - ap_get_module_config
    - ap_lua_get_lua_state
    - lua_tointeger
    - lua_pcall
    - lua_pushstring
    - lua_tostring
    - lua_isnumber
    linkageType: ''
    returnType: authz_status
    signature: "authz_status lua_authz_check(request_rec *r, const char *require_line,\n
      \                                   const void *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/lua/mod_lua.c:1835,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1839,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/lua/mod_lua.c:1844,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/lua/mod_lua.c:1845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - name
    - file
    - function
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1850
    functionName: register_authz_provider
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_register_auth_provider
    - ap_check_cmd_context
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *register_authz_provider(cmd_parms *cmd, void *_cfg,\n                                           const
      char *name, const char *file,\n                                           const
      char *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:1973,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1974,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1975,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1977,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/lua/mod_lua.c:1979,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/lua/mod_lua.c:1981,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1990
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pstrdup
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/lua/mod_lua.c:1994,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/lua/mod_lua.c:1996,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/lua/mod_lua.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 1999
    functionName: create_request_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_hash_make
    - apr_palloc
    linkageType: ''
    returnType: int
    signature: int create_request_config(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:2004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2008
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lua_push_request
      Src: /src/httpd/modules/lua/mod_lua.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - L
    - r
    argTypes:
    - lua_State*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2010
    functionDepth: 2
    functionLinenumber: 2010
    functionLinenumberEnd: 2014
    functionName: lua_request_hook
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_lua_push_request
    linkageType: ''
    returnType: int
    signature: int lua_request_hook(lua_State *L, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/lua/mod_lua.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2021
    functionName: lua_pre_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: "int lua_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                            apr_pool_t
      *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/lua/mod_lua.c:2029,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/lua/mod_lua.c:2033,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/lua/mod_lua.c:2040,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/lua/mod_lua.c:2041,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/lua/mod_lua.c:2043,1
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/lua/mod_lua.c:2045,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/lua/mod_lua.c:2047,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/lua/mod_lua.c:2050,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/lua/mod_lua.c:2050,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/lua/mod_lua.c:2055,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/lua/mod_lua.c:2056,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/lua/mod_lua.c:2057,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/lua/mod_lua.c:2058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2061
    functionName: lua_post_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOTIMPL
    - ap_state_query
    - apr_shm_remove
    - APLOGNO
    - apr_pool_tag
    - apr_shm_create
    - apr_shm_baseaddr_get
    - apr_pool_create
    - ap_runtime_dir_relative
    - ap_global_mutex_create
    - ap_log_error
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int lua_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p
    - key
    - klen
    - overlay_val
    - base_val
    - data
    argTypes:
    - apr_pool_t*
    - void*
    - apr_ssize_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: overlay_hook_specs
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: "void *overlay_hook_specs(apr_pool_t *p,\n                                        const
      void *key,\n                                        apr_ssize_t klen,\n                                        const
      void *overlay_val,\n                                        const void *base_val,\n
      \                                       const void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/lua/mod_lua.c:2078,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/lua/mod_lua.c:2083,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2093,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2094,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2095,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2096,1
    - Dst: apr_hash_merge
      Src: /src/httpd/modules/lua/mod_lua.c:2097,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2100,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2101,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2102,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/lua/mod_lua.c:2103,1
    - Dst: apr_hash_merge
      Src: /src/httpd/modules/lua/mod_lua.c:2104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2115
    functionName: merge_dir_config
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    - apr_hash_merge
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_dir_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/lua/mod_lua.c:2120,1
    - Dst: ap_hook_create_request
      Src: /src/httpd/modules/lua/mod_lua.c:2121,1
    - Dst: ap_hook_pre_translate_name
      Src: /src/httpd/modules/lua/mod_lua.c:2125,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/lua/mod_lua.c:2128,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/lua/mod_lua.c:2130,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/lua/mod_lua.c:2132,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/lua/mod_lua.c:2135,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/lua/mod_lua.c:2136,1
    - Dst: ap_hook_check_user_id
      Src: /src/httpd/modules/lua/mod_lua.c:2143,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2149,1
    - Dst: ap_hook_access_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2152,1
    - Dst: ap_hook_access_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2154,1
    - Dst: ap_hook_access_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2156,1
    - Dst: ap_hook_auth_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2158,1
    - Dst: ap_hook_auth_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2160,1
    - Dst: ap_hook_auth_checker
      Src: /src/httpd/modules/lua/mod_lua.c:2162,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/lua/mod_lua.c:2165,1
    - Dst: ap_hook_quick_handler
      Src: /src/httpd/modules/lua/mod_lua.c:2167,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/lua/mod_lua.c:2169,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/lua/mod_lua.c:2170,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/lua/mod_lua.c:2172,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/lua/mod_lua.c:2175,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/lua/mod_lua.c:2177,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/lua/mod_lua.c:2180,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/lua/mod_lua.c:2181,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/lua/mod_lua.c:2184,1
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/lua/mod_lua.c:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2189
    functionName: lua_register_hooks
    functionSourceFile: /src/httpd/modules/lua/mod_lua.c
    functionUses: 0
    functionsReached:
    - ap_hook_quick_handler
    - ap_hook_pre_config
    - ap_hook_type_checker
    - apr_hash_make
    - ap_hook_create_request
    - ap_hook_check_user_id
    - ap_hook_pre_translate_name
    - ap_hook_log_transaction
    - ap_hook_translate_name
    - ap_hook_map_to_storage
    - ap_hook_auth_checker
    - ap_hook_handler
    - APR_OPTIONAL_HOOK
    - ap_hook_access_checker
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_insert_filter
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void lua_register_hooks(apr_pool_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/test/mod_dialup.c:53,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/test/mod_dialup.c:60,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/test/mod_dialup.c:67,1
    - Dst: APR_BUCKET_PREV
      Src: /src/httpd/modules/test/mod_dialup.c:69,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/test/mod_dialup.c:70,1
    - Dst: APR_RING_UNSPLICE
      Src: /src/httpd/modules/test/mod_dialup.c:71,1
    - Dst: APR_RING_SPLICE_HEAD
      Src: /src/httpd/modules/test/mod_dialup.c:72,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/test/mod_dialup.c:75,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/test/mod_dialup.c:78,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/test/mod_dialup.c:80,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/test/mod_dialup.c:82,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_dialup.c:84,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/test/mod_dialup.c:86,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_dialup.c:89,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_dialup.c:89,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/test/mod_dialup.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - db
    argTypes:
    - dialup_baton_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 101
    functionName: dialup_send_pulse
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - ap_pass_brigade
    - APR_BUCKET_PREV
    - APR_RING_UNSPLICE
    - ap_log_rerror
    - APLOGNO
    - apr_bucket_flush_create
    - apr_brigade_partition
    - apr_brigade_length
    - APR_BRIGADE_SENTINEL
    - APR_RING_SPLICE_HEAD
    - APR_BRIGADE_EMPTY
    - apr_brigade_cleanup
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int dialup_send_pulse(dialup_baton_t *db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/test/mod_dialup.c:111,1
    - Dst: dialup_send_pulse
      Src: /src/httpd/modules/test/mod_dialup.c:114,1
    - Dst: ap_mpm_register_timed_callback
      Src: /src/httpd/modules/test/mod_dialup.c:117,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/test/mod_dialup.c:117,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/test/mod_dialup.c:121,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/test/mod_dialup.c:123,1
    - Dst: ap_process_request_after_handler
      Src: /src/httpd/modules/test/mod_dialup.c:124,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_dialup.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_dialup.c:128,1
    - Dst: ap_die
      Src: /src/httpd/modules/test/mod_dialup.c:131,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/test/mod_dialup.c:135,1
    - Dst: ap_mpm_resume_suspended
      Src: /src/httpd/modules/test/mod_dialup.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: dialup_callback
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ap_finalize_request_protocol
    - apr_time_from_sec
    - ap_log_rerror
    - ap_mpm_register_timed_callback
    - apr_thread_mutex_unlock
    - ap_die
    - ap_process_request_after_handler
    - APLOGNO
    - ap_mpm_resume_suspended
    - dialup_send_pulse
    linkageType: ''
    returnType: void
    signature: void dialup_callback(void *baton)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_dialup.c:160,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/test/mod_dialup.c:167,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_dialup.c:169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_dialup.c:169,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/test/mod_dialup.c:174,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/test/mod_dialup.c:177,1
    - Dst: AP_SENDFILE_ENABLED
      Src: /src/httpd/modules/test/mod_dialup.c:179,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/test/mod_dialup.c:188,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/test/mod_dialup.c:189,1
    - Dst: ap_set_etag_fd
      Src: /src/httpd/modules/test/mod_dialup.c:190,1
    - Dst: ap_set_accept_ranges
      Src: /src/httpd/modules/test/mod_dialup.c:191,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/test/mod_dialup.c:192,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/test/mod_dialup.c:194,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_dialup.c:196,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_dialup.c:196,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/test/mod_dialup.c:201,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/test/mod_dialup.c:203,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/test/mod_dialup.c:204,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/test/mod_dialup.c:206,1
    - Dst: apr_bucket_file_enable_mmap
      Src: /src/httpd/modules/test/mod_dialup.c:210,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/test/mod_dialup.c:219,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/test/mod_dialup.c:221,1
    - Dst: dialup_send_pulse
      Src: /src/httpd/modules/test/mod_dialup.c:223,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_dialup.c:225,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_dialup.c:225,1
    - Dst: ap_mpm_register_timed_callback
      Src: /src/httpd/modules/test/mod_dialup.c:230,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/test/mod_dialup.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 233
    functionName: dialup_handler
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - ap_mpm_register_timed_callback
    - ap_meets_conditions
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_file_enable_mmap
    - dialup_send_pulse
    - ap_set_accept_ranges
    - apr_file_open
    - ap_set_last_modified
    - ap_mpm_query
    - apr_time_from_sec
    - ap_get_core_module_config
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - APR_BRIGADE_INSERT_TAIL
    - ap_set_etag_fd
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - AP_SENDFILE_ENABLED
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int dialup_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/test/mod_dialup.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: dialup_register_hooks
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void dialup_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: BITRATE_TO_BYTES
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITRATE_TO_BYTES(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/test/mod_dialup.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - dconf
    - input
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: cmd_modem_standard
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\ncmd_modem_standard(cmd_parms *cmd,\n             void *dconf,\n
      \            const char *input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/test/mod_dialup.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: dialup_dcfg_create
    functionSourceFile: /src/httpd/modules/test/mod_dialup.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: 'void *

      dialup_dcfg_create(apr_pool_t *p, char *dummy)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/test/mod_optional_hook_import.c:24,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_optional_hook_import.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - szStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: ImportOptionalHookTestHook
    functionSourceFile: /src/httpd/modules/test/mod_optional_hook_import.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int ImportOptionalHookTestHook(const char *szStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_OPTIONAL_HOOK
      Src: /src/httpd/modules/test/mod_optional_hook_import.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ImportRegisterHooks
    functionSourceFile: /src/httpd/modules/test/mod_optional_hook_import.c
    functionUses: 0
    functionsReached:
    - AP_OPTIONAL_HOOK
    linkageType: ''
    returnType: void
    signature: void ImportRegisterHooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfn
      Src: /src/httpd/modules/test/mod_optional_fn_import.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ImportLogTransaction
    functionSourceFile: /src/httpd/modules/test/mod_optional_fn_import.c
    functionUses: 0
    functionsReached:
    - pfn
    linkageType: ''
    returnType: int
    signature: int ImportLogTransaction(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/test/mod_optional_fn_import.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ImportFnRetrieve
    functionSourceFile: /src/httpd/modules/test/mod_optional_fn_import.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ImportFnRetrieve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/test/mod_optional_fn_import.c:42,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/test/mod_optional_fn_import.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ImportRegisterHooks
    functionSourceFile: /src/httpd/modules/test/mod_optional_fn_import.c
    functionUses: 0
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_hook_log_transaction
    linkageType: ''
    returnType: void
    signature: void ImportRegisterHooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_optional_hook_test
      Src: /src/httpd/modules/test/mod_optional_hook_export.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ExportLogTransaction
    functionSourceFile: /src/httpd/modules/test/mod_optional_hook_export.c
    functionUses: 0
    functionsReached:
    - ap_run_optional_hook_test
    linkageType: ''
    returnType: int
    signature: int ExportLogTransaction(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/test/mod_optional_hook_export.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ExportRegisterHooks
    functionSourceFile: /src/httpd/modules/test/mod_optional_hook_export.c
    functionUses: 0
    functionsReached:
    - ap_hook_log_transaction
    linkageType: ''
    returnType: void
    signature: void ExportRegisterHooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/test/mod_optional_fn_export.c:28,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_optional_fn_export.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - szStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: TestOptionalFn
    functionSourceFile: /src/httpd/modules/test/mod_optional_fn_export.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int TestOptionalFn(const char *szStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/test/mod_optional_fn_export.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ExportRegisterHooks
    functionSourceFile: /src/httpd/modules/test/mod_optional_fn_export.c
    functionUses: 0
    functionsReached:
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ExportRegisterHooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:117,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:120,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - r
    - conf
    - result
    argTypes:
    - request_rec*
    - policy_conf*
    - policy_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: check_enabled
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: "int check_enabled(request_rec *r, policy_conf *conf,\n        policy_result
      result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_policy.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_policy.c:143,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/test/mod_policy.c:146,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:146,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/test/mod_policy.c:147,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/test/mod_policy.c:152,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/test/mod_policy.c:152,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/test/mod_policy.c:155,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:155,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/test/mod_policy.c:156,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/test/mod_policy.c:157,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/test/mod_policy.c:158,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/test/mod_policy.c:162,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/test/mod_policy.c:163,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/test/mod_policy.c:165,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/test/mod_policy.c:166,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/test/mod_policy.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 6
    argNames:
    - r
    - result
    - message
    - url
    - bb
    - status
    argTypes:
    - request_rec*
    - policy_result
    - char*
    - char*
    - apr_bucket_brigade*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: handle_policy
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    - apr_bucket_eos_create
    - apr_table_addn
    - apr_brigade_cleanup
    - apr_psprintf
    - ap_bucket_error_create
    - ap_get_server_name
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void handle_policy(request_rec *r, policy_result result,\n        const
      char *message, const char *url, apr_bucket_brigade *bb,\n        int status)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:186,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:188,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/test/mod_policy.c:196,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/test/mod_policy.c:198,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/test/mod_policy.c:201,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/test/mod_policy.c:208,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/test/mod_policy.c:222,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:230,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:233,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:242,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 244
    functionName: policy_type_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - check_enabled
    - handle_policy
    - apr_pstrcat
    - ap_strcmp_match
    - apr_pstrmemdup
    - apr_psprintf
    - ap_get_module_config
    - ap_remove_output_filter
    - ap_strchr_c
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_type_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:257,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:259,1
    - Dst: ap_is_HTTP_SUCCESS
      Src: /src/httpd/modules/test/mod_policy.c:261,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:264,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:266,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:273,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: policy_length_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - check_enabled
    - handle_policy
    - ap_is_HTTP_SUCCESS
    - ap_remove_output_filter
    - apr_table_get
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_length_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:304,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:306,1
    - Dst: ap_status_drops_connection
      Src: /src/httpd/modules/test/mod_policy.c:309,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/test/mod_policy.c:312,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:313,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/test/mod_policy.c:314,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:314,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:316,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:318,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:325,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: policy_keepalive_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_is_chunked
    - ap_pass_brigade
    - AP_STATUS_IS_HEADER_ONLY
    - check_enabled
    - handle_policy
    - ap_remove_output_filter
    - ap_status_drops_connection
    - apr_table_get
    - ap_get_module_config
    - HTTP_VERSION
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_keepalive_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/test/mod_policy.c:332,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:335,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:338,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/test/mod_policy.c:342,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rec
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 351
    functionName: vary_test
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - apr_strtok
    - apr_pstrdup
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int vary_test(void *rec, const char *key, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:363,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:365,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/test/mod_policy.c:370,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/test/mod_policy.c:375,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:380,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:380,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:388,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 390
    functionName: policy_vary_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_table_do
    - check_enabled
    - handle_policy
    - apr_pstrcat
    - apr_psprintf
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_vary_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:406,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:408,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:412,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:413,1
    - Dst: strlen
      Src: /src/httpd/modules/test/mod_policy.c:417,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/test/mod_policy.c:433,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:445,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/test/mod_policy.c:449,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:456,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:463,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:464,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 465
    functionName: policy_validation_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - check_enabled
    - handle_policy
    - apr_pstrcat
    - apr_date_parse_http
    - ap_remove_output_filter
    - apr_psprintf
    - apr_table_get
    - ap_get_module_config
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_validation_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:482,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:484,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/test/mod_policy.c:487,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:491,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:494,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:504,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 506
    functionName: policy_conditional_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - check_enabled
    - handle_policy
    - ap_meets_conditions
    - apr_psprintf
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_conditional_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:523,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:525,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:529,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:530,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/test/mod_policy.c:535,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:536,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/test/mod_policy.c:538,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:541,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/test/mod_policy.c:546,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:547,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/test/mod_policy.c:552,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/test/mod_policy.c:560,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/test/mod_policy.c:567,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:578,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:584,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:591,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:592,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 593
    functionName: policy_nocache_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_strtok
    - check_enabled
    - handle_policy
    - ap_cstr_casecmp
    - ap_remove_output_filter
    - apr_table_get
    - ap_get_module_config
    - apr_pstrdup
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_nocache_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:613,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:615,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:630,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/test/mod_policy.c:632,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:633,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/test/mod_policy.c:638,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/test/mod_policy.c:641,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/test/mod_policy.c:649,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/test/mod_policy.c:652,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/test/mod_policy.c:659,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:667,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:670,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:679,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:680,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:687,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:690,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:699,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:700,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:704,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/test/mod_policy.c:705,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/test/mod_policy.c:707,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/test/mod_policy.c:708,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/test/mod_policy.c:709,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:713,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:716,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:726,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:729,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:739,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:742,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:751,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:752,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:756,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:761,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:762,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 763
    functionName: policy_maxage_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_strtok
    - check_enabled
    - handle_policy
    - apr_date_parse_http
    - ap_remove_output_filter
    - apr_psprintf
    - apr_table_get
    - ap_get_module_config
    - apr_atoi64
    - apr_pstrdup
    - ap_cstr_casecmpn
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_maxage_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:768,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:771,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - proto_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 781
    functionName: version_string
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - HTTP_VERSION
    linkageType: ''
    returnType: char
    signature: char *version_string(int proto_num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/test/mod_policy.c:793,1
    - Dst: check_enabled
      Src: /src/httpd/modules/test/mod_policy.c:795,1
    - Dst: handle_policy
      Src: /src/httpd/modules/test/mod_policy.c:801,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:801,1
    - Dst: version_string
      Src: /src/httpd/modules/test/mod_policy.c:803,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:810,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/test/mod_policy.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 812
    functionName: policy_version_out_filter
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - version_string
    - ap_pass_brigade
    - check_enabled
    - handle_policy
    - apr_psprintf
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t policy_version_out_filter(ap_filter_t *f,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/test/mod_policy.c:816,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 831
    functionName: create_policy_config
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - HTTP_VERSION
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_policy_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/test/mod_policy.c:835,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 908
    functionName: merge_policy_config
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_policy_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:913,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:916,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:919,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pool
    - action
    - result
    argTypes:
    - apr_pool_t*
    - char*
    - policy_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 927
    functionName: parse_action
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *parse_action(apr_pool_t *pool, const char *action,\n        policy_result
      *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 937
    functionName: set_policy
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_policy(cmd_parms *cmd, void *dconf, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cmd
    - dconf
    - environment
    - log
    - ignore
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 950
    functionName: set_environment
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_environment(cmd_parms *cmd, void *dconf,\n        const
      char *environment, const char *log, const char *ignore)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/test/mod_policy.c:960,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/test/mod_policy.c:963,1
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cmd
    - dconf
    - action
    - type
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 969
    functionName: set_type
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_type(cmd_parms *cmd, void *dconf, const char *action,\n
      \       const char *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_html
      Src: /src/httpd/modules/test/mod_policy.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: set_type_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_escape_html
    linkageType: ''
    returnType: char
    signature: char *set_type_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - action
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: set_length
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    linkageType: ''
    returnType: char
    signature: char *set_length(cmd_parms *cmd, void *dconf, const char *action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 999
    functionName: set_length_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_length_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - action
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1008
    functionName: set_keepalive
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 1
    functionsReached:
    - parse_action
    linkageType: ''
    returnType: char
    signature: char *set_keepalive(cmd_parms *cmd, void *dconf, const char *action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: set_keepalive_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_keepalive_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/test/mod_policy.c:1028,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/test/mod_policy.c:1031,1
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cmd
    - dconf
    - action
    - vary
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1037
    functionName: set_vary
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_vary(cmd_parms *cmd, void *dconf, const char *action,\n
      \       const char *vary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1047
    functionName: set_vary_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_vary_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - action
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1057
    functionName: set_validation
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    linkageType: ''
    returnType: char
    signature: "char *set_validation(cmd_parms *cmd, void *dconf,\n        const char
      *action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1068
    functionName: set_validation_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_validation_url(cmd_parms *cmd, void *dconf,\n        const
      char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - action
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: set_conditional
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    linkageType: ''
    returnType: char
    signature: "char *set_conditional(cmd_parms *cmd, void *dconf,\n        const
      char *action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: set_conditional_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_conditional_url(cmd_parms *cmd, void *dconf,\n        const
      char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - action
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1098
    functionName: set_nocache
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    linkageType: ''
    returnType: char
    signature: char *set_nocache(cmd_parms *cmd, void *dconf, const char *action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1108
    functionName: set_nocache_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_nocache_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/test/mod_policy.c:1115,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:1117,1
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cmd
    - dconf
    - action
    - maxage
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1122
    functionName: set_maxage
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - apr_psprintf
    - parse_action
    linkageType: ''
    returnType: char
    signature: char *set_maxage(cmd_parms *cmd, void *dconf, const char *action, const
      char *maxage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1132
    functionName: set_maxage_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_maxage_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:1140,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:1142,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:1144,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:1146,1
    - Dst: strcmp
      Src: /src/httpd/modules/test/mod_policy.c:1148,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/test/mod_policy.c:1150,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/test/mod_policy.c:1153,1
    - Dst: parse_action
      Src: /src/httpd/modules/test/mod_policy.c:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cmd
    - dconf
    - action
    - version
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1158
    functionName: set_version
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - parse_action
    - strcmp
    - HTTP_VERSION
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *set_version(cmd_parms *cmd, void *dconf, const char *action,
      const char *version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1168
    functionName: set_version_url
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_version_url(cmd_parms *cmd, void *dconf, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1267,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1269,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1271,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1273,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1275,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1277,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1279,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1281,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/test/mod_policy.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1285
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/test/mod_policy.c
    functionUses: 0
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: DBG0
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG0(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: DBG1
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG1(f,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: DBG2
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG2(f,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: DBG3
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG3(f,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: DAV_DECLARE
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: DAV_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DAV_DECLARE
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DAV_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DAV_DECLARE
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DAV_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DAV_DECLARE
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: DAV_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    functionName: DAV_GET_HOOKS_PROPDB
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_GET_HOOKS_PROPDB(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 820
    functionName: DAV_GET_HOOKS_LOCKS
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_GET_HOOKS_LOCKS(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: DAV_GET_HOOKS_VSN
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_GET_HOOKS_VSN(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: DAV_GET_HOOKS_BINDING
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_GET_HOOKS_BINDING(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: DAV_GET_HOOKS_SEARCH
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_GET_HOOKS_SEARCH(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dpc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1810
    functionName: DAV_PROP_CTX_HAS_ERR
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_PROP_CTX_HAS_ERR(dpc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:41,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/ms_wdv.c:45,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:56,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/dav/main/ms_wdv.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: delete_if_fixup
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - strlen
    - apr_psprintf
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void delete_if_fixup(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:71,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/dav/main/ms_wdv.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: mswdv_echo
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_table_get
    linkageType: ''
    returnType: dav_error
    signature: dav_error *mswdv_echo(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - r
    - lock
    argTypes:
    - request_rec*
    - dav_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: get_lock_owner
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_lock_owner(request_rec *r, dav_lock *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/ms_wdv.c:97,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/ms_wdv.c:97,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/dav/main/ms_wdv.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: mswdv_urlencode
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_palloc
    - apr_isalnum
    linkageType: ''
    returnType: char
    signature: char *mswdv_urlencode(request_rec *r, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:120,1
    - Dst: mswdv_urlencode
      Src: /src/httpd/modules/dav/main/ms_wdv.c:122,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/dav/main/ms_wdv.c:124,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - owner
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: mswdv_err_checked_out
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_psprintf
    - mswdv_urlencode
    linkageType: ''
    returnType: void
    signature: void mswdv_err_checked_out(request_rec *r, const char *owner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/ms_wdv.c:132,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/ms_wdv.c:139,1
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/main/ms_wdv.c:146,1
    - Dst: get_lock_owner
      Src: /src/httpd/modules/dav/main/ms_wdv.c:152,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/ms_wdv.c:153,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: check_locked_by_other
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_lock_owner
    - dav_lock_query
    - mswdv_err_checked_out
    - dav_get_resource
    - DAV_GET_HOOKS_LOCKS
    linkageType: ''
    returnType: dav_error
    signature: dav_error *check_locked_by_other(request_rec *r)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/ms_wdv.c:176,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:191,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/ms_wdv.c:194,1
    - Dst: dav_parse_locktoken
      Src: /src/httpd/modules/dav/main/ms_wdv.c:205,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/ms_wdv.c:213,1
    - Dst: dav_get_timeout_string
      Src: /src/httpd/modules/dav/main/ms_wdv.c:215,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/ms_wdv.c:237,1
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/main/ms_wdv.c:244,1
    - Dst: get_lock_owner
      Src: /src/httpd/modules/dav/main/ms_wdv.c:249,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/ms_wdv.c:266,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:287,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:316,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:343,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:366,1
    - Dst: mswdv_err_checked_out
      Src: /src/httpd/modules/dav/main/ms_wdv.c:395,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/ms_wdv.c:417,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:427,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:435,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:436,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/ms_wdv.c:450,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:451,1
    - Dst: dav_add_lock
      Src: /src/httpd/modules/dav/main/ms_wdv.c:456,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:484,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:495,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:499,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:502,1
    - Dst: time
      Src: /src/httpd/modules/dav/main/ms_wdv.c:503,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:506,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/ms_wdv.c:507,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 243
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 519
    functionName: mswdv_combined_lock
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - get_lock_owner
    - time
    - apr_pstrdup
    - apr_table_setn
    - dav_add_lock
    - dav_lock_query
    - dav_get_timeout_string
    - dav_get_resource
    - mswdv_err_checked_out
    - apr_psprintf
    - apr_table_get
    - dav_parse_locktoken
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error *mswdv_combined_lock(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:534,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/dav/main/ms_wdv.c:536,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:538,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/dav/main/ms_wdv.c:542,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:544,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/dav/main/ms_wdv.c:547,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:548,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:551,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/dav/main/ms_wdv.c:554,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/dav/main/ms_wdv.c:556,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:557,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:560,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:562,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/dav/main/ms_wdv.c:565,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/dav/main/ms_wdv.c:567,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/dav/main/ms_wdv.c:569,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:571,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:576,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:579,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/ms_wdv.c:582,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/dav/main/ms_wdv.c:584,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/dav/main/ms_wdv.c:586,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 589
    functionName: mswdv_combined_propfind
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_set_content_type_ex
    - ap_destroy_sub_req
    - ap_sub_req_method_uri
    - apr_brigade_create
    - APR_BRIGADE_CONCAT
    - apr_psprintf
    - ap_add_output_filter
    - ap_remove_output_filter
    - apr_brigade_length
    - apr_brigade_printf
    - ap_run_sub_req
    - dav_new_error
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: dav_error
    signature: dav_error *mswdv_combined_propfind(request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:603,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/dav/main/ms_wdv.c:605,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:609,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/dav/main/ms_wdv.c:612,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:614,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:618,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/dav/main/ms_wdv.c:623,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:625,1
    - Dst: ap_get_limit_xml_body
      Src: /src/httpd/modules/dav/main/ms_wdv.c:631,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:633,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:637,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/dav/main/ms_wdv.c:641,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:643,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/dav/main/ms_wdv.c:645,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:649,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/ms_wdv.c:658,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/dav/main/ms_wdv.c:661,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:663,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:668,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/dav/main/ms_wdv.c:670,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:673,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/dav/main/ms_wdv.c:675,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:679,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 685
    functionName: mswdv_combined_proppatch
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_get_limit_xml_body
    - apr_brigade_destroy
    - apr_palloc
    - apr_strtoff
    - apr_brigade_create
    - apr_table_setn
    - apr_brigade_flatten
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error *mswdv_combined_proppatch(request_rec *r)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:694,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/ms_wdv.c:695,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:705,1
    - Dst: mswdv_echo
      Src: /src/httpd/modules/dav/main/ms_wdv.c:706,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:710,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:711,1
    - Dst: mswdv_combined_lock
      Src: /src/httpd/modules/dav/main/ms_wdv.c:715,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:719,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/ms_wdv.c:720,1
    - Dst: mswdv_combined_propfind
      Src: /src/httpd/modules/dav/main/ms_wdv.c:724,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/ms_wdv.c:728,1
    - Dst: mswdv_combined_proppatch
      Src: /src/httpd/modules/dav/main/ms_wdv.c:730,1
    - Dst: delete_if_fixup
      Src: /src/httpd/modules/dav/main/ms_wdv.c:735,1
    - Dst: check_locked_by_other
      Src: /src/httpd/modules/dav/main/ms_wdv.c:741,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/ms_wdv.c:747,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 43
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 687
    functionDepth: 4
    functionLinenumber: 687
    functionLinenumberEnd: 750
    functionName: dav_mswdv_preprocessing
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - strcmp
    - mswdv_combined_propfind
    - mswdv_echo
    - mswdv_combined_lock
    - dav_handle_err
    - apr_table_setn
    - delete_if_fixup
    - mswdv_combined_proppatch
    - apr_table_get
    - check_locked_by_other
    linkageType: ''
    returnType: void
    signature: void dav_mswdv_preprocessing(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/ms_wdv.c:766,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:770,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/dav/main/ms_wdv.c:772,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:774,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/dav/main/ms_wdv.c:777,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/dav/main/ms_wdv.c:778,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/dav/main/ms_wdv.c:780,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:782,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/dav/main/ms_wdv.c:787,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:789,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/dav/main/ms_wdv.c:793,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/ms_wdv.c:794,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/ms_wdv.c:797,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/dav/main/ms_wdv.c:800,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/dav/main/ms_wdv.c:802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 806
    functionName: dav_mswdv_postprocessing
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - ap_add_input_filter
    - ap_destroy_sub_req
    - ap_sub_req_method_uri
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_psprintf
    - apr_table_get
    - APR_BRIGADE_INSERT_TAIL
    - ap_run_sub_req
    - dav_new_error
    - ap_remove_input_filter
    linkageType: ''
    returnType: void
    signature: void dav_mswdv_postprocessing(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/dav/main/ms_wdv.c:814,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/dav/main/ms_wdv.c:815,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/dav/main/ms_wdv.c:817,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/dav/main/ms_wdv.c:820,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/dav/main/ms_wdv.c:821,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/dav/main/ms_wdv.c:822,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/dav/main/ms_wdv.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 827
    functionName: dav_mswdv_output
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - APR_BUCKET_IS_EOS
    - APR_BRIGADE_SENTINEL
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void dav_mswdv_output(ap_filter_t *f,\n                                           apr_bucket_brigade
      *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/dav/main/ms_wdv.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: dav_mswdv_input
    functionSourceFile: /src/httpd/modules/dav/main/ms_wdv.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_CONCAT
    linkageType: ''
    returnType: void
    signature: "void dav_mswdv_input(ap_filter_t *f,\n                                          apr_bucket_brigade
      *bb,\n                                          ap_input_mode_t mode,\n                                          apr_read_type_e
      block,\n                                          apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p
    - status
    - error_id
    - aprerr
    - desc
    argTypes:
    - apr_pool_t*
    - int
    - int
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: dav_new_error
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 4
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void dav_new_error(apr_pool_t *p, int status, int error_id,\n                                      apr_status_t
      aprerr, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - p
    - status
    - error_id
    - aprerr
    - desc
    - namespace
    - tagname
    argTypes:
    - apr_pool_t*
    - int
    - int
    - apr_status_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: dav_new_error_tag
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_new_error_tag(apr_pool_t *p, int status,\n                                          int
      error_id, apr_status_t aprerr,\n                                          const
      char *desc,\n                                          const char *namespace,\n
      \                                         const char *tagname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p
    - status
    - error_id
    - desc
    - prev
    argTypes:
    - apr_pool_t*
    - int
    - int
    - char*
    - dav_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: dav_push_error
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void dav_push_error(apr_pool_t *p, int status,\n                                       int
      error_id, const char *desc,\n                                       dav_error
      *prev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - dav_error*
    - dav_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: dav_join_error
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dav_join_error(dav_error *dest, dav_error *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/util.c:115,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - pbuf
    - extra_needed
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: dav_check_bufsize
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_check_bufsize(apr_pool_t * p, dav_buffer *pbuf,\n                                    apr_size_t
      extra_needed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/util.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - pbuf
    - size
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: dav_set_bufsize
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void dav_set_bufsize(apr_pool_t * p, dav_buffer *pbuf,\n                                  apr_size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/main/util.c:147,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:147,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - pbuf
    - str
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: dav_buffer_init
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_set_bufsize
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_buffer_init(apr_pool_t *p, dav_buffer *pbuf,\n                                  const
      char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:155,1
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/main/util.c:157,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - pbuf
    - str
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: dav_buffer_append
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strlen
    - dav_check_bufsize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_buffer_append(apr_pool_t *p, dav_buffer *pbuf,\n                                    const
      char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:166,1
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/main/util.c:168,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - pbuf
    - str
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: dav_buffer_place
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strlen
    - dav_check_bufsize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_buffer_place(apr_pool_t *p, dav_buffer *pbuf,\n                                   const
      char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/main/util.c:177,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p
    - pbuf
    - mem
    - amt
    - pad
    argTypes:
    - apr_pool_t*
    - dav_buffer*
    - void*
    - apr_size_t
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: dav_buffer_place_mem
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_check_bufsize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_buffer_place_mem(apr_pool_t *p, dav_buffer *pbuf,\n                                       const
      void *mem, apr_size_t amt,\n                                       apr_size_t
      pad)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/dav/main/util.c:202,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/dav/main/util.c:237,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/dav/main/util.c:241,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/util.c:247,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:253,1
    - Dst: strrchr
      Src: /src/httpd/modules/dav/main/util.c:280,1
    - Dst: strchr
      Src: /src/httpd/modules/dav/main/util.c:281,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/util.c:282,1
    - Dst: ap_matches_request_vhost
      Src: /src/httpd/modules/dav/main/util.c:290,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/dav/main/util.c:301,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/dav/main/util.c:308,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - uri
    - r
    - must_be_absolute
    argTypes:
    - char*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 311
    functionName: dav_lookup_uri
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - ap_cstr_casecmp
    - apr_uri_parse
    - strchr
    - apr_pstrcat
    - ap_sub_req_method_uri
    - strrchr
    - ap_matches_request_vhost
    - apr_psprintf
    - ap_http_scheme
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: void
    signature: "void dav_lookup_uri(const char *uri,\n                                              request_rec
      * r,\n                                              int must_be_absolute)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - doc
    - ns
    - tagname
    argTypes:
    - apr_xml_doc*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: dav_validate_root_ns
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dav_validate_root_ns(const apr_xml_doc *doc,\n                                      int
      ns, const char *tagname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_validate_root_ns
      Src: /src/httpd/modules/dav/main/util.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - tagname
    argTypes:
    - apr_xml_doc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: dav_validate_root
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_validate_root_ns
    linkageType: ''
    returnType: void
    signature: "void dav_validate_root(const apr_xml_doc *doc,\n                                   const
      char *tagname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - elem
    - ns
    - tagname
    argTypes:
    - apr_xml_elem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: dav_find_next_ns
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dav_find_next_ns(const apr_xml_elem *elem,\n                                             int
      ns, const char *tagname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - elem
    - ns
    - tagname
    argTypes:
    - apr_xml_elem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: dav_find_child_ns
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dav_find_child_ns(const apr_xml_elem *elem,\n                                              int
      ns, const char *tagname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_find_child_ns
      Src: /src/httpd/modules/dav/main/util.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - tagname
    argTypes:
    - apr_xml_elem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: dav_find_child
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_find_child_ns
    linkageType: ''
    returnType: void
    signature: "void dav_find_child(const apr_xml_elem *elem,\n                                           const
      char *tagname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - elem
    - ns
    - attrname
    argTypes:
    - apr_xml_elem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: dav_find_attr_ns
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dav_find_attr_ns(const apr_xml_elem *elem,\n                                             int
      ns, const char *attrname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_find_attr_ns
      Src: /src/httpd/modules/dav/main/util.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - attrname
    argTypes:
    - apr_xml_elem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: dav_find_attr
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_find_attr_ns
    linkageType: ''
    returnType: void
    signature: "void dav_find_attr(const apr_xml_elem *elem,\n                                          const
      char *attrname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:400,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:409,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:421,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:422,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/util.c:426,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:429,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:430,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:438,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:439,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:448,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - elem
    - pool
    - strip_white
    argTypes:
    - apr_xml_elem*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 460
    functionName: dav_xml_get_cdata
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_isspace
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dav_xml_get_cdata(const apr_xml_elem *elem, apr_pool_t *pool,\n
      \                             int strip_white)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:464,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/dav/main/util.c:467,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/dav/main/util.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: dav_xmlns_create
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void dav_xmlns_create(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/dav/main/util.c:477,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/dav/main/util.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - xi
    - prefix
    - uri
    argTypes:
    - dav_xmlns_info*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: dav_xmlns_add
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: "void dav_xmlns_add(dav_xmlns_info *xi,\n                                const
      char *prefix, const char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/main/util.c:489,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:493,1
    - Dst: dav_xmlns_add
      Src: /src/httpd/modules/dav/main/util.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xi
    - uri
    argTypes:
    - dav_xmlns_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: dav_xmlns_add_uri
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_xmlns_add
    - apr_hash_get
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void dav_xmlns_add_uri(dav_xmlns_info *xi,\n                                            const
      char *uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/main/util.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xi
    - prefix
    argTypes:
    - dav_xmlns_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: dav_xmlns_get_uri
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void dav_xmlns_get_uri(dav_xmlns_info *xi,\n                                            const
      char *prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/main/util.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xi
    - uri
    argTypes:
    - dav_xmlns_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: dav_xmlns_get_prefix
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void dav_xmlns_get_prefix(dav_xmlns_info *xi,\n                                               const
      char *uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_first
      Src: /src/httpd/modules/dav/main/util.c:513,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/dav/main/util.c:515,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/dav/main/util.c:520,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/util.c:522,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/util.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xi
    - phdr
    argTypes:
    - dav_xmlns_info*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 526
    functionName: dav_xmlns_generate
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_hash_this
    - apr_hash_next
    - apr_text_append
    - apr_hash_first
    linkageType: ''
    returnType: void
    signature: "void dav_xmlns_generate(dav_xmlns_info *xi,\n                                     apr_text_header
      *phdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:544,1
    - Dst: dav_get_timeout_string
      Src: /src/httpd/modules/dav/main/util.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: dav_get_timeout
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_get_timeout_string
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void dav_get_timeout(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/util.c:565,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/dav/main/util.c:574,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:574,1
    - Dst: strncmp
      Src: /src/httpd/modules/dav/main/util.c:575,1
    - Dst: strncmp
      Src: /src/httpd/modules/dav/main/util.c:579,1
    - Dst: atol
      Src: /src/httpd/modules/dav/main/util.c:584,1
    - Dst: time
      Src: /src/httpd/modules/dav/main/util.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r
    - timeout_const
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 591
    functionName: dav_get_timeout_string
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 2
    functionsReached:
    - time
    - strlen
    - ap_getword_white
    - atol
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void dav_get_timeout_string(request_rec *r,\n                                           const
      char *timeout_const)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:604,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:609,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/dav/main/util.c:613,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - p
    - input
    - output
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 621
    functionName: dav_parse_locktoken
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 1
    functionsReached:
    - strlen
    - dav_new_error
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: "void dav_parse_locktoken(apr_pool_t *p,\n                                             const
      char *input,\n                                             char **output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p
    - next_ih
    - uri
    - uri_len
    argTypes:
    - apr_pool_t*
    - dav_if_header*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: dav_add_if_resource
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: dav_if_header
    signature: "dav_if_header *dav_add_if_resource(apr_pool_t *p, dav_if_header *next_ih,\n
      \                                         const char *uri, apr_size_t uri_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - p
    - ih
    - state_token
    - t
    - condition
    - locks_hooks
    argTypes:
    - apr_pool_t*
    - dav_if_header*
    - char*
    - dav_if_state_type
    - int
    - dav_hooks_locks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 684
    functionName: dav_add_if_state
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_add_if_state(apr_pool_t *p, dav_if_header *ih,\n                                    const
      char *state_token,\n                                    dav_if_state_type t,
      int condition,\n                                    const dav_hooks_locks *locks_hooks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/dav/main/util.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - str
    - term
    argTypes:
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: dav_fetch_next_token
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *dav_fetch_next_token(char **str, char term)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util.c:728,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/util.c:734,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:734,1
    - Dst: dav_fetch_next_token
      Src: /src/httpd/modules/dav/main/util.c:742,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:743,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/dav/main/util.c:751,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:753,1
    - Dst: ap_normalize_path
      Src: /src/httpd/modules/dav/main/util.c:760,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:763,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/dav/main/util.c:769,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:770,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:776,1
    - Dst: dav_fetch_next_token
      Src: /src/httpd/modules/dav/main/util.c:792,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:793,1
    - Dst: dav_add_if_resource
      Src: /src/httpd/modules/dav/main/util.c:798,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:800,1
    - Dst: dav_fetch_next_token
      Src: /src/httpd/modules/dav/main/util.c:813,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:815,1
    - Dst: dav_add_if_state
      Src: /src/httpd/modules/dav/main/util.c:819,1
    - Dst: dav_fetch_next_token
      Src: /src/httpd/modules/dav/main/util.c:828,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:830,1
    - Dst: dav_add_if_state
      Src: /src/httpd/modules/dav/main/util.c:834,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:845,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:855,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:867,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:869,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:886,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:888,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 2
    argNames:
    - r
    - p_ih
    argTypes:
    - request_rec*
    - dav_if_header**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 900
    functionName: dav_process_if_header
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_add_if_resource
    - apr_uri_parse
    - strlen
    - dav_add_if_state
    - ap_unescape_url
    - apr_psprintf
    - apr_table_get
    - dav_fetch_next_token
    - apr_pstrdup
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    - ap_normalize_path
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - if_header
    - lock_list
    - locks_hooks
    argTypes:
    - dav_if_header*
    - dav_lock*
    - dav_hooks_locks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 942
    functionName: dav_find_submitted_locktoken
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dav_find_submitted_locktoken(const dav_if_header *if_header,\n
      \                                       const dav_lock *lock_list,\n                                        const
      dav_hooks_locks *locks_hooks)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/main/util.c:1014,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:1015,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1033,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1051,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1093,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1117,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:1136,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/main/util.c:1138,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/main/util.c:1139,1
    - Dst: memcmp
      Src: /src/httpd/modules/dav/main/util.c:1161,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:1211,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util.c:1315,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/util.c:1318,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1323,1
    - Dst: dav_find_submitted_locktoken
      Src: /src/httpd/modules/dav/main/util.c:1433,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1443,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1457,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1464,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1469,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:1470,1
    - Dst: dav_find_submitted_locktoken
      Src: /src/httpd/modules/dav/main/util.c:1493,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1514,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1520,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 149
    argCount: 7
    argNames:
    - p
    - resource
    - lockdb
    - if_header
    - flags
    - pbuf
    - r
    argTypes:
    - apr_pool_t*
    - dav_resource*
    - dav_lockdb*
    - dav_if_header*
    - int
    - dav_buffer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1524
    functionName: dav_validate_resource_state
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dav_push_error
    - apr_pstrcat
    - dav_set_bufsize
    - dav_find_submitted_locktoken
    - dav_lock_query
    - apr_psprintf
    - strlen
    - dav_new_error
    - memcmp
    - memcpy
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_validate_resource_state(apr_pool_t *p,\n                                               const
      dav_resource *resource,\n                                               dav_lockdb
      *lockdb,\n                                               const dav_if_header
      *if_header,\n                                               int flags,\n                                               dav_buffer
      *pbuf,\n                                               request_rec *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_validate_resource_state
      Src: /src/httpd/modules/dav/main/util.c:1532,1
    - Dst: ap_is_HTTP_SERVER_ERROR
      Src: /src/httpd/modules/dav/main/util.c:1544,1
    - Dst: dav_add_response
      Src: /src/httpd/modules/dav/main/util.c:1552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1555
    functionName: dav_validate_walker
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_SERVER_ERROR
    - dav_validate_resource_state
    - dav_add_response
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_validate_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:1565,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/dav/main/util.c:1570,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:1579,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - r
    - resource_state
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1588
    functionName: dav_meets_conditions
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_meets_conditions
    linkageType: ''
    returnType: int
    signature: int dav_meets_conditions(request_rec *r, int resource_state)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util.c:1615,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1629,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:1639,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/dav/main/util.c:1643,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/util.c:1649,1
    - Dst: dav_meets_conditions
      Src: /src/httpd/modules/dav/main/util.c:1650,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/dav/main/util.c:1658,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1661,1
    - Dst: dav_process_if_header
      Src: /src/httpd/modules/dav/main/util.c:1665,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1678,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:1680,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1683,1
    - Dst: dav_validate_resource_state
      Src: /src/httpd/modules/dav/main/util.c:1736,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1747,1
    - Dst: dav_validate_resource_state
      Src: /src/httpd/modules/dav/main/util.c:1751,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1763,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/util.c:1772,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1803,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1817,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1826,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1838,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 7
    argNames:
    - r
    - resource
    - depth
    - locktoken
    - response
    - flags
    - lockdb
    argTypes:
    - request_rec*
    - dav_resource*
    - int
    - dav_locktoken*
    - dav_response**
    - int
    - dav_lockdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1603
    functionDepth: 3
    functionLinenumber: 1603
    functionLinenumberEnd: 1844
    functionName: dav_validate_request
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - dav_meets_conditions
    - dav_process_if_header
    - dav_get_resource_state
    - apr_table_set
    - apr_table_unset
    - apr_table_get
    - dav_validate_resource_state
    - strlen
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_validate_request(request_rec *r,\n                                              dav_resource
      *resource,\n                                              int depth,\n                                              dav_locktoken
      *locktoken,\n                                              dav_response **response,\n
      \                                             int flags,\n                                              dav_lockdb
      *lockdb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_process_if_header
      Src: /src/httpd/modules/dav/main/util.c:1861,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/util.c:1871,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - r
    - ltl
    argTypes:
    - request_rec*
    - dav_locktoken_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1851
    functionDepth: 3
    functionLinenumber: 1851
    functionLinenumberEnd: 1888
    functionName: dav_get_locktoken_list
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_process_if_header
    - dav_new_error
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void dav_get_locktoken_list(request_rec *r,\n                                                dav_locktoken_list
      **ltl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:1897,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/util.c:1901,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:1902,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/util.c:1903,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/dav/main/util.c:1905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pool
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1912
    functionName: strip_white
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - strlen
    - apr_isspace
    linkageType: ''
    returnType: char
    signature: char *strip_white(const char *s, apr_pool_t *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/util.c:1926,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:1934,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/util.c:1938,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/util.c:1943,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/util.c:1946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - in_req
    - out_req
    - resource
    argTypes:
    - request_rec*
    - request_rec*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1949
    functionName: dav_add_vary_header
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - DAV_GET_HOOKS_VSN
    - apr_pstrcat
    - apr_table_get
    - apr_table_setn
    linkageType: ''
    returnType: void
    signature: "void dav_add_vary_header(request_rec *in_req,\n                                      request_rec
      *out_req,\n                                      const dav_resource *resource)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util.c:1977,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:1980,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:1986,1
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/main/util.c:1993,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:1994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - r
    - resource
    - auto_version
    - lockdb
    - auto_checkout
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_auto_version
    - dav_lockdb**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 2006
    functionName: dav_can_auto_checkout
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_lock_query
    - dav_push_error
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_can_auto_checkout(\n    request_rec *r,\n    dav_resource
      *resource,\n    dav_auto_version auto_version,\n    dav_lockdb **lockdb,\n    int
      *auto_checkout)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/util.c:2015,1
    - Dst: memset
      Src: /src/httpd/modules/dav/main/util.c:2020,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:2035,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2036,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2039,1
    - Dst: dav_can_auto_checkout
      Src: /src/httpd/modules/dav/main/util.c:2049,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:2057,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2070,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2071,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2074,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2093,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2094,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2096,1
    - Dst: dav_can_auto_checkout
      Src: /src/httpd/modules/dav/main/util.c:2109,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util.c:2116,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2127,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2128,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2130,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/util.c:2147,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 4
    argNames:
    - r
    - resource
    - parent_only
    - av_info
    argTypes:
    - request_rec*
    - dav_resource*
    - int
    - dav_auto_version_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2009
    functionDepth: 2
    functionLinenumber: 2009
    functionLinenumberEnd: 2152
    functionName: dav_auto_checkout
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - memset
    - DAV_GET_HOOKS_VSN
    - dav_auto_checkin
    - ap_escape_html
    - apr_psprintf
    - dav_can_auto_checkout
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_auto_checkout(\n    request_rec *r,\n    dav_resource *resource,\n
      \   int parent_only,\n    dav_auto_version_info *av_info)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/util.c:2162,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2175,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2176,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2179,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2190,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2191,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2194,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2202,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2203,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2206,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2228,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2229,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2231,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util.c:2251,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util.c:2252,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/util.c:2254,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 5
    argNames:
    - r
    - resource
    - undo
    - unlock
    - av_info
    argTypes:
    - request_rec*
    - dav_resource*
    - int
    - int
    - dav_auto_version_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2261
    functionName: dav_auto_checkin
    functionSourceFile: /src/httpd/modules/dav/main/util.c
    functionUses: 1
    functionsReached:
    - DAV_GET_HOOKS_VSN
    - dav_push_error
    - ap_escape_html
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void dav_auto_checkin(\n    request_rec *r,\n    dav_resource *resource,\n
      \   int undo,\n    int unlock,\n    dav_auto_version_info *av_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - parent
    - ','
    - child
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: DAV_INHERIT_VALUE
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_INHERIT_VALUE(parent, child, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_register
      Src: /src/httpd/modules/dav/main/mod_dav.c:125,1
    - Dst: ap_method_register
      Src: /src/httpd/modules/dav/main/mod_dav.c:126,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: dav_init_handler
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ap_method_register
    linkageType: ''
    returnType: int
    signature: "int dav_init_handler(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \                            server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: dav_create_server_config
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dav_create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - base
    - overrides
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: dav_merge_server_config
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dav_merge_server_config(apr_pool_t *p, void *base, void *overrides)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:168,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/mod_dav.c:175,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/dav/main/mod_dav.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: dav_create_dir_config
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_pcalloc
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: void *dav_create_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:189,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:194,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:195,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:198,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:198,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:202,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:204,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:204,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:210,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:211,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:212,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:213,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:215,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:217,1
    - Dst: DAV_INHERIT_VALUE
      Src: /src/httpd/modules/dav/main/mod_dav.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - p
    - base
    - overrides
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: dav_merge_dir_config
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - APLOGNO
    - strcasecmp
    - DAV_INHERIT_VALUE
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void *dav_merge_dir_config(apr_pool_t *p, void *base, void *overrides)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: dav_get_provider_name
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void dav_get_provider_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: dav_get_provider
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void dav_get_provider(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: dav_get_lock_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_get_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_lock_hooks(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: dav_get_propdb_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_get_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_propdb_hooks(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: dav_get_vsn_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_get_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_vsn_hooks(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: dav_get_binding_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_get_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_binding_hooks(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: dav_get_search_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_get_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_search_hooks(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: dav_get_base_path
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void dav_get_base_path(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:283,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:286,1
    - Dst: dav_lookup_provider
      Src: /src/httpd/modules/dav/main/mod_dav.c:296,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - config
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: dav_cmd_dav
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - dav_lookup_provider
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *dav_cmd_dav(cmd_parms *cmd, void *config, const char *arg1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: dav_cmd_davhonormtimeheader
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dav_cmd_davhonormtimeheader(cmd_parms *cmd, void *config, const
      int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: dav_cmd_davbasepath
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dav_cmd_davbasepath(cmd_parms *cmd, void *config, const char
      *arg1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: dav_cmd_davdepthinfinity
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *dav_cmd_davdepthinfinity(cmd_parms *cmd, void *config,\n                                            int
      arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: dav_cmd_davlockdiscovery
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *dav_cmd_davlockdiscovery(cmd_parms *cmd, void *config,\n                                            int
      arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:373,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:374,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:377,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:378,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:381,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:384,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - config
    - w
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 391
    functionName: dav_cmd_davmsext
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *dav_cmd_davmsext(cmd_parms *cmd, void *config, const char *w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/dav/main/mod_dav.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: dav_cmd_davmintimeout
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *dav_cmd_davmintimeout(cmd_parms *cmd, void *config,\n                                         const
      char *arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/dav/main/mod_dav.c:420,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:422,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:425,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/dav/main/mod_dav.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - status
    - body
    argTypes:
    - request_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 442
    functionName: dav_error_response
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type_ex
    - ap_rvputs
    - ap_get_status_line
    - ap_psignature
    linkageType: ''
    returnType: int
    signature: int dav_error_response(request_rec *r, int status, const char *body)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:453,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:460,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:465,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:472,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:480,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:486,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:494,1
    - Dst: apr_xml_quote_string
      Src: /src/httpd/modules/dav/main/mod_dav.c:499,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - r
    - err
    argTypes:
    - request_rec*
    - dav_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 509
    functionName: dav_error_response_tag
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_xml_quote_string
    - ap_rputs
    - ap_rprintf
    - ap_set_content_type_ex
    linkageType: ''
    returnType: int
    signature: "int dav_error_response_tag(request_rec *r,\n                                  dav_error
      *err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:519,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/dav/main/mod_dav.c:522,1
    - Dst: apr_xml_quote_string
      Src: /src/httpd/modules/dav/main/mod_dav.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - uri
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 532
    functionName: dav_xml_escape_uri
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_xml_quote_string
    - ap_strchr_c
    - ap_escape_uri
    linkageType: ''
    returnType: char
    signature: char *dav_xml_escape_uri(apr_pool_t *p, const char *uri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:551,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:554,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:556,1
    - Dst: ap_fputc
      Src: /src/httpd/modules/dav/main/mod_dav.c:558,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/dav/main/mod_dav.c:561,1
    - Dst: dav_xml_escape_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:563,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/dav/main/mod_dav.c:572,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/dav/main/mod_dav.c:574,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:581,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/dav/main/mod_dav.c:590,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - response
    - bb
    - r
    - pool
    argTypes:
    - dav_response*
    - apr_bucket_brigade*
    - request_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 598
    functionName: dav_send_one_response
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_fputstrs
    - dav_xml_escape_uri
    - ap_fputc
    - ap_get_status_line
    - ap_fputs
    linkageType: ''
    returnType: void
    signature: "void dav_send_one_response(dav_response *response,\n                                        apr_bucket_brigade
      *bb,\n                                        request_rec *r,\n                                        apr_pool_t
      *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:611,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:614,1
    - Dst: ap_fprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:621,1
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/mod_dav.c:622,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - bb
    - r
    - status
    - namespaces
    argTypes:
    - apr_bucket_brigade*
    - request_rec*
    - int
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 627
    functionName: dav_begin_multistatus
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_fputs
    - APR_XML_GET_URI_ITEM
    - ap_fprintf
    - ap_set_content_type_ex
    linkageType: ''
    returnType: void
    signature: "void dav_begin_multistatus(apr_bucket_brigade *bb,\n                                        request_rec
      *r, int status,\n                                        apr_array_header_t
      *namespaces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_fputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:635,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:638,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/dav/main/mod_dav.c:639,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/dav/main/mod_dav.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - bb
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 643
    functionName: dav_finish_multistatus
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_fputs
    - ap_pass_brigade
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_eos_create
    linkageType: ''
    returnType: void
    signature: "void dav_finish_multistatus(request_rec *r,\n                                                 apr_bucket_brigade
      *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:650,1
    - Dst: dav_begin_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:653,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:655,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/dav/main/mod_dav.c:656,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/dav/main/mod_dav.c:659,1
    - Dst: dav_send_one_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:660,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/dav/main/mod_dav.c:662,1
    - Dst: dav_finish_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - status
    - first
    - namespaces
    argTypes:
    - request_rec*
    - int
    - dav_response*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 665
    functionName: dav_send_multistatus
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_pool_tag
    - apr_pool_create
    - dav_finish_multistatus
    - apr_pool_clear
    - dav_send_one_response
    - apr_pool_destroy
    - dav_begin_multistatus
    linkageType: ''
    returnType: void
    signature: "void dav_send_multistatus(request_rec *r, int status,\n                                       dav_response
      *first,\n                                       apr_array_header_t *namespaces)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - r
    - err
    - level
    argTypes:
    - request_rec*
    - dav_error*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 686
    functionName: dav_log_err
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    linkageType: ''
    returnType: void
    signature: void dav_log_err(request_rec *r, dav_error *err, int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:705,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/modules/dav/main/mod_dav.c:707,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:716,1
    - Dst: dav_error_response_tag
      Src: /src/httpd/modules/dav/main/mod_dav.c:725,1
    - Dst: dav_send_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - r
    - err
    - response
    argTypes:
    - request_rec*
    - dav_error*
    - dav_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 701
    functionDepth: 4
    functionLinenumber: 701
    functionLinenumberEnd: 733
    functionName: dav_handle_err
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 1
    functionsReached:
    - dav_error_response_tag
    - apr_table_setn
    - ap_is_HTTP_VALID_RESPONSE
    - dav_send_multistatus
    - dav_log_err
    linkageType: ''
    returnType: void
    signature: "void dav_handle_err(request_rec *r, dav_error *err,\n                                dav_response
      *response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:743,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:756,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/dav/main/mod_dav.c:756,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:762,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:762,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - locn
    - what
    - replaced
    argTypes:
    - request_rec*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 765
    functionName: dav_created
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - dav_error_response
    - apr_table_setn
    - ap_escape_uri
    - ap_construct_url
    - ap_escape_html
    linkageType: ''
    returnType: int
    signature: "int dav_created(request_rec *r, const char *locn, const char *what,\n
      \                      int replaced)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:770,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:776,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:779,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:782,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:788,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - r
    - def_depth
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 791
    functionName: dav_get_depth
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_cstr_casecmp
    - APLOGNO
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void dav_get_depth(request_rec *r, int def_depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:795,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:811,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:811,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 814
    functionName: dav_get_overwrite
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int dav_get_overwrite(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:834,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:837,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:840,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:841,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:843,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:858,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:861,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:861,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:867,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:875,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:876,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:879,1
    - Dst: dav_add_vary_header
      Src: /src/httpd/modules/dav/main/mod_dav.c:885,1
    - Dst: dav_get_acl_providers
      Src: /src/httpd/modules/dav/main/mod_dav.c:889,1
    - Dst: acls::acl_check_method
      Src: /src/httpd/modules/dav/main/mod_dav.c:890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - r
    - label_allowed
    - use_checked_in
    - res_p
    argTypes:
    - request_rec*
    - int
    - int
    - dav_resource**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 896
    functionName: dav_get_resource
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 2
    functionsReached:
    - dav_push_error
    - ap_get_core_module_config
    - dav_add_vary_header
    - dav_get_acl_providers
    - APLOGNO
    - acls::acl_check_method
    - ap_escape_html
    - apr_psprintf
    - apr_table_get
    - ap_get_module_config
    - ap_log_error
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_get_resource(request_rec *r, int label_allowed,\n                                   int
      use_checked_in, dav_resource **res_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - ro
    - lockdb
    argTypes:
    - request_rec*
    - int
    - dav_lockdb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 911
    functionName: dav_open_lockdb
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - DAV_GET_HOOKS_LOCKS
    linkageType: ''
    returnType: void
    signature: "void dav_open_lockdb(request_rec *r,\n                                         int
      ro,\n                                         dav_lockdb **lockdb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockdb
    argTypes:
    - dav_lockdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: dav_close_lockdb
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dav_close_lockdb(dav_lockdb *lockdb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:931,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/mod_dav.c:935,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/dav/main/mod_dav.c:936,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/dav/main/mod_dav.c:937,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/dav/main/mod_dav.c:938,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:946,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:949,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:957,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - request_rec*
    - apr_off_t*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 965
    functionName: dav_parse_range
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - ap_parse_strict_length
    - apr_table_get
    - apr_pstrdup
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: "int dav_parse_range(request_rec *r,\n                           apr_off_t
      *range_start, apr_off_t *range_end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:979,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/mod_dav.c:983,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/dav/main/mod_dav.c:984,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/dav/main/mod_dav.c:989,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/dav/main/mod_dav.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r
    - mtime
    argTypes:
    - request_rec*
    - apr_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 996
    functionName: dav_parse_mtime
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_isdigit
    - apr_strtoi64
    - apr_table_get
    - strlen
    linkageType: ''
    returnType: int
    signature: int dav_parse_mtime(request_rec *r, apr_time_t *mtime)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1009,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1012,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:1015,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1017,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1027,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1030,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/dav/main/mod_dav.c:1034,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1046,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1053
    functionName: dav_method_get
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - ap_meets_conditions
    - dav_handle_err
    - dav_run_method_precondition
    - dav_get_resource
    linkageType: ''
    returnType: int
    signature: int dav_method_get(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1062,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1065,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:1068,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1070,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:1074,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1056
    functionDepth: 5
    functionLinenumber: 1056
    functionLinenumberEnd: 1081
    functionName: dav_method_post
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_handle_err
    - dav_get_resource
    - dav_run_method_precondition
    - dav_validate_request
    linkageType: ''
    returnType: int
    signature: int dav_method_post(request_rec *r)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:1090,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:1105,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1108,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1111,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:1114,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1116,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1122,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1124,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:1125,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:1130,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:1135,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:1146,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1151,1
    - Dst: dav_parse_range
      Src: /src/httpd/modules/dav/main/mod_dav.c:1154,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1159,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1161,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:1162,1
    - Dst: dav_parse_mtime
      Src: /src/httpd/modules/dav/main/mod_dav.c:1173,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1174,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1176,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:1177,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:1182,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1186,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1194,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1195,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1197,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:1215,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/dav/main/mod_dav.c:1220,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1225,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1226,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1227,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1230,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/dav/main/mod_dav.c:1234,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/dav/main/mod_dav.c:1235,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/dav/main/mod_dav.c:1236,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/dav/main/mod_dav.c:1241,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/dav/main/mod_dav.c:1246,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/dav/main/mod_dav.c:1252,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1254,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1255,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1259,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/dav/main/mod_dav.c:1267,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/dav/main/mod_dav.c:1270,1
    - Dst: dav_join_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1274,1
    - Dst: dav_join_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1279,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:1280,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:1284,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:1300,1
    - Dst: dav_join_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1305,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1306,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1311,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1316,1
    - Dst: dav_mswdv_postprocessing
      Src: /src/httpd/modules/dav/main/mod_dav.c:1321,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1330,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1336,1
    - Dst: dav_notify_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:1340,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1346,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1351,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:1358,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:1362,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 122
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1084
    functionDepth: 5
    functionLinenumber: 1084
    functionLinenumberEnd: 1368
    functionName: dav_method_put
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - dav_parse_mtime
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - apr_brigade_create
    - dav_auto_checkin
    - ap_get_module_config
    - apr_bucket_read
    - dav_log_err
    - dav_validate_request
    - APR_BUCKET_IS_EOS
    - dav_get_resource_state
    - dav_notify_created
    - dav_created
    - apr_psprintf
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - dav_resource*::acls::acl_post_processing
    - dav_mswdv_postprocessing
    - dav_parse_range
    - dav_join_error
    - dav_get_resource
    - apr_brigade_cleanup
    - dav_push_error
    - ap_log_rerror
    - ap_map_http_request_error
    - APR_BUCKET_IS_METADATA
    - ap_escape_html
    - dav_auto_checkout
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: int
    signature: int dav_method_put(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_send_one_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - wres
    - status
    - propstats
    - pool
    argTypes:
    - dav_walk_resource*
    - int
    - dav_get_props_result*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1388
    functionName: dav_stream_response
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_send_one_response
    linkageType: ''
    returnType: void
    signature: "void dav_stream_response(dav_walk_resource *wres,\n                                int
      status,\n                                dav_get_props_result *propstats,\n
      \                               apr_pool_t *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:1398,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/mod_dav.c:1399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - wres
    - status
    - propstats
    argTypes:
    - dav_walk_resource*
    - int
    - dav_get_props_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1407
    functionName: dav_add_response
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 1
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void dav_add_response(dav_walk_resource *wres,\n                                   int
      status, dav_get_props_result *propstats)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:1422,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1427,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1430,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:1433,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1435,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:1446,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:1450,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:1450,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:1457,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:1457,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:1470,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1474,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1475,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1478,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1480,1
    - Dst: dav_unlock
      Src: /src/httpd/modules/dav/main/mod_dav.c:1486,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:1491,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1494,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:1501,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1506,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:1507,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:1509,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1511,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1515,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1520,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:1525,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1411
    functionDepth: 5
    functionLinenumber: 1411
    functionLinenumberEnd: 1533
    functionName: dav_method_delete
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_resource*::acls::acl_post_processing
    - ap_log_rerror
    - dav_push_error
    - ap_discard_request_body
    - dav_handle_err
    - dav_run_method_precondition
    - APLOGNO
    - dav_get_depth
    - dav_get_resource
    - dav_auto_checkin
    - ap_escape_html
    - apr_psprintf
    - dav_auto_checkout
    - dav_log_err
    - dav_unlock
    - dav_validate_request
    linkageType: ''
    returnType: int
    signature: int dav_method_delete(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1548,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/dav/main/mod_dav.c:1552,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1559,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1563,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1570,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1576,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1581,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:1587,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1588,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1591,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1597,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - r
    - elem
    - methods
    - body
    argTypes:
    - request_rec*
    - apr_xml_elem*
    - apr_table_t*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1599
    functionName: dav_gen_supported_methods
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    - apr_table_elts
    - apr_text_append
    - apr_table_get
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_gen_supported_methods(request_rec *r,\n                                            const
      apr_xml_elem *elem,\n                                            const apr_table_t
      *methods,\n                                            apr_text_header *body)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dav_open_lockdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:1614,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1615,1
    - Dst: dav_open_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:1623,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1628,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1634,1
    - Dst: dav_get_allprops
      Src: /src/httpd/modules/dav/main/mod_dav.c:1638,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1647,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1654,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1656,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1662,1
    - Dst: dav_get_liveprop_supported
      Src: /src/httpd/modules/dav/main/mod_dav.c:1674,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1679,1
    - Dst: dav_close_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:1681,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - r
    - resource
    - elem
    - body
    argTypes:
    - request_rec*
    - dav_resource*
    - apr_xml_elem*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1687
    functionName: dav_gen_supported_live_props
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dav_push_error
    - dav_new_error
    - dav_get_allprops
    - dav_get_liveprop_supported
    - dav_close_propdb
    - apr_text_append
    - dav_open_propdb
    - dav_open_lockdb
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_gen_supported_live_props(request_rec *r,\n                                               const
      dav_resource *resource,\n                                               const
      apr_xml_elem *elem,\n                                               apr_text_header
      *body)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1703,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/dav/main/mod_dav.c:1705,1
    - Dst: dav_run_gather_reports
      Src: /src/httpd/modules/dav/main/mod_dav.c:1706,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1708,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1723,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1729,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1736,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1744,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1746,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1752,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1764,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:1765,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1769,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1776,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:1784,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - r
    - resource
    - elem
    - body
    argTypes:
    - request_rec*
    - dav_resource*
    - apr_xml_elem*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1786
    functionName: dav_gen_supported_reports
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dav_push_error
    - dav_new_error
    - apr_pstrcat
    - apr_text_append
    - dav_run_gather_reports
    - apr_array_make
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_gen_supported_reports(request_rec *r,\n                                            const
      dav_resource *resource,\n                                            const apr_xml_elem
      *elem,\n                                            apr_text_header *body)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_SEARCH
      Src: /src/httpd/modules/dav/main/mod_dav.c:1792,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1805,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1808,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:1817,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1820,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1833,1
    - Dst: dav_send_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:1838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1790
    functionDepth: 5
    functionLinenumber: 1790
    functionLinenumberEnd: 1841
    functionName: dav_method_search
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - dav_handle_err
    - DAV_GET_HOOKS_SEARCH
    - dav_get_resource
    - dav_send_multistatus
    linkageType: ''
    returnType: int
    signature: int dav_method_search(request_rec *r)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:1847,1
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:1848,1
    - Dst: DAV_GET_HOOKS_BINDING
      Src: /src/httpd/modules/dav/main/mod_dav.c:1849,1
    - Dst: DAV_GET_HOOKS_SEARCH
      Src: /src/httpd/modules/dav/main/mod_dav.c:1850,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/dav/main/mod_dav.c:1857,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:1873,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1876,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:1879,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:1885,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:1887,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:1890,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:1891,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:1891,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1904,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/dav/main/mod_dav.c:1907,1
    - Dst: dav_get_options_providers
      Src: /src/httpd/modules/dav/main/mod_dav.c:1912,1
    - Dst: dav_options_provider*::dav_header
      Src: /src/httpd/modules/dav/main/mod_dav.c:1917,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:1919,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1929,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1939,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/dav/main/mod_dav.c:1947,1
    - Dst: dav_run_gather_propsets
      Src: /src/httpd/modules/dav/main/mod_dav.c:1948,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1951,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1955,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1967,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:1970,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1974,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1975,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1976,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1977,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1978,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1979,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1980,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1981,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1982,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1985,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1988,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1989,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1996,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1997,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:1998,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2001,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2002,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2009,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2010,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2013,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2026,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2030,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2034,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2038,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2041,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2044,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2047,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2048,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2051,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2058,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2063,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/dav/main/mod_dav.c:2067,1
    - Dst: dav_get_options_providers
      Src: /src/httpd/modules/dav/main/mod_dav.c:2072,1
    - Dst: dav_options_provider*::dav_method
      Src: /src/httpd/modules/dav/main/mod_dav.c:2077,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2079,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/dav/main/mod_dav.c:2084,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/mod_dav.c:2094,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/main/mod_dav.c:2097,1
    - Dst: strcpy
      Src: /src/httpd/modules/dav/main/mod_dav.c:2106,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/mod_dav.c:2107,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:2110,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2121,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:2127,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2144,1
    - Dst: dav_gen_supported_methods
      Src: /src/httpd/modules/dav/main/mod_dav.c:2145,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2148,1
    - Dst: dav_gen_supported_live_props
      Src: /src/httpd/modules/dav/main/mod_dav.c:2149,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2152,1
    - Dst: dav_gen_supported_reports
      Src: /src/httpd/modules/dav/main/mod_dav.c:2153,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2159,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2165,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:2172,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:2179,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:2181,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 175
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 1845
    functionDepth: 5
    functionLinenumber: 1845
    functionLinenumberEnd: 2185
    functionName: dav_method_options
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_options_provider*::dav_header
    - dav_handle_err
    - dav_run_method_precondition
    - apr_table_elts
    - ap_xml_parse_input
    - ap_list_provider_names
    - dav_run_gather_propsets
    - apr_table_make
    - dav_gen_supported_methods
    - apr_pstrcat
    - dav_get_options_providers
    - dav_validate_root
    - dav_get_resource_state
    - DAV_GET_HOOKS_LOCKS
    - strcmp
    - dav_gen_supported_live_props
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_rputs
    - DAV_GET_HOOKS_BINDING
    - ap_log_rerror
    - apr_palloc
    - ap_set_content_type_ex
    - APLOGNO
    - dav_gen_supported_reports
    - apr_table_setn
    - DAV_GET_HOOKS_SEARCH
    - apr_table_addn
    - strcpy
    - strlen
    - ap_set_content_length
    - apr_array_make
    - dav_options_provider*::dav_method
    linkageType: ''
    returnType: int
    signature: int dav_method_options(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2197,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:2201,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2203,1
    - Dst: apr_xml_empty_elem
      Src: /src/httpd/modules/dav/main/mod_dav.c:2204,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_walker_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2213
    functionName: dav_cache_badprops
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_xml_empty_elem
    - apr_text_append
    - dav_find_child
    linkageType: ''
    returnType: void
    signature: void dav_cache_badprops(dav_walker_ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dav_resource*::acls::acl_check_read
      Src: /src/httpd/modules/dav/main/mod_dav.c:2231,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:2237,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/dav/main/mod_dav.c:2239,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:2243,1
    - Dst: dav_popen_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2255,1
    - Dst: dav_cache_badprops
      Src: /src/httpd/modules/dav/main/mod_dav.c:2265,1
    - Dst: dav_stream_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:2267,1
    - Dst: dav_stream_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:2271,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/dav/main/mod_dav.c:2274,1
    - Dst: dav_get_props
      Src: /src/httpd/modules/dav/main/mod_dav.c:2280,1
    - Dst: dav_get_allprops
      Src: /src/httpd/modules/dav/main/mod_dav.c:2286,1
    - Dst: dav_stream_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:2288,1
    - Dst: dav_close_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2290,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/dav/main/mod_dav.c:2296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2215
    functionDepth: 4
    functionLinenumber: 2215
    functionLinenumberEnd: 2299
    functionName: dav_propfind_walker
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_run_method_precondition
    - dav_get_allprops
    - dav_stream_response
    - dav_popen_propdb
    - apr_pool_clear
    - dav_close_propdb
    - dav_get_props
    - ap_get_module_config
    - dav_resource*::acls::acl_check_read
    - dav_cache_badprops
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_propfind_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:2313,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2316,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:2318,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:2324,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2326,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:2329,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:2334,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:2342,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:2346,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:2347,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:2351,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:2356,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2358,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2358,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:2365,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:2369,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:2372,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2379,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2379,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:2393,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/dav/main/mod_dav.c:2394,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/dav/main/mod_dav.c:2395,1
    - Dst: dav_open_lockdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2397,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2398,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2403,1
    - Dst: dav_begin_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:2418,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2435,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2438,1
    - Dst: dav_finish_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:2443,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2302
    functionDepth: 5
    functionLinenumber: 2302
    functionLinenumberEnd: 2447
    functionName: dav_method_propfind
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - apr_brigade_create
    - ap_xml_parse_input
    - ap_get_module_config
    - dav_log_err
    - dav_find_child
    - dav_get_resource_state
    - dav_validate_root
    - apr_psprintf
    - dav_begin_multistatus
    - apr_pool_create
    - dav_get_depth
    - dav_finish_multistatus
    - dav_get_resource
    - ap_log_rerror
    - dav_push_error
    - APLOGNO
    - apr_pool_tag
    - ap_escape_html
    - dav_open_lockdb
    linkageType: ''
    returnType: int
    signature: int dav_method_propfind(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2462,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2465,1
    - Dst: apr_xml_empty_elem
      Src: /src/httpd/modules/dav/main/mod_dav.c:2465,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2466,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2473,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2481,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:2490,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2495,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2499,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2500,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2501,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - p
    - prop_ctx
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2508
    functionName: dav_failed_proppatch
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    - apr_text_append
    - apr_xml_empty_elem
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void dav_failed_proppatch(apr_pool_t *p,\n                                             apr_array_header_t
      *prop_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2522,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2527,1
    - Dst: apr_xml_empty_elem
      Src: /src/httpd/modules/dav/main/mod_dav.c:2527,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/mod_dav.c:2530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - prop_ctx
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2536
    functionName: dav_success_proppatch
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - apr_text_append
    - apr_xml_empty_elem
    linkageType: ''
    returnType: void
    signature: "void dav_success_proppatch(apr_pool_t *p,\n                                              apr_array_header_t
      *prop_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_prop_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2538
    functionDepth: 2
    functionLinenumber: 2538
    functionLinenumberEnd: 2541
    functionName: dav_prop_log_errors
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_log_err
    linkageType: ''
    returnType: void
    signature: void dav_prop_log_errors(dav_prop_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DAV_PROP_CTX_HAS_ERR
      Src: /src/httpd/modules/dav/main/mod_dav.c:2568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ctx_list
    - stop_on_error
    - reverse
    argTypes:
    - apr_array_header_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2577
    functionName: dav_process_ctx_list
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - DAV_PROP_CTX_HAS_ERR
    linkageType: ''
    returnType: int
    signature: "int dav_process_ctx_list(void (*func)(dav_prop_ctx *ctx),\n                                apr_array_header_t
      *ctx_list, int stop_on_error,\n                                int reverse)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:2596,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2599,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:2601,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:2607,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2609,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:2617,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2619,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2619,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:2627,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2630,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:2634,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2638,1
    - Dst: dav_open_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2641,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:2645,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2647,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:2648,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:2651,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2653,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/dav/main/mod_dav.c:2660,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2670,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2671,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:2676,1
    - Dst: dav_close_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2677,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:2680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2683,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2683,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/dav/main/mod_dav.c:2692,1
    - Dst: dav_prop_validate
      Src: /src/httpd/modules/dav/main/mod_dav.c:2699,1
    - Dst: DAV_PROP_CTX_HAS_ERR
      Src: /src/httpd/modules/dav/main/mod_dav.c:2701,1
    - Dst: dav_process_ctx_list
      Src: /src/httpd/modules/dav/main/mod_dav.c:2710,1
    - Dst: dav_process_ctx_list
      Src: /src/httpd/modules/dav/main/mod_dav.c:2716,1
    - Dst: dav_failed_proppatch
      Src: /src/httpd/modules/dav/main/mod_dav.c:2717,1
    - Dst: dav_process_ctx_list
      Src: /src/httpd/modules/dav/main/mod_dav.c:2720,1
    - Dst: dav_success_proppatch
      Src: /src/httpd/modules/dav/main/mod_dav.c:2721,1
    - Dst: dav_close_propdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:2725,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:2728,1
    - Dst: dav_process_ctx_list
      Src: /src/httpd/modules/dav/main/mod_dav.c:2731,1
    - Dst: dav_send_multistatus
      Src: /src/httpd/modules/dav/main/mod_dav.c:2738,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:2742,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2580
    functionDepth: 5
    functionLinenumber: 2580
    functionLinenumberEnd: 2748
    functionName: dav_method_proppatch
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_handle_err
    - dav_run_method_precondition
    - apr_array_push
    - ap_xml_parse_input
    - dav_auto_checkin
    - dav_failed_proppatch
    - dav_send_multistatus
    - dav_success_proppatch
    - dav_validate_request
    - dav_find_child
    - dav_validate_root
    - apr_psprintf
    - dav_prop_validate
    - dav_resource*::acls::acl_post_processing
    - strcmp
    - dav_get_resource
    - dav_open_propdb
    - ap_log_rerror
    - dav_push_error
    - APLOGNO
    - dav_process_ctx_list
    - DAV_PROP_CTX_HAS_ERR
    - dav_close_propdb
    - dav_auto_checkout
    - ap_escape_html
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int dav_method_proppatch(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:2757,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:2758,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:2766,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2768,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2768,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:2776,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2779,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:2779,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:2796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2750
    functionDepth: 1
    functionLinenumber: 2750
    functionLinenumberEnd: 2797
    functionName: process_mkcol_body
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_cstr_casecmp
    - ap_discard_request_body
    - APLOGNO
    - ap_parse_strict_length
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int process_mkcol_body(request_rec *r)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:2805,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:2816,1
    - Dst: process_mkcol_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:2820,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:2825,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2828,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:2831,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2833,1
    - Dst: dav_parse_mtime
      Src: /src/httpd/modules/dav/main/mod_dav.c:2847,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:2848,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:2849,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:2851,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:2855,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:2868,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2873,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:2877,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2880,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:2888,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2893,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2897,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2902,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2910,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2916,1
    - Dst: dav_notify_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:2920,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2926,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2931,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:2939,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2943,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2945,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:2949,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:2955,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:2959,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2800
    functionDepth: 5
    functionLinenumber: 2800
    functionLinenumberEnd: 2964
    functionName: dav_method_mkcol
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_parse_mtime
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - dav_auto_checkin
    - ap_get_module_config
    - dav_log_err
    - process_mkcol_body
    - dav_validate_request
    - dav_get_resource_state
    - dav_notify_created
    - dav_created
    - apr_psprintf
    - DAV_GET_HOOKS_LOCKS
    - dav_resource*::acls::acl_post_processing
    - dav_get_resource
    - dav_push_error
    - ap_log_rerror
    - ap_escape_html
    - dav_auto_checkout
    linkageType: ''
    returnType: int
    signature: int dav_method_mkcol(request_rec *r)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:2990,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2993,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:2996,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:2998,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3009,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3011,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3012,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3016,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3019,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3020,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:3023,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3027,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3027,1
    - Dst: dav_lookup_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:3032,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3036,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3036,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3044,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3047,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:3052,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/mod_dav.c:3053,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3057,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3062,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3065,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:3068,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3070,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3076,1
    - Dst: dav_get_overwrite
      Src: /src/httpd/modules/dav/main/mod_dav.c:3084,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3093,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3101,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:3109,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3116,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3116,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3122,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3122,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:3140,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3147,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3148,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3153,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3155,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:3168,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3172,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3173,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3177,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3179,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3186,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3200,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:3206,1
    - Dst: dav_open_lockdb
      Src: /src/httpd/modules/dav/main/mod_dav.c:3210,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3212,1
    - Dst: dav_unlock
      Src: /src/httpd/modules/dav/main/mod_dav.c:3229,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:3234,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3240,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:3248,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:3271,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:3277,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3285,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:3318,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:3322,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3333,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3334,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3336,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3338,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3344,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3349,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3353,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3358,1
    - Dst: dav_notify_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:3365,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3371,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3376,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:3381,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:3386,1
    - Dst: dav_resource*::acls::acl_post_processing
      Src: /src/httpd/modules/dav/main/mod_dav.c:3388,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 160
    argCount: 2
    argNames:
    - r
    - is_move
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 2967
    functionDepth: 5
    functionLinenumber: 2967
    functionLinenumberEnd: 3394
    functionName: dav_method_copymove
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - dav_auto_checkin
    - dav_log_err
    - dav_validate_request
    - dav_lookup_uri
    - apr_pstrcat
    - ap_discard_request_body
    - dav_get_resource_state
    - dav_notify_created
    - dav_created
    - apr_psprintf
    - apr_table_get
    - dav_resource*::acls::acl_post_processing
    - dav_get_depth
    - dav_get_resource
    - dav_unlock
    - ap_log_rerror
    - dav_push_error
    - APLOGNO
    - apr_table_setn
    - dav_get_overwrite
    - ap_escape_html
    - dav_auto_checkout
    - apr_pstrdup
    - dav_open_lockdb
    linkageType: ''
    returnType: int
    signature: int dav_method_copymove(request_rec *r, int is_move)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:3415,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:3419,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:3422,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3424,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3424,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3430,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3433,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:3436,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3438,1
    - Dst: dav_resource*::hooks::get_parent_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3442,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3444,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3447,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3448,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3451,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3452,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3461,1
    - Dst: dav_lock_parse_lockinfo
      Src: /src/httpd/modules/dav/main/mod_dav.c:3465,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/mod_dav.c:3472,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:3475,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:3484,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3491,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3492,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3495,1
    - Dst: dav_get_locktoken_list
      Src: /src/httpd/modules/dav/main/mod_dav.c:3511,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3512,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3513,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3518,1
    - Dst: dav_get_timeout
      Src: /src/httpd/modules/dav/main/mod_dav.c:3524,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:3534,1
    - Dst: time
      Src: /src/httpd/modules/dav/main/mod_dav.c:3539,1
    - Dst: time
      Src: /src/httpd/modules/dav/main/mod_dav.c:3540,1
    - Dst: dav_add_lock
      Src: /src/httpd/modules/dav/main/mod_dav.c:3542,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/mod_dav.c:3548,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:3553,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:3559,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:3563,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3565,1
    - Dst: dav_lock_get_activelock
      Src: /src/httpd/modules/dav/main/mod_dav.c:3569,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/dav/main/mod_dav.c:3571,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3578,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3399
    functionDepth: 5
    functionLinenumber: 3399
    functionLinenumberEnd: 3579
    functionName: dav_method_lock
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_handle_err
    - dav_run_method_precondition
    - dav_add_lock
    - ap_xml_parse_input
    - dav_resource*::hooks::get_parent_resource
    - ap_get_module_config
    - dav_validate_request
    - apr_pstrcat
    - dav_get_resource_state
    - time
    - apr_psprintf
    - dav_get_locktoken_list
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    - dav_lock_get_activelock
    - dav_get_depth
    - dav_lock_parse_lockinfo
    - dav_get_resource
    - dav_get_timeout
    - ap_rputs
    - ap_rprintf
    - ap_log_rerror
    - dav_push_error
    - ap_set_content_type_ex
    - APLOGNO
    - apr_table_setn
    - ap_escape_html
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int dav_method_lock(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:3597,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3601,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3603,1
    - Dst: dav_parse_locktoken
      Src: /src/httpd/modules/dav/main/mod_dav.c:3609,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3611,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3615,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3616,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3620,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3622,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3626,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3629,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:3632,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3634,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:3637,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:3650,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3656,1
    - Dst: dav_unlock
      Src: /src/httpd/modules/dav/main/mod_dav.c:3667,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3584
    functionDepth: 5
    functionLinenumber: 3584
    functionLinenumberEnd: 3672
    functionName: dav_method_unlock
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - dav_push_error
    - dav_handle_err
    - dav_run_method_precondition
    - APLOGNO
    - dav_get_resource_state
    - dav_get_resource
    - dav_unlock
    - ap_escape_html
    - apr_psprintf
    - apr_table_get
    - dav_parse_locktoken
    - DAV_GET_HOOKS_LOCKS
    - dav_validate_request
    linkageType: ''
    returnType: int
    signature: int dav_method_unlock(request_rec *r)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/mod_dav.c:3679,1
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:3680,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3691,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3694,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:3697,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:3703,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3705,1
    - Dst: dav_get_resource_state
      Src: /src/httpd/modules/dav/main/mod_dav.c:3709,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:3715,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3716,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3716,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3723,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3724,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3724,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3730,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3731,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3731,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/main/mod_dav.c:3738,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3741,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3741,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3755,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3757,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3762,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3764,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3770,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3772,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:3780,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:3783,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:3791,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3795,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:3799,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3801,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:3806,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3807,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3808,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3810,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3812,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:3816,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3819,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3824,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3834,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3840,1
    - Dst: dav_notify_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:3844,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3850,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3855,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:3860,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:3863,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3674
    functionDepth: 5
    functionLinenumber: 3674
    functionLinenumberEnd: 3864
    functionName: dav_method_vsn_control
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_handle_err
    - dav_run_method_precondition
    - ap_xml_parse_input
    - dav_auto_checkin
    - dav_log_err
    - dav_validate_request
    - dav_find_child
    - dav_get_resource_state
    - dav_validate_root
    - dav_notify_created
    - dav_created
    - apr_psprintf
    - DAV_GET_HOOKS_LOCKS
    - dav_new_error
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_log_rerror
    - dav_push_error
    - APLOGNO
    - apr_table_setn
    - apr_xml_to_text
    - dav_auto_checkout
    - ap_escape_html
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int dav_method_vsn_control(request_rec *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:3871,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:3885,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:3891,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3893,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3893,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3899,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:3900,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3903,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3911,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3912,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3914,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:3915,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/dav/main/mod_dav.c:3921,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:3925,1
    - Dst: dav_xml_get_cdata
      Src: /src/httpd/modules/dav/main/mod_dav.c:3928,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/dav/main/mod_dav.c:3930,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:3940,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:3940,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:3951,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3953,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:3956,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3958,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3971,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3976,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:3981,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:3992,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:3993,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:3995,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:3997,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4001,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:4008,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:4012,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 3867
    functionDepth: 5
    functionLinenumber: 3867
    functionLinenumberEnd: 4013
    functionName: dav_method_checkout
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_xml_get_cdata
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - apr_array_push
    - ap_xml_parse_input
    - dav_find_child
    - dav_validate_root
    - dav_created
    - apr_psprintf
    - apr_table_get
    - strcmp
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_log_rerror
    - dav_push_error
    - APLOGNO
    - apr_table_setn
    - ap_escape_html
    - ap_set_content_length
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int dav_method_checkout(request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4019,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:4027,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4032,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4035,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4038,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4040,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4052,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4057,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4062,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4070,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4071,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4073,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4075,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:4079,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4082
      start: 4016
    functionDepth: 5
    functionLinenumber: 4016
    functionLinenumberEnd: 4082
    functionName: dav_method_uncheckout
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - ap_discard_request_body
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_escape_html
    - apr_psprintf
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int dav_method_uncheckout(request_rec *r)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4089,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4099,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:4103,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4105,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4105,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4111,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4115,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4118,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4121,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4123,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4135,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4140,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4145,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4154,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4155,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4157,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4159,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:4162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4085
    functionDepth: 5
    functionLinenumber: 4085
    functionLinenumberEnd: 4163
    functionName: dav_method_checkin
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - dav_push_error
    - dav_find_child
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - dav_validate_root
    - APLOGNO
    - ap_xml_parse_input
    - dav_created
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_escape_html
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int dav_method_checkin(request_rec *r)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4169,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:4186,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4193,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:4197,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4199,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4206,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4208,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4210,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4211,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4218,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4218,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4226,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/main/mod_dav.c:4232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4235,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4242,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4245,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4248,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4250,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4263,1
    - Dst: dav_lookup_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:4270,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4274,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4282,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4286,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4291,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4294,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4304,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4305,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4307,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4309,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4313,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:4316,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4165
    functionDepth: 5
    functionLinenumber: 4165
    functionLinenumberEnd: 4319
    functionName: dav_method_update
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_lookup_uri
    - ap_log_rerror
    - dav_push_error
    - dav_find_child
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - dav_validate_root
    - APLOGNO
    - apr_table_setn
    - ap_xml_parse_input
    - dav_get_depth
    - DAV_GET_HOOKS_VSN
    - apr_xml_to_text
    - dav_get_resource
    - apr_psprintf
    - ap_escape_html
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int dav_method_update(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4350,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4364,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4368,1
    - Dst: dav_add_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4344
    functionDepth: 1
    functionLinenumber: 4344
    functionLinenumberEnd: 4387
    functionName: dav_label_walker
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_run_method_precondition
    - dav_new_error
    - dav_add_response
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_label_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4392,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4408,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4413,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4416,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4419,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4421,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/mod_dav.c:4429,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:4435,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4437,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4444,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4447,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4450,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4454,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4454,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4461,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4462,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/main/mod_dav.c:4468,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4471,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4490,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4493,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4502,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4507,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4511,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4515,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/main/mod_dav.c:4518,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4521
      start: 4389
    functionDepth: 5
    functionLinenumber: 4389
    functionLinenumberEnd: 4521
    functionName: dav_method_label
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - dav_push_error
    - dav_find_child
    - dav_handle_err
    - dav_run_method_precondition
    - dav_validate_root
    - APLOGNO
    - apr_table_setn
    - ap_xml_parse_input
    - dav_get_depth
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - apr_xml_to_text
    - ap_set_content_length
    - dav_new_error
    linkageType: ''
    returnType: int
    signature: int dav_method_label(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - r
    - resource
    - doc
    - output
    - err
    argTypes:
    - request_rec*
    - dav_resource*
    - apr_xml_doc*
    - ap_filter_t*
    - dav_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4523
    functionDepth: 1
    functionLinenumber: 4523
    functionLinenumberEnd: 4537
    functionName: dav_core_deliver_report
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - DAV_GET_HOOKS_VSN
    linkageType: ''
    returnType: int
    signature: "int dav_core_deliver_report(request_rec *r,\n                          const
      dav_resource *resource,\n                          const apr_xml_doc *doc,\n
      \                         ap_filter_t *output, dav_error **err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4545,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/dav/main/mod_dav.c:4553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - r
    - resource
    - reports
    - err
    argTypes:
    - request_rec*
    - dav_resource*
    - apr_array_header_t*
    - dav_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4539
    functionDepth: 1
    functionLinenumber: 4539
    functionLinenumberEnd: 4562
    functionName: dav_core_gather_reports
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - DAV_GET_HOOKS_VSN
    - apr_array_push
    linkageType: ''
    returnType: void
    signature: "void dav_core_gather_reports(\n    request_rec *r,\n    const dav_resource
      *resource,\n    apr_array_header_t *reports,\n    dav_error **err)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4567,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4574,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4579,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4579,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4589,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4592,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4596,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4598,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:4608,1
    - Dst: dav_run_deliver_report
      Src: /src/httpd/modules/dav/main/mod_dav.c:4612,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4618,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4627,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4630,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4646
      start: 4564
    functionDepth: 5
    functionLinenumber: 4564
    functionLinenumberEnd: 4646
    functionName: dav_method_report
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - dav_push_error
    - ap_set_content_type_ex
    - dav_handle_err
    - dav_run_method_precondition
    - APLOGNO
    - dav_run_deliver_report
    - ap_xml_parse_input
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - dav_log_err
    linkageType: ''
    returnType: int
    signature: int dav_method_report(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4651,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4663,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4666,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4669,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4674,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4676,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:4680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4681,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4681,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4695,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4697,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4704,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4705,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4707,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4709,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4713,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:4716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4717
      start: 4648
    functionDepth: 5
    functionLinenumber: 4648
    functionLinenumberEnd: 4717
    functionName: dav_method_make_workspace
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - dav_push_error
    - dav_handle_err
    - dav_run_method_precondition
    - dav_validate_root
    - APLOGNO
    - apr_table_setn
    - ap_xml_parse_input
    - dav_created
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_escape_html
    - apr_psprintf
    - dav_new_error
    linkageType: ''
    returnType: int
    signature: int dav_method_make_workspace(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4722,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4733,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4736,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4739,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4741,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/dav/main/mod_dav.c:4745,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4757,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4759,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4766,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4768,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4775,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4776,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4778,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4780,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4784,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:4787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4719
    functionDepth: 5
    functionLinenumber: 4719
    functionLinenumberEnd: 4788
    functionName: dav_method_make_activity
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - ap_discard_request_body
    - dav_handle_err
    - dav_run_method_precondition
    - apr_table_setn
    - dav_created
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_escape_html
    - apr_psprintf
    - dav_new_error
    linkageType: ''
    returnType: int
    signature: int dav_method_make_activity(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4794
    functionName: dav_method_baseline_control
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dav_method_baseline_control(request_rec *r)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_VSN
      Src: /src/httpd/modules/dav/main/mod_dav.c:4800,1
    - Dst: ap_xml_parse_input
      Src: /src/httpd/modules/dav/main/mod_dav.c:4816,1
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/mod_dav.c:4819,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4821,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4821,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4827,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4829,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4829,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4834,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4836,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4836,1
    - Dst: dav_xml_get_cdata
      Src: /src/httpd/modules/dav/main/mod_dav.c:4841,1
    - Dst: dav_lookup_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:4845,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4849,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4849,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4857,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:4861,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4864,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4867,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4870,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4872,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4875,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4876,1
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/mod_dav.c:4878,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4888,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4891,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4894,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4896,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/dav/main/mod_dav.c:4910,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/dav/main/mod_dav.c:4916,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:4928,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:4929,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4932,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:4933,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4935,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4941
      start: 4796
    functionDepth: 5
    functionLinenumber: 4796
    functionLinenumberEnd: 4941
    functionName: dav_method_merge
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_xml_get_cdata
    - dav_lookup_uri
    - ap_log_rerror
    - dav_push_error
    - dav_find_child
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - dav_validate_root
    - APLOGNO
    - apr_table_setn
    - ap_xml_parse_input
    - ap_set_content_type_ex
    - DAV_GET_HOOKS_VSN
    - dav_get_resource
    - ap_escape_html
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int dav_method_merge(request_rec *r)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_BINDING
      Src: /src/httpd/modules/dav/main/mod_dav.c:4948,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:4961,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4964,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:4967,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:4969,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:4978,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4981,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4981,1
    - Dst: dav_lookup_uri
      Src: /src/httpd/modules/dav/main/mod_dav.c:4986,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:4990,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:4990,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5000,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5008,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5012,1
    - Dst: dav_get_resource
      Src: /src/httpd/modules/dav/main/mod_dav.c:5017,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5020,1
    - Dst: dav_run_method_precondition
      Src: /src/httpd/modules/dav/main/mod_dav.c:5023,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5025,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5031,1
    - Dst: dav_get_overwrite
      Src: /src/httpd/modules/dav/main/mod_dav.c:5038,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5046,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5053,1
    - Dst: dav_validate_request
      Src: /src/httpd/modules/dav/main/mod_dav.c:5067,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:5071,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:5072,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:5076,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5078,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5084,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5095,1
    - Dst: dav_auto_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:5101,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5104,1
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:5118,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:5124,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/mod_dav.c:5125,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/dav/main/mod_dav.c:5127,1
    - Dst: dav_handle_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5129,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/mod_dav.c:5135,1
    - Dst: dav_log_err
      Src: /src/httpd/modules/dav/main/mod_dav.c:5140,1
    - Dst: dav_created
      Src: /src/httpd/modules/dav/main/mod_dav.c:5145,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 4943
    functionDepth: 5
    functionLinenumber: 4943
    functionLinenumberEnd: 5146
    functionName: dav_method_bind
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_lookup_uri
    - ap_log_rerror
    - dav_push_error
    - dav_error_response
    - dav_handle_err
    - dav_run_method_precondition
    - APLOGNO
    - dav_get_overwrite
    - dav_created
    - dav_get_resource
    - dav_auto_checkin
    - ap_escape_html
    - apr_psprintf
    - apr_table_get
    - DAV_GET_HOOKS_BINDING
    - dav_auto_checkout
    - dav_log_err
    - dav_validate_request
    linkageType: ''
    returnType: int
    signature: int dav_method_bind(request_rec *r)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:5157,1
    - Dst: dav_mswdv_preprocessing
      Src: /src/httpd/modules/dav/main/mod_dav.c:5159,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/mod_dav.c:5163,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/mod_dav.c:5169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/mod_dav.c:5169,1
    - Dst: dav_error_response
      Src: /src/httpd/modules/dav/main/mod_dav.c:5171,1
    - Dst: dav_method_get
      Src: /src/httpd/modules/dav/main/mod_dav.c:5235,1
    - Dst: dav_method_put
      Src: /src/httpd/modules/dav/main/mod_dav.c:5239,1
    - Dst: dav_method_post
      Src: /src/httpd/modules/dav/main/mod_dav.c:5243,1
    - Dst: dav_method_delete
      Src: /src/httpd/modules/dav/main/mod_dav.c:5247,1
    - Dst: dav_method_options
      Src: /src/httpd/modules/dav/main/mod_dav.c:5251,1
    - Dst: dav_method_propfind
      Src: /src/httpd/modules/dav/main/mod_dav.c:5255,1
    - Dst: dav_method_proppatch
      Src: /src/httpd/modules/dav/main/mod_dav.c:5259,1
    - Dst: dav_method_mkcol
      Src: /src/httpd/modules/dav/main/mod_dav.c:5263,1
    - Dst: dav_method_copymove
      Src: /src/httpd/modules/dav/main/mod_dav.c:5267,1
    - Dst: dav_method_copymove
      Src: /src/httpd/modules/dav/main/mod_dav.c:5271,1
    - Dst: dav_method_lock
      Src: /src/httpd/modules/dav/main/mod_dav.c:5275,1
    - Dst: dav_method_unlock
      Src: /src/httpd/modules/dav/main/mod_dav.c:5279,1
    - Dst: dav_method_vsn_control
      Src: /src/httpd/modules/dav/main/mod_dav.c:5283,1
    - Dst: dav_method_checkout
      Src: /src/httpd/modules/dav/main/mod_dav.c:5287,1
    - Dst: dav_method_uncheckout
      Src: /src/httpd/modules/dav/main/mod_dav.c:5291,1
    - Dst: dav_method_checkin
      Src: /src/httpd/modules/dav/main/mod_dav.c:5295,1
    - Dst: dav_method_update
      Src: /src/httpd/modules/dav/main/mod_dav.c:5299,1
    - Dst: dav_method_label
      Src: /src/httpd/modules/dav/main/mod_dav.c:5303,1
    - Dst: dav_method_report
      Src: /src/httpd/modules/dav/main/mod_dav.c:5307,1
    - Dst: dav_method_make_workspace
      Src: /src/httpd/modules/dav/main/mod_dav.c:5311,1
    - Dst: dav_method_make_activity
      Src: /src/httpd/modules/dav/main/mod_dav.c:5315,1
    - Dst: dav_method_baseline_control
      Src: /src/httpd/modules/dav/main/mod_dav.c:5319,1
    - Dst: dav_method_merge
      Src: /src/httpd/modules/dav/main/mod_dav.c:5323,1
    - Dst: dav_method_bind
      Src: /src/httpd/modules/dav/main/mod_dav.c:5328,1
    - Dst: dav_method_search
      Src: /src/httpd/modules/dav/main/mod_dav.c:5333,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5339
      start: 5152
    functionDepth: 6
    functionLinenumber: 5152
    functionLinenumberEnd: 5339
    functionName: dav_handler
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_error_response
    - dav_method_mkcol
    - dav_method_make_activity
    - dav_method_options
    - dav_method_unlock
    - ap_get_module_config
    - dav_method_put
    - dav_method_uncheckout
    - dav_method_baseline_control
    - dav_method_update
    - dav_method_delete
    - dav_method_lock
    - dav_method_merge
    - dav_method_bind
    - dav_method_search
    - strcmp
    - dav_method_post
    - dav_method_label
    - dav_method_report
    - dav_method_get
    - dav_method_copymove
    - dav_mswdv_preprocessing
    - ap_log_rerror
    - dav_method_checkin
    - APLOGNO
    - dav_method_proppatch
    - dav_method_propfind
    - dav_method_checkout
    - dav_method_make_workspace
    - dav_method_vsn_control
    linkageType: ''
    returnType: int
    signature: int dav_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:5350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5394
      start: 5341
    functionDepth: 0
    functionLinenumber: 5341
    functionLinenumberEnd: 5394
    functionName: dav_fixups
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int dav_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/dav/main/mod_dav.c:5400,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/dav/main/mod_dav.c:5401,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/dav/main/mod_dav.c:5402,1
    - Dst: dav_hook_find_liveprop
      Src: /src/httpd/modules/dav/main/mod_dav.c:5404,1
    - Dst: dav_hook_insert_all_liveprops
      Src: /src/httpd/modules/dav/main/mod_dav.c:5405,1
    - Dst: dav_hook_deliver_report
      Src: /src/httpd/modules/dav/main/mod_dav.c:5408,1
    - Dst: dav_hook_gather_reports
      Src: /src/httpd/modules/dav/main/mod_dav.c:5410,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/dav/main/mod_dav.c:5413,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/dav/main/mod_dav.c:5415,1
    - Dst: dav_core_register_uris
      Src: /src/httpd/modules/dav/main/mod_dav.c:5418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5398
    functionDepth: 1
    functionLinenumber: 5398
    functionLinenumberEnd: 5419
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/dav/main/mod_dav.c
    functionUses: 0
    functionsReached:
    - dav_hook_deliver_report
    - ap_register_output_filter
    - dav_hook_insert_all_liveprops
    - dav_hook_find_liveprop
    - ap_hook_handler
    - ap_register_input_filter
    - dav_hook_gather_reports
    - ap_hook_fixups
    - ap_hook_post_config
    - dav_core_register_uris
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: dav_cleanup_liveprops
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dav_cleanup_liveprops(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/dav/main/liveprop.c:41,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/dav/main/liveprop.c:42,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/main/liveprop.c:45,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/dav/main/liveprop.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - uri
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: dav_register_liveprop_namespace
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_hash_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void dav_register_liveprop_namespace(apr_pool_t *p, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/main/liveprop.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: dav_get_liveprop_ns_index
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void dav_get_liveprop_ns_index(const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: dav_get_liveprop_ns_count
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dav_get_liveprop_ns_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_first
      Src: /src/httpd/modules/dav/main/liveprop.c:69,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/dav/main/liveprop.c:71,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/dav/main/liveprop.c:76,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/liveprop.c:78,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/liveprop.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - phdr
    argTypes:
    - apr_pool_t*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: dav_add_all_liveprop_xmlns
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - apr_hash_this
    - apr_hash_next
    - apr_text_append
    - apr_psprintf
    - apr_hash_first
    linkageType: ''
    returnType: void
    signature: "void dav_add_all_liveprop_xmlns(apr_pool_t *p,\n                                             apr_text_header
      *phdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/liveprop.c:93,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/liveprop.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ns_uri
    - name
    - group
    - hooks
    argTypes:
    - char*
    - char*
    - dav_liveprop_group*
    - dav_hooks_liveprop**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: dav_do_find_liveprop
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dav_do_find_liveprop(const char *ns_uri, const char *name,\n
      \                                     const dav_liveprop_group *group,\n                                      const
      dav_hooks_liveprop **hooks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_liveprop_ns_index
      Src: /src/httpd/modules/dav/main/liveprop.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - propid
    - group
    - info
    argTypes:
    - int
    - dav_liveprop_group*
    - dav_liveprop_spec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: dav_get_liveprop_info
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - dav_get_liveprop_ns_index
    linkageType: ''
    returnType: void
    signature: "void dav_get_liveprop_info(int propid,\n                                       const
      dav_liveprop_group *group,\n                                       const dav_liveprop_spec
      **info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_register_liveprop_namespace
      Src: /src/httpd/modules/dav/main/liveprop.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - group
    argTypes:
    - apr_pool_t*
    - dav_liveprop_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: dav_register_liveprop_group
    functionSourceFile: /src/httpd/modules/dav/main/liveprop.c
    functionUses: 0
    functionsReached:
    - dav_register_liveprop_namespace
    linkageType: ''
    returnType: void
    signature: "void dav_register_liveprop_group(apr_pool_t *p,\n                                              const
      dav_liveprop_group *group)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/dav/main/std_liveprop.c:76,1
    - Dst: dav_get_resource_type_providers
      Src: /src/httpd/modules/dav/main/std_liveprop.c:82,1
    - Dst: dav_resource_type_provider*::get_resource_type
      Src: /src/httpd/modules/dav/main/std_liveprop.c:88,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/main/std_liveprop.c:91,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:92,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:95,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:105,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:112,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:122,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:125,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:128,1
    - Dst: dav_get_liveprop_info
      Src: /src/httpd/modules/dav/main/std_liveprop.c:152,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/std_liveprop.c:157,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/std_liveprop.c:163,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/std_liveprop.c:167,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/std_liveprop.c:169,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - resource
    - propid
    - what
    - phdr
    argTypes:
    - dav_resource*
    - int
    - dav_prop_insert
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 173
    functionName: dav_core_insert_prop
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 0
    functionsReached:
    - dav_get_liveprop_info
    - apr_pstrcat
    - dav_resource_type_provider*::get_resource_type
    - strcasecmp
    - ap_list_provider_names
    - apr_psprintf
    - apr_text_append
    - dav_get_resource_type_providers
    linkageType: ''
    returnType: dav_prop_insert
    signature: "dav_prop_insert dav_core_insert_prop(const dav_resource *resource,\n
      \                                           int propid, dav_prop_insert what,\n
      \                                           apr_text_header *phdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_liveprop_info
      Src: /src/httpd/modules/dav/main/std_liveprop.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resource
    - propid
    argTypes:
    - dav_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: dav_core_is_writable
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 0
    functionsReached:
    - dav_get_liveprop_info
    linkageType: ''
    returnType: int
    signature: int dav_core_is_writable(const dav_resource *resource, int propid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - resource
    - elem
    - operation
    - context
    - defer_to_dead
    argTypes:
    - dav_resource*
    - apr_xml_elem*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: dav_core_patch_validate
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_core_patch_validate(const dav_resource *resource,\n
      \                                          const apr_xml_elem *elem,\n                                           int
      operation, void **context,\n                                           int *defer_to_dead)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_do_find_liveprop
      Src: /src/httpd/modules/dav/main/std_liveprop.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - resource
    - ns_uri
    - name
    - hooks
    argTypes:
    - dav_resource*
    - char*
    - char*
    - dav_hooks_liveprop**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: dav_core_find_liveprop
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 0
    functionsReached:
    - dav_do_find_liveprop
    linkageType: ''
    returnType: void
    signature: "void dav_core_find_liveprop(\n    const dav_resource *resource,\n
      \   const char *ns_uri, const char *name,\n    const dav_hooks_liveprop **hooks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_core_insert_prop
      Src: /src/httpd/modules/dav/main/std_liveprop.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - resource
    - what
    - phdr
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_prop_insert
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: dav_core_insert_all_liveprops
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 0
    functionsReached:
    - dav_core_insert_prop
    linkageType: ''
    returnType: void
    signature: "void dav_core_insert_all_liveprops(\n    request_rec *r,\n    const
      dav_resource *resource,\n    dav_prop_insert what,\n    apr_text_header *phdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_register_liveprop_group
      Src: /src/httpd/modules/dav/main/std_liveprop.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: dav_core_register_uris
    functionSourceFile: /src/httpd/modules/dav/main/std_liveprop.c
    functionUses: 1
    functionsReached:
    - dav_register_liveprop_group
    linkageType: ''
    returnType: void
    signature: void dav_core_register_uris(apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dav_run_find_liveprop
      Src: /src/httpd/modules/dav/main/props.c:244,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/props.c:251,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/props.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - propdb
    - ns_uri
    - propname
    - provider
    argTypes:
    - dav_propdb*
    - char*
    - char*
    - dav_hooks_liveprop**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 262
    functionName: dav_find_liveprop_provider
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dav_run_find_liveprop
    linkageType: ''
    returnType: int
    signature: "int dav_find_liveprop_provider(dav_propdb *propdb,\n                                      const
      char *ns_uri,\n                                      const char *propname,\n
      \                                     const dav_hooks_liveprop **provider)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/props.c:276,1
    - Dst: dav_find_liveprop_provider
      Src: /src/httpd/modules/dav/main/props.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - propdb
    - elem
    argTypes:
    - dav_propdb*
    - apr_xml_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: dav_find_liveprop
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_find_liveprop_provider
    - APR_XML_GET_URI_ITEM
    linkageType: ''
    returnType: void
    signature: void dav_find_liveprop(dav_propdb *propdb, apr_xml_elem *elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - propdb
    - priv
    argTypes:
    - dav_propdb*
    - dav_elem_private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 323
    functionName: dav_rw_liveprop
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dav_rw_liveprop(dav_propdb *propdb, dav_elem_private *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/dav/main/props.c:330,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/dav/main/props.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - propdb
    argTypes:
    - dav_propdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: dav_do_prop_subreq
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - ap_escape_uri
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void dav_do_prop_subreq(dav_propdb *propdb)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/main/props.c:364,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/props.c:366,1
    - Dst: dav_lock_get_activelock
      Src: /src/httpd/modules/dav/main/props.c:382,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/main/props.c:386,1
    - Dst: dav_do_prop_subreq
      Src: /src/httpd/modules/dav/main/props.c:399,1
    - Dst: dav_do_prop_subreq
      Src: /src/httpd/modules/dav/main/props.c:411,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/main/props.c:413,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:433,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:439,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:444,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:446,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 6
    argNames:
    - propdb
    - propid
    - name
    - what
    - phdr
    - inserted
    argTypes:
    - dav_propdb*
    - int
    - char*
    - dav_prop_insert
    - apr_text_header*
    - dav_prop_insert*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 452
    functionName: dav_insert_coreprop
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - apr_pstrcat
    - dav_lock_get_activelock
    - dav_lock_query
    - apr_text_append
    - apr_table_get
    - dav_do_prop_subreq
    - apr_pstrdup
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_insert_coreprop(dav_propdb *propdb,\n                                       int
      propid, const char *name,\n                                       dav_prop_insert
      what,\n                                       apr_text_header *phdr,\n                                       dav_prop_insert
      *inserted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - propdb
    - elem
    - what
    - phdr
    - inserted
    argTypes:
    - dav_propdb*
    - apr_xml_elem*
    - dav_prop_insert
    - apr_text_header*
    - dav_prop_insert*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: dav_insert_liveprop
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_insert_coreprop
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_insert_liveprop(dav_propdb *propdb,\n                                       const
      apr_xml_elem *elem,\n                                       dav_prop_insert
      what,\n                                       apr_text_header *phdr,\n                                       dav_prop_insert
      *inserted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:485,1
    - Dst: dav_xmlns_add_uri
      Src: /src/httpd/modules/dav/main/props.c:487,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:489,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pool
    - name
    - xi
    - phdr
    argTypes:
    - apr_pool_t*
    - dav_prop_name*
    - dav_xmlns_info*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: dav_output_prop_name
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_xmlns_add_uri
    - apr_text_append
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void dav_output_prop_name(apr_pool_t *pool,\n                                 const
      dav_prop_name *name,\n                                 dav_xmlns_info *xi,\n
      \                                apr_text_header *phdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/props.c:500,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p
    - pre_prefix
    - ns
    - ns_uri
    - phdr
    argTypes:
    - apr_pool_t*
    - char*
    - long
    - char*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: dav_insert_xmlns
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - apr_text_append
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void dav_insert_xmlns(apr_pool_t *p, const char *pre_prefix, long
      ns,\n                             const char *ns_uri, apr_text_header *phdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/props.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - propdb
    - ro
    argTypes:
    - dav_propdb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 528
    functionName: dav_really_open_db
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error *dav_really_open_db(dav_propdb *propdb, int ro)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_popen_propdb
      Src: /src/httpd/modules/dav/main/props.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - r
    - lockdb
    - resource
    - flags
    - ns_xlate
    - p_propdb
    argTypes:
    - request_rec*
    - dav_lockdb*
    - dav_resource*
    - int
    - apr_array_header_t*
    - dav_propdb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: dav_open_propdb
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 2
    functionsReached:
    - dav_popen_propdb
    linkageType: ''
    returnType: void
    signature: "void dav_open_propdb(request_rec *r, dav_lockdb *lockdb,\n                                        const
      dav_resource *resource,\n                                        int flags,\n
      \                                       apr_array_header_t * ns_xlate,\n                                        dav_propdb
      **p_propdb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:549,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/props.c:556,1
    - Dst: DAV_GET_HOOKS_PROPDB
      Src: /src/httpd/modules/dav/main/props.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 7
    argNames:
    - p
    - r
    - lockdb
    - resource
    - flags
    - ns_xlate
    - p_propdb
    argTypes:
    - apr_pool_t*
    - request_rec*
    - dav_lockdb*
    - dav_resource*
    - int
    - apr_array_header_t*
    - dav_propdb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 581
    functionName: dav_popen_propdb
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 2
    functionsReached:
    - DAV_GET_HOOKS_PROPDB
    - dav_new_error
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void dav_popen_propdb(apr_pool_t *p,\n                                         request_rec
      *r, dav_lockdb *lockdb,\n                                         const dav_resource
      *resource,\n                                         int flags,\n                                         apr_array_header_t
      * ns_xlate,\n                                         dav_propdb **p_propdb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/dav/main/props.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - propdb
    argTypes:
    - dav_propdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: dav_close_propdb
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 3
    functionsReached:
    - ap_destroy_sub_req
    linkageType: ''
    returnType: void
    signature: void dav_close_propdb(dav_propdb *propdb)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dav_really_open_db
      Src: /src/httpd/modules/dav/main/props.c:615,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:619,1
    - Dst: dav_xmlns_create
      Src: /src/httpd/modules/dav/main/props.c:625,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/props.c:642,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/props.c:644,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/props.c:647,1
    - Dst: dav_propdb*::resource::acls::acl_check_prop
      Src: /src/httpd/modules/dav/main/props.c:656,1
    - Dst: dav_output_prop_name
      Src: /src/httpd/modules/dav/main/props.c:678,1
    - Dst: dav_xmlns_generate
      Src: /src/httpd/modules/dav/main/props.c:687,1
    - Dst: dav_add_all_liveprop_xmlns
      Src: /src/httpd/modules/dav/main/props.c:692,1
    - Dst: dav_run_insert_all_liveprops
      Src: /src/httpd/modules/dav/main/props.c:699,1
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:703,1
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:706,1
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:713,1
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:720,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/dav/main/props.c:737,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/dav/main/props.c:738,1
    - Dst: apr_xml_parser_create
      Src: /src/httpd/modules/dav/main/props.c:739,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/modules/dav/main/props.c:741,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/modules/dav/main/props.c:744,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/props.c:744,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/modules/dav/main/props.c:746,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/modules/dav/main/props.c:752,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/main/props.c:752,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/modules/dav/main/props.c:754,1
    - Dst: apr_xml_parser_done
      Src: /src/httpd/modules/dav/main/props.c:756,1
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/props.c:763,1
    - Dst: dav_propdb*::resource::acls::acl_check_prop
      Src: /src/httpd/modules/dav/main/props.c:766,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/main/props.c:772,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/main/props.c:775,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:776,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/dav/main/props.c:779,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:786,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 2
    argNames:
    - propdb
    - what
    argTypes:
    - dav_propdb*
    - dav_prop_insert
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 795
    functionName: dav_get_allprops
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 2
    functionsReached:
    - dav_output_prop_name
    - dav_xmlns_create
    - dav_propdb*::resource::acls::acl_check_prop
    - APR_XML_GET_URI_ITEM
    - apr_pstrcat
    - apr_xml_parser_feed
    - dav_run_insert_all_liveprops
    - apr_xml_parser_create
    - dav_add_all_liveprop_xmlns
    - strcmp
    - apr_pool_create
    - apr_text_append
    - apr_pool_destroy
    - apr_xml_parser_done
    - dav_really_open_db
    - dav_insert_coreprop
    - apr_pool_tag
    - dav_xmlns_generate
    - apr_xml_to_text
    - strlen
    linkageType: ''
    returnType: void
    signature: "void dav_get_allprops(dav_propdb *propdb,\n                                                   dav_prop_insert
      what)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dav_find_child
      Src: /src/httpd/modules/dav/main/props.c:801,1
    - Dst: dav_get_liveprop_element
      Src: /src/httpd/modules/dav/main/props.c:818,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:820,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/dav/main/props.c:821,1
    - Dst: memset
      Src: /src/httpd/modules/dav/main/props.c:824,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:832,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:841,1
    - Dst: dav_get_liveprop_ns_count
      Src: /src/httpd/modules/dav/main/props.c:841,1
    - Dst: dav_xmlns_create
      Src: /src/httpd/modules/dav/main/props.c:843,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:860,1
    - Dst: dav_find_liveprop
      Src: /src/httpd/modules/dav/main/props.c:866,1
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/props.c:877,1
    - Dst: dav_propdb*::resource::acls::acl_check_prop
      Src: /src/httpd/modules/dav/main/props.c:880,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:885,1
    - Dst: dav_output_prop_name
      Src: /src/httpd/modules/dav/main/props.c:893,1
    - Dst: dav_insert_liveprop
      Src: /src/httpd/modules/dav/main/props.c:900,1
    - Dst: dav_get_liveprop_ns_index
      Src: /src/httpd/modules/dav/main/props.c:920,1
    - Dst: dav_insert_xmlns
      Src: /src/httpd/modules/dav/main/props.c:925,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/props.c:941,1
    - Dst: dav_really_open_db
      Src: /src/httpd/modules/dav/main/props.c:956,1
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/props.c:962,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:993,1
    - Dst: dav_output_prop_name
      Src: /src/httpd/modules/dav/main/props.c:999,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:1002,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:1013,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/main/props.c:1030,1
    - Dst: dav_xmlns_generate
      Src: /src/httpd/modules/dav/main/props.c:1048,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 104
    argCount: 2
    argNames:
    - propdb
    - doc
    argTypes:
    - dav_propdb*
    - apr_xml_doc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 797
    functionDepth: 4
    functionLinenumber: 797
    functionLinenumberEnd: 1052
    functionName: dav_get_props
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 1
    functionsReached:
    - dav_get_liveprop_ns_index
    - dav_new_error
    - memset
    - apr_pcalloc
    - dav_find_child
    - dav_output_prop_name
    - dav_get_liveprop_ns_count
    - apr_pool_userdata_setn
    - dav_xmlns_create
    - dav_xmlns_generate
    - dav_get_liveprop_element
    - apr_text_append
    - dav_insert_liveprop
    - dav_propdb*::resource::acls::acl_check_prop
    - dav_find_liveprop
    - APR_XML_GET_URI_ITEM
    - dav_insert_xmlns
    - dav_really_open_db
    linkageType: ''
    returnType: void
    signature: "void dav_get_props(dav_propdb *propdb,\n                                                apr_xml_doc
      *doc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_find_liveprop_provider
      Src: /src/httpd/modules/dav/main/props.c:1062,1
    - Dst: dav_insert_coreprop
      Src: /src/httpd/modules/dav/main/props.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - propdb
    - ns_uri
    - propname
    - body
    argTypes:
    - dav_propdb*
    - char*
    - char*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1076
    functionName: dav_get_liveprop_supported
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 1
    functionsReached:
    - dav_find_liveprop_provider
    - dav_insert_coreprop
    linkageType: ''
    returnType: void
    signature: "void dav_get_liveprop_supported(dav_propdb *propdb,\n                                             const
      char *ns_uri,\n                                             const char *propname,\n
      \                                            apr_text_header *body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/dav/main/props.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1085
    functionName: dav_get_liveprop_element
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 1
    functionsReached:
    - apr_pool_userdata_get
    linkageType: ''
    returnType: void
    signature: void dav_get_liveprop_element(const dav_resource *resource)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:1093,1
    - Dst: dav_find_liveprop
      Src: /src/httpd/modules/dav/main/props.c:1103,1
    - Dst: dav_rw_liveprop
      Src: /src/httpd/modules/dav/main/props.c:1112,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/props.c:1113,1
    - Dst: dav_really_open_db
      Src: /src/httpd/modules/dav/main/props.c:1138,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/props.c:1149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_prop_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1087
    functionDepth: 2
    functionLinenumber: 1087
    functionLinenumberEnd: 1176
    functionName: dav_prop_validate
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    - dav_rw_liveprop
    - dav_find_liveprop
    - dav_new_error
    - dav_really_open_db
    linkageType: ''
    returnType: void
    signature: void dav_prop_validate(dav_prop_ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/main/props.c:1184,1
    - Dst: APR_XML_GET_URI_ITEM
      Src: /src/httpd/modules/dav/main/props.c:1198,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/props.c:1242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_prop_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1246
    functionName: dav_prop_exec
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - apr_pcalloc
    - APR_XML_GET_URI_ITEM
    linkageType: ''
    returnType: void
    signature: void dav_prop_exec(dav_prop_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_prop_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1263
    functionName: dav_prop_commit
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dav_prop_commit(dav_prop_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dav_prop_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1304
    functionName: dav_prop_rollback
    functionSourceFile: /src/httpd/modules/dav/main/props.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dav_prop_rollback(dav_prop_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/dav/main/providers.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - name
    - provider
    argTypes:
    - apr_pool_t*
    - char*
    - dav_provider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: dav_register_provider
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: "void dav_register_provider(apr_pool_t *p, const char *name,\n                                        const
      dav_provider *provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/dav/main/providers.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: dav_lookup_provider
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 1
    functionsReached:
    - ap_lookup_provider
    linkageType: ''
    returnType: void
    signature: void dav_lookup_provider(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/dav/main/providers.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - provider
    argTypes:
    - apr_pool_t*
    - dav_acl_provider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: dav_acl_provider_register
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: "void dav_acl_provider_register(apr_pool_t *p,\n                                            const
      dav_acl_provider *provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/dav/main/providers.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: dav_get_acl_providers
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 1
    functionsReached:
    - ap_lookup_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_acl_providers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/dav/main/providers.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - name
    - provider
    argTypes:
    - apr_pool_t*
    - char*
    - dav_options_provider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: dav_options_provider_register
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: "void dav_options_provider_register(apr_pool_t *p,\n                        const
      char *name,\n                        const dav_options_provider *provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/dav/main/providers.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: dav_get_options_providers
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 1
    functionsReached:
    - ap_lookup_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_options_providers(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/dav/main/providers.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - name
    - provider
    argTypes:
    - apr_pool_t*
    - char*
    - dav_resource_type_provider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: dav_resource_type_provider_register
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: "void dav_resource_type_provider_register(apr_pool_t *p,\n                          const
      char *name,\n                          const dav_resource_type_provider *provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/dav/main/providers.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: dav_get_resource_type_providers
    functionSourceFile: /src/httpd/modules/dav/main/providers.c
    functionUses: 1
    functionsReached:
    - ap_lookup_provider
    linkageType: ''
    returnType: void
    signature: void dav_get_resource_type_providers(const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util_lock.c:47,1
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/main/util_lock.c:79,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:87,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:95,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:98,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:104,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:107,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:110,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:116,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/main/util_lock.c:117,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:119,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:127,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:130,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:132,1
    - Dst: time
      Src: /src/httpd/modules/dav/main/util_lock.c:135,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:142,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/main/util_lock.c:145,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:146,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:150,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:154,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/main/util_lock.c:156,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - r
    - lock
    - pbuf
    argTypes:
    - request_rec*
    - dav_lock*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 163
    functionName: dav_lock_get_activelock
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 2
    functionsReached:
    - dav_check_bufsize
    - time
    - dav_buffer_append
    - DAV_GET_HOOKS_LOCKS
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void dav_lock_get_activelock(request_rec *r,\n                                                  dav_lock
      *lock,\n                                                  dav_buffer *pbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dav_validate_root
      Src: /src/httpd/modules/dav/main/util_lock.c:181,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:182,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util_lock.c:189,1
    - Dst: dav_get_depth
      Src: /src/httpd/modules/dav/main/util_lock.c:195,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:197,1
    - Dst: dav_get_timeout
      Src: /src/httpd/modules/dav/main/util_lock.c:200,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:204,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:207,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:212,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:215,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:217,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/main/util_lock.c:223,1
    - Dst: apr_xml_quote_elem
      Src: /src/httpd/modules/dav/main/util_lock.c:227,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/main/util_lock.c:233,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:240,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/main/util_lock.c:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 5
    argNames:
    - r
    - resource
    - lockdb
    - doc
    - lock_request
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_lockdb*
    - apr_xml_doc*
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 251
    functionName: dav_lock_parse_lockinfo
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 1
    functionsReached:
    - strcmp
    - dav_push_error
    - apr_xml_quote_elem
    - dav_validate_root
    - dav_get_depth
    - dav_get_timeout
    - apr_xml_to_text
    - apr_psprintf
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_lock_parse_lockinfo(request_rec *r,\n                                                 const
      dav_resource *resource,\n                                                 dav_lockdb
      *lockdb,\n                                                 const apr_xml_doc
      *doc,\n                                                 dav_lock **lock_request)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_HTTP_SERVER_ERROR
      Src: /src/httpd/modules/dav/main/util_lock.c:273,1
    - Dst: dav_add_response
      Src: /src/httpd/modules/dav/main/util_lock.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: dav_lock_walker
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_SERVER_ERROR
    - dav_add_response
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_lock_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - r
    - resource
    - lockdb
    - lock
    - response
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_lockdb*
    - dav_lock*
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 363
    functionName: dav_add_lock
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 2
    functionsReached:
    - dav_new_error
    linkageType: ''
    returnType: void
    signature: "void dav_add_lock(request_rec *r,\n                                      const
      dav_resource *resource,\n                                      dav_lockdb *lockdb,
      dav_lock *lock,\n                                      dav_response **response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - lockdb
    - resource
    - locks
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: dav_lock_query
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dav_lock_query(dav_lockdb *lockdb,\n                                       const
      dav_resource *resource,\n                                       dav_lock **locks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_auto_checkin
      Src: /src/httpd/modules/dav/main/util_lock.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 410
    functionName: dav_unlock_walker
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 0
    functionsReached:
    - dav_auto_checkin
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_unlock_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:460,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - p
    - lockdb
    - locktoken
    - resource
    - direct_resource
    argTypes:
    - apr_pool_t*
    - dav_lockdb*
    - dav_locktoken*
    - dav_resource*
    - dav_resource**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 485
    functionName: dav_get_direct_resource
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_get_direct_resource(apr_pool_t *p,\n                                           dav_lockdb
      *lockdb,\n                                           const dav_locktoken *locktoken,\n
      \                                          const dav_resource *resource,\n                                           const
      dav_resource **direct_resource)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util_lock.c:503,1
    - Dst: dav_get_direct_resource
      Src: /src/httpd/modules/dav/main/util_lock.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - r
    - resource
    - locktoken
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_locktoken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 563
    functionName: dav_unlock
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 3
    functionsReached:
    - dav_get_direct_resource
    - DAV_GET_HOOKS_LOCKS
    linkageType: ''
    returnType: void
    signature: "void dav_unlock(request_rec *r, const dav_resource *resource,\n                            const
      dav_locktoken *locktoken)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 580
    functionName: dav_inherit_walker
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_inherit_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/main/util_lock.c:610,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - r
    - lockdb
    - resource
    - use_parent
    argTypes:
    - request_rec*
    - dav_lockdb*
    - dav_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 671
    functionName: dav_inherit_locks
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_inherit_locks(request_rec *r, dav_lockdb *lockdb,\n
      \                                    const dav_resource *resource,\n                                     int
      use_parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DAV_GET_HOOKS_LOCKS
      Src: /src/httpd/modules/dav/main/util_lock.c:689,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/main/util_lock.c:731,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/main/util_lock.c:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - r
    - resource
    argTypes:
    - request_rec*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 743
    functionName: dav_get_resource_state
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 9
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - DAV_GET_HOOKS_LOCKS
    linkageType: ''
    returnType: void
    signature: "void dav_get_resource_state(request_rec *r,\n                                        const
      dav_resource *resource)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dav_inherit_locks
      Src: /src/httpd/modules/dav/main/util_lock.c:773,1
    - Dst: dav_inherit_locks
      Src: /src/httpd/modules/dav/main/util_lock.c:785,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/main/util_lock.c:787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - r
    - lockdb
    - resource
    - resource_state
    - depth
    argTypes:
    - request_rec*
    - dav_lockdb*
    - dav_resource*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 798
    functionName: dav_notify_created
    functionSourceFile: /src/httpd/modules/dav/main/util_lock.c
    functionUses: 4
    functionsReached:
    - dav_inherit_locks
    - dav_push_error
    linkageType: ''
    returnType: void
    signature: "void dav_notify_created(request_rec *r,\n                                            dav_lockdb
      *lockdb,\n                                            const dav_resource *resource,\n
      \                                           int resource_state,\n                                            int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: MAP_IO2HTTP
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_IO2HTTP(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: dav_fs_get_request_rec
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: request_rec
    signature: request_rec *dav_fs_get_request_rec(const dav_resource *resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: dav_fs_pool
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_pool_t
    signature: apr_pool_t *dav_fs_pool(const dav_resource *resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: dav_fs_pathname
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dav_fs_pathname(const dav_resource *resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: dav_fs_fname
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dav_fs_fname(const dav_resource *resource)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: dav_fs_size
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t dav_fs_size(const dav_resource *resource)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/repos.c:280,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:281,1
    - Dst: apr_filepath_root
      Src: /src/httpd/modules/dav/fs/repos.c:286,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - resource
    - dirpath_p
    - fname_p
    argTypes:
    - dav_resource*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 321
    functionName: dav_fs_dir_file_name
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_filepath_root
    - dav_new_error
    - ap_make_dirstr_parent
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_dir_file_name(\n    const dav_resource *resource,\n
      \   const char **dirpath_p,\n    const char **fname_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/modules/dav/fs/repos.c:330,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:336,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - style
    - sec
    - buf
    - buflen
    argTypes:
    - int
    - apr_time_t
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: dav_format_time
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_snprintf
    - apr_time_exp_gmt
    linkageType: ''
    returnType: void
    signature: void dav_format_time(int style, apr_time_t sec, char *buf, apr_size_t
      buflen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/dav/fs/repos.c:380,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:381,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/fs/repos.c:390,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:392,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:395,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:400,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:403,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:405,1
    - Dst: MAP_IO2HTTP
      Src: /src/httpd/modules/dav/fs/repos.c:405,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/dav/fs/repos.c:412,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:416,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:417,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:419,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:423,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:431,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/dav/fs/repos.c:439,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:443,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:444,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:446,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:450,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:457,1
    - Dst: MAP_IO2HTTP
      Src: /src/httpd/modules/dav/fs/repos.c:457,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:462,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:463,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:465,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:469,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:474,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:475,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:481,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:485,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:492,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 7
    argNames:
    - is_move
    - p
    - src
    - dst
    - src_finfo
    - dst_finfo
    - pbuf
    argTypes:
    - int
    - apr_pool_t*
    - char*
    - char*
    - apr_finfo_t*
    - apr_finfo_t*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 499
    functionName: dav_fs_copymove_file
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - apr_file_write_full
    - dav_set_bufsize
    - apr_file_close
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - apr_psprintf
    - apr_file_open
    - apr_file_read
    - dav_new_error
    - MAP_IO2HTTP
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_copymove_file(\n    int is_move,\n    apr_pool_t
      * p,\n    const char *src,\n    const char *dst,\n    const apr_finfo_t *src_finfo,\n
      \   const apr_finfo_t *dst_finfo,\n    dav_buffer *pbuf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:517,1
    - Dst: apr_stat
      Src: /src/httpd/modules/dav/fs/repos.c:520,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:526,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/dav/fs/repos.c:531,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/dav/fs/repos.c:533,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:535,1
    - Dst: apr_stat
      Src: /src/httpd/modules/dav/fs/repos.c:541,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:545,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:553,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:558,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/dav/fs/repos.c:563,1
    - Dst: APR_STATUS_IS_EXDEV
      Src: /src/httpd/modules/dav/fs/repos.c:564,1
    - Dst: dav_fs_copymove_file
      Src: /src/httpd/modules/dav/fs/repos.c:565,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:569,1
    - Dst: dav_fs_copymove_file
      Src: /src/httpd/modules/dav/fs/repos.c:576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 7
    argNames:
    - is_move
    - p
    - src_dir
    - src_file
    - dst_dir
    - dst_file
    - pbuf
    argTypes:
    - int
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 580
    functionName: dav_fs_copymove_state
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_copymove_file
    - apr_pstrcat
    - apr_file_rename
    - APR_STATUS_IS_EXDEV
    - APR_STATUS_IS_EEXIST
    - apr_stat
    - apr_dir_make
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_copymove_state(\n    int is_move,\n    apr_pool_t
      * p,\n    const char *src_dir, const char *src_file,\n    const char *dst_dir,
      const char *dst_file,\n    dav_buffer *pbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/repos.c:599,1
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/repos.c:603,1
    - Dst: dav_dbm_get_statefiles
      Src: /src/httpd/modules/dav/fs/repos.c:608,1
    - Dst: dav_dbm_get_statefiles
      Src: /src/httpd/modules/dav/fs/repos.c:609,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:613,1
    - Dst: dav_fs_copymove_state
      Src: /src/httpd/modules/dav/fs/repos.c:619,1
    - Dst: dav_fs_copymove_state
      Src: /src/httpd/modules/dav/fs/repos.c:625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - is_move
    - p
    - src
    - dst
    - pbuf
    argTypes:
    - int
    - apr_pool_t*
    - dav_resource*
    - dav_resource*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 644
    functionName: dav_fs_copymoveset
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_copymove_state
    - dav_dbm_get_statefiles
    - dav_fs_dir_file_name
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_copymoveset(int is_move, apr_pool_t *p,\n                                     const
      dav_resource *src,\n                                     const dav_resource
      *dst,\n                                     dav_buffer *pbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/repos.c:658,1
    - Dst: dav_dbm_get_statefiles
      Src: /src/httpd/modules/dav/fs/repos.c:661,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:664,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:671,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:672,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:673,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:679,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:685,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:686,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p
    - resource
    argTypes:
    - apr_pool_t*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 696
    functionName: dav_fs_deleteset
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_dir_file_name
    - apr_pstrcat
    - dav_dbm_get_statefiles
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error *dav_fs_deleteset(apr_pool_t *p, const dav_resource *resource)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/repos.c:845,1
    - Dst: apr_filepath_root
      Src: /src/httpd/modules/dav/fs/repos.c:856,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/repos.c:866,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/repos.c:871,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:872,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:872,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:873,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/repos.c:876,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/repos.c:883,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:884,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:884,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:885,1
    - Dst: apr_stat
      Src: /src/httpd/modules/dav/fs/repos.c:889,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - resource
    - result_parent
    argTypes:
    - dav_resource*
    - dav_resource**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 897
    functionName: dav_fs_get_parent_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_stat
    - strlen
    - apr_filepath_root
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_get_parent_resource(const dav_resource *resource,\n
      \                                             dav_resource **result_parent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/repos.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - res1
    - res2
    argTypes:
    - dav_resource*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 916
    functionName: dav_fs_is_same_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int dav_fs_is_same_resource(\n    const dav_resource *res1,\n    const
      dav_resource *res2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:924,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:931,1
    - Dst: memcmp
      Src: /src/httpd/modules/dav/fs/repos.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - res1
    - res2
    argTypes:
    - dav_resource*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 936
    functionName: dav_fs_is_parent_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int dav_fs_is_parent_resource(\n    const dav_resource *res1,\n    const
      dav_resource *res2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: tmpfile_cleanup
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t tmpfile_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/modules/dav/fs/repos.c:951,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:953,1
    - Dst: ap_assert
      Src: /src/httpd/modules/dav/fs/repos.c:955,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:959,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:960,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/dav/fs/repos.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fp
    - templ
    - p
    argTypes:
    - apr_file_t**
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: dav_fs_mktemp
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - getpid
    - APR_STATUS_IS_EEXIST
    - apr_file_open
    - strlen
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dav_fs_mktemp(apr_file_t **fp, char *templ, apr_pool_t
      *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/repos.c:973,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:996,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/repos.c:996,1
    - Dst: dav_fs_mktemp
      Src: /src/httpd/modules/dav/fs/repos.c:998,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/dav/fs/repos.c:999,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:1003,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/dav/fs/repos.c:1009,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:1010,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1013,1
    - Dst: MAP_IO2HTTP
      Src: /src/httpd/modules/dav/fs/repos.c:1013,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:1014,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:1021,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1023,1
    - Dst: MAP_IO2HTTP
      Src: /src/httpd/modules/dav/fs/repos.c:1023,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:1024,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1031,1
    - Dst: MAP_IO2HTTP
      Src: /src/httpd/modules/dav/fs/repos.c:1031,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:1032,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - resource
    - mode
    - stream
    argTypes:
    - dav_resource*
    - dav_stream_mode
    - dav_stream**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 1041
    functionName: dav_fs_open_stream
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_pstrcat
    - APR_STATUS_IS_EEXIST
    - apr_psprintf
    - apr_file_open
    - dav_fs_mktemp
    - dav_new_error
    - apr_pool_cleanup_register
    - MAP_IO2HTTP
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_open_stream(const dav_resource *resource,\n                                      dav_stream_mode
      mode,\n                                      dav_stream **stream)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/repos.c:1047,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/dav/fs/repos.c:1051,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:1054,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1057,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/dav/fs/repos.c:1066,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1068,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/dav/fs/repos.c:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - stream
    - commit
    argTypes:
    - dav_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1076
    functionName: dav_fs_close_stream
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_kill
    - apr_file_close
    - apr_pool_cleanup_run
    - apr_file_rename
    - apr_file_remove
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_close_stream(dav_stream *stream, int commit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/dav/fs/repos.c:1083,1
    - Dst: APR_STATUS_IS_ENOSPC
      Src: /src/httpd/modules/dav/fs/repos.c:1084,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1085,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - buf
    - bufsize
    argTypes:
    - dav_stream*
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1096
    functionName: dav_fs_write_stream
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - dav_new_error
    - APR_STATUS_IS_ENOSPC
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_write_stream(dav_stream *stream,\n                                       const
      void *buf, apr_size_t bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_seek
      Src: /src/httpd/modules/dav/fs/repos.c:1102,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - abs_pos
    argTypes:
    - dav_stream*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1112
    functionName: dav_fs_seek_stream
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_seek
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_seek_stream(dav_stream *stream, apr_off_t abs_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/dav/fs/repos.c:1128,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/dav/fs/repos.c:1131,1
    - Dst: ap_set_etag
      Src: /src/httpd/modules/dav/fs/repos.c:1132,1
    - Dst: ap_set_accept_ranges
      Src: /src/httpd/modules/dav/fs/repos.c:1135,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/dav/fs/repos.c:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - r
    - resource
    argTypes:
    - request_rec*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1144
    functionName: dav_fs_set_headers
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - ap_set_accept_ranges
    - ap_set_etag
    - ap_set_last_modified
    - ap_set_content_length
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_set_headers(request_rec *r,\n                                      const
      dav_resource *resource)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1159,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1163,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/repos.c:1168,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1171,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/dav/fs/repos.c:1175,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/dav/fs/repos.c:1177,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/dav/fs/repos.c:1179,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/dav/fs/repos.c:1180,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/dav/fs/repos.c:1182,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - resource
    - output
    argTypes:
    - dav_resource*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1188
    functionName: dav_fs_deliver
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - apr_file_open
    - APR_BRIGADE_INSERT_TAIL
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_deliver(const dav_resource *resource,\n                                  ap_filter_t
      *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_mtime_set
      Src: /src/httpd/modules/dav/fs/repos.c:1198,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/dav/fs/repos.c:1201,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/repos.c:1201,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - resource
    - mtime
    argTypes:
    - dav_resource*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1209
    functionName: dav_fs_set_mtime
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    - dav_new_error
    - apr_file_mtime_set
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_set_mtime(dav_resource *resource, apr_time_t mtime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_make
      Src: /src/httpd/modules/dav/fs/repos.c:1216,1
    - Dst: APR_STATUS_IS_ENOSPC
      Src: /src/httpd/modules/dav/fs/repos.c:1217,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1218,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:1222,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1223,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1238
    functionName: dav_fs_create_collection
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOENT
    - dav_new_error
    - apr_dir_make
    - APR_STATUS_IS_ENOSPC
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_create_collection(dav_resource *resource)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/dav/fs/repos.c:1255,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/dav/fs/repos.c:1259,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1263,1
    - Dst: dav_fs_copymove_file
      Src: /src/httpd/modules/dav/fs/repos.c:1268,1
    - Dst: ap_is_HTTP_SERVER_ERROR
      Src: /src/httpd/modules/dav/fs/repos.c:1289,1
    - Dst: dav_fs_is_same_resource
      Src: /src/httpd/modules/dav/fs/repos.c:1291,1
    - Dst: dav_add_response
      Src: /src/httpd/modules/dav/fs/repos.c:1293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1300
    functionName: dav_fs_copymove_walker
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_copymove_file
    - apr_dir_remove
    - dav_add_response
    - dav_fs_is_same_resource
    - ap_is_HTTP_SERVER_ERROR
    - apr_dir_make
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_copymove_walker(dav_walk_resource *wres,\n                                          int
      calltype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_internal_walk
      Src: /src/httpd/modules/dav/fs/repos.c:1334,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1342,1
    - Dst: dav_fs_copymove_file
      Src: /src/httpd/modules/dav/fs/repos.c:1351,1
    - Dst: dav_fs_copymoveset
      Src: /src/httpd/modules/dav/fs/repos.c:1361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - is_move
    - src
    - dst
    - depth
    - response
    argTypes:
    - int
    - dav_resource*
    - dav_resource*
    - int
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1302
    functionDepth: 4
    functionLinenumber: 1302
    functionLinenumberEnd: 1362
    functionName: dav_fs_copymove_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_copymove_file
    - dav_fs_internal_walk
    - dav_new_error
    - dav_fs_copymoveset
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_copymove_resource(\n    int is_move,\n    const
      dav_resource *src,\n    const dav_resource *dst,\n    int depth,\n    dav_response
      **response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1378,1
    - Dst: dav_fs_copymove_resource
      Src: /src/httpd/modules/dav/fs/repos.c:1384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - src
    - dst
    - depth
    - response
    argTypes:
    - dav_resource*
    - dav_resource*
    - int
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1364
    functionDepth: 5
    functionLinenumber: 1364
    functionLinenumberEnd: 1393
    functionName: dav_fs_copy_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    - dav_fs_copymove_resource
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_copy_resource(\n    const dav_resource *src,\n
      \   dav_resource *dst,\n    int depth,\n    dav_response **response)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1411,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/dav/fs/repos.c:1419,1
    - Dst: APR_STATUS_IS_EXDEV
      Src: /src/httpd/modules/dav/fs/repos.c:1422,1
    - Dst: dav_fs_copymove_resource
      Src: /src/httpd/modules/dav/fs/repos.c:1423,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1440,1
    - Dst: dav_fs_copymoveset
      Src: /src/httpd/modules/dav/fs/repos.c:1450,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/dav/fs/repos.c:1457,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/repos.c:1460,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/repos.c:1477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src
    - dst
    - response
    argTypes:
    - dav_resource*
    - dav_resource*
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1395
    functionDepth: 5
    functionLinenumber: 1395
    functionLinenumberEnd: 1486
    functionName: dav_fs_move_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - apr_file_rename
    - APR_STATUS_IS_EXDEV
    - dav_fs_copymove_resource
    - dav_new_error
    - dav_fs_copymoveset
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_move_resource(\n    dav_resource *src,\n    dav_resource
      *dst,\n    dav_response **response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/dav/fs/repos.c:1501,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:1502,1
    - Dst: dav_add_response
      Src: /src/httpd/modules/dav/fs/repos.c:1515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wres
    - calltype
    argTypes:
    - dav_walk_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1520
    functionName: dav_fs_delete_walker
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    - apr_dir_remove
    - dav_add_response
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_delete_walker(dav_walk_resource *wres, int calltype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_walk
      Src: /src/httpd/modules/dav/fs/repos.c:1545,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1553,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/repos.c:1566,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:1567,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1570,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1574,1
    - Dst: dav_fs_deleteset
      Src: /src/httpd/modules/dav/fs/repos.c:1584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - resource
    - response
    argTypes:
    - dav_resource*
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1585
    functionName: dav_fs_remove_resource
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - dav_fs_deleteset
    - dav_fs_walk
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_remove_resource(dav_resource *resource,\n                                          dav_response
      **response)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/fs/repos.c:1615,1
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/fs/repos.c:1621,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/dav/fs/repos.c:1636,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1638,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/dav/fs/repos.c:1640,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:1643,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/repos.c:1656,1
    - Dst: strncmp
      Src: /src/httpd/modules/dav/fs/repos.c:1657,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:1658,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/repos.c:1664,1
    - Dst: strncmp
      Src: /src/httpd/modules/dav/fs/repos.c:1665,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:1666,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1671,1
    - Dst: apr_stat
      Src: /src/httpd/modules/dav/fs/repos.c:1673,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/repos.c:1678,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/repos.c:1679,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/dav/fs/repos.c:1686,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1691,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1697,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1701,1
    - Dst: dav_fs_walker
      Src: /src/httpd/modules/dav/fs/repos.c:1740,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/dav/fs/repos.c:1758,1
    - Dst: dav_fs_get_locknull_members
      Src: /src/httpd/modules/dav/fs/repos.c:1771,1
    - Dst: memset
      Src: /src/httpd/modules/dav/fs/repos.c:1783,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:1786,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1794,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1796,1
    - Dst: dav_buffer_place_mem
      Src: /src/httpd/modules/dav/fs/repos.c:1799,1
    - Dst: dav_lock_query
      Src: /src/httpd/modules/dav/fs/repos.c:1841,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 117
    argCount: 2
    argNames:
    - fsctx
    - depth
    argTypes:
    - dav_fs_walker_context*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1877
    functionName: dav_fs_walker
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - strcmp
    - ap_log_rerror
    - dav_fs_walker
    - apr_dir_close
    - dav_check_bufsize
    - memset
    - APLOGNO
    - apr_stat
    - dav_lock_query
    - APR_STATUS_IS_ENOENT
    - dav_fs_get_locknull_members
    - dav_buffer_place_mem
    - strlen
    - dav_new_error
    - strncmp
    - apr_dir_read
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:1891,1
    - Dst: dav_buffer_init
      Src: /src/httpd/modules/dav/fs/repos.c:1910,1
    - Dst: memset
      Src: /src/httpd/modules/dav/fs/repos.c:1932,1
    - Dst: dav_buffer_init
      Src: /src/httpd/modules/dav/fs/repos.c:1935,1
    - Dst: dav_buffer_init
      Src: /src/httpd/modules/dav/fs/repos.c:1940,1
    - Dst: dav_fs_walker
      Src: /src/httpd/modules/dav/fs/repos.c:1958,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 5
    argNames:
    - params
    - depth
    - is_move
    - root_dst
    - response
    argTypes:
    - dav_walk_params*
    - int
    - int
    - dav_resource*
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1879
    functionDepth: 3
    functionLinenumber: 1879
    functionLinenumberEnd: 1961
    functionName: dav_fs_internal_walk
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 1
    functionsReached:
    - memset
    - dav_buffer_init
    - dav_fs_walker
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_internal_walk(const dav_walk_params *params,\n
      \                                       int depth, int is_move,\n                                        const
      dav_resource *root_dst,\n                                        dav_response
      **response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_internal_walk
      Src: /src/httpd/modules/dav/fs/repos.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - params
    - depth
    - response
    argTypes:
    - dav_walk_params*
    - int
    - dav_response**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1963
    functionDepth: 4
    functionLinenumber: 1963
    functionLinenumberEnd: 1968
    functionName: dav_fs_walk
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 1
    functionsReached:
    - dav_fs_internal_walk
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_walk(const dav_walk_params *params, int depth,\n
      \                              dav_response **response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_etag_ex
      Src: /src/httpd/modules/dav/fs/repos.c:1989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1990
    functionName: dav_fs_getetag
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - ap_make_etag_ex
    linkageType: ''
    returnType: char
    signature: char *dav_fs_getetag(const dav_resource *resource)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dav_format_time
      Src: /src/httpd/modules/dav/fs/repos.c:2055,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:2066,1
    - Dst: dav_fs_getetag
      Src: /src/httpd/modules/dav/fs/repos.c:2071,1
    - Dst: dav_format_time
      Src: /src/httpd/modules/dav/fs/repos.c:2075,1
    - Dst: dav_fs_get_available_bytes
      Src: /src/httpd/modules/dav/fs/repos.c:2098,1
    - Dst: dav_fs_get_request_rec
      Src: /src/httpd/modules/dav/fs/repos.c:2098,1
    - Dst: dav_fs_fname
      Src: /src/httpd/modules/dav/fs/repos.c:2099,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:2103,1
    - Dst: dav_fs_get_used_bytes
      Src: /src/httpd/modules/dav/fs/repos.c:2108,1
    - Dst: dav_fs_get_request_rec
      Src: /src/httpd/modules/dav/fs/repos.c:2108,1
    - Dst: dav_fs_fname
      Src: /src/httpd/modules/dav/fs/repos.c:2109,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/repos.c:2113,1
    - Dst: dav_get_liveprop_info
      Src: /src/httpd/modules/dav/fs/repos.c:2125,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:2132,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/repos.c:2136,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/repos.c:2140,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/fs/repos.c:2147,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 4
    argNames:
    - resource
    - propid
    - what
    - phdr
    argTypes:
    - dav_resource*
    - int
    - dav_prop_insert
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2151
    functionName: dav_fs_insert_prop
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_get_liveprop_info
    - apr_pstrcat
    - dav_fs_get_available_bytes
    - dav_fs_get_used_bytes
    - dav_format_time
    - dav_fs_fname
    - apr_psprintf
    - apr_text_append
    - dav_fs_get_request_rec
    - dav_fs_getetag
    - apr_snprintf
    linkageType: ''
    returnType: dav_prop_insert
    signature: "dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,\n
      \                                         int propid, dav_prop_insert what,\n
      \                                         apr_text_header *phdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_get_liveprop_info
      Src: /src/httpd/modules/dav/fs/repos.c:2164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - resource
    - propid
    argTypes:
    - dav_resource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2166
    functionName: dav_fs_is_writable
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_get_liveprop_info
    linkageType: ''
    returnType: int
    signature: int dav_fs_is_writable(const dav_resource *resource, int propid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2185,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2200,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/repos.c:2210,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2215,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - resource
    - elem
    - operation
    - context
    - defer_to_dead
    argTypes:
    - dav_resource*
    - apr_xml_elem*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2231
    functionName: dav_fs_patch_validate
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - strlen
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_patch_validate(const dav_resource *resource,\n                                        const
      apr_xml_elem *elem,\n                                        int operation,\n
      \                                       void **context,\n                                        int
      *defer_to_dead)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/dav/fs/repos.c:2255,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - resource
    - elem
    - operation
    - context
    - rollback_ctx
    argTypes:
    - dav_resource*
    - apr_xml_elem*
    - int
    - void*
    - dav_liveprop_rollback**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2233
    functionDepth: 1
    functionLinenumber: 2233
    functionLinenumberEnd: 2268
    functionName: dav_fs_patch_exec
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_patch_exec(const dav_resource *resource,\n                                    const
      apr_xml_elem *elem,\n                                    int operation,\n                                    void
      *context,\n                                    dav_liveprop_rollback **rollback_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - resource
    - operation
    - context
    - rollback_ctx
    argTypes:
    - dav_resource*
    - int
    - void*
    - dav_liveprop_rollback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2276
    functionName: dav_fs_patch_commit
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dav_fs_patch_commit(const dav_resource *resource,\n                                int
      operation,\n                                void *context,\n                                dav_liveprop_rollback
      *rollback_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/dav/fs/repos.c:2293,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/repos.c:2295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - resource
    - operation
    - context
    - rollback_ctx
    argTypes:
    - dav_resource*
    - int
    - void*
    - dav_liveprop_rollback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2305
    functionName: dav_fs_patch_rollback
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_patch_rollback(const dav_resource *resource,\n                                        int
      operation,\n                                        void *context,\n                                        dav_liveprop_rollback
      *rollback_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/dav/fs/repos.c:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uris
    argTypes:
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2337
    functionName: dav_fs_gather_propsets
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    linkageType: ''
    returnType: void
    signature: void dav_fs_gather_propsets(apr_array_header_t *uris)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_do_find_liveprop
      Src: /src/httpd/modules/dav/fs/repos.c:2346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - resource
    - ns_uri
    - name
    - hooks
    argTypes:
    - dav_resource*
    - char*
    - char*
    - dav_hooks_liveprop**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2347
    functionName: dav_fs_find_liveprop
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_do_find_liveprop
    linkageType: ''
    returnType: int
    signature: "int dav_fs_find_liveprop(const dav_resource *resource,\n                         const
      char *ns_uri, const char *name,\n                         const dav_hooks_liveprop
      **hooks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_insert_prop
      Src: /src/httpd/modules/dav/fs/repos.c:2366,1
    - Dst: dav_fs_insert_prop
      Src: /src/httpd/modules/dav/fs/repos.c:2368,1
    - Dst: dav_fs_insert_prop
      Src: /src/httpd/modules/dav/fs/repos.c:2370,1
    - Dst: dav_fs_insert_prop
      Src: /src/httpd/modules/dav/fs/repos.c:2372,1
    - Dst: dav_fs_insert_prop
      Src: /src/httpd/modules/dav/fs/repos.c:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - resource
    - what
    - phdr
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_prop_insert
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2349
    functionDepth: 3
    functionLinenumber: 2349
    functionLinenumberEnd: 2388
    functionName: dav_fs_insert_all_liveprops
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_insert_prop
    linkageType: ''
    returnType: void
    signature: "void dav_fs_insert_all_liveprops(request_rec *r, const dav_resource
      *resource,\n                                 dav_prop_insert what, apr_text_header
      *phdr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_quota_precondition
      Src: /src/httpd/modules/dav/fs/repos.c:2407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - r
    - src
    - dst
    - doc
    - err
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_resource*
    - apr_xml_doc*
    - dav_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2414
    functionName: dav_fs_method_precondition
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_fs_quota_precondition
    linkageType: ''
    returnType: int
    signature: "int dav_fs_method_precondition(request_rec *r,\n                               dav_resource
      *src, const dav_resource *dst,\n                               const apr_xml_doc
      *doc, dav_error **err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_register_liveprop_group
      Src: /src/httpd/modules/dav/fs/repos.c:2419,1
    - Dst: dav_register_provider
      Src: /src/httpd/modules/dav/fs/repos.c:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2416
    functionDepth: 2
    functionLinenumber: 2416
    functionLinenumberEnd: 2423
    functionName: dav_fs_register
    functionSourceFile: /src/httpd/modules/dav/fs/repos.c
    functionUses: 0
    functionsReached:
    - dav_register_liveprop_group
    - dav_register_provider
    linkageType: ''
    returnType: void
    signature: void dav_fs_register(apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_open
      Src: /src/httpd/modules/dav/fs/quota.c:57,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:58,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/dav/fs/quota.c:68,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:73,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/quota.c:78,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/quota.c:79,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/quota.c:80,1
    - Dst: strncmp
      Src: /src/httpd/modules/dav/fs/quota.c:81,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/quota.c:81,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:85,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:93,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/dav/fs/quota.c:101,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:103,1
    - Dst: get_dir_used_bytes_walk
      Src: /src/httpd/modules/dav/fs/quota.c:109,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/dav/fs/quota.c:123,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/dav/fs/quota.c:127,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 3
    argNames:
    - r
    - path
    - used
    argTypes:
    - request_rec*
    - char*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 130
    functionName: get_dir_used_bytes_walk
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 1
    functionsReached:
    - get_dir_used_bytes_walk
    - apr_dir_open
    - strcmp
    - ap_log_rerror
    - apr_dir_close
    - apr_filepath_merge
    - strlen
    - strncmp
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_dir_used_bytes_walk(request_rec *r,\n                                            const
      char *path,\n                                            apr_off_t *used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dir_used_bytes_walk
      Src: /src/httpd/modules/dav/fs/quota.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - path
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: get_dir_used_bytes
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 0
    functionsReached:
    - get_dir_used_bytes_walk
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t get_dir_used_bytes(request_rec *r, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/httpd/modules/dav/fs/quota.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: get_fs_used_bytes
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 0
    functionsReached:
    - statvfs
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t get_fs_used_bytes(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/httpd/modules/dav/fs/quota.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: get_fs_available_bytes
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 0
    functionsReached:
    - statvfs
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t get_fs_available_bytes(const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_get_quota
      Src: /src/httpd/modules/dav/fs/quota.c:186,1
    - Dst: get_fs_used_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:195,1
    - Dst: get_dir_used_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - r
    - path
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 205
    functionName: dav_fs_get_used_bytes
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 1
    functionsReached:
    - get_fs_used_bytes
    - get_dir_used_bytes
    - dav_fs_get_quota
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t dav_fs_get_used_bytes(request_rec *r, const char *path)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_get_quota
      Src: /src/httpd/modules/dav/fs/quota.c:216,1
    - Dst: get_fs_available_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:225,1
    - Dst: get_dir_used_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:231,1
    - Dst: get_fs_available_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - r
    - path
    - fs_low
    argTypes:
    - request_rec*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 258
    functionName: dav_fs_get_available_bytes
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 1
    functionsReached:
    - get_fs_available_bytes
    - get_dir_used_bytes
    - dav_fs_get_quota
    linkageType: ''
    returnType: apr_off_t
    signature: "apr_off_t dav_fs_get_available_bytes(request_rec *r,\n                                     const
      char *path, int *fs_low)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_fname
      Src: /src/httpd/modules/dav/fs/quota.c:282,1
    - Dst: dav_fs_fname
      Src: /src/httpd/modules/dav/fs/quota.c:284,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/quota.c:287,1
    - Dst: dav_fs_get_quota
      Src: /src/httpd/modules/dav/fs/quota.c:288,1
    - Dst: dav_fs_get_available_bytes
      Src: /src/httpd/modules/dav/fs/quota.c:294,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/quota.c:298,1
    - Dst: dav_new_error_tag
      Src: /src/httpd/modules/dav/fs/quota.c:313,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/dav/fs/quota.c:323,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/dav/fs/quota.c:324,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/quota.c:326,1
    - Dst: dav_new_error_tag
      Src: /src/httpd/modules/dav/fs/quota.c:333,1
    - Dst: dav_fs_size
      Src: /src/httpd/modules/dav/fs/quota.c:344,1
    - Dst: dav_new_error_tag
      Src: /src/httpd/modules/dav/fs/quota.c:347,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 5
    argNames:
    - r
    - src
    - dst
    - doc
    - err
    argTypes:
    - request_rec*
    - dav_resource*
    - dav_resource*
    - apr_xml_doc*
    - dav_error**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 358
    functionName: dav_fs_quota_precondition
    functionSourceFile: /src/httpd/modules/dav/fs/quota.c
    functionUses: 1
    functionsReached:
    - ap_make_dirstr_parent
    - dav_fs_size
    - dav_fs_get_available_bytes
    - dav_fs_get_quota
    - dav_fs_fname
    - ap_parse_strict_length
    - apr_table_get
    - dav_new_error_tag
    - dav_new_error
    linkageType: ''
    returnType: int
    signature: "int dav_fs_quota_precondition(request_rec *r,\n                              dav_resource
      *src, const dav_resource *dst,\n                              const apr_xml_doc
      *doc, dav_error **err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plt1
    - ','
    - plt2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: dav_compare_locktoken
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dav_compare_locktoken(plt1, plt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: dav_size_direct
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dav_size_direct(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: dav_size_indirect
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dav_size_indirect(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:220,1
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/dav/fs/lock.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - lockdb
    - key
    - locktoken
    argTypes:
    - dav_lockdb*
    - apr_datum_t
    - dav_locktoken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: dav_fs_alloc_lock
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - apr_uuid_get
    - apr_pcalloc
    linkageType: ''
    returnType: dav_lock
    signature: "dav_lock *dav_fs_alloc_lock(dav_lockdb *lockdb, apr_datum_t key,\n
      \                                  const dav_locktoken *locktoken)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/dav/fs/lock.c:248,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:249,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:256,1
    - Dst: apr_uuid_parse
      Src: /src/httpd/modules/dav/fs/lock.c:257,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p
    - char_token
    - locktoken_p
    argTypes:
    - apr_pool_t*
    - char*
    - dav_locktoken**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: dav_fs_parse_locktoken
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_pcalloc
    - dav_new_error
    - apr_uuid_parse
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_parse_locktoken(\n    apr_pool_t *p,\n    const
      char *char_token,\n    dav_locktoken **locktoken_p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/dav/fs/lock.c:278,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/lock.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - locktoken
    argTypes:
    - apr_pool_t*
    - dav_locktoken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: dav_fs_format_locktoken
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_uuid_format
    linkageType: ''
    returnType: char
    signature: "char *dav_fs_format_locktoken(\n    apr_pool_t *p,\n    const dav_locktoken
      *locktoken)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lt1
    - lt2
    argTypes:
    - dav_locktoken*
    - dav_locktoken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: dav_fs_compare_locktoken
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_compare_locktoken
    linkageType: ''
    returnType: int
    signature: "int dav_fs_compare_locktoken(\n    const dav_locktoken *lt1,\n    const
      dav_locktoken *lt2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/dav/fs/lock.c:298,1
    - Dst: dav_dbm_close
      Src: /src/httpd/modules/dav/fs/lock.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: dav_fs_lockdb_cleanup
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_dbm_close
    - apr_global_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dav_fs_lockdb_cleanup(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/dav/fs/lock.c:320,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:322,1
    - Dst: dav_dbm_open_direct
      Src: /src/httpd/modules/dav/fs/lock.c:328,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/dav/fs/lock.c:334,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/lock.c:336,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/dav/fs/lock.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - lockdb
    argTypes:
    - dav_lockdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 351
    functionName: dav_fs_really_open_lockdb
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_push_error
    - dav_dbm_open_direct
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    - dav_new_error
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:366,1
    - Dst: dav_fs_get_server_conf
      Src: /src/httpd/modules/dav/fs/lock.c:372,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:375,1
    - Dst: dav_fs_really_open_lockdb
      Src: /src/httpd/modules/dav/fs/lock.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - r
    - ro
    - force
    - lockdb
    argTypes:
    - request_rec*
    - int
    - int
    - dav_lockdb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 391
    functionName: dav_fs_open_lockdb
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    - apr_pcalloc
    - dav_fs_get_server_conf
    - dav_fs_really_open_lockdb
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_open_lockdb(request_rec *r, int ro, int force,\n
      \                                     dav_lockdb **lockdb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/dav/fs/lock.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockdb
    argTypes:
    - dav_lockdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: dav_fs_close_lockdb
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_run
    linkageType: ''
    returnType: void
    signature: void dav_fs_close_lockdb(dav_lockdb *lockdb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_pathname
      Src: /src/httpd/modules/dav/fs/lock.c:411,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:418,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/fs/lock.c:419,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - resource
    argTypes:
    - apr_pool_t*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 425
    functionName: dav_fs_build_key
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_palloc
    - dav_fs_pathname
    - memcpy
    linkageType: ''
    returnType: apr_datum_t
    signature: "apr_datum_t dav_fs_build_key(apr_pool_t *p,\n                                    const
      dav_resource *resource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/httpd/modules/dav/fs/lock.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - expires
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: dav_fs_lock_expired
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: int
    signature: int dav_fs_lock_expired(time_t expires)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:454,1
    - Dst: dav_fs_really_open_lockdb
      Src: /src/httpd/modules/dav/fs/lock.c:462,1
    - Dst: dav_dbm_delete
      Src: /src/httpd/modules/dav/fs/lock.c:471,1
    - Dst: dav_size_direct
      Src: /src/httpd/modules/dav/fs/lock.c:476,1
    - Dst: dav_size_indirect
      Src: /src/httpd/modules/dav/fs/lock.c:480,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:486,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:492,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:494,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:500,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:500,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:501,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:507,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:507,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:508,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:516,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:518,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:520,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:522,1
    - Dst: dav_dbm_store
      Src: /src/httpd/modules/dav/fs/lock.c:527,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/lock.c:529,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 4
    argNames:
    - lockdb
    - key
    - direct
    - indirect
    argTypes:
    - dav_lockdb*
    - apr_datum_t
    - dav_lock_discovery*
    - dav_lock_indirect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 537
    functionName: dav_fs_save_lock_record
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_dbm_delete
    - dav_size_indirect
    - dav_push_error
    - apr_pcalloc
    - dav_fs_really_open_lockdb
    - dav_dbm_store
    - dav_size_direct
    - strlen
    - dav_new_error
    - memcpy
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_save_lock_record(dav_lockdb *lockdb, apr_datum_t
      key,\n                                           dav_lock_discovery *direct,\n
      \                                          dav_lock_indirect *indirect)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_really_open_lockdb
      Src: /src/httpd/modules/dav/fs/lock.c:568,1
    - Dst: dav_dbm_fetch
      Src: /src/httpd/modules/dav/fs/lock.c:580,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:591,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:592,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/dav/fs/lock.c:594,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/lock.c:600,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:601,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/lock.c:608,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:609,1
    - Dst: dav_fs_lock_expired
      Src: /src/httpd/modules/dav/fs/lock.c:612,1
    - Dst: apr_stat
      Src: /src/httpd/modules/dav/fs/lock.c:626,1
    - Dst: dav_fs_remove_locknull_member
      Src: /src/httpd/modules/dav/fs/lock.c:628,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:640,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/dav/fs/lock.c:641,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:643,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/lock.c:645,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/dav/fs/lock.c:647,1
    - Dst: dav_fs_lock_expired
      Src: /src/httpd/modules/dav/fs/lock.c:650,1
    - Dst: dav_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/lock.c:662,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:666,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:669,1
    - Dst: dav_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/lock.c:677,1
    - Dst: dav_fs_save_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:685,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 5
    argNames:
    - lockdb
    - key
    - add_method
    - direct
    - indirect
    argTypes:
    - dav_lockdb*
    - apr_datum_t
    - int
    - dav_lock_discovery**
    - dav_lock_indirect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 689
    functionName: dav_fs_load_lock_record
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_new_error
    - apr_pcalloc
    - dav_fs_really_open_lockdb
    - apr_stat
    - dav_fs_save_lock_record
    - dav_dbm_fetch
    - strlen
    - dav_fs_lock_expired
    - apr_psprintf
    - dav_dbm_freedatum
    - dav_fs_remove_locknull_member
    - apr_pstrdup
    - apr_pmemdup
    - memcpy
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t
      key,\n                                           int add_method,\n                                           dav_lock_discovery
      **direct,\n                                           dav_lock_indirect **indirect)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:702,1
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:714,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - lockdb
    - indirect
    - direct
    - ref_dp
    - ref_ip
    argTypes:
    - dav_lockdb*
    - dav_lock_indirect*
    - dav_lock_discovery**
    - dav_lock_discovery**
    - dav_lock_indirect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 729
    functionName: dav_fs_resolve
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_compare_locktoken
    - dav_fs_load_lock_record
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_resolve(dav_lockdb *lockdb,\n                                  dav_lock_indirect
      *indirect,\n                                  dav_lock_discovery **direct,\n
      \                                 dav_lock_discovery **ref_dp,\n                                  dav_lock_indirect
      **ref_ip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resource
    argTypes:
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 755
    functionName: dav_fs_get_supportedlock
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dav_fs_get_supportedlock(const dav_resource *resource)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_buffer_init
      Src: /src/httpd/modules/dav/fs/lock.c:782,1
    - Dst: dav_buffer_place
      Src: /src/httpd/modules/dav/fs/lock.c:787,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/lock.c:792,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/dav/fs/lock.c:797,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:799,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:800,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:807,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:808,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/fs/lock.c:815,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/dav/fs/lock.c:816,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:818,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:819,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/lock.c:829,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - p
    - dirpath
    - pbuf
    argTypes:
    - apr_pool_t*
    - char*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 831
    functionName: dav_fs_load_locknull_list
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - apr_file_info_get
    - dav_buffer_place
    - dav_buffer_init
    - dav_set_bufsize
    - apr_file_close
    - apr_psprintf
    - apr_file_open
    - apr_file_read
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_load_locknull_list(apr_pool_t *p, const char *dirpath,\n
      \                                            dav_buffer *pbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_ensure_state_dir
      Src: /src/httpd/modules/dav/fs/lock.c:848,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/lock.c:849,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:851,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/dav/fs/lock.c:857,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:858,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:859,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/dav/fs/lock.c:865,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:868,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:869,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/dav/fs/lock.c:874,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:876,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/lock.c:877,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/dav/fs/lock.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - p
    - dirpath
    - pbuf
    argTypes:
    - apr_pool_t*
    - char*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 885
    functionName: dav_fs_save_locknull_list
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_ensure_state_dir
    - apr_pstrcat
    - apr_file_write_full
    - apr_file_close
    - apr_file_remove
    - apr_psprintf
    - apr_file_open
    - strlen
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_save_locknull_list(apr_pool_t *p, const char *dirpath,\n
      \                                            dav_buffer *pbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/lock.c:900,1
    - Dst: strrchr
      Src: /src/httpd/modules/dav/fs/lock.c:901,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:908,1
    - Dst: dav_fs_load_locknull_list
      Src: /src/httpd/modules/dav/fs/lock.c:910,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/lock.c:918,1
    - Dst: memcmp
      Src: /src/httpd/modules/dav/fs/lock.c:919,1
    - Dst: memmove
      Src: /src/httpd/modules/dav/fs/lock.c:921,1
    - Dst: dav_fs_save_locknull_list
      Src: /src/httpd/modules/dav/fs/lock.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - p
    - filename
    - pbuf
    argTypes:
    - apr_pool_t*
    - char*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 935
    functionName: dav_fs_remove_locknull_member
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 1
    functionsReached:
    - dav_fs_load_locknull_list
    - dav_fs_save_locknull_list
    - strlen
    - strrchr
    - memmove
    - apr_pstrdup
    - memcmp
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_remove_locknull_member(apr_pool_t *p,\n                                                 const
      char *filename,\n                                                 dav_buffer
      *pbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/lock.c:945,1
    - Dst: dav_fs_load_locknull_list
      Src: /src/httpd/modules/dav/fs/lock.c:946,1
    - Dst: dav_fs_pool
      Src: /src/httpd/modules/dav/fs/lock.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resource
    - pbuf
    argTypes:
    - dav_resource*
    - dav_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 938
    functionDepth: 3
    functionLinenumber: 938
    functionLinenumberEnd: 947
    functionName: dav_fs_get_locknull_members
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 1
    functionsReached:
    - dav_fs_pool
    - dav_fs_dir_file_name
    - dav_fs_load_locknull_list
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_get_locknull_members(\n    const dav_resource *resource,\n
      \   dav_buffer *pbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/lock.c:962,1
    - Dst: dav_fs_load_locknull_list
      Src: /src/httpd/modules/dav/fs/lock.c:964,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/lock.c:965,1
    - Dst: dav_buffer_append
      Src: /src/httpd/modules/dav/fs/lock.c:969,1
    - Dst: dav_fs_save_locknull_list
      Src: /src/httpd/modules/dav/fs/lock.c:972,1
    - Dst: dav_push_error
      Src: /src/httpd/modules/dav/fs/lock.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - lockdb
    - resource
    argTypes:
    - dav_lockdb*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 978
    functionName: dav_fs_add_locknull_state
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_dir_file_name
    - dav_push_error
    - dav_fs_load_locknull_list
    - dav_fs_save_locknull_list
    - dav_buffer_append
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_add_locknull_state(\n    dav_lockdb *lockdb,\n
      \   const dav_resource *resource)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_pathname
      Src: /src/httpd/modules/dav/fs/lock.c:992,1
    - Dst: dav_fs_remove_locknull_member
      Src: /src/httpd/modules/dav/fs/lock.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lockdb
    - resource
    argTypes:
    - dav_lockdb*
    - dav_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 4
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: dav_fs_remove_locknull_state
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_remove_locknull_member
    - dav_fs_pathname
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_remove_locknull_state(\n    dav_lockdb *lockdb,\n
      \   const dav_resource *resource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1008,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - lockdb
    - resource
    - lock
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1017
    functionName: dav_fs_create_lock
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_alloc_lock
    - dav_fs_build_key
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_create_lock(dav_lockdb *lockdb,\n                                      const
      dav_resource *resource,\n                                      dav_lock **lock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/lock.c:1034,1
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1041,1
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1042,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1050,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1066,1
    - Dst: dav_fs_resolve
      Src: /src/httpd/modules/dav/fs/lock.c:1070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - lockdb
    - resource
    - calltype
    - locks
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - int
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1094
    functionName: dav_fs_get_locks
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_alloc_lock
    - dav_fs_build_key
    - dav_fs_load_lock_record
    - dav_fs_resolve
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_get_locks(dav_lockdb *lockdb,\n                                    const
      dav_resource *resource,\n                                    int calltype,\n
      \                                   dav_lock **locks)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1109,1
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1110,1
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:1117,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1118,1
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:1131,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1132,1
    - Dst: dav_fs_resolve
      Src: /src/httpd/modules/dav/fs/lock.c:1141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - lockdb
    - resource
    - locktoken
    - partial_ok
    - lock
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - dav_locktoken*
    - int
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1158
    functionName: dav_fs_find_lock
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_alloc_lock
    - dav_fs_build_key
    - dav_compare_locktoken
    - dav_fs_load_lock_record
    - dav_fs_resolve
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_find_lock(dav_lockdb *lockdb,\n                                    const
      dav_resource *resource,\n                                    const dav_locktoken
      *locktoken,\n                                    int partial_ok,\n                                    dav_lock
      **lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_really_open_lockdb
      Src: /src/httpd/modules/dav/fs/lock.c:1169,1
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1181,1
    - Dst: dav_dbm_exists
      Src: /src/httpd/modules/dav/fs/lock.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - lockdb
    - resource
    - locks_present
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1186
    functionName: dav_fs_has_locks
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_dbm_exists
    - dav_fs_build_key
    - dav_fs_really_open_lockdb
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_has_locks(dav_lockdb *lockdb,\n                                    const
      dav_resource *resource,\n                                    int *locks_present)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1199,1
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1200,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:1214,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:1229,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/lock.c:1245,1
    - Dst: dav_fs_save_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1256,1
    - Dst: dav_fs_add_locknull_state
      Src: /src/httpd/modules/dav/fs/lock.c:1264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - lockdb
    - resource
    - make_indirect
    - lock
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - int
    - dav_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1188
    functionDepth: 4
    functionLinenumber: 1188
    functionLinenumberEnd: 1270
    functionName: dav_fs_append_locks
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - dav_fs_save_lock_record
    - dav_fs_add_locknull_state
    - dav_fs_build_key
    - dav_fs_load_lock_record
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_append_locks(dav_lockdb *lockdb,\n                                       const
      dav_resource *resource,\n                                       int make_indirect,\n
      \                                      const dav_lock *lock)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1282,1
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1290,1
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:1297,1
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:1307,1
    - Dst: dav_fs_save_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1319,1
    - Dst: dav_fs_remove_locknull_member
      Src: /src/httpd/modules/dav/fs/lock.c:1335,1
    - Dst: dav_fs_pathname
      Src: /src/httpd/modules/dav/fs/lock.c:1336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - lockdb
    - resource
    - locktoken
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - dav_locktoken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1343
    functionName: dav_fs_remove_lock
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_save_lock_record
    - dav_fs_build_key
    - dav_fs_remove_locknull_member
    - dav_compare_locktoken
    - dav_fs_load_lock_record
    - dav_fs_pathname
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_remove_lock(dav_lockdb *lockdb,\n                                      const
      dav_resource *resource,\n                                      const dav_locktoken
      *locktoken)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_compare_locktoken
      Src: /src/httpd/modules/dav/fs/lock.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dp
    - ltl
    - new_time
    argTypes:
    - dav_lock_discovery*
    - dav_locktoken_list*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1361
    functionName: dav_fs_do_refresh
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_compare_locktoken
    linkageType: ''
    returnType: int
    signature: "int dav_fs_do_refresh(dav_lock_discovery *dp,\n                             const
      dav_locktoken_list *ltl,\n                             time_t new_time)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_build_key
      Src: /src/httpd/modules/dav/fs/lock.c:1379,1
    - Dst: dav_fs_load_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1380,1
    - Dst: dav_fs_do_refresh
      Src: /src/httpd/modules/dav/fs/lock.c:1390,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1392,1
    - Dst: dav_fs_save_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1410,1
    - Dst: dav_fs_resolve
      Src: /src/httpd/modules/dav/fs/lock.c:1420,1
    - Dst: dav_fs_do_refresh
      Src: /src/httpd/modules/dav/fs/lock.c:1425,1
    - Dst: dav_fs_alloc_lock
      Src: /src/httpd/modules/dav/fs/lock.c:1427,1
    - Dst: dav_fs_save_lock_record
      Src: /src/httpd/modules/dav/fs/lock.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - lockdb
    - resource
    - ltl
    - new_time
    - locks
    argTypes:
    - dav_lockdb*
    - dav_resource*
    - dav_locktoken_list*
    - time_t
    - dav_lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1363
    functionDepth: 5
    functionLinenumber: 1363
    functionLinenumberEnd: 1449
    functionName: dav_fs_refresh_locks
    functionSourceFile: /src/httpd/modules/dav/fs/lock.c
    functionUses: 0
    functionsReached:
    - dav_fs_do_refresh
    - dav_fs_save_lock_record
    - dav_fs_alloc_lock
    - dav_fs_build_key
    - dav_fs_load_lock_record
    - dav_fs_resolve
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_refresh_locks(dav_lockdb *lockdb,\n                                        const
      dav_resource *resource,\n                                        const dav_locktoken_list
      *ltl,\n                                        time_t new_time,\n                                        dav_lock
      **locks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_get_usednames
      Src: /src/httpd/modules/dav/fs/dbm.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p
    - fname
    - state1
    - state2
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: dav_dbm_get_statefiles
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 2
    functionsReached:
    - apr_dbm_get_usednames
    linkageType: ''
    returnType: void
    signature: "void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname,\n                            const
      char **state1, const char **state2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_STATUS_IS_EDSOOPEN
      Src: /src/httpd/modules/dav/fs/dbm.c:108,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/fs/dbm.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/dbm.c:109,1
    - Dst: apr_dbm_geterror
      Src: /src/httpd/modules/dav/fs/dbm.c:113,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/dbm.c:114,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/dbm.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - db
    - p
    - status
    argTypes:
    - dav_db*
    - apr_pool_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 119
    functionName: dav_fs_dbm_error
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EDSOOPEN
    - apr_dbm_geterror
    - APLOGNO
    - ap_log_error
    - apr_pstrdup
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_fs_dbm_error(dav_db *db, apr_pool_t *p,\n                                    apr_status_t
      status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:125,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/dav/fs/dbm.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dirname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: dav_fs_ensure_state_dir
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dir_make
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void dav_fs_ensure_state_dir(apr_pool_t * p, const char *dirname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/dav/fs/dbm.c:149,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/fs/dbm.c:150,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/dbm.c:150,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/dbm.c:153,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/dav/fs/dbm.c:156,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:160,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/modules/dav/fs/dbm.c:163,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:172,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/dbm.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - p
    - pathname
    - dbmtype
    - ro
    - pdb
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - int
    - dav_db**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 185
    functionName: dav_dbm_open_direct
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_get_driver
    - apr_pcalloc
    - APLOGNO
    - dav_fs_dbm_error
    - apr_dbm_open2
    - ap_log_error
    - apr_dbm_open_ex
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname,\n
      \                               const char *dbmtype, int ro, dav_db **pdb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dav_fs_dir_file_name
      Src: /src/httpd/modules/dav/fs/dbm.c:196,1
    - Dst: dav_fs_ensure_state_dir
      Src: /src/httpd/modules/dav/fs/dbm.c:201,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:204,1
    - Dst: dav_dbm_open_direct
      Src: /src/httpd/modules/dav/fs/dbm.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p
    - resource
    - ro
    - pdb
    argTypes:
    - apr_pool_t*
    - dav_resource*
    - int
    - dav_db**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: dav_dbm_open
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_dbm_open_direct
    - dav_fs_dir_file_name
    - dav_fs_ensure_state_dir
    - apr_pstrcat
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_dbm_open(apr_pool_t * p, const dav_resource *resource,\n
      \                               int ro, dav_db **pdb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/dav/fs/dbm.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - dav_db*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: dav_dbm_close
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_close
    linkageType: ''
    returnType: void
    signature: void dav_dbm_close(dav_db *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/dav/fs/dbm.c:227,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/dav/fs/dbm.c:230,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - key
    - pvalue
    argTypes:
    - dav_db*
    - apr_datum_t
    - apr_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: dav_dbm_fetch
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_fetch
    - dav_fs_dbm_error
    - memset
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_dbm_fetch(dav_db *db, apr_datum_t key, apr_datum_t
      *pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_store
      Src: /src/httpd/modules/dav/fs/dbm.c:238,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - key
    - value
    argTypes:
    - dav_db*
    - apr_datum_t
    - apr_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: dav_dbm_store
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - dav_fs_dbm_error
    - apr_dbm_store
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_dbm_store(dav_db *db, apr_datum_t key, apr_datum_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_delete
      Src: /src/httpd/modules/dav/fs/dbm.c:245,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - key
    argTypes:
    - dav_db*
    - apr_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: dav_dbm_delete
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - dav_fs_dbm_error
    - apr_dbm_delete
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_dbm_delete(dav_db *db, apr_datum_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_exists
      Src: /src/httpd/modules/dav/fs/dbm.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - key
    argTypes:
    - dav_db*
    - apr_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: dav_dbm_exists
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_exists
    linkageType: ''
    returnType: int
    signature: int dav_dbm_exists(dav_db *db, apr_datum_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_firstkey
      Src: /src/httpd/modules/dav/fs/dbm.c:257,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - pkey
    argTypes:
    - dav_db*
    - apr_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: dav_dbm_firstkey
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_firstkey
    - dav_fs_dbm_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_dbm_firstkey(dav_db *db, apr_datum_t *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_nextkey
      Src: /src/httpd/modules/dav/fs/dbm.c:264,1
    - Dst: dav_fs_dbm_error
      Src: /src/httpd/modules/dav/fs/dbm.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - pkey
    argTypes:
    - dav_db*
    - apr_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: dav_dbm_nextkey
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_nextkey
    - dav_fs_dbm_error
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_dbm_nextkey(dav_db *db, apr_datum_t *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/dbm.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - data
    argTypes:
    - dav_db*
    - apr_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: dav_dbm_freedatum
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_freedatum
    linkageType: ''
    returnType: void
    signature: void dav_dbm_freedatum(dav_db *db, apr_datum_t data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:335,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/fs/dbm.c:348,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/dav/fs/dbm.c:357,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/fs/dbm.c:361,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:362,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 371
    functionName: dav_build_key
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_set_bufsize
    - apr_snprintf
    - strlen
    - apr_hash_get
    - memcpy
    linkageType: ''
    returnType: apr_datum_t
    signature: apr_datum_t dav_build_key(dav_db *db, const dav_prop_name *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:381,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:387,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:390,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:396,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:401,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:408,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/dbm.c:412,1
    - Dst: apr_text_append
      Src: /src/httpd/modules/dav/fs/dbm.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pool
    - name
    - value
    - phdr
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_text_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 417
    functionName: dav_append_prop
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_text_append
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void dav_append_prop(apr_pool_t *pool,\n                            const
      char *name, const char *value,\n                            apr_text_header
      *phdr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dav_dbm_open
      Src: /src/httpd/modules/dav/fs/dbm.c:437,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/dav/fs/dbm.c:441,1
    - Dst: dav_dbm_fetch
      Src: /src/httpd/modules/dav/fs/dbm.c:445,1
    - Dst: dav_dbm_exists
      Src: /src/httpd/modules/dav/fs/dbm.c:462,1
    - Dst: dav_dbm_close
      Src: /src/httpd/modules/dav/fs/dbm.c:463,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/dbm.c:466,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/fs/dbm.c:473,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:474,1
    - Dst: dav_set_bufsize
      Src: /src/httpd/modules/dav/fs/dbm.c:481,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:482,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:484,1
    - Dst: dav_dbm_close
      Src: /src/httpd/modules/dav/fs/dbm.c:486,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/dbm.c:488,1
    - Dst: ntohs
      Src: /src/httpd/modules/dav/fs/dbm.c:494,1
    - Dst: dav_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/dbm.c:496,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:501,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/dav/fs/dbm.c:504,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/dbm.c:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - pool
    - resource
    - ro
    - pdb
    argTypes:
    - apr_pool_t*
    - dav_resource*
    - int
    - dav_db**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 512
    functionName: dav_propdb_open
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_make
    - dav_set_bufsize
    - apr_pstrdup
    - dav_dbm_open
    - dav_dbm_fetch
    - strlen
    - dav_dbm_exists
    - dav_dbm_freedatum
    - ntohs
    - dav_dbm_close
    - dav_new_error
    - memcpy
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_open(apr_pool_t *pool,\n                                   const
      dav_resource *resource, int ro,\n                                   dav_db **pdb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/httpd/modules/dav/fs/dbm.c:532,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:534,1
    - Dst: dav_dbm_store
      Src: /src/httpd/modules/dav/fs/dbm.c:536,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/fs/dbm.c:538,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/dbm.c:539,1
    - Dst: dav_dbm_close
      Src: /src/httpd/modules/dav/fs/dbm.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - db
    argTypes:
    - dav_db*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 543
    functionName: dav_propdb_close
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - htons
    - dav_dbm_store
    - APLOGNO
    - ap_log_error
    - dav_dbm_close
    - memcpy
    linkageType: ''
    returnType: void
    signature: void dav_propdb_close(dav_db *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:551,1
    - Dst: dav_xmlns_add
      Src: /src/httpd/modules/dav/fs/dbm.c:562,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/dav/fs/dbm.c:563,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/dbm.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - db
    - xi
    argTypes:
    - dav_db*
    - dav_xmlns_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 568
    functionName: dav_propdb_define_namespaces
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - dav_xmlns_add
    - strlen
    - apr_psprintf
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_propdb_define_namespaces(dav_db *db, dav_xmlns_info
      *xi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_build_key
      Src: /src/httpd/modules/dav/fs/dbm.c:576,1
    - Dst: dav_dbm_fetch
      Src: /src/httpd/modules/dav/fs/dbm.c:580,1
    - Dst: dav_append_prop
      Src: /src/httpd/modules/dav/fs/dbm.c:588,1
    - Dst: dav_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/dbm.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - db
    - name
    - xi
    - phdr
    - found
    argTypes:
    - dav_db*
    - dav_prop_name*
    - dav_xmlns_info*
    - apr_text_header*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 593
    functionName: dav_propdb_output_value
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_dbm_freedatum
    - dav_append_prop
    - dav_build_key
    - dav_dbm_fetch
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_output_value(dav_db *db,\n                                           const
      dav_prop_name *name,\n                                           dav_xmlns_info
      *xi,\n                                           apr_text_header *phdr,\n                                           int
      *found)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/fs/dbm.c:600,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/dav/fs/dbm.c:611,1
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:617,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/dav/fs/dbm.c:618,1
    - Dst: dav_check_bufsize
      Src: /src/httpd/modules/dav/fs/dbm.c:621,1
    - Dst: memcpy
      Src: /src/httpd/modules/dav/fs/dbm.c:622,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/dav/fs/dbm.c:627,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/dbm.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - db
    - namespaces
    - mapping
    argTypes:
    - dav_db*
    - apr_array_header_t*
    - dav_namespace_map**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 641
    functionName: dav_propdb_map_namespaces
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_palloc
    - dav_check_bufsize
    - apr_pstrdup
    - strlen
    - apr_hash_get
    - memcpy
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_map_namespaces(\n    dav_db *db,\n    const
      apr_array_header_t *namespaces,\n    dav_namespace_map **mapping)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_build_key
      Src: /src/httpd/modules/dav/fs/dbm.c:647,1
    - Dst: apr_xml_quote_elem
      Src: /src/httpd/modules/dav/fs/dbm.c:657,1
    - Dst: apr_xml_to_text
      Src: /src/httpd/modules/dav/fs/dbm.c:660,1
    - Dst: dav_dbm_store
      Src: /src/httpd/modules/dav/fs/dbm.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - db
    - name
    - elem
    - mapping
    argTypes:
    - dav_db*
    - dav_prop_name*
    - apr_xml_elem*
    - dav_namespace_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 665
    functionName: dav_propdb_store
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_xml_quote_elem
    - apr_xml_to_text
    - dav_build_key
    - dav_dbm_store
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_store(dav_db *db, const dav_prop_name *name,\n
      \                                   const apr_xml_elem *elem,\n                                    dav_namespace_map
      *mapping)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_build_key
      Src: /src/httpd/modules/dav/fs/dbm.c:669,1
    - Dst: dav_dbm_delete
      Src: /src/httpd/modules/dav/fs/dbm.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: dav_propdb_remove
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_dbm_delete
    - dav_build_key
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_propdb_remove(dav_db *db, const dav_prop_name *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav_build_key
      Src: /src/httpd/modules/dav/fs/dbm.c:675,1
    - Dst: dav_dbm_exists
      Src: /src/httpd/modules/dav/fs/dbm.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: dav_propdb_exists
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_dbm_exists
    - dav_build_key
    linkageType: ''
    returnType: int
    signature: int dav_propdb_exists(dav_db *db, const dav_prop_name *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/dav/fs/dbm.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - db
    - ns_id
    argTypes:
    - dav_db*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: dav_get_ns_table_uri
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *dav_get_ns_table_uri(dav_db *db, int ns_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/dav/fs/dbm.c:701,1
    - Dst: dav_get_ns_table_uri
      Src: /src/httpd/modules/dav/fs/dbm.c:703,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/dav/fs/dbm.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - db
    - pname
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 711
    functionName: dav_set_name
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - atoi
    - dav_get_ns_table_uri
    linkageType: ''
    returnType: void
    signature: void dav_set_name(dav_db *db, dav_prop_name *pname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dav_dbm_freedatum
      Src: /src/httpd/modules/dav/fs/dbm.c:720,1
    - Dst: dav_dbm_nextkey
      Src: /src/httpd/modules/dav/fs/dbm.c:722,1
    - Dst: dav_propdb_next_name
      Src: /src/httpd/modules/dav/fs/dbm.c:727,1
    - Dst: dav_set_name
      Src: /src/httpd/modules/dav/fs/dbm.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - db
    - pname
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 731
    functionName: dav_propdb_next_name
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 1
    functionsReached:
    - dav_propdb_next_name
    - dav_set_name
    - dav_dbm_nextkey
    - dav_dbm_freedatum
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_propdb_next_name(dav_db *db, dav_prop_name *pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_dbm_firstkey
      Src: /src/httpd/modules/dav/fs/dbm.c:737,1
    - Dst: dav_propdb_next_name
      Src: /src/httpd/modules/dav/fs/dbm.c:742,1
    - Dst: dav_set_name
      Src: /src/httpd/modules/dav/fs/dbm.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - db
    - pname
    argTypes:
    - dav_db*
    - dav_prop_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 746
    functionName: dav_propdb_first_name
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_set_name
    - dav_dbm_firstkey
    - dav_propdb_next_name
    linkageType: ''
    returnType: dav_error
    signature: dav_error * dav_propdb_first_name(dav_db *db, dav_prop_name *pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/dbm.c:752,1
    - Dst: dav_build_key
      Src: /src/httpd/modules/dav/fs/dbm.c:757,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/dbm.c:758,1
    - Dst: dav_dbm_fetch
      Src: /src/httpd/modules/dav/fs/dbm.c:761,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/dav/fs/dbm.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - db
    - name
    - prollback
    argTypes:
    - dav_db*
    - dav_prop_name*
    - dav_deadprop_rollback**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 770
    functionName: dav_propdb_get_rollback
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - dav_dbm_fetch
    - dav_build_key
    - apr_pstrdup
    - apr_pmemdup
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_get_rollback(dav_db *db,\n                                           const
      dav_prop_name *name,\n                                           dav_deadprop_rollback
      **prollback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav_dbm_delete
      Src: /src/httpd/modules/dav/fs/dbm.c:781,1
    - Dst: dav_dbm_store
      Src: /src/httpd/modules/dav/fs/dbm.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - db
    - rollback
    argTypes:
    - dav_db*
    - dav_deadprop_rollback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: dav_propdb_apply_rollback
    functionSourceFile: /src/httpd/modules/dav/fs/dbm.c
    functionUses: 0
    functionsReached:
    - dav_dbm_delete
    - dav_dbm_store
    linkageType: ''
    returnType: dav_error
    signature: "dav_error * dav_propdb_apply_rollback(dav_db *db,\n                                             dav_deadprop_rollback
      *rollback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: dav_fs_get_server_conf
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 1
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: dav_fs_server_conf
    signature: dav_fs_server_conf *dav_fs_get_server_conf(const request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:64,1
    - Dst: strcmp
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:70,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:71,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:82,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:84,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:92,1
    - Dst: ap_directory_walk
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:93,1
    - Dst: dav_new_error
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:94,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - r
    - path
    - quota_bytes
    argTypes:
    - request_rec*
    - char*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 105
    functionName: dav_fs_get_quota
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 3
    functionsReached:
    - ap_directory_walk
    - strcmp
    - ap_make_dirstr_parent
    - ap_sub_req_method_uri
    - ap_get_module_config
    - apr_pstrdup
    - dav_new_error
    linkageType: ''
    returnType: dav_error
    signature: "dav_error *dav_fs_get_quota(const request_rec *r, const char *path,\n
      \                           apr_off_t *quota_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: dav_fs_create_server_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dav_fs_create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - base
    - overrides
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: dav_fs_merge_server_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void *dav_fs_merge_server_config(apr_pool_t *p,\n                                        void
      *base, void *overrides)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:135,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: dav_fs_create_dir_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dav_fs_create_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - base
    - overrides
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: dav_fs_merge_dir_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dav_fs_merge_dir_config(apr_pool_t *p, void *base, void *overrides)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: dav_fs_pre_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: int dav_fs_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:170,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:171,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: dav_fs_child_init
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lockfile
    linkageType: ''
    returnType: void
    signature: void dav_fs_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:186,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:189,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:192,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:193,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:200,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:203,1
    - Dst: ap_state_dir_relative
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:204,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - base_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 219
    functionName: dav_fs_post_config
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - APLOGNO
    - ap_runtime_dir_relative
    - ap_log_error
    - ap_global_mutex_create
    - ap_get_module_config
    - ap_state_dir_relative
    - AP_MODULE_MAGIC_AT_LEAST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dav_fs_post_config(apr_pool_t *p, apr_pool_t *plog,\n
      \                                      apr_pool_t *ptemp, server_rec *base_server)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:228,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:230,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: dav_fs_cmd_davlockdb
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *dav_fs_cmd_davlockdb(cmd_parms *cmd, void *config,\n                                        const
      char *arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: dav_fs_cmd_davlockdbtype
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *dav_fs_cmd_davlockdbtype(cmd_parms *cmd, void *config,\n                                        const
      char *arg1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:261,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:263,1
    - Dst: atol
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - bytes
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: dav_fs_cmd_quota
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - atol
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *dav_fs_cmd_quota(cmd_parms *cmd, void *config,\n                                    const
      char *bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:289,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:290,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:291,1
    - Dst: dav_hook_gather_propsets
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:293,1
    - Dst: dav_hook_find_liveprop
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:295,1
    - Dst: dav_hook_insert_all_liveprops
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:296,1
    - Dst: dav_hook_method_precondition
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:298,1
    - Dst: dav_fs_register
      Src: /src/httpd/modules/dav/fs/mod_dav_fs.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/dav/fs/mod_dav_fs.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - dav_fs_register
    - dav_hook_insert_all_liveprops
    - dav_hook_find_liveprop
    - ap_hook_post_config
    - dav_hook_gather_propsets
    - ap_hook_child_init
    - dav_hook_method_precondition
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DBD_DECLARE
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DBD_DECLARE
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DBD_DECLARE
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DBD_DECLARE
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/database/mod_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:96,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:97,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/database/mod_dbd.c:109,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/database/mod_dbd.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: create_dbd_config
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dbd_config(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:120,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:121,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:125,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/database/mod_dbd.c:133,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/database/mod_dbd.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: merge_dbd_config
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pcalloc
    - apr_hash_overlay
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_dbd_config(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:145,1
    - Dst: create_dbd_config
      Src: /src/httpd/modules/database/mod_dbd.c:151,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:152,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/database/mod_dbd.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - query
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: ap_dbd_sql_init
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - create_dbd_config
    - ap_set_module_config
    - apr_array_push
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_dbd_sql_init(server_rec *s, const char *query)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:165,1
    - Dst: apr_dbd_get_driver
      Src: /src/httpd/modules/database/mod_dbd.c:176,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/database/mod_dbd.c:177,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/database/mod_dbd.c:178,1
    - Dst: APR_STATUS_IS_EDSOOPEN
      Src: /src/httpd/modules/database/mod_dbd.c:180,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/database/mod_dbd.c:181,1
    - Dst: APR_STATUS_IS_ESYMNOTFOUND
      Src: /src/httpd/modules/database/mod_dbd.c:189,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/database/mod_dbd.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cmd
    - dconf
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 201
    functionName: dbd_param
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOTIMPL
    - APR_STATUS_IS_EDSOOPEN
    - APR_STATUS_IS_ESYMNOTFOUND
    - apr_dbd_get_driver
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *dbd_param(cmd_parms *cmd, void *dconf, const char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:206,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/database/mod_dbd.c:212,1
    - Dst: atoi
      Src: /src/httpd/modules/database/mod_dbd.c:219,1
    - Dst: atoi
      Src: /src/httpd/modules/database/mod_dbd.c:223,1
    - Dst: atoi
      Src: /src/httpd/modules/database/mod_dbd.c:227,1
    - Dst: atoi
      Src: /src/httpd/modules/database/mod_dbd.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - cmd
    - dconf
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: dbd_param_int
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *dbd_param_int(cmd_parms *cmd, void *dconf, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: dbd_param_flag
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *dbd_param_flag(cmd_parms *cmd, void *dconf, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_dbd_prepare
      Src: /src/httpd/modules/database/mod_dbd.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cmd
    - dconf
    - query
    - label
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: dbd_prepare
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 2
    functionsReached:
    - ap_dbd_prepare
    linkageType: ''
    returnType: char
    signature: "char *dbd_prepare(cmd_parms *cmd, void *dconf, const char *query,\n
      \                              const char *label)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_dbd_sql_init
      Src: /src/httpd/modules/database/mod_dbd.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - query
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: dbd_init_sql
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - ap_dbd_sql_init
    linkageType: ''
    returnType: char
    signature: char *dbd_init_sql(cmd_parms *cmd, void *dconf, const char *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: dbd_pre_config
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dbd_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:318,1
    - Dst: create_dbd_config
      Src: /src/httpd/modules/database/mod_dbd.c:324,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:325,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/database/mod_dbd.c:328,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:329,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:330,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:330,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/database/mod_dbd.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - query
    - label
    argTypes:
    - server_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: ap_dbd_prepare
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 1
    functionsReached:
    - apr_hash_set
    - strcmp
    - ap_set_module_config
    - APLOGNO
    - create_dbd_config
    - ap_log_error
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void ap_dbd_prepare(server_rec *s, const char *query,\n                                        const
      char *label)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/database/mod_dbd.c:345,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:349,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/database/mod_dbd.c:351,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:368,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:369,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/database/mod_dbd.c:384,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/database/mod_dbd.c:388,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/database/mod_dbd.c:390,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/database/mod_dbd.c:394,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:399,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/database/mod_dbd.c:412,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:422,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 432
    functionName: dbd_post_config
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strcmp
    - apr_hash_get
    - apr_pcalloc
    - apr_array_push
    - apr_hash_this
    - apr_hash_next
    - ap_get_module_config
    - apr_hash_first
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int dbd_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                           apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/database/mod_dbd.c:439,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/database/mod_dbd.c:441,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/database/mod_dbd.c:442,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/database/mod_dbd.c:446,1
    - Dst: strcmp
      Src: /src/httpd/modules/database/mod_dbd.c:448,1
    - Dst: apr_dbd_prepare
      Src: /src/httpd/modules/database/mod_dbd.c:453,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/database/mod_dbd.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pool
    - cfg
    - rec
    argTypes:
    - apr_pool_t*
    - dbd_cfg_t*
    - ap_dbd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 463
    functionName: dbd_prepared_init
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strcmp
    - apr_hash_make
    - apr_hash_this
    - apr_hash_next
    - apr_hash_first
    - apr_dbd_prepare
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_prepared_init(apr_pool_t *pool, dbd_cfg_t *cfg,\n
      \                                     ap_dbd_t *rec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbd_query
      Src: /src/httpd/modules/database/mod_dbd.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - cfg
    - rec
    argTypes:
    - apr_pool_t*
    - dbd_cfg_t*
    - ap_dbd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: dbd_init_sql_init
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_query
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_init_sql_init(apr_pool_t *pool, dbd_cfg_t *cfg,\n
      \                                     ap_dbd_t *rec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/database/mod_dbd.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: dbd_close
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 3
    functionsReached:
    - apr_dbd_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_close(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - params
    - pool
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: dbd_destruct
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_destruct(void *data, void *params, apr_pool_t *pool)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/database/mod_dbd.c:522,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:524,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:524,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/database/mod_dbd.c:528,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:530,1
    - Dst: apr_dbd_get_driver
      Src: /src/httpd/modules/database/mod_dbd.c:539,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/database/mod_dbd.c:541,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:542,1
    - Dst: APR_STATUS_IS_EDSOOPEN
      Src: /src/httpd/modules/database/mod_dbd.c:545,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:546,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:546,1
    - Dst: APR_STATUS_IS_ESYMNOTFOUND
      Src: /src/httpd/modules/database/mod_dbd.c:549,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:550,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:550,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:555,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:558,1
    - Dst: apr_dbd_open_ex
      Src: /src/httpd/modules/database/mod_dbd.c:562,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:566,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:566,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:570,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:575,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/database/mod_dbd.c:579,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/database/mod_dbd.c:585,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:587,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:587,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:590,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/database/mod_dbd.c:593,1
    - Dst: dbd_prepared_init
      Src: /src/httpd/modules/database/mod_dbd.c:595,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/database/mod_dbd.c:597,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:598,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:598,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:602,1
    - Dst: dbd_run_post_connect
      Src: /src/httpd/modules/database/mod_dbd.c:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 3
    argNames:
    - data_ptr
    - params
    - pool
    argTypes:
    - void**
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 611
    functionName: dbd_construct
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOTIMPL
    - APR_STATUS_IS_EDSOOPEN
    - dbd_run_post_connect
    - apr_pcalloc
    - APR_STATUS_IS_ESYMNOTFOUND
    - apr_dbd_error
    - APLOGNO
    - apr_dbd_get_driver
    - apr_pool_tag
    - dbd_prepared_init
    - apr_pool_create
    - ap_log_error
    - apr_pool_destroy
    - apr_dbd_open_ex
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_construct(void **data_ptr,\n                                  void
      *params, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: dbd_destroy
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_destroy(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_reslist_create
      Src: /src/httpd/modules/database/mod_dbd.c:646,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/database/mod_dbd.c:648,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:652,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:652,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/database/mod_dbd.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - group
    argTypes:
    - server_rec*
    - dbd_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 661
    functionName: dbd_setup
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - APLOGNO
    - ap_log_error
    - apr_reslist_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_setup(server_rec *s, dbd_group_t *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/database/mod_dbd.c:672,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:674,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:674,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/database/mod_dbd.c:678,1
    - Dst: dbd_setup
      Src: /src/httpd/modules/database/mod_dbd.c:681,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/database/mod_dbd.c:692,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:695,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 703
    functionName: dbd_setup_init
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_setup
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_log_error
    - apr_thread_mutex_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_setup_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbd_setup_init
      Src: /src/httpd/modules/database/mod_dbd.c:707,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:709,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: dbd_child_init
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - dbd_setup_init
    linkageType: ''
    returnType: void
    signature: void dbd_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/database/mod_dbd.c:727,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:729,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:729,1
    - Dst: dbd_setup
      Src: /src/httpd/modules/database/mod_dbd.c:735,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/database/mod_dbd.c:738,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:740,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - group
    argTypes:
    - server_rec*
    - dbd_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 748
    functionName: dbd_setup_lock
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - dbd_setup
    - apr_thread_mutex_unlock
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_setup_lock(server_rec *s, dbd_group_t *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:757,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:760,1
    - Dst: apr_reslist_release
      Src: /src/httpd/modules/database/mod_dbd.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - rec
    argTypes:
    - server_rec*
    - ap_dbd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 767
    functionName: ap_dbd_close
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 2
    functionsReached:
    - apr_pool_destroy
    - apr_reslist_release
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_dbd_close(server_rec *s, ap_dbd_t *rec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbd_check_conn
      Src: /src/httpd/modules/database/mod_dbd.c:772,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/database/mod_dbd.c:782,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:787,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:788,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pool
    - s
    - rec
    argTypes:
    - apr_pool_t*
    - server_rec*
    - ap_dbd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 791
    functionName: dbd_check
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_dbd_check_conn
    - APLOGNO
    - apr_dbd_error
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_check(apr_pool_t *pool, server_rec *s, ap_dbd_t *rec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:795,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:805,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:805,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/database/mod_dbd.c:812,1
    - Dst: dbd_construct
      Src: /src/httpd/modules/database/mod_dbd.c:816,1
    - Dst: dbd_setup_lock
      Src: /src/httpd/modules/database/mod_dbd.c:822,1
    - Dst: apr_reslist_acquire
      Src: /src/httpd/modules/database/mod_dbd.c:827,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/database/mod_dbd.c:829,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/database/mod_dbd.c:829,1
    - Dst: dbd_check
      Src: /src/httpd/modules/database/mod_dbd.c:834,1
    - Dst: apr_reslist_invalidate
      Src: /src/httpd/modules/database/mod_dbd.c:835,1
    - Dst: dbd_check
      Src: /src/httpd/modules/database/mod_dbd.c:844,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/database/mod_dbd.c:845,1
    - Dst: dbd_construct
      Src: /src/httpd/modules/database/mod_dbd.c:852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 858
    functionName: ap_dbd_open
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    - dbd_setup_lock
    - APLOGNO
    - dbd_construct
    - ap_log_error
    - ap_get_module_config
    - apr_reslist_acquire
    - apr_reslist_invalidate
    - dbd_check
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void ap_dbd_open(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_reslist_release
      Src: /src/httpd/modules/database/mod_dbd.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: dbd_release
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_reslist_release
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_release(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/database/mod_dbd.c:877,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:886,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/database/mod_dbd.c:888,1
    - Dst: ap_dbd_open
      Src: /src/httpd/modules/database/mod_dbd.c:889,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:891,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:894,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/database/mod_dbd.c:897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 904
    functionName: ap_dbd_acquire
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_set_module_config
    - ap_dbd_open
    - ap_is_initial_req
    - ap_get_module_config
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_dbd_acquire(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:908,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/database/mod_dbd.c:911,1
    - Dst: ap_dbd_open
      Src: /src/httpd/modules/database/mod_dbd.c:912,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:914,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:917,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/database/mod_dbd.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 927
    functionName: ap_dbd_cacquire
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_set_module_config
    - ap_dbd_open
    - ap_get_module_config
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_dbd_cacquire(conn_rec *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/database/mod_dbd.c:933,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:942,1
    - Dst: ap_dbd_open
      Src: /src/httpd/modules/database/mod_dbd.c:944,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 951
    functionName: ap_dbd_acquire
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - ap_dbd_open
    - ap_is_initial_req
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_dbd_acquire(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:955,1
    - Dst: ap_dbd_open
      Src: /src/httpd/modules/database/mod_dbd.c:958,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/database/mod_dbd.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 965
    functionName: ap_dbd_cacquire
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - ap_dbd_open
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_dbd_cacquire(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/database/mod_dbd.c:970,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/database/mod_dbd.c:971,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/database/mod_dbd.c:972,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/database/mod_dbd.c:974,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/database/mod_dbd.c:975,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/database/mod_dbd.c:976,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/database/mod_dbd.c:977,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/database/mod_dbd.c:978,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/database/mod_dbd.c:980,1
    - Dst: apr_dbd_init
      Src: /src/httpd/modules/database/mod_dbd.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 984
    functionName: dbd_hooks
    functionSourceFile: /src/httpd/modules/database/mod_dbd.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - apr_dbd_init
    - APR_OPTIONAL_HOOK
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void dbd_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/core/mod_so.c:115,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/core/mod_so.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: so_sconf_create
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *so_sconf_create(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_loaded_module
      Src: /src/httpd/modules/core/mod_so.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: unload_module
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - ap_remove_loaded_module
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t unload_module(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/core/mod_so.c:150,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/core/mod_so.c:152,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_so.c:158,1
    - Dst: apr_dso_load
      Src: /src/httpd/modules/core/mod_so.c:162,1
    - Dst: apr_dso_load
      Src: /src/httpd/modules/core/mod_so.c:167,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/core/mod_so.c:171,1
    - Dst: apr_dso_error
      Src: /src/httpd/modules/core/mod_so.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - cmd
    - modhandlep
    - filename
    - used_filename
    argTypes:
    - cmd_parms*
    - apr_dso_handle_t**
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: dso_load
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 2
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - apr_dso_error
    - apr_psprintf
    - apr_dso_load
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *dso_load(cmd_parms *cmd, apr_dso_handle_t **modhandlep,\n                            const
      char *filename, const char **used_filename)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/core/mod_so.c:206,1
    - Dst: strcmp
      Src: /src/httpd/modules/core/mod_so.c:211,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/core/mod_so.c:212,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_so.c:212,1
    - Dst: memcmp
      Src: /src/httpd/modules/core/mod_so.c:233,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:237,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:238,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:240,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:240,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:243,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_so.c:243,1
    - Dst: strcmp
      Src: /src/httpd/modules/core/mod_so.c:244,1
    - Dst: memcmp
      Src: /src/httpd/modules/core/mod_so.c:252,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/core/mod_so.c:253,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/core/mod_so.c:259,1
    - Dst: dso_load
      Src: /src/httpd/modules/core/mod_so.c:265,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/core/mod_so.c:268,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_so.c:268,1
    - Dst: apr_dso_sym
      Src: /src/httpd/modules/core/mod_so.c:276,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/core/mod_so.c:279,1
    - Dst: apr_dso_error
      Src: /src/httpd/modules/core/mod_so.c:281,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_so.c:293,1
    - Dst: ap_add_loaded_module
      Src: /src/httpd/modules/core/mod_so.c:304,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/core/mod_so.c:314,1
    - Dst: ap_single_module_configure
      Src: /src/httpd/modules/core/mod_so.c:319,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - cmd
    - dummy
    - modname
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 322
    functionName: load_module
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_perror
    - ap_add_loaded_module
    - apr_pstrcat
    - apr_dso_sym
    - ap_single_module_configure
    - APLOGNO
    - apr_array_push
    - dso_load
    - apr_dso_error
    - apr_psprintf
    - ap_get_module_config
    - strlen
    - memcmp
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: char
    signature: "char *load_module(cmd_parms *cmd, void *dummy,\n                               const
      char *modname, const char *filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dso_load
      Src: /src/httpd/modules/core/mod_so.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_so.c:338,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_so.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: load_file
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - dso_load
    linkageType: ''
    returnType: char
    signature: char *load_file(cmd_parms *cmd, void *dummy, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/core/mod_so.c:351,1
    - Dst: strcmp
      Src: /src/httpd/modules/core/mod_so.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - modname
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: ap_find_loaded_module_symbol
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_module_config
    linkageType: ''
    returnType: module
    signature: module *ap_find_loaded_module_symbol(server_rec *s, const char *modname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:372,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:373,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:374,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - is_static
    - modsym
    argTypes:
    - apr_file_t*
    - int
    - ap_module_symbol_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: print_mod_data
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: "void print_mod_data(apr_file_t *out, int is_static,\n                           const
      ap_module_symbol_t *modsym)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/core/mod_so.c:383,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/core/mod_so.c:386,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/core/mod_so.c:390,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:392,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/core/mod_so.c:394,1
    - Dst: print_mod_data
      Src: /src/httpd/modules/core/mod_so.c:400,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:402,1
    - Dst: print_mod_data
      Src: /src/httpd/modules/core/mod_so.c:414,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/core/mod_so.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 419
    functionName: dump_loaded_modules
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - apr_file_open_stdout
    - print_mod_data
    - ap_get_module_config
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void dump_loaded_modules(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/core/mod_so.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_so.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: load_file
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    linkageType: ''
    returnType: char
    signature: char *load_file(cmd_parms *cmd, void *dummy, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/core/mod_so.c:433,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_so.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - dummy
    - modname
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: load_module
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    linkageType: ''
    returnType: char
    signature: "char *load_module(cmd_parms *cmd, void *dummy,\n                               const
      char *modname, const char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/core/mod_so.c:443,1
    - Dst: ap_hook_test_config
      Src: /src/httpd/modules/core/mod_so.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/core/mod_so.c
    functionUses: 0
    functionsReached:
    - ap_hook_test_config
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: debug
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: empty_string_p
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: empty_string_p(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: trim
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trim(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/core/mod_macro.c:103,1
    - Dst: trim
      Src: /src/httpd/modules/core/mod_macro.c:105,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/core/mod_macro.c:107,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/core/mod_macro.c:108,1
    - Dst: arg::arg
      Src: /src/httpd/modules/core/mod_macro.c:109,1
    - Dst: trim
      Src: /src/httpd/modules/core/mod_macro.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - line
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: get_arguments
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_getword_conf
    - apr_array_push
    - trim
    - apr_array_make
    - arg::arg
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *get_arguments(apr_pool_t * pool, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - what
    - ptr
    - cfg
    argTypes:
    - char*
    - char*
    - ap_configfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: warn_if_non_blank
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void warn_if_non_blank(const char * what,\n                              char
      * ptr,\n                              ap_configfile_t * cfg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/core/mod_macro.c:151,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/core/mod_macro.c:156,1
    - Dst: ap_getword_conf_nc
      Src: /src/httpd/modules/core/mod_macro.c:162,1
    - Dst: strncmp
      Src: /src/httpd/modules/core/mod_macro.c:165,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:168,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:169,1
    - Dst: strncmp
      Src: /src/httpd/modules/core/mod_macro.c:175,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/core/mod_macro.c:179,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/core/mod_macro.c:181,1
    - Dst: warn_if_non_blank
      Src: /src/httpd/modules/core/mod_macro.c:188,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:189,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:195,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:196,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/core/mod_macro.c:204,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/core/mod_macro.c:208,1
    - Dst: apr_psprintf::apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:209,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 7
    argNames:
    - pool
    - config_file
    - end_token
    - begin_token
    - where
    - plines
    - ignore_nesting
    argTypes:
    - apr_pool_t*
    - ap_configfile_t*
    - char*
    - char*
    - char*
    - apr_array_header_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 213
    functionName: get_lines_till_end_token
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - apr_psprintf::apr_psprintf
    - ap_getword_conf_nc
    - APLOGNO
    - strcasecmp
    - warn_if_non_blank
    - ap_log_error
    - apr_psprintf
    - apr_array_push::apr_array_push
    - ap_strrchr_c
    - apr_array_make
    - strncmp
    - ap_cfg_getline
    linkageType: ''
    returnType: char
    signature: "char *get_lines_till_end_token(apr_pool_t * pool,\n                                      ap_configfile_t
      * config_file,\n                                      const char *end_token,\n
      \                                     const char *begin_token,\n                                      const
      char *where,\n                                      apr_array_header_t ** plines,\n
      \                                     int ignore_nesting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr
      Src: /src/httpd/modules/core/mod_macro.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: looks_like_an_argument
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    linkageType: ''
    returnType: int
    signature: int looks_like_an_argument(const char *word)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:252,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:256,1
    - Dst: looks_like_an_argument
      Src: /src/httpd/modules/core/mod_macro.c:260,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:261,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:270,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:270,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:277,1
    - Dst: strcmp
      Src: /src/httpd/modules/core/mod_macro.c:280,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:281,1
    - Dst: strncmp
      Src: /src/httpd/modules/core/mod_macro.c:291,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:292,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - macro
    argTypes:
    - apr_pool_t*
    - ap_macro_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 304
    functionName: check_macro_arguments
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - strcmp
    - APLOGNO
    - ap_log_error
    - apr_psprintf
    - looks_like_an_argument
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: "char *check_macro_arguments(apr_pool_t * pool,\n                                         const
      ap_macro_t * macro)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty_string_p
      Src: /src/httpd/modules/core/mod_macro.c:315,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:316,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - where
    - array
    argTypes:
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: check_macro_use_arguments
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - empty_string_p
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void check_macro_use_arguments(const char *where,\n                                      const
      apr_array_header_t * array)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:340,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - delim
    - str
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: number_of_escapes
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - fprintf
    - debug
    linkageType: ''
    returnType: int
    signature: int number_of_escapes(const char delim, const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:354,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:355,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:356,1
    - Dst: number_of_escapes
      Src: /src/httpd/modules/core/mod_macro.c:358,1
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:362,1
    - Dst: strncmp
      Src: /src/httpd/modules/core/mod_macro.c:362,1
    - Dst: strcmp
      Src: /src/httpd/modules/core/mod_macro.c:365,1
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:368,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:368,1
    - Dst: memmove
      Src: /src/httpd/modules/core/mod_macro.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - buf
    - bufsize
    - name
    - replacement
    - do_esc
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 395
    functionName: substitute
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_assert
    - fprintf
    - debug
    - number_of_escapes
    - memmove
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: "char *substitute(char *buf,\n                        const int bufsize,\n
      \                       const char *name,\n                        const char
      *replacement, const int do_esc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr
      Src: /src/httpd/modules/core/mod_macro.c:410,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - args
    - whichone
    argTypes:
    - char*
    - apr_array_header_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: next_substitution
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_strstr
    linkageType: ''
    returnType: char
    signature: "char *next_substitution(const char *buf,\n                               const
      apr_array_header_t * args, int *whichone)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:441,1
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:443,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:443,1
    - Dst: next_substitution
      Src: /src/httpd/modules/core/mod_macro.c:445,1
    - Dst: substitute
      Src: /src/httpd/modules/core/mod_macro.c:446,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:452,1
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:457,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - buf
    - bufsize
    - macro
    - replacements
    - used
    argTypes:
    - char*
    - int
    - ap_macro_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 460
    functionName: substitute_macro_args
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - next_substitution
    - fprintf
    - debug
    - strlen
    - substitute
    - ap_assert
    linkageType: ''
    returnType: char
    signature: "char *substitute_macro_args(\n    char *buf,\n    int bufsize,\n    const
      ap_macro_t * macro,\n    const apr_array_header_t * replacements,\n    apr_array_header_t
      * used)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/core/mod_macro.c:479,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:486,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:487,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/core/mod_macro.c:491,1
    - Dst: substitute_macro_args
      Src: /src/httpd/modules/core/mod_macro.c:492,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:495,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/core/mod_macro.c:501,1
    - Dst: apr_pstrdup::apr_pstrdup
      Src: /src/httpd/modules/core/mod_macro.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - pool
    - macro
    - replacements
    - used
    - result
    argTypes:
    - apr_pool_t*
    - ap_macro_t*
    - apr_array_header_t*
    - apr_array_header_t*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 507
    functionName: process_content
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup::apr_pstrdup
    - apr_cpystrn
    - apr_array_push
    - apr_psprintf
    - substitute_macro_args
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *process_content(apr_pool_t * pool,\n                                   const
      ap_macro_t * macro,\n                                   const apr_array_header_t
      * replacements,\n                                   apr_array_header_t * used,\n
      \                                  apr_array_header_t ** result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:522,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:522,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/core/mod_macro.c:528,1
    - Dst: process_content
      Src: /src/httpd/modules/core/mod_macro.c:534,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pool
    - macro
    argTypes:
    - apr_pool_t*
    - ap_macro_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 549
    functionName: check_macro_contents
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_array_make
    - process_content
    linkageType: ''
    returnType: char
    signature: "char *check_macro_contents(apr_pool_t * pool,\n                                        const
      ap_macro_t * macro)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ml
    argTypes:
    - array_contents_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: next_one
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_assert
    linkageType: ''
    returnType: int
    signature: int next_one(array_contents_t * ml)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next_one
      Src: /src/httpd/modules/core/mod_macro.c:609,1
    - Dst: array_contents_t*::next::getch
      Src: /src/httpd/modules/core/mod_macro.c:610,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ch
    - param
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 625
    functionName: array_getch
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - next_one
    - array_contents_t*::next::getch
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t array_getch(char *ch, void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_getch
      Src: /src/httpd/modules/core/mod_macro.c:642,1
    - Dst: next_one
      Src: /src/httpd/modules/core/mod_macro.c:648,1
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:649,1
    - Dst: array_contents_t*::next::getstr
      Src: /src/httpd/modules/core/mod_macro.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufsize
    - param
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 662
    functionName: array_getstr
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - array_getch
    - next_one
    - ap_assert
    - array_contents_t*::next::getstr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t array_getstr(void *buf, size_t bufsize, void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: array_close
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t array_close(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/core/mod_macro.c:687,1
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:688,1
    - Dst: strlen
      Src: /src/httpd/modules/core/mod_macro.c:694,1
    - Dst: ap_pcfg_open_custom
      Src: /src/httpd/modules/core/mod_macro.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - pool
    - contents
    - where
    - cfg
    - upper
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - char*
    - ap_configfile_t*
    - ap_configfile_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 700
    functionName: make_array_config
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_pcfg_open_custom
    - ap_assert
    - apr_palloc
    - strlen
    linkageType: ''
    returnType: ap_configfile_t
    signature: "ap_configfile_t *make_array_config(apr_pool_t * pool,\n                                          apr_array_header_t
      * contents,\n                                          const char *where,\n
      \                                         ap_configfile_t * cfg,\n                                          ap_configfile_t
      ** upper)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:716,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:716,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/core/mod_macro.c:721,1
    - Dst: ap_assert
      Src: /src/httpd/modules/core/mod_macro.c:722,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/core/mod_macro.c:723,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/modules/core/mod_macro.c:728,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/core/mod_macro.c:731,1
    - Dst: warn_if_non_blank
      Src: /src/httpd/modules/core/mod_macro.c:741,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:741,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/core/mod_macro.c:749,1
    - Dst: empty_string_p
      Src: /src/httpd/modules/core/mod_macro.c:750,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/core/mod_macro.c:754,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/core/mod_macro.c:755,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:759,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:759,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/core/mod_macro.c:767,1
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:771,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:771,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:774,1
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:778,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:778,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:781,1
    - Dst: looks_like_an_argument
      Src: /src/httpd/modules/core/mod_macro.c:783,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:784,1
    - Dst: CHECK_MACRO_FLAG
      Src: /src/httpd/modules/core/mod_macro.c:792,1
    - Dst: CHECK_MACRO_FLAG
      Src: /src/httpd/modules/core/mod_macro.c:793,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/core/mod_macro.c:795,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_macro.c:797,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_macro.c:797,1
    - Dst: get_arguments
      Src: /src/httpd/modules/core/mod_macro.c:808,1
    - Dst: check_macro_arguments
      Src: /src/httpd/modules/core/mod_macro.c:810,1
    - Dst: get_lines_till_end_token
      Src: /src/httpd/modules/core/mod_macro.c:816,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:821,1
    - Dst: check_macro_contents
      Src: /src/httpd/modules/core/mod_macro.c:826,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:829,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/core/mod_macro.c:835,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 708
    functionDepth: 4
    functionLinenumber: 708
    functionLinenumberEnd: 838
    functionName: macro_section
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - fprintf
    - get_arguments
    - apr_hash_make
    - get_lines_till_end_token
    - debug
    - empty_string_p
    - apr_psprintf
    - looks_like_an_argument
    - ap_strchr
    - check_macro_contents
    - ap_log_error
    - ap_assert
    - apr_hash_get
    - check_macro_arguments
    - apr_hash_set
    - apr_palloc
    - APLOGNO
    - apr_hash_pool_get
    - warn_if_non_blank
    - ap_strrchr_c
    - CHECK_MACRO_FLAG
    - apr_pool_cleanup_register
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *macro_section(cmd_parms * cmd,\n                                 void
      *dummy, const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg_
    - ','
    - flag_str
    - ','
    - flag_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: CHECK_MACRO_FLAG
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_MACRO_FLAG(arg_, flag_str, flag_val)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/httpd/modules/core/mod_macro.c:851,1
    - Dst: fprintf
      Src: /src/httpd/modules/core/mod_macro.c:851,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/core/mod_macro.c:859,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/core/mod_macro.c:860,1
    - Dst: empty_string_p
      Src: /src/httpd/modules/core/mod_macro.c:862,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/core/mod_macro.c:867,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:870,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/core/mod_macro.c:879,1
    - Dst: ap_strstr
      Src: /src/httpd/modules/core/mod_macro.c:881,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:882,1
    - Dst: get_arguments
      Src: /src/httpd/modules/core/mod_macro.c:888,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:891,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:898,1
    - Dst: check_macro_use_arguments
      Src: /src/httpd/modules/core/mod_macro.c:905,1
    - Dst: process_content
      Src: /src/httpd/modules/core/mod_macro.c:907,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:911,1
    - Dst: make_array_config
      Src: /src/httpd/modules/core/mod_macro.c:919,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 923
    functionName: use_macro
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_pstrcat
    - ap_strstr
    - fprintf
    - debug
    - process_content
    - empty_string_p
    - get_arguments
    - apr_psprintf
    - check_macro_use_arguments
    - make_array_config
    - apr_hash_get
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *use_macro(cmd_parms * cmd, void *dummy, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty_string_p
      Src: /src/httpd/modules/core/mod_macro.c:935,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/core/mod_macro.c:940,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/core/mod_macro.c:941,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/core/mod_macro.c:942,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_macro.c:945,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/core/mod_macro.c:951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 954
    functionName: undef_macro
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_str_tolower
    - empty_string_p
    - apr_psprintf
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: char *undef_macro(cmd_parms * cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmd
    - dummy
    argTypes:
    - cmd_parms*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 960
    functionName: macro_ignore_empty
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *macro_ignore_empty(cmd_parms * cmd, void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmd
    - dummy
    argTypes:
    - cmd_parms*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 966
    functionName: macro_ignore_bad_nesting
    functionSourceFile: /src/httpd/modules/core/mod_macro.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *macro_ignore_bad_nesting(cmd_parms * cmd, void *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:81,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/core/mod_watchdog.c:84,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:85,1
    - Dst: apr_thread_join
      Src: /src/httpd/modules/core/mod_watchdog.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: wd_worker_cleanup
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - apr_atomic_set32
    - AP_DEBUG_ASSERT
    - apr_atomic_read32
    - apr_thread_join
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t wd_worker_cleanup(void *data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_get
      Src: /src/httpd/modules/core/mod_watchdog.c:107,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:108,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:110,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:113,1
    - Dst: apr_proc_mutex_trylock
      Src: /src/httpd/modules/core/mod_watchdog.c:114,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:123,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/core/mod_watchdog.c:125,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/core/mod_watchdog.c:132,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/core/mod_watchdog.c:136,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/core/mod_watchdog.c:137,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:139,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:141,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:142,1
    - Dst: apr_time_clock_hires
      Src: /src/httpd/modules/core/mod_watchdog.c:144,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:146,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/core/mod_watchdog.c:152,1
    - Dst: ap_run_watchdog_init
      Src: /src/httpd/modules/core/mod_watchdog.c:155,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:161,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/core/mod_watchdog.c:165,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:166,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/core/mod_watchdog.c:169,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:170,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/core/mod_watchdog.c:172,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/core/mod_watchdog.c:182,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/core/mod_watchdog.c:186,1
    - Dst: ap_run_watchdog_step
      Src: /src/httpd/modules/core/mod_watchdog.c:190,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/core/mod_watchdog.c:194,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/core/mod_watchdog.c:197,1
    - Dst: ap_run_watchdog_exit
      Src: /src/httpd/modules/core/mod_watchdog.c:205,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:219,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:220,1
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/modules/core/mod_watchdog.c:224,1
    - Dst: apr_thread_exit
      Src: /src/httpd/modules/core/mod_watchdog.c:225,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:226,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - thread
    - data
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 229
    functionName: APR_THREAD_FUNC::wd_worker
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_run_watchdog_exit
    - apr_atomic_read32
    - apr_time_now
    - apr_proc_mutex_unlock
    - apr_atomic_set32
    - APLOGNO
    - apr_pool_tag
    - apr_thread_exit
    - apr_pool_create
    - apr_proc_mutex_trylock
    - apr_pool_clear
    - apr_thread_pool_get
    - apr_sleep
    - ap_log_error
    - ap_run_watchdog_init
    - apr_pool_destroy
    - ap_run_watchdog_step
    - apr_time_clock_hires
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC wd_worker(apr_thread_t *thread, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:235,1
    - Dst: apr_proc_mutex_child_init
      Src: /src/httpd/modules/core/mod_watchdog.c:239,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/modules/core/mod_watchdog.c:240,1
    - Dst: ap_thread_create
      Src: /src/httpd/modules/core/mod_watchdog.c:246,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/core/mod_watchdog.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - w
    - p
    argTypes:
    - ap_watchdog_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 252
    functionName: wd_startup
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - apr_atomic_set32
    - ap_thread_create
    - apr_proc_mutex_child_init
    - apr_pool_pre_cleanup_register
    - apr_proc_mutex_lockfile
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t wd_startup(ap_watchdog_t *w, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:270,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/core/mod_watchdog.c:275,1
    - Dst: ap_register_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - watchdog
    - name
    - parent
    - singleton
    - p
    argTypes:
    - ap_watchdog_t**
    - char*
    - int
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: ap_watchdog_get_instance
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_lookup_provider
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_watchdog_get_instance(ap_watchdog_t **watchdog,\n
      \                                            const char *name,\n                                             int
      parent,\n                                             int singleton,\n                                             apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - w
    - interval
    - data
    - callback
    argTypes:
    - ap_watchdog_t*
    - apr_interval_time_t
    - void*
    - ap_watchdog_callback_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: ap_watchdog_set_callback_interval
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_watchdog_set_callback_interval(ap_watchdog_t *w,\n
      \                                                     apr_interval_time_t interval,\n
      \                                                     const void *data,\n                                                      ap_watchdog_callback_fn_t
      *callback)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/core/mod_watchdog.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - w
    - interval
    - data
    - callback
    argTypes:
    - ap_watchdog_t*
    - apr_interval_time_t
    - void*
    - ap_watchdog_callback_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 339
    functionName: ap_watchdog_register_callback
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_watchdog_register_callback(ap_watchdog_t *w,\n                                                  apr_interval_time_t
      interval,\n                                                  const void *data,\n
      \                                                 ap_watchdog_callback_fn_t
      *callback)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/core/mod_watchdog.c:355,1
    - Dst: ap_watchdog_get_instance
      Src: /src/httpd/modules/core/mod_watchdog.c:356,1
    - Dst: ap_watchdog_get_instance
      Src: /src/httpd/modules/core/mod_watchdog.c:360,1
    - Dst: ap_watchdog_get_instance
      Src: /src/httpd/modules/core/mod_watchdog.c:368,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/core/mod_watchdog.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: wd_pre_config_hook
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_watchdog_get_instance
    - ap_mpm_query
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: "int wd_pre_config_hook(apr_pool_t *pconf, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/core/mod_watchdog.c:396,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/core/mod_watchdog.c:400,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/core/mod_watchdog.c:402,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/core/mod_watchdog.c:404,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/core/mod_watchdog.c:405,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/core/mod_watchdog.c:406,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:408,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:408,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/core/mod_watchdog.c:410,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/core/mod_watchdog.c:412,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:417,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:417,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:422,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:425,1
    - Dst: ap_run_watchdog_need
      Src: /src/httpd/modules/core/mod_watchdog.c:429,1
    - Dst: wd_startup
      Src: /src/httpd/modules/core/mod_watchdog.c:442,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:443,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:443,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:447,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:447,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:455,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:455,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/core/mod_watchdog.c:459,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:463,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:463,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:468,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:471,1
    - Dst: ap_run_watchdog_need
      Src: /src/httpd/modules/core/mod_watchdog.c:475,1
    - Dst: ap_proc_mutex_create
      Src: /src/httpd/modules/core/mod_watchdog.c:489,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:493,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:493,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:497,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:497,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 506
    functionName: wd_post_config_hook
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - apr_pcalloc
    - apr_time_as_msec
    - ap_run_watchdog_need
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - ap_lookup_provider
    - apr_pool_tag
    - apr_pool_create
    - ap_list_provider_names
    - ap_proc_mutex_create
    - ap_log_error
    - wd_startup
    linkageType: ''
    returnType: int
    signature: "int wd_post_config_hook(apr_pool_t *pconf, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:522,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:522,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/core/mod_watchdog.c:526,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:532,1
    - Dst: wd_startup
      Src: /src/httpd/modules/core/mod_watchdog.c:539,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:540,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:540,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:545,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/core/mod_watchdog.c:545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 550
    functionName: wd_child_init_hook
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - APLOGNO
    - ap_list_provider_names
    - ap_log_error
    - wd_startup
    linkageType: ''
    returnType: void
    signature: void wd_child_init_hook(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:562,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/core/mod_watchdog.c:567,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:574,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/core/mod_watchdog.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - graceful
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 580
    functionName: wd_child_stopping
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_list_provider_names
    - apr_atomic_set32
    - ap_lookup_provider
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void wd_child_stopping(apr_pool_t *pool, int graceful)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:592,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/core/mod_watchdog.c:597,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/core/mod_watchdog.c:604,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:607,1
    - Dst: wd_worker_cleanup
      Src: /src/httpd/modules/core/mod_watchdog.c:610,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/core/mod_watchdog.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pool
    - graceful
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: wd_child_stopped
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_list_provider_names
    - ap_lookup_provider
    - ap_log_error
    - wd_worker_cleanup
    linkageType: ''
    returnType: void
    signature: void wd_child_stopped(apr_pool_t *pool, int graceful)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/core/mod_watchdog.c:626,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/core/mod_watchdog.c:630,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/core/mod_watchdog.c:635,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/core/mod_watchdog.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 640
    functionName: wd_cmd_watchdog_int
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - apr_time_as_msec
    - ap_check_cmd_context
    - ap_timeout_parameter_parse
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *wd_cmd_watchdog_int(cmd_parms *cmd, void *dummy,\n                                       const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/core/mod_watchdog.c:675,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/core/mod_watchdog.c:682,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/core/mod_watchdog.c:689,1
    - Dst: ap_hook_child_stopping
      Src: /src/httpd/modules/core/mod_watchdog.c:696,1
    - Dst: ap_hook_child_stopped
      Src: /src/httpd/modules/core/mod_watchdog.c:703,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/core/mod_watchdog.c:708,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/core/mod_watchdog.c:709,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/core/mod_watchdog.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 711
    functionName: wd_register_hooks
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - ap_hook_child_stopped
    - ap_hook_child_stopping
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void wd_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: AP_WD_DECLARE
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: AP_WD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: AP_WD_DECLARE
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE(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: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: AP_WD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: AP_WD_DECLARE
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: AP_WD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: AP_WD_DECLARE
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: AP_WD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/core/mod_watchdog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_WD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/echo/mod_echo.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: create_echo_server_config
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_echo_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/echo/mod_echo.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: echo_on
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *echo_on(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/echo/mod_echo.c:66,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/echo/mod_echo.c:69,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/echo/mod_echo.c:71,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/echo/mod_echo.c:77,1
    - Dst: memchr
      Src: /src/httpd/modules/echo/mod_echo.c:81,1
    - Dst: memcpy
      Src: /src/httpd/modules/echo/mod_echo.c:85,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/echo/mod_echo.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bbIn
    - buff
    - bufflen
    argTypes:
    - apr_bucket_brigade*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: brigade_peek
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - memchr
    - apr_bucket_read
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_EMPTY
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t brigade_peek(apr_bucket_brigade *bbIn,\n                                 char
      *buff, apr_size_t bufflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_scoreboard_worker
      Src: /src/httpd/modules/echo/mod_echo.c:99,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/echo/mod_echo.c:107,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/echo/mod_echo.c:111,1
    - Dst: ap_get_remote_host
      Src: /src/httpd/modules/echo/mod_echo.c:112,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/echo/mod_echo.c:115,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/echo/mod_echo.c:118,1
    - Dst: brigade_peek
      Src: /src/httpd/modules/echo/mod_echo.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - sbh
    - status
    - c
    - last_echoed
    argTypes:
    - ap_sb_handle_t*
    - int
    - conn_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: update_echo_child_status
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_get_remote_host
    - apr_cpystrn
    - brigade_peek
    - ap_get_scoreboard_worker
    linkageType: ''
    returnType: int
    signature: "int update_echo_child_status(ap_sb_handle_t *sbh,\n                                    int
      status, conn_rec *c,\n                                    apr_bucket_brigade
      *last_echoed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/echo/mod_echo.c:135,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/echo/mod_echo.c:142,1
    - Dst: update_echo_child_status
      Src: /src/httpd/modules/echo/mod_echo.c:143,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/echo/mod_echo.c:145,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/echo/mod_echo.c:151,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/echo/mod_echo.c:153,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/echo/mod_echo.c:154,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/echo/mod_echo.c:154,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/echo/mod_echo.c:155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/echo/mod_echo.c:155,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/echo/mod_echo.c:162,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/echo/mod_echo.c:163,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/echo/mod_echo.c:163,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/echo/mod_echo.c:170,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/echo/mod_echo.c:171,1
    - Dst: update_echo_child_status
      Src: /src/httpd/modules/echo/mod_echo.c:174,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/echo/mod_echo.c:177,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/echo/mod_echo.c:178,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/echo/mod_echo.c:179,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/echo/mod_echo.c:181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/echo/mod_echo.c:181,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/echo/mod_echo.c:186,1
    - Dst: update_echo_child_status
      Src: /src/httpd/modules/echo/mod_echo.c:189,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/echo/mod_echo.c:191,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/echo/mod_echo.c:192,1
    - Dst: update_echo_child_status
      Src: /src/httpd/modules/echo/mod_echo.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 195
    functionName: process_echo_connection
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_STATUS_IS_EOF
    - ap_time_process_request
    - APR_BRIGADE_EMPTY
    - ap_get_conn_socket
    - ap_pass_brigade
    - apr_brigade_destroy
    - apr_socket_timeout_set
    - APLOGNO
    - apr_brigade_create
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - APR_STATUS_IS_TIMEUP
    - ap_get_module_config
    - update_echo_child_status
    - ap_log_error
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int process_echo_connection(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/echo/mod_echo.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/echo/mod_echo.c
    functionUses: 0
    functionsReached:
    - ap_hook_process_connection
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AP_SLOTMEM_IS_PREGRAB
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SLOTMEM_IS_PREGRAB(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: AP_SLOTMEM_IS_PERSIST
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SLOTMEM_IS_PERSIST(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: AP_SLOTMEM_IS_CLEARINUSE
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SLOTMEM_IS_CLEARINUSE(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - apr_size_t
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: slotmem_size_mul
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int slotmem_size_mul(apr_size_t a, apr_size_t b, apr_size_t *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - apr_size_t
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: slotmem_size_add
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int slotmem_size_add(apr_size_t a, apr_size_t b, apr_size_t *res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:114,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:115,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:118,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:119,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:121,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:132,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:133,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:137,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pool
    - slotname
    - filename
    - persistname
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 152
    functionName: slotmem_filenames
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_pstrcat
    - strcasecmp
    - ap_runtime_dir_relative
    - apr_psprintf
    - ap_os_is_path_absolute
    linkageType: ''
    returnType: int
    signature: "int slotmem_filenames(apr_pool_t *pool,\n                             const
      char *slotname,\n                             const char **filename,\n                             const
      char **persistname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: slotmem_clearinuse
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slotmem_clearinuse(ap_slotmem_instance_t *slot)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:181,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:185,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:187,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:188,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:189,1
    - Dst: AP_SLOTMEM_IS_CLEARINUSE
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:195,1
    - Dst: slotmem_clearinuse
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:196,1
    - Dst: apr_md5
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:200,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:201,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:203,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:206,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:209,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - slotmem
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: store_slotmem
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_CLEARINUSE
    - apr_file_write_full
    - apr_file_close
    - APLOGNO
    - slotmem_clearinuse
    - apr_md5
    - APR_STATUS_IS_EEXIST
    - apr_file_remove
    - ap_log_error
    - apr_file_open
    linkageType: ''
    returnType: void
    signature: void store_slotmem(ap_slotmem_instance_t *slotmem)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:228,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:228,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:232,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:235,1
    - Dst: apr_file_eof
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:241,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:242,1
    - Dst: apr_md5
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:244,1
    - Dst: memcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:245,1
    - Dst: apr_file_eof
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:252,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:253,1
    - Dst: memcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:255,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:278,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:278,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:282,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:282,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:292,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:292,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:295,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - desc
    - storename
    - size
    - pool
    argTypes:
    - sharedslotdesc_t*
    - char*
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 299
    functionName: restore_slotmem
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - APLOGNO
    - apr_md5
    - apr_file_eof
    - ap_log_error
    - apr_file_open
    - memcmp
    - apr_file_read_full
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t restore_slotmem(sharedslotdesc_t *desc,\n                                    const
      char *storename, apr_size_t size,\n                                    apr_pool_t
      *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: is_child_process
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE is_child_process(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_child_process
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:316,1
    - Dst: AP_SLOTMEM_IS_PERSIST
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:320,1
    - Dst: store_slotmem
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:321,1
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:323,1
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: cleanup_slotmem
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    - apr_shm_remove
    - store_slotmem
    - is_child_process
    - AP_SLOTMEM_IS_PERSIST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_slotmem(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:348,1
    - Dst: func
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - mem
    - func
    - data
    - pool
    argTypes:
    - ap_slotmem_instance_t*
    - ap_slotmem_callback_fn_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: slotmem_doall
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - func
    - AP_SLOTMEM_IS_PREGRAB
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_doall(ap_slotmem_instance_t *mem,\n                                  ap_slotmem_callback_fn_t
      *func,\n                                  void *data, apr_pool_t *pool)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:382,1
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:383,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:384,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:386,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:387,1
    - Dst: slotmem_filenames
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:390,1
    - Dst: strcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:394,1
    - Dst: next::next
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:396,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:397,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:397,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:407,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:407,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:416,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:416,1
    - Dst: is_child_process
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:426,1
    - Dst: apr_shm_attach
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:427,1
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:430,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:431,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:435,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:438,1
    - Dst: is_child_process
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:440,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:446,1
    - Dst: memset
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:447,1
    - Dst: restore_slotmem
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:459,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:465,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:466,1
    - Dst: memset
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:467,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:476,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:477,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:478,1
    - Dst: res::res
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:501,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 6
    argNames:
    - new
    - name
    - item_size
    - item_num
    - type
    - pool
    argTypes:
    - ap_slotmem_instance_t**
    - char*
    - apr_size_t
    - unsigned int
    - ap_slotmem_type_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 503
    functionName: slotmem_create
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memset
    - slotmem_size_add
    - apr_shm_remove
    - apr_pcalloc
    - APLOGNO
    - slotmem_filenames
    - slotmem_size_mul
    - next::next
    - apr_shm_attach
    - apr_shm_create
    - apr_shm_baseaddr_get
    - restore_slotmem
    - ap_log_error
    - res::res
    - is_child_process
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_create(ap_slotmem_instance_t **new,\n                                   const
      char *name, apr_size_t item_size,\n                                   unsigned
      int item_num,\n                                   ap_slotmem_type_t type, apr_pool_t
      *pool)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: slotmem_filenames
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:525,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:529,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:529,1
    - Dst: strcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:535,1
    - Dst: next::next
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:537,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:540,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:541,1
    - Dst: apr_shm_attach
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:554,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:560,1
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:562,1
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:563,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:564,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:566,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:567,1
    - Dst: apr_shm_detach
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:568,1
    - Dst: apr_shm_size_get
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:572,1
    - Dst: apr_shm_detach
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:574,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:581,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:582,1
    - Dst: res::res
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:594,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:597,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:598,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - new
    - name
    - item_size
    - item_num
    - pool
    argTypes:
    - ap_slotmem_instance_t**
    - char*
    - apr_size_t*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 602
    functionName: slotmem_attach
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pcalloc
    - slotmem_size_add
    - APLOGNO
    - slotmem_filenames
    - apr_shm_attach
    - next::next
    - slotmem_size_mul
    - apr_shm_baseaddr_get
    - ap_log_error
    - apr_shm_size_get
    - res::res
    - apr_pstrdup
    - apr_shm_detach
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_attach(ap_slotmem_instance_t **new,\n                                   const
      char *name, apr_size_t *item_size,\n                                   unsigned
      int *item_num, apr_pool_t *pool)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - slot
    - id
    - mem
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 627
    functionName: slotmem_dptr
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_dptr(ap_slotmem_instance_t *slot,\n                                 unsigned
      int id, void **mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:647,1
    - Dst: slotmem_dptr
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:650,1
    - Dst: memcpy
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - slot
    - id
    - dest
    - dest_len
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 657
    functionName: slotmem_get
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_PREGRAB
    - slotmem_dptr
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_get(ap_slotmem_instance_t *slot, unsigned int
      id,\n                                unsigned char *dest, apr_size_t dest_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:677,1
    - Dst: slotmem_dptr
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:680,1
    - Dst: memcpy
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - slot
    - id
    - src
    - src_len
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 687
    functionName: slotmem_put
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_PREGRAB
    - slotmem_dptr
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_put(ap_slotmem_instance_t *slot, unsigned int
      id,\n                                unsigned char *src, apr_size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: slotmem_num_slots
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int slotmem_num_slots(ap_slotmem_instance_t *slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: slotmem_num_free_slots
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_PREGRAB
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int slotmem_num_free_slots(ap_slotmem_instance_t *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: slotmem_slot_size
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t slotmem_slot_size(ap_slotmem_instance_t *slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:731,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:731,1
    - Dst: slotmem_num_slots
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:733,1
    - Dst: slotmem_num_free_slots
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 741
    functionName: slotmem_grab
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - slotmem_num_free_slots
    - ap_log_error
    - slotmem_num_slots
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_grab(ap_slotmem_instance_t *slot, unsigned int
      *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:752,1
    - Dst: slotmem_num_slots
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:754,1
    - Dst: slotmem_num_free_slots
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: slotmem_fgrab
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - slotmem_num_free_slots
    - ap_log_error
    - slotmem_num_slots
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_fgrab(ap_slotmem_instance_t *slot, unsigned int
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:779,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:779,1
    - Dst: slotmem_num_slots
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 792
    functionName: slotmem_release
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - slotmem_num_slots
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t slotmem_release(ap_slotmem_instance_t *slot,\n                                    unsigned
      int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: slotmem_shm_getstorage
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ap_slotmem_provider_t
    signature: ap_slotmem_provider_t *slotmem_shm_getstorage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 824
    functionName: post_config
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 9
    functionsReached:
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \                      server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 831
    functionName: pre_config
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slotmem_shm_getstorage
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:835,1
    - Dst: ap_register_provider
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:836,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:838,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/slotmem/mod_slotmem_shm.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 840
    functionName: ap_slotmem_shm_register_hook
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_hook_pre_config
    - slotmem_shm_getstorage
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void ap_slotmem_shm_register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: AP_SLOTMEM_IS_PREGRAB
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SLOTMEM_IS_PREGRAB(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - apr_size_t
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: slotmem_size_mul
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int slotmem_size_mul(apr_size_t a, apr_size_t b, apr_size_t *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - apr_size_t
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: slotmem_size_add
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int slotmem_size_add(apr_size_t a, apr_size_t b, apr_size_t *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:75,1
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:76,1
    - Dst: func
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - func
    - data
    - pool
    argTypes:
    - ap_slotmem_instance_t*
    - ap_slotmem_callback_fn_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: slotmem_do
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - func
    - AP_SLOTMEM_IS_PREGRAB
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_do(ap_slotmem_instance_t *mem, ap_slotmem_callback_fn_t
      *func, void *data, apr_pool_t *pool)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:96,1
    - Dst: slotmem_size_mul
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:97,1
    - Dst: slotmem_size_add
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:99,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:107,1
    - Dst: strcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:112,1
    - Dst: next::next
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:114,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:128,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:129,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:134,1
    - Dst: res::res
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - new
    - name
    - item_size
    - item_num
    - type
    - pool
    argTypes:
    - ap_slotmem_instance_t**
    - char*
    - apr_size_t
    - unsigned int
    - ap_slotmem_type_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 147
    functionName: slotmem_create
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pcalloc
    - slotmem_size_add
    - slotmem_size_mul
    - next::next
    - ap_runtime_dir_relative
    - res::res
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_create(ap_slotmem_instance_t **new, const char
      *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type,
      apr_pool_t *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:158,1
    - Dst: strcmp
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:165,1
    - Dst: next::next
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - new
    - name
    - item_size
    - item_num
    - pool
    argTypes:
    - ap_slotmem_instance_t**
    - char*
    - apr_size_t*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: slotmem_attach
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_runtime_dir_relative
    - next::next
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_attach(ap_slotmem_instance_t **new, const char
      *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - score
    - id
    - mem
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: slotmem_dptr
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_dptr(ap_slotmem_instance_t *score, unsigned int
      id, void **mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:216,1
    - Dst: slotmem_dptr
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:219,1
    - Dst: memcpy
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - slot
    - id
    - dest
    - dest_len
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: slotmem_get
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_PREGRAB
    - slotmem_dptr
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_get(ap_slotmem_instance_t *slot, unsigned int
      id, unsigned char *dest, apr_size_t dest_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AP_SLOTMEM_IS_PREGRAB
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:245,1
    - Dst: slotmem_dptr
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:248,1
    - Dst: memcpy
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - slot
    - id
    - src
    - src_len
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 255
    functionName: slotmem_put
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - AP_SLOTMEM_IS_PREGRAB
    - slotmem_dptr
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_put(ap_slotmem_instance_t *slot, unsigned int
      id, unsigned char *src, apr_size_t src_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: slotmem_num_slots
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int slotmem_num_slots(ap_slotmem_instance_t *slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: slotmem_num_free_slots
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int slotmem_num_free_slots(ap_slotmem_instance_t *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - ap_slotmem_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: slotmem_slot_size
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t slotmem_slot_size(ap_slotmem_instance_t *slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 304
    functionName: slotmem_grab
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_grab(ap_slotmem_instance_t *slot, unsigned int
      *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: slotmem_fgrab
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_fgrab(ap_slotmem_instance_t *slot, unsigned int
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - slot
    - id
    argTypes:
    - ap_slotmem_instance_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: slotmem_release
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t slotmem_release(ap_slotmem_instance_t *slot, unsigned
      int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: pre_config
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pre_config(apr_pool_t *p, apr_pool_t *plog,\n                      apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:368,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/slotmem/mod_slotmem_plain.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ap_slotmem_plain_register_hook
    functionSourceFile: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void ap_slotmem_plain_register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_setenvif.c:142,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_setenvif.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: create_setenvif_config
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_setenvif_config(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_setenvif_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: create_setenvif_config_svr
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - create_setenvif_config
    linkageType: ''
    returnType: void
    signature: void *create_setenvif_config_svr(apr_pool_t *p, server_rec *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_setenvif_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: create_setenvif_config_dir
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - create_setenvif_config
    linkageType: ''
    returnType: void
    signature: void *create_setenvif_config_dir(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_setenvif.c:160,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/metadata/mod_setenvif.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: merge_setenvif_config
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_setenvif_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_setenvif.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - name
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: is_header_regex
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - ap_regexec
    linkageType: ''
    returnType: int
    signature: int is_header_regex(apr_pool_t *p, const char* name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_setenvif.c:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 253
    functionName: non_regex_pattern
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: char *non_regex_pattern(apr_pool_t *p, const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_setenvif.c:262,1
    - Dst: ap_getword
      Src: /src/httpd/modules/metadata/mod_setenvif.c:268,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_setenvif.c:270,1
    - Dst: features::features
      Src: /src/httpd/modules/metadata/mod_setenvif.c:270,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_setenvif.c:273,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:276,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_setenvif.c:281,1
    - Dst: features::features
      Src: /src/httpd/modules/metadata/mod_setenvif.c:281,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - cmd
    - args
    - new
    argTypes:
    - cmd_parms*
    - char*
    - sei_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: add_envvars
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    - apr_table_setn
    - features::features
    - ap_getword
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *add_envvars(cmd_parms *cmd, const char *args, sei_entry *new)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:312,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_setenvif.c:316,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:318,1
    - Dst: entries::entries
      Src: /src/httpd/modules/metadata/mod_setenvif.c:328,1
    - Dst: name::name
      Src: /src/httpd/modules/metadata/mod_setenvif.c:329,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:329,1
    - Dst: name::name
      Src: /src/httpd/modules/metadata/mod_setenvif.c:329,1
    - Dst: name::name
      Src: /src/httpd/modules/metadata/mod_setenvif.c:330,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:343,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/metadata/mod_setenvif.c:346,1
    - Dst: non_regex_pattern
      Src: /src/httpd/modules/metadata/mod_setenvif.c:351,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/modules/metadata/mod_setenvif.c:352,1
    - Dst: pattern::pattern
      Src: /src/httpd/modules/metadata/mod_setenvif.c:354,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:355,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:361,1
    - Dst: preg::preg
      Src: /src/httpd/modules/metadata/mod_setenvif.c:363,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:364,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_setenvif.c:369,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:371,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:374,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:377,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:380,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:383,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:386,1
    - Dst: is_header_regex
      Src: /src/httpd/modules/metadata/mod_setenvif.c:396,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:397,1
    - Dst: pnamereg::pnamereg
      Src: /src/httpd/modules/metadata/mod_setenvif.c:400,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:401,1
    - Dst: entries::entries
      Src: /src/httpd/modules/metadata/mod_setenvif.c:411,1
    - Dst: add_envvars
      Src: /src/httpd/modules/metadata/mod_setenvif.c:414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 4
    argNames:
    - cmd
    - mconfig
    - fname
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 415
    functionName: add_setenvif_core
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_strmatch_precompile
    - apr_pstrcat
    - entries::entries
    - non_regex_pattern
    - is_header_regex
    - strcasecmp
    - add_envvars
    - preg::preg
    - name::name
    - pnamereg::pnamereg
    - ap_get_module_config
    - apr_array_push::apr_array_push
    - ap_pregcomp
    - pattern::pattern
    - apr_table_make
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *add_setenvif_core(cmd_parms *cmd, void *mconfig,\n                                     char
      *fname, const char *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_setenvif.c:423,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:425,1
    - Dst: add_setenvif_core
      Src: /src/httpd/modules/metadata/mod_setenvif.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: add_setenvif
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - add_setenvif_core
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *add_setenvif(cmd_parms *cmd, void *mconfig,\n                                const
      char *args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:447,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_setenvif.c:450,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_setenvif.c:452,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/metadata/mod_setenvif.c:456,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_setenvif.c:457,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/metadata/mod_setenvif.c:462,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_setenvif.c:464,1
    - Dst: add_envvars
      Src: /src/httpd/modules/metadata/mod_setenvif.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 468
    functionName: add_setenvifexpr
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    - add_envvars
    - apr_psprintf
    - apr_array_push::apr_array_push
    - ap_get_module_config
    - apr_table_make
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *add_setenvifexpr(cmd_parms *cmd, void *mconfig,\n                                    const
      char *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_setenvif_core
      Src: /src/httpd/modules/metadata/mod_setenvif.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: add_browser
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - add_setenvif_core
    linkageType: ''
    returnType: char
    signature: char *add_browser(cmd_parms *cmd, void *mconfig, const char *args)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:519,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:522,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_setenvif.c:524,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:525,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:532,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:537,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/metadata/mod_setenvif.c:565,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/metadata/mod_setenvif.c:583,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_setenvif.c:588,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_setenvif.c:595,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_setenvif.c:597,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_setenvif.c:601,1
    - Dst: apr_strmatch
      Src: /src/httpd/modules/metadata/mod_setenvif.c:619,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_setenvif.c:620,1
    - Dst: ap_expr_exec_re
      Src: /src/httpd/modules/metadata/mod_setenvif.c:621,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/metadata/mod_setenvif.c:623,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_setenvif.c:628,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/metadata/mod_setenvif.c:642,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_setenvif.c:645,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_setenvif.c:649,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_setenvif.c:649,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_setenvif.c:657,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_setenvif.c:661,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 668
    functionName: match_headers
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_pregsub
    - ap_set_module_config
    - apr_table_elts
    - ap_get_useragent_host
    - apr_table_setn
    - APLOGNO
    - apr_strmatch
    - ap_regexec
    - ap_expr_exec_re
    - apr_table_unset
    - ap_get_module_config
    - apr_table_get
    - strlen
    linkageType: ''
    returnType: int
    signature: int match_headers(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: sei_pre_config
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sei_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_header_parser
      Src: /src/httpd/modules/metadata/mod_setenvif.c:678,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/metadata/mod_setenvif.c:679,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/metadata/mod_setenvif.c:680,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/metadata/mod_setenvif.c:681,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_setenvif.c:683,1
    - Dst: ap_assert
      Src: /src/httpd/modules/metadata/mod_setenvif.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_setenvif.c
    functionUses: 0
    functionsReached:
    - ap_hook_header_parser
    - ap_hook_pre_config
    - ap_pregcomp
    - ap_assert
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - stuff
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: constant_item
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *constant_item(request_rec *r, char *stuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_headers.c:172,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/metadata/mod_headers.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: header_request_duration
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *header_request_duration(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_headers.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: header_request_time
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *header_request_time(request_rec *r, char *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_headers.c:184,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_headers.c:184,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_headers.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p
    - hdr
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: unwrap_header
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: char *unwrap_header(apr_pool_t *p, const char *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:199,1
    - Dst: unwrap_header
      Src: /src/httpd/modules/metadata/mod_headers.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: header_request_env_var
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - unwrap_header
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: char *header_request_env_var(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/metadata/mod_headers.c:209,1
    - Dst: unwrap_header
      Src: /src/httpd/modules/metadata/mod_headers.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: header_request_ssl_var
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_ssl_var_lookup
    - unwrap_header
    linkageType: ''
    returnType: char
    signature: char *header_request_ssl_var(request_rec *r, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_loadavg
      Src: /src/httpd/modules/metadata/mod_headers.c:220,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_headers.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: header_request_loadavg
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - ap_get_loadavg
    linkageType: ''
    returnType: char
    signature: char *header_request_loadavg(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sload
      Src: /src/httpd/modules/metadata/mod_headers.c:228,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_headers.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: header_request_idle
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_get_sload
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *header_request_idle(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sload
      Src: /src/httpd/modules/metadata/mod_headers.c:235,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_headers.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: header_request_busy
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_get_sload
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *header_request_busy(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_headers.c:245,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_headers.c:247,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_headers.c:248,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_headers.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: create_headers_dir_config
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_headers_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_headers.c:256,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/metadata/mod_headers.c:260,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/metadata/mod_headers.c:262,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/metadata/mod_headers.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: merge_headers_config
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_headers_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_headers.c:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - p
    - tag
    - sa
    argTypes:
    - apr_pool_t*
    - format_tag*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 328
    functionName: parse_misc_string
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: char *parse_misc_string(apr_pool_t *p, format_tag *tag, const char
      **sa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_misc_string
      Src: /src/httpd/modules/metadata/mod_headers.c:337,1
    - Dst: ap_getword
      Src: /src/httpd/modules/metadata/mod_headers.c:355,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/metadata/mod_headers.c:358,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - p
    - tag
    - sa
    argTypes:
    - apr_pool_t*
    - format_tag*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 370
    functionName: parse_format_tag
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - parse_misc_string
    - ap_getword
    - apr_hash_get
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *parse_format_tag(apr_pool_t *p, format_tag *tag, const char **sa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_headers.c:396,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/metadata/mod_headers.c:398,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:402,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_headers.c:408,1
    - Dst: parse_format_tag
      Src: /src/httpd/modules/metadata/mod_headers.c:411,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/metadata/mod_headers.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - hdr
    - s
    argTypes:
    - cmd_parms*
    - header_entry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: parse_format_string
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    - apr_array_push
    - apr_array_make
    - parse_format_tag
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *parse_format_string(cmd_parms *cmd, header_entry *hdr, const
      char *s)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/metadata/mod_headers.c:438,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:440,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:442,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:444,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:446,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:448,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:450,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:452,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:454,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:456,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:458,1
    - Dst: action::action
      Src: /src/httpd/modules/metadata/mod_headers.c:468,1
    - Dst: action::action
      Src: /src/httpd/modules/metadata/mod_headers.c:468,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_headers.c:472,1
    - Dst: regex::regex
      Src: /src/httpd/modules/metadata/mod_headers.c:473,1
    - Dst: action::action
      Src: /src/httpd/modules/metadata/mod_headers.c:485,1
    - Dst: action::action
      Src: /src/httpd/modules/metadata/mod_headers.c:494,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_headers.c:508,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:520,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:523,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:531,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/metadata/mod_headers.c:533,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:535,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:541,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_headers.c:546,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/metadata/mod_headers.c:547,1
    - Dst: parse_format_string
      Src: /src/httpd/modules/metadata/mod_headers.c:554,1
    - Dst: value::value
      Src: /src/httpd/modules/metadata/mod_headers.c:554,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 96
    argCount: 7
    argNames:
    - cmd
    - indirconf
    - action
    - hdr
    - value
    - subs
    - envclause
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 555
    functionName: header_inout_cmd
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - regex::regex
    - apr_pstrcat
    - action::action
    - strcasecmp
    - apr_pstrmemdup
    - ap_pregcomp
    - apr_array_push::apr_array_push
    - ap_strchr_c
    - value::value
    - strncasecmp
    - parse_format_string
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE *header_inout_cmd(cmd_parms *cmd,\n                                               void
      *indirconf,\n                                               const char *action,\n
      \                                              const char *hdr,\n                                               const
      char *value,\n                                               const char *subs,\n
      \                                              const char *envclause)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:567,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:569,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:571,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:573,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:574,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:577,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:578,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:579,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_headers.c:580,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:583,1
    - Dst: header_inout_cmd
      Src: /src/httpd/modules/metadata/mod_headers.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - indirconf
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: header_cmd
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - header_inout_cmd
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *header_cmd(cmd_parms *cmd, void *indirconf,\n                              const
      char *args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/metadata/mod_headers.c:609,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_headers.c:611,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_headers.c:611,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_headers.c:615,1
    - Dst: func
      Src: /src/httpd/modules/metadata/mod_headers.c:621,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_headers.c:623,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_headers.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hdr
    - r
    argTypes:
    - header_entry*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 628
    functionName: process_tags
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - ap_expr_str_exec
    - APLOGNO
    - func
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char * process_tags(header_entry *hdr, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/metadata/mod_headers.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - iovecs
    - str
    - len
    argTypes:
    - apr_array_header_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: push_string
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    linkageType: ''
    returnType: void
    signature: "void push_string(apr_array_header_t *iovecs,\n                        const
      char *str, apr_size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec_ex
      Src: /src/httpd/modules/metadata/mod_headers.c:650,1
    - Dst: ap_assert
      Src: /src/httpd/modules/metadata/mod_headers.c:657,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/metadata/mod_headers.c:662,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:662,1
    - Dst: push_string
      Src: /src/httpd/modules/metadata/mod_headers.c:669,1
    - Dst: push_string
      Src: /src/httpd/modules/metadata/mod_headers.c:670,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_headers.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - iovecs
    - str
    - len
    - pos
    - flags
    - pmatch
    - hdr
    - r
    argTypes:
    - apr_array_header_t*
    - char*
    - apr_size_t
    - apr_size_t*
    - int
    - ap_regmatch_t[]
    - header_entry*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 675
    functionName: push_match
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - push_string
    - ap_pregsub
    - process_tags
    - strlen
    - ap_regexec_ex
    - ap_assert
    linkageType: ''
    returnType: int
    signature: "int push_match(apr_array_header_t *iovecs,\n                      const
      char *str, apr_size_t len, apr_size_t *pos,\n                      int flags,
      ap_regmatch_t pmatch[AP_MAX_REG_MATCH],\n                      header_entry
      *hdr, request_rec *r)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_headers.c:682,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_headers.c:685,1
    - Dst: push_match
      Src: /src/httpd/modules/metadata/mod_headers.c:688,1
    - Dst: push_match
      Src: /src/httpd/modules/metadata/mod_headers.c:714,1
    - Dst: push_string
      Src: /src/httpd/modules/metadata/mod_headers.c:733,1
    - Dst: push_string
      Src: /src/httpd/modules/metadata/mod_headers.c:744,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/metadata/mod_headers.c:747,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - hdr
    - value
    - r
    argTypes:
    - header_entry*
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 748
    functionName: process_regexp
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - push_string
    - push_match
    - apr_pstrcatv
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *process_regexp(header_entry *hdr, const char *value,\n                                  request_rec
      *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_headers.c:757,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/metadata/mod_headers.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: echo_header
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_regexec
    - apr_table_add
    linkageType: ''
    returnType: int
    signature: int echo_header(void *v, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_regexp
      Src: /src/httpd/modules/metadata/mod_headers.c:767,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/metadata/mod_headers.c:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 773
    functionName: edit_header
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - process_regexp
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int edit_header(void *v, const char *key, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/metadata/mod_headers.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: add_them_all
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int add_them_all(void *v, const char *key, const char *val)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/metadata/mod_headers.c:805,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_headers.c:807,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_headers.c:807,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:818,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:822,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/metadata/mod_headers.c:829,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:829,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/metadata/mod_headers.c:832,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:832,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:835,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/metadata/mod_headers.c:837,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:837,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:839,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_headers.c:840,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_headers.c:847,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_headers.c:860,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/metadata/mod_headers.c:870,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:876,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/metadata/mod_headers.c:877,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:877,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_headers.c:879,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:879,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:882,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:884,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/metadata/mod_headers.c:885,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:885,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_headers.c:887,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:887,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_headers.c:891,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:893,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/metadata/mod_headers.c:894,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/metadata/mod_headers.c:900,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_headers.c:904,1
    - Dst: process_regexp
      Src: /src/httpd/modules/metadata/mod_headers.c:905,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/metadata/mod_headers.c:908,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:910,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_headers.c:915,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/metadata/mod_headers.c:916,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_headers.c:919,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/metadata/mod_headers.c:920,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_headers.c:924,1
    - Dst: process_tags
      Src: /src/httpd/modules/metadata/mod_headers.c:924,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_headers.c:924,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 108
    argCount: 4
    argNames:
    - r
    - headers
    - fixup
    - early
    argTypes:
    - request_rec*
    - apr_table_t*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 783
    functionDepth: 4
    functionLinenumber: 783
    functionLinenumberEnd: 930
    functionName: do_headers_fixup
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - ap_log_rerror
    - apr_isspace
    - ap_cstr_casecmp
    - ap_set_content_type_ex
    - APLOGNO
    - process_tags
    - apr_table_setn
    - process_regexp
    - apr_table_unset
    - apr_table_addn
    - apr_table_make
    - apr_table_get
    - apr_table_mergen
    - ap_expr_exec
    - strlen
    - strncmp
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: "int do_headers_fixup(request_rec *r, apr_table_t *headers,\n                             apr_array_header_t
      *fixup, int early)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:934,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 940
    functionName: ap_headers_insert_output_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_headers_insert_output_filter(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:947,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 953
    functionName: ap_headers_insert_error_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_headers_insert_error_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:958,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_headers.c:961,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_headers.c:961,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:965,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:966,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:969,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/metadata/mod_headers.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 955
    functionDepth: 5
    functionLinenumber: 955
    functionLinenumberEnd: 973
    functionName: ap_headers_output_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APLOGNO
    - do_headers_fixup
    - ap_log_error
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_headers_output_filter(ap_filter_t *f,\n                                             apr_bucket_brigade
      *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:984,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_headers.c:986,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_headers.c:986,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:993,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:999,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/metadata/mod_headers.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 979
    functionDepth: 5
    functionLinenumber: 979
    functionLinenumberEnd: 1005
    functionName: ap_headers_error_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APLOGNO
    - do_headers_fixup
    - ap_log_error
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_headers_error_filter(ap_filter_t *f,\n                                            apr_bucket_brigade
      *in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:1009,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1018
    functionName: ap_headers_fixup
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - do_headers_fixup
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_headers_fixup(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_headers.c:1021,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:1026,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:1030,1
    - Dst: do_headers_fixup
      Src: /src/httpd/modules/metadata/mod_headers.c:1034,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_headers.c:1040,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_headers.c:1040,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1043
    functionName: ap_headers_early
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - do_headers_fixup
    - APLOGNO
    - ap_log_rerror
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_headers_early(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/metadata/mod_headers.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - tag_handler
    argTypes:
    - char*
    - format_tag_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: register_format_tag_handler
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: "void register_format_tag_handler(const char *tag,\n                                        format_tag_fn
      *tag_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/metadata/mod_headers.c:1064,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1065,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1066,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1067,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1068,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1069,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1070,1
    - Dst: register_format_tag_handler
      Src: /src/httpd/modules/metadata/mod_headers.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1074
    functionName: header_pre_config
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - register_format_tag_handler
    linkageType: ''
    returnType: int
    signature: int header_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1080
    functionName: header_post_config
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int header_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:1084,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:1086,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/metadata/mod_headers.c:1088,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/metadata/mod_headers.c:1089,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:1090,1
    - Dst: ap_hook_insert_error_filter
      Src: /src/httpd/modules/metadata/mod_headers.c:1091,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/metadata/mod_headers.c:1093,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/metadata/mod_headers.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1095
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_headers.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - ap_hook_insert_error_filter
    - ap_register_output_filter
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_insert_filter
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_expires.c:188,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_expires.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: create_dir_expires_config
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_expires_config(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - in_dir_config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: set_expiresactive
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_expiresactive(cmd_parms *cmd, void *in_dir_config, int arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_expires.c:234,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:235,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:236,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:239,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:243,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_expires.c:249,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:250,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_expires.c:251,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_expires.c:259,1
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_expires.c:260,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:263,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_expires.c:269,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:271,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:274,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:277,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:280,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:283,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:286,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:289,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_expires.c:292,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:296,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_expires.c:304,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_expires.c:307,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - p
    - code
    - real_code
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 310
    functionName: check_code
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_isdigit
    - atoi
    - apr_psprintf
    - strncasecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *check_code(apr_pool_t *p, const char *code, char **real_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/metadata/mod_expires.c:319,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_expires.c:323,1
    - Dst: check_code
      Src: /src/httpd/modules/metadata/mod_expires.c:327,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_expires.c:328,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cmd
    - in_dir_config
    - mime
    - code
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: set_expiresbytype
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_table_setn
    - ap_strrchr_c
    - strlen
    - check_code
    linkageType: ''
    returnType: char
    signature: "char *set_expiresbytype(cmd_parms *cmd, void *in_dir_config,\n                                     const
      char *mime, const char *code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_code
      Src: /src/httpd/modules/metadata/mod_expires.c:341,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - in_dir_config
    - code
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: set_expiresdefault
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - check_code
    linkageType: ''
    returnType: char
    signature: "char *set_expiresdefault(cmd_parms *cmd, void *in_dir_config,\n                                      const
      char *code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_expires.c:362,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/metadata/mod_expires.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 383
    functionName: merge_expires_dir_configs
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_expires_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_expires.c:408,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_expires.c:409,1
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_expires.c:416,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_expires.c:417,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_expires.c:423,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_expires.c:423,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/metadata/mod_expires.c:432,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_expires.c:433,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/metadata/mod_expires.c:434,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_expires.c:435,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/metadata/mod_expires.c:436,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_expires.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - r
    - code
    - t
    argTypes:
    - request_rec*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 439
    functionName: set_expiration_fields
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_table_setn
    - atoi
    - apr_rfc822_date
    - apr_psprintf
    - apr_table_mergen
    - apr_time_sec
    linkageType: ''
    returnType: int
    signature: "int set_expiration_fields(request_rec *r, const char *code,\n                                 apr_table_t
      *t)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/metadata/mod_expires.c:455,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:456,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/metadata/mod_expires.c:457,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_expires.c:461,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_expires.c:469,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_expires.c:474,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_expires.c:483,1
    - Dst: ap_field_noparam
      Src: /src/httpd/modules/metadata/mod_expires.c:484,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_expires.c:493,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/metadata/mod_expires.c:494,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_expires.c:500,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_expires.c:505,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_expires.c:507,1
    - Dst: set_expiration_fields
      Src: /src/httpd/modules/metadata/mod_expires.c:519,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:522,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/metadata/mod_expires.c:523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 524
    functionName: expires_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_ERROR
    - ap_pass_brigade
    - ap_strchr
    - apr_pstrcat
    - strlen
    - ap_remove_output_filter
    - ap_field_noparam
    - set_expiration_fields
    - apr_table_get
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t expires_filter(ap_filter_t *f,\n                                   apr_bucket_brigade
      *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/metadata/mod_expires.c:531,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_expires.c:538,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/metadata/mod_expires.c:545,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 549
    functionName: expires_insert_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_ERROR
    - apr_is_empty_table
    - ap_add_output_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void expires_insert_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:556,1
    - Dst: ap_hook_insert_error_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:558,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/metadata/mod_expires.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_expires.c
    functionUses: 0
    functionsReached:
    - ap_hook_insert_filter
    - ap_register_output_filter
    - ap_hook_insert_error_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_usertrack.c:101,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/metadata/mod_usertrack.c:105,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/modules/metadata/mod_usertrack.c:109,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:110,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_usertrack.c:112,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:116,1
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/modules/metadata/mod_usertrack.c:121,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_usertrack.c:122,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:123,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:133,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:138,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:142,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:150,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:155,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:159,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/metadata/mod_usertrack.c:165,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_usertrack.c:168,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_usertrack.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 169
    functionName: make_cookie
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - apr_pstrcat
    - apr_table_setn
    - ap_random_insecure_bytes
    - apr_table_addn
    - apr_psprintf
    - ap_get_module_config
    - apr_time_exp_gmt
    - apr_pstrdup
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void make_cookie(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/metadata/mod_usertrack.c:192,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_usertrack.c:200,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/metadata/mod_usertrack.c:204,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:212,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:218,1
    - Dst: ap_assert
      Src: /src/httpd/modules/metadata/mod_usertrack.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - dcfg
    - p
    - cookie_name
    argTypes:
    - cookie_dir_rec*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: set_and_comp_regexp
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pstrcat
    - ap_pregcomp
    - apr_isalnum
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void set_and_comp_regexp(cookie_dir_rec *dcfg,\n                                apr_pool_t
      *p,\n                                const char *cookie_name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_usertrack.c:224,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_usertrack.c:234,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_usertrack.c:235,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/metadata/mod_usertrack.c:245,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/metadata/mod_usertrack.c:251,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_usertrack.c:257,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_usertrack.c:257,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_usertrack.c:262,1
    - Dst: make_cookie
      Src: /src/httpd/modules/metadata/mod_usertrack.c:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: spot_cookie
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_pregsub
    - APLOGNO
    - apr_table_setn
    - make_cookie
    - ap_regexec
    - apr_table_get
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int spot_cookie(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_usertrack.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: make_cookie_log_state
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *make_cookie_log_state(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_usertrack.c:285,1
    - Dst: set_and_comp_regexp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: make_cookie_dir
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - set_and_comp_regexp
    linkageType: ''
    returnType: void
    signature: void *make_cookie_dir(apr_pool_t *p, char *d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_usertrack.c:306,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_usertrack.c:309,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_usertrack.c:309,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_usertrack.c:309,1
    - Dst: atol
      Src: /src/httpd/modules/metadata/mod_usertrack.c:310,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:320,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:321,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:322,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_usertrack.c:328,1
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_usertrack.c:329,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:334,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:338,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:340,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:342,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:344,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:346,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:348,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:350,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:358,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 364
    functionName: set_cookie_exp
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - atoi
    - ap_get_module_config
    - atol
    - strlen
    - strncasecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_exp(cmd_parms *parms, void *dummy,\n                                  const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_and_comp_regexp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:373,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_usertrack.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: set_cookie_name
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - set_and_comp_regexp
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_name(cmd_parms *cmd, void *mconfig,\n                                   const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_usertrack.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: set_cookie_domain
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_domain(cmd_parms *cmd, void *mconfig,\n                                     const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:423,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:426,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:427,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:430,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:431,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_usertrack.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: set_cookie_style
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_style(cmd_parms *cmd, void *mconfig,\n                                    const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:453,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:455,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/metadata/mod_usertrack.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 464
    functionName: set_samesite_value
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *set_samesite_value(cmd_parms *cmd, void *mconfig,\n                                    const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/metadata/mod_usertrack.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_usertrack.c
    functionUses: 0
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:154,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_remoteip.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: create_remoteip_server_config
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_remoteip_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - globalv
    - serverv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: merge_remoteip_server_config
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void *merge_remoteip_server_config(apr_pool_t *p, void *globalv,\n
      \                                         void *serverv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: header_name_set
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *header_name_set(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: proxies_header_name_set
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *proxies_header_name_set(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_remoteip.c:207,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_remoteip.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ipstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: looks_like_ip
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - ap_strchr_c
    linkageType: ''
    returnType: int
    signature: int looks_like_ip(const char *ipstr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:221,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_remoteip.c:225,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/metadata/mod_remoteip.c:226,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/metadata/mod_remoteip.c:232,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/metadata/mod_remoteip.c:234,1
    - Dst: looks_like_ip
      Src: /src/httpd/modules/metadata/mod_remoteip.c:237,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/metadata/mod_remoteip.c:239,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_remoteip.c:246,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:251,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:255,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/metadata/mod_remoteip.c:256,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/metadata/mod_remoteip.c:261,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - cmd
    - cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 273
    functionName: proxies_set
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - apr_ipsubnet_create
    - apr_pstrcat
    - apr_array_push
    - apr_psprintf
    - ap_get_module_config
    - apr_sockaddr_ip_get
    - apr_pstrdup
    - apr_array_make
    - looks_like_ip
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *proxies_set(cmd_parms *cmd, void *cfg,\n                               const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/metadata/mod_remoteip.c:285,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/metadata/mod_remoteip.c:286,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:288,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/metadata/mod_remoteip.c:292,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:294,1
    - Dst: proxies_set
      Src: /src/httpd/modules/metadata/mod_remoteip.c:298,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/metadata/mod_remoteip.c:300,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:301,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/metadata/mod_remoteip.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - cmd
    - cfg
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 310
    functionName: proxylist_read
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_cfg_closefile
    - ap_server_root_relative
    - ap_pcfg_openfile
    - proxies_set
    - ap_cfg_getline
    - apr_psprintf
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *proxylist_read(cmd_parms *cmd, void *cfg,\n                                  const
      char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/modules/metadata/mod_remoteip.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - apr_sockaddr_t*
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: remoteip_sockaddr_equal
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: int remoteip_sockaddr_equal(apr_sockaddr_t *addr1, apr_sockaddr_t *addr2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:333,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/httpd/modules/metadata/mod_remoteip.c:338,1
    - Dst: memcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 348
    functionName: sockaddr_is_wildcard
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - memcmp
    linkageType: ''
    returnType: int
    signature: int sockaddr_is_wildcard(const apr_sockaddr_t *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/modules/metadata/mod_remoteip.c:358,1
    - Dst: apr_sockaddr_is_wildcard
      Src: /src/httpd/modules/metadata/mod_remoteip.c:364,1
    - Dst: apr_sockaddr_is_wildcard
      Src: /src/httpd/modules/metadata/mod_remoteip.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - apr_sockaddr_t*
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 375
    functionName: remoteip_sockaddr_compat
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_equal
    - apr_sockaddr_is_wildcard
    linkageType: ''
    returnType: int
    signature: int remoteip_sockaddr_compat(apr_sockaddr_t *addr1, apr_sockaddr_t
      *addr2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remoteip_sockaddr_compat
      Src: /src/httpd/modules/metadata/mod_remoteip.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - addr
    argTypes:
    - remoteip_addr_info*
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: remoteip_addr_in_list
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - remoteip_sockaddr_compat
    linkageType: ''
    returnType: int
    signature: int remoteip_addr_in_list(remoteip_addr_info *list, apr_sockaddr_t
      *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:392,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_remoteip.c:394,1
    - Dst: APLOGNO::APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:394,1
    - Dst: server_hostname::server_hostname
      Src: /src/httpd/modules/metadata/mod_remoteip.c:400,1
    - Dst: addrs::addrs
      Src: /src/httpd/modules/metadata/mod_remoteip.c:400,1
    - Dst: defn_name::defn_name
      Src: /src/httpd/modules/metadata/mod_remoteip.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prev
    - new
    - flag
    argTypes:
    - remoteip_addr_info*
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 402
    functionName: remoteip_warn_enable_conflict
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - defn_name::defn_name
    - addrs::addrs
    - server_hostname::server_hostname
    - APLOGNO::APLOGNO
    - ap_log_error
    - apr_sockaddr_ip_getbuf
    linkageType: ''
    returnType: void
    signature: void remoteip_warn_enable_conflict(remoteip_addr_info *prev, server_rec
      *new, int flag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:413,1
    - Dst: remoteip_sockaddr_equal
      Src: /src/httpd/modules/metadata/mod_remoteip.c:428,1
    - Dst: remoteip_warn_enable_conflict
      Src: /src/httpd/modules/metadata/mod_remoteip.c:429,1
    - Dst: remoteip_sockaddr_equal
      Src: /src/httpd/modules/metadata/mod_remoteip.c:434,1
    - Dst: remoteip_warn_enable_conflict
      Src: /src/httpd/modules/metadata/mod_remoteip.c:435,1
    - Dst: remoteip_addr_in_list
      Src: /src/httpd/modules/metadata/mod_remoteip.c:444,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 454
    functionName: remoteip_enable_proxy_protocol
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - remoteip_addr_in_list
    - apr_palloc
    - ap_get_module_config
    - remoteip_warn_enable_conflict
    - remoteip_sockaddr_equal
    linkageType: ''
    returnType: char
    signature: "char *remoteip_enable_proxy_protocol(cmd_parms *cmd, void *config,\n
      \                                                 int flag)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:462,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_remoteip.c:466,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_remoteip.c:470,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:473,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/metadata/mod_remoteip.c:475,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/metadata/mod_remoteip.c:478,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/metadata/mod_remoteip.c:480,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:482,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:485,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/metadata/mod_remoteip.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 493
    functionName: remoteip_disable_networks
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - apr_pcalloc
    - apr_pstrcat
    - apr_ipsubnet_create
    - apr_array_push
    - apr_psprintf
    - ap_get_module_config
    - APR_STATUS_IS_EINVAL
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *remoteip_disable_networks(cmd_parms *cmd, void *d,\n                                             int
      argc, char *const argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:502,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:506,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_remoteip.c:507,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:507,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:511,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_remoteip.c:512,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 517
    functionName: remoteip_hook_post_config
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_sockaddr_ip_getbuf
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int remoteip_hook_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \                              apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:523,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:525,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:553,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:553,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:561,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:574,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_remoteip.c:578,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/metadata/mod_remoteip.c:591,1
    - Dst: strrchr
      Src: /src/httpd/modules/metadata/mod_remoteip.c:607,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_remoteip.c:619,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_remoteip.c:626,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:637,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:641,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:641,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_remoteip.c:647,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:679,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:679,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_remoteip.c:684,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:695,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_remoteip.c:702,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:711,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_remoteip.c:726,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_remoteip.c:730,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_remoteip.c:733,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_remoteip.c:735,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:743,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 114
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 750
    functionName: remoteip_modify_request
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - ap_log_rerror
    - apr_palloc
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    - strlen
    - strrchr
    - apr_table_unset
    - apr_table_get
    - ap_get_module_config
    - apr_sockaddr_ip_get
    - apr_pstrdup
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int remoteip_modify_request(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: remoteip_is_server_port
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int remoteip_is_server_port(apr_port_t port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/httpd/modules/metadata/mod_remoteip.c:789,1
    - Dst: strcpy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:798,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/metadata/mod_remoteip.c:800,1
    - Dst: GET_NEXT_WORD
      Src: /src/httpd/modules/metadata/mod_remoteip.c:803,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:804,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:809,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:813,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:818,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:818,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:824,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:824,1
    - Dst: GET_NEXT_WORD
      Src: /src/httpd/modules/metadata/mod_remoteip.c:831,1
    - Dst: strspn
      Src: /src/httpd/modules/metadata/mod_remoteip.c:833,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_remoteip.c:833,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:834,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:834,1
    - Dst: GET_NEXT_WORD
      Src: /src/httpd/modules/metadata/mod_remoteip.c:843,1
    - Dst: GET_NEXT_WORD
      Src: /src/httpd/modules/metadata/mod_remoteip.c:846,1
    - Dst: sscanf
      Src: /src/httpd/modules/metadata/mod_remoteip.c:847,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:848,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:848,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:858,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:862,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:862,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_remoteip.c:869,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 5
    argNames:
    - c
    - conn_conf
    - hdr
    - len
    - hdr_len
    argTypes:
    - conn_rec*
    - remoteip_conn_config_t*
    - proxy_header*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 872
    functionName: remoteip_process_v1_header
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strcmp
    - ap_log_cerror
    - memchr
    - APLOGNO
    - apr_pstrdup
    - GET_NEXT_WORD
    - strcpy
    - strspn
    - strlen
    - sscanf
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: remoteip_parse_status_t
    signature: "remoteip_parse_status_t remoteip_process_v1_header(conn_rec *c,\n
      \                                                         remoteip_conn_config_t
      *conn_conf,\n                                                          proxy_header
      *hdr, apr_size_t len,\n                                                          apr_size_t
      *hdr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: GET_NEXT_WORD
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NEXT_WORD(field)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:885,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:887,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:892,1
    - Dst: remoteip_addr_in_list
      Src: /src/httpd/modules/metadata/mod_remoteip.c:896,1
    - Dst: remoteip_addr_in_list
      Src: /src/httpd/modules/metadata/mod_remoteip.c:897,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/metadata/mod_remoteip.c:907,1
    - Dst: remoteip_is_server_port
      Src: /src/httpd/modules/metadata/mod_remoteip.c:912,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/metadata/mod_remoteip.c:917,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:922,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:922,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:927,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 932
    functionName: remoteip_hook_pre_connection
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - remoteip_addr_in_list
    - remoteip_is_server_port
    - ap_log_cerror
    - apr_pcalloc
    - ap_set_module_config
    - APLOGNO
    - ap_get_module_config
    - ap_add_input_filter_handle
    linkageType: ''
    returnType: int
    signature: int remoteip_hook_pre_connection(conn_rec *c, void *csd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/httpd/modules/metadata/mod_remoteip.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - proxy_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: remoteip_get_v2_len
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t remoteip_get_v2_len(proxy_header *hdr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: remoteip_get_v2_len
      Src: /src/httpd/modules/metadata/mod_remoteip.c:965,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:966,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:966,1
    - Dst: remoteip_get_v2_len
      Src: /src/httpd/modules/metadata/mod_remoteip.c:969,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:972,1
    - Dst: ntohs
      Src: /src/httpd/modules/metadata/mod_remoteip.c:974,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:978,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:978,1
    - Dst: remoteip_get_v2_len
      Src: /src/httpd/modules/metadata/mod_remoteip.c:989,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:990,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:990,1
    - Dst: remoteip_get_v2_len
      Src: /src/httpd/modules/metadata/mod_remoteip.c:993,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:996,1
    - Dst: ntohs
      Src: /src/httpd/modules/metadata/mod_remoteip.c:998,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1002,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1002,1
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1006,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1010,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1010,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1016,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1016,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1024,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1024,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1031,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1034,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1034,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 3
    argNames:
    - c
    - conn_conf
    - hdr
    argTypes:
    - conn_rec*
    - remoteip_conn_config_t*
    - proxy_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 1040
    functionName: remoteip_process_v2_header
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - memcpy
    - apr_sockaddr_ip_get
    - remoteip_get_v2_len
    - ntohs
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: remoteip_parse_status_t
    signature: "remoteip_parse_status_t remoteip_process_v2_header(conn_rec *c,\n
      \                                             remoteip_conn_config_t *conn_conf,\n
      \                                             proxy_header *hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1050,1
    - Dst: memcmp
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - ptr
    argTypes:
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1060
    functionName: remoteip_determine_version
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int remoteip_determine_version(conn_rec *c, const char *ptr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1085,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1090,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1099,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1102,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1106,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1109,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1111,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1116,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1118,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1118,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1126,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1130,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1131,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1133,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1134,1
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1141,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1144,1
    - Dst: remoteip_determine_version
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1150,1
    - Dst: remoteip_process_v1_header
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1164,1
    - Dst: remoteip_get_v2_len
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1171,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1173,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1173,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1176,1
    - Dst: remoteip_process_v2_header
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1181,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1186,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1186,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1190,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1197,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1211,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1215,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1216,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1216,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1220,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1222,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1227,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1231,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 107
    argCount: 5
    argNames:
    - f
    - bb_out
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1232
    functionName: remoteip_input_filter
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - remoteip_process_v1_header
    - apr_brigade_destroy
    - apr_palloc
    - ap_log_cerror
    - apr_bucket_delete
    - APLOGNO
    - apr_brigade_create
    - remoteip_determine_version
    - remoteip_process_v2_header
    - apr_brigade_length
    - ap_get_module_config
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - remoteip_get_v2_len
    - APR_STATUS_IS_EAGAIN
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t remoteip_input_filter(ap_filter_t *f,\n                                    apr_bucket_brigade
      *bb_out,\n                                    ap_input_mode_t mode,\n                                    apr_read_type_e
      block,\n                                    apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1270,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1273,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1274,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/metadata/mod_remoteip.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1276
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_remoteip.c
    functionUses: 0
    functionsReached:
    - ap_register_input_filter
    - ap_hook_pre_connection
    - ap_hook_post_config
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_version.c:86,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_version.c:91,1
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_version.c:98,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_version.c:103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - version_string
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 137
    functionName: compare_version
    functionSourceFile: /src/httpd/modules/metadata/mod_version.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - strlen
    - atoi
    linkageType: ''
    returnType: int
    signature: int compare_version(char *version_string, const char **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/metadata/mod_version.c:149,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/metadata/mod_version.c:157,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/metadata/mod_version.c:163,1
    - Dst: ap_pregfree
      Src: /src/httpd/modules/metadata/mod_version.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pool
    - version_string
    - error
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: match_version
    functionSourceFile: /src/httpd/modules/metadata/mod_version.c
    functionUses: 0
    functionsReached:
    - ap_regexec
    - ap_pregfree
    - apr_psprintf
    - ap_pregcomp
    linkageType: ''
    returnType: int
    signature: "int match_version(apr_pool_t *pool, char *version_string,\n                         const
      char **error)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_version.c:197,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_version.c:200,1
    - Dst: ap_get_server_revision
      Src: /src/httpd/modules/metadata/mod_version.c:215,1
    - Dst: compare_version
      Src: /src/httpd/modules/metadata/mod_version.c:223,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/metadata/mod_version.c:223,1
    - Dst: match_version
      Src: /src/httpd/modules/metadata/mod_version.c:241,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/metadata/mod_version.c:242,1
    - Dst: compare_version
      Src: /src/httpd/modules/metadata/mod_version.c:251,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/metadata/mod_version.c:251,1
    - Dst: compare_version
      Src: /src/httpd/modules/metadata/mod_version.c:262,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/metadata/mod_version.c:262,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_version.c:279,1
    - Dst: ap_build_cont_config
      Src: /src/httpd/modules/metadata/mod_version.c:288,1
    - Dst: ap_soak_end_container
      Src: /src/httpd/modules/metadata/mod_version.c:295,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 75
    argCount: 5
    argNames:
    - cmd
    - mconfig
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 296
    functionName: start_ifversion
    functionSourceFile: /src/httpd/modules/metadata/mod_version.c
    functionUses: 0
    functionsReached:
    - match_version
    - ap_build_cont_config
    - apr_pstrcat
    - apr_pstrmemdup
    - ap_soak_end_container
    - ap_get_server_revision
    - compare_version
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *start_ifversion(cmd_parms *cmd, void *mconfig,\n                                   const
      char *arg1, const char *arg2,\n                                   const char
      *arg3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_env.c:39,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_env.c:41,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_env.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: create_env_dir_config
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_env_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_env.c:51,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/metadata/mod_env.c:68,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/metadata/mod_env.c:71,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_env.c:76,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/metadata/mod_env.c:80,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_env.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 90
    functionName: merge_env_dir_configs
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_table_elts
    - apr_table_setn
    - apr_table_unset
    - apr_table_copy
    linkageType: ''
    returnType: void
    signature: void *merge_env_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/httpd/modules/metadata/mod_env.c:99,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_env.c:101,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_env.c:101,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_env.c:104,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_env.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - sconf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: add_env_module_vars_passed
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_table_setn
    - getenv
    - ap_log_error
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *add_env_module_vars_passed(cmd_parms *cmd, void *sconf_,\n                                              const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/metadata/mod_env.c:116,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/metadata/mod_env.c:119,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_env.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_env.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_env.c:121,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_env.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cmd
    - sconf_
    - name
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: add_env_module_vars_set
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - APLOGNO
    - apr_table_setn
    - ap_log_error
    - ap_strchr_c
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *add_env_module_vars_set(cmd_parms *cmd, void *sconf_,\n                                           const
      char *name, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_set
      Src: /src/httpd/modules/metadata/mod_env.c:143,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/metadata/mod_env.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - sconf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: add_env_module_vars_unset
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_table_unset
    linkageType: ''
    returnType: char
    signature: "char *add_env_module_vars_unset(cmd_parms *cmd, void *sconf_,\n                                             const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_env.c:162,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/metadata/mod_env.c:165,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/metadata/mod_env.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: fixup_env_module
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    - apr_is_empty_table
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int fixup_env_module(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/metadata/mod_env.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_env.c
    functionUses: 0
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: create_cern_meta_dir_config
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_cern_meta_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: merge_cern_meta_dir_configs
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_cern_meta_dir_configs(apr_pool_t *p, void *basev, void
      *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parms
    - in_dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: set_metadir
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_metadir(cmd_parms *parms, void *in_dconf, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parms
    - in_dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: set_metasuffix
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_metasuffix(cmd_parms *parms, void *in_dconf, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parms
    - in_dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: set_metafiles
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_metafiles(cmd_parms *parms, void *in_dconf, int arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:215,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:216,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:219,1
    - Dst: strchr
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:234,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:234,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:240,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:243,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:247,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:248,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:251,1
    - Dst: ap_content_type_tolower
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:252,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:253,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:255,1
    - Dst: sscanf
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:256,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:257,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:259,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:260,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:261,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:262,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:263,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:264,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:265,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:266,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:272,1
    - Dst: apr_table_overlap
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:275,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - r
    - f
    argTypes:
    - request_rec*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 277
    functionName: scan_meta_file
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - ap_cstr_casecmp
    - strchr
    - apr_file_gets
    - APLOGNO
    - apr_pstrdup
    - apr_table_overlap
    - ap_content_type_tolower
    - apr_table_set
    - sscanf
    - strlen
    - apr_table_make
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int scan_meta_file(request_rec *r, apr_file_t *f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:292,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:305,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:310,1
    - Dst: strchr
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:312,1
    - Dst: strrchr
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:313,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:322,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:322,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:328,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:345,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:347,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:350,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:352,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:354,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:357,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:357,1
    - Dst: scan_meta_file
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:363,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 367
    functionName: add_cern_meta_data
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - strchr
    - ap_destroy_sub_req
    - APLOGNO
    - scan_meta_file
    - apr_file_close
    - strlen
    - strrchr
    - APR_STATUS_IS_ENOENT
    - ap_get_module_config
    - ap_sub_req_lookup_file
    - apr_file_open
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int add_cern_meta_data(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/metadata/mod_cern_meta.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_cern_meta.c
    functionUses: 0
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: create_magic_server_config
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_magic_server_config(apr_pool_t *p, server_rec *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 498
    functionName: merge_magic_server_config
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_magic_server_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: set_magicfile
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_magicfile(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: set_decompression
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_decompression(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:557,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 563
    functionName: magic_set_config
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_palloc
    linkageType: ''
    returnType: magic_req_rec
    signature: magic_req_rec *magic_set_config(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:570,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:575,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:575,1
    - Dst: magic_set_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:577,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 601
    functionName: magic_rsl_add
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - ap_get_module_config
    - magic_set_config
    linkageType: ''
    returnType: int
    signature: int magic_rsl_add(request_rec *r, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: magic_rsl_add
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: magic_rsl_puts
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - magic_rsl_add
    linkageType: ''
    returnType: int
    signature: int magic_rsl_puts(request_rec *r, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:617,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:618,1
    - Dst: va_end
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:619,1
    - Dst: magic_rsl_add
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:622,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: magic_rsl_printf
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - magic_rsl_add
    - va_start
    - va_end
    - apr_pstrdup
    - apr_vsnprintf
    linkageType: ''
    returnType: int
    signature: int magic_rsl_printf(request_rec *r, char *str,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: magic_rsl_add
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:633,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - request_rec*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: magic_rsl_putchar
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - magic_rsl_add
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int magic_rsl_putchar(request_rec *r, char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:645,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:648,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:677,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - r
    - start_frag
    - start_pos
    - len
    argTypes:
    - request_rec*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 681
    functionName: rsl_strdup
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_palloc
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *rsl_strdup(request_rec *r, int start_frag, int start_pos, int
      len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:705,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:722,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:750,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:750,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:794,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:794,1
    - Dst: rsl_strdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:812,1
    - Dst: ap_content_type_tolower
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:815,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:816,1
    - Dst: rsl_strdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:819,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:823,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:830,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:830,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 839
    functionName: magic_rsl_to_request
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - ap_str_tolower
    - ap_set_content_type_ex
    - APLOGNO
    - ap_content_type_tolower
    - ap_get_module_config
    - rsl_strdup
    linkageType: ''
    returnType: int
    signature: int magic_rsl_to_request(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fsmagic
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:856,1
    - Dst: magic_rsl_putchar
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:858,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:867,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:869,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:879,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:880,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:880,1
    - Dst: tryit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:890,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:896,1
    - Dst: magic_rsl_putchar
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 900
    functionName: magic_process
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - tryit
    - ap_log_rerror
    - fsmagic
    - apr_file_close
    - APLOGNO
    - apr_file_open
    - apr_file_read
    - magic_rsl_putchar
    linkageType: ''
    returnType: int
    signature: int magic_process(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:907,1
    - Dst: zmagic
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:913,1
    - Dst: softmagic
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:920,1
    - Dst: ascmagic
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - r
    - buf
    - nb
    - checkzmagic
    argTypes:
    - request_rec*
    - unsigned char*
    - apr_size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 933
    functionName: tryit
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - softmagic
    - ascmagic
    - zmagic
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int tryit(request_rec *r, unsigned char *buf, apr_size_t nb,\n                 int
      checkzmagic)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:953,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:954,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:957,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:957,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:961,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:963,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:963,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:972,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:974,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:980,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:987,1
    - Dst: parse
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1006,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1010,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1013,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1013,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1020,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1020,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1027,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1027,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1030,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1031,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1032,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1033,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1034,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1049
    functionName: apprentice
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_isspace
    - apr_file_gets
    - APLOGNO
    - parse
    - apr_file_close
    - ap_log_error
    - apr_file_open
    - ap_get_module_config
    - apr_isprint
    - strlen
    linkageType: ''
    returnType: int
    signature: int apprentice(server_rec *s, apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1081,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - s
    - m
    - v
    argTypes:
    - server_rec*
    - struct magic*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1086
    functionName: signextend
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long signextend(server_rec *s, struct magic *m, unsigned long
      v)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1096,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1099,1
    - Dst: strtol
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1127,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1129,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1129,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1152,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1152,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1161,1
    - Dst: strtol
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1162,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1169,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1176,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1198,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1202,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1206,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1210,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1214,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1218,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1222,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1226,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1230,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1234,1
    - Dst: strncmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1238,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1243,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1243,1
    - Dst: signextend
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1250,1
    - Dst: strtol
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1250,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1274,1
    - Dst: getvalue
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1284,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1302,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1305,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1305,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 163
    argCount: 4
    argNames:
    - serv
    - p
    - l
    - lineno
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1311
    functionName: parse
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 13
    functionsReached:
    - apr_isspace
    - apr_pcalloc
    - signextend
    - apr_isdigit
    - apr_cpystrn
    - APLOGNO
    - getvalue
    - strtol
    - ap_log_error
    - ap_get_module_config
    - strncmp
    linkageType: ''
    returnType: int
    signature: int parse(server_rec *serv, apr_pool_t *p, char *l, int lineno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getstr
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1323,1
    - Dst: signextend
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1327,1
    - Dst: strtol
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - m
    - p
    argTypes:
    - server_rec*
    - struct magic*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1329
    functionName: getvalue
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - getstr
    - strtol
    - signextend
    linkageType: ''
    returnType: int
    signature: int getvalue(server_rec *s, struct magic *m, char **p)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1345,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1348,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1348,1
    - Dst: hextoint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1413,1
    - Dst: hextoint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1416,1
    - Dst: hextoint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1419,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 5
    argNames:
    - serv
    - s
    - p
    - plen
    - slen
    argTypes:
    - server_rec*
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1442
    functionName: getstr
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 3
    functionsReached:
    - hextoint
    - APLOGNO
    - ap_log_error
    - apr_isspace
    linkageType: ''
    returnType: char
    signature: "char *getstr(server_rec *serv, register char *s, register char *p,\n
      \                   int plen, int *slen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1455
    functionName: hextoint
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - apr_isdigit
    linkageType: ''
    returnType: int
    signature: int hextoint(int c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1467,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1474,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1481,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1488,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1494,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1494,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1498,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1503,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1503,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - r
    - fn
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1463
    functionDepth: 3
    functionLinenumber: 1463
    functionLinenumberEnd: 1516
    functionName: fsmagic
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - magic_rsl_puts
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int fsmagic(request_rec *r, const char *fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - buf
    - nbytes
    argTypes:
    - request_rec*
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1529
    functionName: softmagic
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - match
    linkageType: ''
    returnType: int
    signature: int softmagic(request_rec *r, unsigned char *buf, apr_size_t nbytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1566,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1570,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1581,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1582,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1583,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1584,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1585,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1585,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1600,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1600,1
    - Dst: mget
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1605,1
    - Dst: mcheck
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1606,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1620,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1620,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1639,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1639,1
    - Dst: mprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1646,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1663,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1663,1
    - Dst: mget
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1676,1
    - Dst: mcheck
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1677,1
    - Dst: magic_rsl_putchar
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1688,1
    - Dst: mprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1691,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1707,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1707,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1713,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1713,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - r
    - s
    - nbytes
    argTypes:
    - request_rec*
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1717
    functionName: match
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 8
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - mprint
    - mcheck
    - mget
    - apr_isprint
    - ap_get_module_config
    - magic_rsl_putchar
    linkageType: ''
    returnType: int
    signature: int match(request_rec *r, unsigned char *s, apr_size_t nbytes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: magic_rsl_printf
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1744,1
    - Dst: magic_rsl_printf
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1747,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1754,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1754,1
    - Dst: magic_rsl_printf
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1756,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1759,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1759,1
    - Dst: signextend
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1765,1
    - Dst: magic_rsl_printf
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - r
    - p
    - m
    argTypes:
    - request_rec*
    - union VALUETYPE*
    - struct magic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1719
    functionDepth: 3
    functionLinenumber: 1719
    functionLinenumberEnd: 1767
    functionName: mprint
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - apr_time_from_sec
    - ap_log_rerror
    - signextend
    - APLOGNO
    - apr_ctime
    - magic_rsl_printf
    linkageType: ''
    returnType: void
    signature: void mprint(request_rec *r, union VALUETYPE *p, struct magic *m)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1785,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1805,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - r
    - p
    - m
    argTypes:
    - request_rec*
    - union VALUETYPE*
    - struct magic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1809
    functionName: mconvert
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - strchr
    linkageType: ''
    returnType: int
    signature: int mconvert(request_rec *r, union VALUETYPE *p, struct magic *m)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1820,1
    - Dst: mconvert
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1822,1
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1842,1
    - Dst: mconvert
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - r
    - p
    - s
    - m
    - nbytes
    argTypes:
    - request_rec*
    - union VALUETYPE*
    - unsigned char*
    - struct magic*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1812
    functionDepth: 2
    functionLinenumber: 1812
    functionLinenumberEnd: 1848
    functionName: mget
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 3
    functionsReached:
    - mconvert
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int mget(request_rec *r, union VALUETYPE *p, unsigned char *s,\n                struct
      magic *m, apr_size_t nbytes)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1857,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1857,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1902,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1902,1
    - Dst: signextend
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1907,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1912,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1912,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1921,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1921,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1929,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1929,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1938,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1938,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1945,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1945,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1955,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1955,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1962,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1962,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1971,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1971,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1979,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1979,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1987,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:1987,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - r
    - p
    - m
    argTypes:
    - request_rec*
    - union VALUETYPE*
    - struct magic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1994
    functionName: mcheck
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - signextend
    linkageType: ''
    returnType: int
    signature: int mcheck(request_rec *r, union VALUETYPE *p, struct magic *m)
  - 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: 1998
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 1998
    functionName: STREQ
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(a, b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2019,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2021,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2022,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2023,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2027,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2029,1
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2037,1
    - Dst: memchr
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2039,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2040,1
    - Dst: STREQ
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2043,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2044,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2046,1
    - Dst: is_tar
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2052,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2055,1
    - Dst: magic_rsl_puts
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2059,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - r
    - buf
    - nbytes
    argTypes:
    - request_rec*
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2065
    functionName: ascmagic
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - apr_strtok
    - apr_isspace
    - memchr
    - STREQ
    - magic_rsl_puts
    - apr_isalnum
    - is_tar
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ascmagic(request_rec *r, unsigned char *buf, apr_size_t nbytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2118,1
    - Dst: uncompress
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2125,1
    - Dst: tryit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - buf
    - nbytes
    argTypes:
    - request_rec*
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2109
    functionDepth: 2
    functionLinenumber: 2109
    functionLinenumberEnd: 2136
    functionName: zmagic
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - tryit
    - memcmp
    - uncompress
    linkageType: ''
    returnType: int
    signature: int zmagic(request_rec *r, unsigned char *buf, apr_size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2160,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2161,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2163,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2164,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2165,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2167,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2167,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2176,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2177,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2182,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - parm
    - cntxt
    - pipe_in
    argTypes:
    - struct uncompress_parms*
    - apr_pool_t*
    - apr_file_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2193
    functionName: create_uncompress_child
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_io_set
    - ap_log_rerror
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_proc_create
    - apr_pool_note_subprocess
    - APLOGNO
    - apr_procattr_dir_set
    - apr_procattr_create
    linkageType: ''
    returnType: int
    signature: "int create_uncompress_child(struct uncompress_parms *parm, apr_pool_t
      *cntxt,\n                                   apr_file_t **pipe_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2210,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2212,1
    - Dst: create_uncompress_child
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2214,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2215,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2215,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2220,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2221,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2223,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2224,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - r
    - method
    - newch
    - n
    argTypes:
    - request_rec*
    - int
    - unsigned char**
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2195
    functionDepth: 2
    functionLinenumber: 2195
    functionLinenumberEnd: 2230
    functionName: uncompress
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - create_uncompress_child
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - apr_file_read
    - apr_pool_destroy
    linkageType: ''
    returnType: int
    signature: "int uncompress(request_rec *r, int method,\n                      unsigned
      char **newch, apr_size_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2246
    functionName: isodigit
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isodigit(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: from_oct
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2262,1
    - Dst: strcmp
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - nbytes
    argTypes:
    - unsigned char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2252
    functionDepth: 1
    functionLinenumber: 2252
    functionLinenumberEnd: 2285
    functionName: is_tar
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - strcmp
    - from_oct
    linkageType: ''
    returnType: int
    signature: int is_tar(unsigned char *buf, apr_size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2297,1
    - Dst: isodigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2303,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - digs
    - where
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2312
    functionName: from_oct
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 1
    functionsReached:
    - apr_isspace
    - isodigit
    linkageType: ''
    returnType: long
    signature: long from_oct(int digs, char *where)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2331,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2331,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2336,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2337,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2340,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2348,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2350,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2353,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2357,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2357,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2359,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2359,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2365,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2368,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2372,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2324
    functionDepth: 1
    functionLinenumber: 2324
    functionLinenumberEnd: 2382
    functionName: revision_suffix
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_set_content_type_ex
    - apr_array_copy
    - apr_isdigit
    - ap_destroy_sub_req
    - APLOGNO
    - apr_pstrdup
    - apr_pstrndup
    - ap_sub_req_lookup_file
    - strlen
    linkageType: ''
    returnType: int
    signature: int revision_suffix(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2397,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2399,1
    - Dst: apprentice
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2405,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2410,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2410,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2413,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2414,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2415,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2416,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2417,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - main_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2387
    functionDepth: 2
    functionLinenumber: 2387
    functionLinenumberEnd: 2433
    functionName: magic_init
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apprentice
    - ap_log_error
    - apr_isprint
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int magic_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *main_server)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2454,1
    - Dst: magic_set_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2460,1
    - Dst: revision_suffix
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2465,1
    - Dst: magic_process
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2467,1
    - Dst: magic_rsl_to_request
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2439
    functionDepth: 4
    functionLinenumber: 2439
    functionLinenumberEnd: 2474
    functionName: magic_find_ct
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - magic_process
    - magic_rsl_to_request
    - ap_get_module_config
    - magic_set_config
    - revision_suffix
    linkageType: ''
    returnType: int
    signature: int magic_find_ct(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2482,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/metadata/mod_mime_magic.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2484
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_mime_magic.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_type_checker
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/metadata/mod_unique_id.c:151,1
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/metadata/mod_unique_id.c:153,1
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/metadata/mod_unique_id.c:155,1
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/metadata/mod_unique_id.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - main_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: unique_id_global_init
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - APR_OFFSETOF
    linkageType: ''
    returnType: int
    signature: int unique_id_global_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *main_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/metadata/mod_unique_id.c:174,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/modules/metadata/mod_unique_id.c:177,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/modules/metadata/mod_unique_id.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: unique_id_child_init
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - ap_random_insecure_bytes
    linkageType: ''
    returnType: void
    signature: void unique_id_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/metadata/mod_unique_id.c:219,1
    - Dst: htonl
      Src: /src/httpd/modules/metadata/mod_unique_id.c:220,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/metadata/mod_unique_id.c:220,1
    - Dst: htonl
      Src: /src/httpd/modules/metadata/mod_unique_id.c:221,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/metadata/mod_unique_id.c:224,1
    - Dst: htons
      Src: /src/httpd/modules/metadata/mod_unique_id.c:232,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_unique_id.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 265
    functionName: gen_unique_id
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - htons
    - apr_palloc
    - htonl
    - apr_atomic_inc32
    - apr_time_sec
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *gen_unique_id(const request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_unique_id.c:286,1
    - Dst: gen_unique_id
      Src: /src/httpd/modules/metadata/mod_unique_id.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - c
    - r
    - id
    argTypes:
    - conn_rec*
    - request_rec*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: generate_log_id
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - gen_unique_id
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: "int generate_log_id(const conn_rec *c, const request_rec *r,\n                           const
      char **id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/metadata/mod_unique_id.c:300,1
    - Dst: gen_unique_id
      Src: /src/httpd/modules/metadata/mod_unique_id.c:311,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/metadata/mod_unique_id.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: set_unique_id
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - gen_unique_id
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int set_unique_id(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/metadata/mod_unique_id.c:322,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/metadata/mod_unique_id.c:323,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/metadata/mod_unique_id.c:324,1
    - Dst: ap_hook_generate_log_id
      Src: /src/httpd/modules/metadata/mod_unique_id.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_unique_id.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_generate_log_id
    - ap_hook_child_init
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_ident.c:93,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:98,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:98,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/metadata/mod_ident.c:104,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:109,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/metadata/mod_ident.c:115,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:118,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:118,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/metadata/mod_ident.c:123,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:124,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:124,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/metadata/mod_ident.c:126,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/metadata/mod_ident.c:139,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:140,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:140,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/metadata/mod_ident.c:142,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/metadata/mod_ident.c:150,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/metadata/mod_ident.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - newsock
    - conn
    - srv
    - timeout
    argTypes:
    - apr_socket_t**
    - conn_rec*
    - server_rec*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 156
    functionName: rfc1413_connect
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_socket_connect
    - ap_log_error
    - apr_socket_bind
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,\n
      \                                   server_rec *srv, apr_time_t timeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/metadata/mod_ident.c:173,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/metadata/mod_ident.c:175,1
    - Dst: strlen
      Src: /src/httpd/modules/metadata/mod_ident.c:180,1
    - Dst: apr_socket_send
      Src: /src/httpd/modules/metadata/mod_ident.c:182,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:184,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:184,1
    - Dst: memset
      Src: /src/httpd/modules/metadata/mod_ident.c:200,1
    - Dst: strchr
      Src: /src/httpd/modules/metadata/mod_ident.c:205,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/metadata/mod_ident.c:208,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/metadata/mod_ident.c:210,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/metadata/mod_ident.c:210,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/metadata/mod_ident.c:224,1
    - Dst: sscanf
      Src: /src/httpd/modules/metadata/mod_ident.c:225,1
    - Dst: strchr
      Src: /src/httpd/modules/metadata/mod_ident.c:235,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/metadata/mod_ident.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - sock
    - conn
    - srv
    argTypes:
    - apr_socket_t*
    - conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 241
    functionName: rfc1413_query
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_xlate_proto_to_ascii
    - memset
    - apr_socket_send
    - strchr
    - APLOGNO
    - apr_pstrdup
    - ap_log_error
    - sscanf
    - strlen
    - apr_socket_recv
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rfc1413_query(apr_socket_t *sock, conn_rec *conn,\n                                  server_rec
      *srv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: set_idcheck
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_idcheck(cmd_parms *cmd, void *d_, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_ident.c:255,1
    - Dst: atoi
      Src: /src/httpd/modules/metadata/mod_ident.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: set_timeout
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_timeout(cmd_parms *cmd, void *d_, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/metadata/mod_ident.c:262,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/metadata/mod_ident.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: create_ident_dir_config
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_ident_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/metadata/mod_ident.c:273,1
    - Dst: timeout_unset::timeout_unset
      Src: /src/httpd/modules/metadata/mod_ident.c:277,1
    - Dst: timeout::timeout
      Src: /src/httpd/modules/metadata/mod_ident.c:279,1
    - Dst: do_rfc1413::do_rfc1413
      Src: /src/httpd/modules/metadata/mod_ident.c:281,1
    - Dst: do_rfc1413::do_rfc1413
      Src: /src/httpd/modules/metadata/mod_ident.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - old_
    - new_
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: merge_ident_dir_config
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - timeout::timeout
    - do_rfc1413::do_rfc1413
    - apr_pcalloc
    - timeout_unset::timeout_unset
    linkageType: ''
    returnType: void
    signature: void *merge_ident_dir_config(apr_pool_t *p, void *old_, void *new_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/metadata/mod_ident.c:311,1
    - Dst: rfc1413_connect
      Src: /src/httpd/modules/metadata/mod_ident.c:318,1
    - Dst: rfc1413_query
      Src: /src/httpd/modules/metadata/mod_ident.c:320,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/metadata/mod_ident.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: ap_ident_lookup
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - rfc1413_connect
    - apr_socket_close
    - rfc1413_query
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ap_ident_lookup(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/metadata/mod_ident.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/metadata/mod_ident.c
    functionUses: 0
    functionsReached:
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/mod_mime.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: create_mime_dir_config
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_mime_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/http/mod_mime.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - p
    - key
    - klen
    - overlay_val
    - base_val
    - data
    argTypes:
    - apr_pool_t*
    - void*
    - apr_ssize_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: overlay_extension_mappings
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: "void *overlay_extension_mappings(apr_pool_t *p,\n                                        const
      void *key,\n                                        apr_ssize_t klen,\n                                        const
      void *overlay_val,\n                                        const void *base_val,\n
      \                                       const void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/mod_mime.c:189,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/http/mod_mime.c:194,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http/mod_mime.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p
    - remove
    - mappings
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - apr_hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: remove_items
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_pmemdup
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void remove_items(apr_pool_t *p, apr_array_header_t *remove,\n                         apr_hash_t
      *mappings)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/mod_mime.c:207,1
    - Dst: apr_hash_merge
      Src: /src/httpd/modules/http/mod_mime.c:210,1
    - Dst: extension_mappings::extension_mappings
      Src: /src/httpd/modules/http/mod_mime.c:226,1
    - Dst: apr_hash_copy
      Src: /src/httpd/modules/http/mod_mime.c:228,1
    - Dst: extension_mappings::extension_mappings
      Src: /src/httpd/modules/http/mod_mime.c:228,1
    - Dst: extension_mappings::extension_mappings
      Src: /src/httpd/modules/http/mod_mime.c:232,1
    - Dst: remove_items
      Src: /src/httpd/modules/http/mod_mime.c:234,1
    - Dst: extension_mappings::extension_mappings
      Src: /src/httpd/modules/http/mod_mime.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 263
    functionName: merge_mime_dir_configs
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - remove_items
    - extension_mappings::extension_mappings
    - apr_hash_merge
    - apr_hash_copy
    linkageType: ''
    returnType: void
    signature: void *merge_mime_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:271,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:272,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/http/mod_mime.c:273,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/http/mod_mime.c:274,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/http/mod_mime.c:280,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/mod_mime.c:284,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/mod_mime.c:288,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:289,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http/mod_mime.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - cmd
    - m_
    - value_
    - ext
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 294
    functionName: add_extension_info
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - apr_hash_make
    - ap_str_tolower
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *add_extension_info(cmd_parms *cmd, void *m_,\n                                      const
      char *value_, const char* ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_extension_info
      Src: /src/httpd/modules/http/mod_mime.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - m_
    - ext
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: remove_extension_type
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - add_extension_info
    linkageType: ''
    returnType: char
    signature: "char *remove_extension_type(cmd_parms *cmd, void *m_,\n                                         const
      char *ext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/mod_mime.c:320,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/mod_mime.c:322,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:323,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/http/mod_mime.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - m_
    - ext
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: remove_extension_info
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_pstrdup
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *remove_extension_info(cmd_parms *cmd, void *m_,\n                                         const
      char *ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http/mod_mime.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: set_types_config
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_types_config(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/http/mod_mime.c:347,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:352,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:359,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:366,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:373,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/mod_mime.c:381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - cmd
    - m_
    - include
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 385
    functionName: multiviews_match
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_check_cmd_context
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *multiviews_match(cmd_parms *cmd, void *m_,\n                                    const
      char *include)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:392,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:395,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:398,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:401,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:404,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http/mod_mime.c:407,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - cmd
    - in_dc
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 418
    functionName: add_mime_options
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *add_mime_options(cmd_parms *cmd, void *in_dc,\n                                    const
      char *flag)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http/mod_mime.c:491,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/http/mod_mime.c:499,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:501,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:501,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http/mod_mime.c:503,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/http/mod_mime.c:507,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:509,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:509,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/http/mod_mime.c:515,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/http/mod_mime.c:517,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/http/mod_mime.c:523,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/http/mod_mime.c:526,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/http/mod_mime.c:527,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http/mod_mime.c:528,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/http/mod_mime.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 533
    functionName: mime_post_config
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_cfg_closefile
    - ap_server_root_relative
    - apr_hash_make
    - ap_str_tolower
    - ap_getword_conf
    - APLOGNO
    - ap_pcfg_openfile
    - ap_log_error
    - ap_get_module_config
    - ap_cfg_getline
    linkageType: ''
    returnType: int
    signature: int mime_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 549
    functionName: zap_sp
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *zap_sp(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:554,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:557,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/http/mod_mime.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - p
    - start
    - end
    - len
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 564
    functionName: zap_sp_and_dup
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_pstrmemdup
    linkageType: ''
    returnType: char
    signature: "char *zap_sp_and_dup(apr_pool_t *p, const char *start,\n                            const
      char *end, apr_size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_isascii
      Src: /src/httpd/modules/http/mod_mime.c:570,1
    - Dst: apr_isgraph
      Src: /src/httpd/modules/http/mod_mime.c:570,1
    - Dst: strchr
      Src: /src/httpd/modules/http/mod_mime.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: is_token
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_isascii
    - apr_isgraph
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_token(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_isascii
      Src: /src/httpd/modules/http/mod_mime.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: is_qtext
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_isascii
    linkageType: ''
    returnType: int
    signature: int is_qtext(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isascii
      Src: /src/httpd/modules/http/mod_mime.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 596
    functionName: is_quoted_pair
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - apr_isascii
    linkageType: ''
    returnType: int
    signature: int is_quoted_pair(const char *s)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/mod_mime.c:610,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:619,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:623,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:623,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:631,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:633,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:633,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:638,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:642,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:642,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:652,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:656,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:656,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:663,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/mod_mime.c:665,1
    - Dst: zap_sp
      Src: /src/httpd/modules/http/mod_mime.c:675,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:677,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:677,1
    - Dst: is_token
      Src: /src/httpd/modules/http/mod_mime.c:687,1
    - Dst: zap_sp_and_dup
      Src: /src/httpd/modules/http/mod_mime.c:696,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:698,1
    - Dst: zap_sp
      Src: /src/httpd/modules/http/mod_mime.c:703,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:705,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:705,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:713,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:713,1
    - Dst: is_qtext
      Src: /src/httpd/modules/http/mod_mime.c:730,1
    - Dst: is_quoted_pair
      Src: /src/httpd/modules/http/mod_mime.c:733,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:742,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:749,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:749,1
    - Dst: is_token
      Src: /src/httpd/modules/http/mod_mime.c:757,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:764,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:764,1
    - Dst: zap_sp_and_dup
      Src: /src/httpd/modules/http/mod_mime.c:770,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http/mod_mime.c:772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/mod_mime.c:772,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/mod_mime.c:777,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 160
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 803
    functionName: analyze_ct
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - is_token
    - apr_isspace
    - apr_palloc
    - zap_sp
    - is_qtext
    - APLOGNO
    - is_quoted_pair
    - ap_log_error
    - zap_sp_and_dup
    linkageType: ''
    returnType: content_type
    signature: content_type *analyze_ct(request_rec *r, const char *s)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:820,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http/mod_mime.c:828,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/mod_mime.c:834,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:838,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/mod_mime.c:849,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/http/mod_mime.c:850,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/http/mod_mime.c:851,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/http/mod_mime.c:859,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/http/mod_mime.c:877,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/http/mod_mime.c:879,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:883,1
    - Dst: strlen
      Src: /src/httpd/modules/http/mod_mime.c:884,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/mod_mime.c:887,1
    - Dst: ap_getword
      Src: /src/httpd/modules/http/mod_mime.c:891,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/mod_mime.c:910,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/http/mod_mime.c:911,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/mod_mime.c:914,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/mod_mime.c:919,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:921,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:930,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/mod_mime.c:940,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/mod_mime.c:943,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:957,1
    - Dst: ap_getword
      Src: /src/httpd/modules/http/mod_mime.c:982,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/http/mod_mime.c:983,1
    - Dst: ap_getword
      Src: /src/httpd/modules/http/mod_mime.c:992,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http/mod_mime.c:993,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/mod_mime.c:1005,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/mod_mime.c:1015,1
    - Dst: analyze_ct
      Src: /src/httpd/modules/http/mod_mime.c:1023,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/mod_mime.c:1025,1
    - Dst: memcpy
      Src: /src/httpd/modules/http/mod_mime.c:1029,1
    - Dst: memcpy
      Src: /src/httpd/modules/http/mod_mime.c:1032,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:1035,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/mod_mime.c:1035,1
    - Dst: strcmp
      Src: /src/httpd/modules/http/mod_mime.c:1037,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:1039,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:1040,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/mod_mime.c:1044,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:1049,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:1050,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/mod_mime.c:1054,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/mod_mime.c:1059,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/mod_mime.c:1059,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/mod_mime.c:1061,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/mod_mime.c:1073,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/http/mod_mime.c:1074,1
    - Dst: conf::conf
      Src: /src/httpd/modules/http/mod_mime.c:1075,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 147
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 1083
    functionName: find_ct
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_array_push
    - apr_pstrmemdup
    - ap_get_module_config
    - ap_add_output_filter
    - conf::conf
    - apr_pstrcat
    - strlen
    - apr_table_get
    - ap_getword
    - ap_strchr_c
    - strcmp
    - AP_REQUEST_IS_TRUSTED_CT
    - ap_add_input_filter
    - apr_hash_get
    - memcpy
    - apr_palloc
    - ap_set_content_type_ex
    - apr_table_setn
    - analyze_ct
    - apr_array_push::apr_array_push
    - ap_strrchr_c
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int find_ct(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/http/mod_mime.c:1087,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/http/mod_mime.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/http/mod_mime.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_type_checker
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/http/http_filters.c:107,1
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/http/http_filters.c:136,1
    - Dst: apr_iscntrl
      Src: /src/httpd/modules/http/http_filters.c:187,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 5
    argNames:
    - ctx
    - buffer
    - len
    - linelimit
    - strict
    argTypes:
    - http_ctx_t*
    - char*
    - apr_size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 264
    functionName: parse_chunk_size
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - apr_iscntrl
    - apr_isxdigit
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t parse_chunk_size(http_ctx_t *ctx, const char *buffer,\n
      \                                    apr_size_t len, int linelimit, int strict)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/http_filters.c:276,1
    - Dst: ap_get_mime_headers
      Src: /src/httpd/modules/http/http_filters.c:279,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/http_filters.c:285,1
    - Dst: ap_bucket_headers_create
      Src: /src/httpd/modules/http/http_filters.c:286,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:287,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:289,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:290,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:295,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:297,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - f
    - b
    argTypes:
    - http_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 305
    functionName: read_chunked_trailers
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_get_mime_headers
    - ap_bucket_headers_create
    - apr_bucket_eos_create
    - apr_table_make
    - apr_is_empty_table
    - apr_table_get
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_chunked_trailers(http_ctx_t *ctx, ap_filter_t *f,\n
      \                                         apr_bucket_brigade *b)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:329,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_filters.c:345,1
    - Dst: ap_is_HTTP_SUCCESS
      Src: /src/httpd/modules/http/http_filters.c:347,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:348,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:355,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/modules/http/http_filters.c:359,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:360,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:370,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:370,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:380,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:381,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:386,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:388,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:389,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:392,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:393,1
    - Dst: AP_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http/http_filters.c:404,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/http_filters.c:412,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_filters.c:413,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:415,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:417,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/http_filters.c:419,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http/http_filters.c:420,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_filters.c:423,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 5
    argNames:
    - f
    - b
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 433
    functionName: ap_http_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_send_interim_response
    - AP_BUCKET_IS_HEADERS
    - ap_get_module_config
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - apr_bucket_eos_create
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - ap_is_HTTP_SUCCESS
    - AP_DEBUG_ASSERT
    - APLOGNO
    - APR_BUCKET_IS_METADATA
    - apr_is_empty_table
    - HTTP_VERSION
    - APR_BRIGADE_SENTINEL
    - apr_table_overlay
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,\n
      \                           ap_input_mode_t mode, apr_read_type_e block,\n                            apr_off_t
      readbytes)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http/http_filters.c:440,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:450,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:455,1
    - Dst: ap_get_limit_req_body
      Src: /src/httpd/modules/http/http_filters.c:464,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:470,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:471,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/http/http_filters.c:474,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:484,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:493,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:493,1
    - Dst: ap_die
      Src: /src/httpd/modules/http/http_filters.c:495,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/http/http_filters.c:507,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:509,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:509,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:519,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:519,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:545,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:546,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:551,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:564,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:568,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http/http_filters.c:569,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:581,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:582,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:586,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http/http_filters.c:587,1
    - Dst: parse_chunk_size
      Src: /src/httpd/modules/http/http_filters.c:592,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:596,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:596,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:603,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:604,1
    - Dst: read_chunked_trailers
      Src: /src/httpd/modules/http/http_filters.c:610,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:626,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:630,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http/http_filters.c:631,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http/http_filters.c:645,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:652,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/http/http_filters.c:657,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:658,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:659,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:679,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:680,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:693,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:694,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:702,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:706,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http/http_filters.c:707,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:719,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:719,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 162
    argCount: 5
    argNames:
    - f
    - b
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 728
    functionName: ap_h1_body_in_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_is_chunked
    - APR_BRIGADE_FIRST
    - ap_parse_strict_length
    - ap_get_module_config
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - ap_get_limit_req_body
    - apr_brigade_length
    - apr_table_get
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - ap_die
    - read_chunked_trailers
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - parse_chunk_size
    - APLOGNO
    - AP_DEBUG_ASSERT
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_h1_body_in_filter(ap_filter_t *f, apr_bucket_brigade
      *b,\n                                     ap_input_mode_t mode, apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:743,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:743,1
    - Dst: ap_scan_http_token
      Src: /src/httpd/modules/http/http_filters.c:749,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http/http_filters.c:752,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:755,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:755,1
    - Dst: ap_scan_http_field_content
      Src: /src/httpd/modules/http/http_filters.c:763,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:767,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:767,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_filters.c:774,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:774,1
    - Dst: memcpy
      Src: /src/httpd/modules/http/http_filters.c:778,1
    - Dst: strspn
      Src: /src/httpd/modules/http/http_filters.c:782,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - name
    - val
    argTypes:
    - struct check_header_ctx*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 791
    functionName: check_header
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - strspn
    - ap_scan_vchar_obstext
    - strlen
    - ap_scan_http_field_content
    - ap_scan_http_token
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int check_header(struct check_header_ctx *ctx,\n                        const
      char *name, const char **val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/http/http_filters.c:795,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http/http_filters.c:800,1
    - Dst: check_header
      Src: /src/httpd/modules/http/http_filters.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - t
    - ctx
    argTypes:
    - apr_table_t*
    - struct check_header_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 809
    functionName: check_headers_table
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - APR_ARRAY_IDX
    - check_header
    linkageType: ''
    returnType: int
    signature: int check_headers_table(apr_table_t *t, struct check_header_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_filters.c:819,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:822,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:823,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:824,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/http/http_filters.c:827,1
    - Dst: check_headers_table
      Src: /src/httpd/modules/http/http_filters.c:835,1
    - Dst: check_headers_table
      Src: /src/httpd/modules/http/http_filters.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 837
    functionName: check_headers
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_is_chunked
    - ap_get_core_module_config
    - apr_table_unset
    - check_headers_table
    - apr_table_get
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE check_headers(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/http/http_filters.c:842,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/http/http_filters.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: check_headers_recursion
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_get
    - apr_pool_userdata_setn
    linkageType: ''
    returnType: int
    signature: int check_headers_recursion(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_filters.c:866,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:867,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_filters.c:869,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http/http_filters.c:870,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:875,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:881,1
    - Dst: apr_brigade_writev
      Src: /src/httpd/modules/http/http_filters.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - h
    - fieldname
    - fieldval
    argTypes:
    - header_struct*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 888
    functionName: form_header_field
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_pstrcat
    - strlen
    - apr_brigade_writev
    - apr_brigade_write
    linkageType: ''
    returnType: int
    signature: "int form_header_field(header_struct *h,\n                             const
      char *fieldname, const char *fieldval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/http_filters.c:906,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_filters.c:911,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_filters.c:918,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http/http_filters.c:930,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/http_filters.c:935,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - d
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 940
    functionName: uniq_field_values
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_pstrdup
    - apr_isspace
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int uniq_field_values(void *d, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/http_filters.c:951,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http/http_filters.c:957,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:962,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http/http_filters.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 965
    functionName: fixup_vary
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_table_setn
    - apr_array_make
    - apr_array_pstrcat
    linkageType: ''
    returnType: void
    signature: void fixup_vary(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:977,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/http/http_filters.c:979,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_filters.c:981,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_filters.c:990,1
    - Dst: ap_scan_http_field_content
      Src: /src/httpd/modules/http/http_filters.c:994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1001
    functionName: validate_status_line
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_pstrcat
    - apr_strtoi64
    - strlen
    - ap_scan_http_field_content
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t validate_status_line(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validate_status_line
      Src: /src/httpd/modules/http/http_filters.c:1018,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/http/http_filters.c:1021,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/http/http_filters.c:1026,1
    - Dst: strncmp
      Src: /src/httpd/modules/http/http_filters.c:1027,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_filters.c:1033,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:1034,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_filters.c:1035,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1037
    functionName: basic_http_header_check
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - validate_status_line
    - HTTP_VERSION
    - apr_table_get
    - ap_get_status_line
    - strncmp
    linkageType: ''
    returnType: void
    signature: void basic_http_header_check(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_http_header_check
      Src: /src/httpd/modules/http/http_filters.c:1043,1
    - Dst: create_response_bucket
      Src: /src/httpd/modules/http/http_filters.c:1044,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - bb
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: ap_basic_http_header
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - basic_http_header_check
    - create_response_bucket
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_filters.c:1069,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:1072,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/http/http_filters.c:1083,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:1085,1
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/http/http_filters.c:1090,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:1094,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_filters.c:1106,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/http/http_filters.c:1110,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/http/http_filters.c:1117,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:1119,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/http_filters.c:1129,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/http_filters.c:1133,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:1138,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/http/http_filters.c:1139,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_filters.c:1140,1
    - Dst: apr_brigade_putstrs
      Src: /src/httpd/modules/http/http_filters.c:1141,1
    - Dst: apr_brigade_putstrs
      Src: /src/httpd/modules/http/http_filters.c:1144,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http/http_filters.c:1148,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/http/http_filters.c:1150,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/http/http_filters.c:1154,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1156,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1159,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1162
    functionName: ap_send_http_trace
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - ap_pass_brigade
    - apr_table_do
    - ap_xlate_proto_to_ascii
    - ap_setup_client_block
    - apr_palloc
    - ap_get_core_module_config
    - ap_set_content_type_ex
    - apr_brigade_create
    - apr_table_setn
    - apr_brigade_putstrs
    - ap_should_client_block
    - ap_get_client_block
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_pool_create
    - strlen
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void ap_send_http_trace(request_rec *r)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:1181,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:1184,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1204,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1205,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1206,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:1208,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http/http_filters.c:1209,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_filters.c:1221,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1222,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http/http_filters.c:1226,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1230,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http/http_filters.c:1233,1
    - Dst: AP_BUCKET_IS_EOC
      Src: /src/httpd/modules/http/http_filters.c:1237,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1251,1
    - Dst: merge_response_headers
      Src: /src/httpd/modules/http/http_filters.c:1254,1
    - Dst: check_headers
      Src: /src/httpd/modules/http/http_filters.c:1255,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http/http_filters.c:1259,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http/http_filters.c:1260,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:1264,1
    - Dst: check_headers_recursion
      Src: /src/httpd/modules/http/http_filters.c:1271,1
    - Dst: ap_die
      Src: /src/httpd/modules/http/http_filters.c:1272,1
    - Dst: ap_bucket_eoc_create
      Src: /src/httpd/modules/http/http_filters.c:1276,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1277,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:1278,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1279,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/http/http_filters.c:1280,1
    - Dst: create_response_bucket
      Src: /src/httpd/modules/http/http_filters.c:1284,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http/http_filters.c:1285,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_filters.c:1287,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1298,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1299,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1302,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1303,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:1307,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1311,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:1313,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1314,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1321,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1322,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1323,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:1325,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1326,1
    - Dst: AP_BUCKET_IS_EOC
      Src: /src/httpd/modules/http/http_filters.c:1329,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1333,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1334,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http/http_filters.c:1336,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1341,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1345,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http/http_filters.c:1346,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:1347,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1348,1
    - Dst: ap_bucket_eoc_create
      Src: /src/httpd/modules/http/http_filters.c:1349,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1350,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:1351,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1352,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1354,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1357,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:1360,1
    - Dst: ap_die
      Src: /src/httpd/modules/http/http_filters.c:1363,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1372,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1373,1
    - Dst: create_trailers_bucket
      Src: /src/httpd/modules/http/http_filters.c:1378,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http/http_filters.c:1380,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1382,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1386,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1389,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 143
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1170
    functionDepth: 4
    functionLinenumber: 1170
    functionLinenumberEnd: 1397
    functionName: ap_http_header_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - create_trailers_bucket
    - ap_bucket_eoc_create
    - check_headers
    - check_headers_recursion
    - merge_response_headers
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_table_clear
    - AP_BUCKET_IS_RESPONSE
    - APR_BUCKET_REMOVE
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - AP_STATUS_IS_HEADER_ONLY
    - ap_die
    - AP_BUCKET_IS_EOC
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - AP_BUCKET_IS_ERROR
    - AP_DEBUG_ASSERT
    - create_response_bucket
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - ap_set_content_length
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: "void ap_http_header_filter(ap_filter_t *f,\n                                                           apr_bucket_brigade
      *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - rv
    - status
    argTypes:
    - apr_status_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1433
    functionName: ap_map_http_request_error
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_map_http_request_error(apr_status_t rv, int status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_status_drops_connection
      Src: /src/httpd/modules/http/http_filters.c:1465,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/http_filters.c:1470,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:1474,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/http/http_filters.c:1477,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:1481,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1482,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1484,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http/http_filters.c:1496,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:1503,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:1508,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1513
    functionName: ap_discard_request_body
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 5
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_brigade_create
    - ap_map_http_request_error
    - apr_brigade_cleanup
    - ap_status_drops_connection
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: void
    signature: void ap_discard_request_body(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:1554,1
    - Dst: ap_get_limit_req_body
      Src: /src/httpd/modules/http/http_filters.c:1555,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1566,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1566,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/http/http_filters.c:1574,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1576,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1576,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1584,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1584,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1593,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1593,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_filters.c:1605,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:1606,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:1606,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - r
    - read_policy
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1611
    functionName: ap_setup_client_block
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 10
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - APLOGNO
    - AP_DEBUG_ASSERT
    - ap_get_limit_req_body
    - ap_parse_strict_length
    - apr_table_get
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: void
    signature: void ap_setup_client_block(request_rec *r, int read_policy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1622
    functionName: ap_should_client_block
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_should_client_block(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/http_filters.c:1644,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:1650,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http/http_filters.c:1660,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:1670,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http/http_filters.c:1672,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/http/http_filters.c:1673,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1675,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/http_filters.c:1677,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:1678,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1682,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1682,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http/http_filters.c:1690,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:1698,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_filters.c:1698,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1705,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/http/http_filters.c:1705,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/http/http_filters.c:1714,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http/http_filters.c:1716,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http/http_filters.c:1723,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - r
    - buffer
    - bufsiz
    argTypes:
    - request_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1725
    functionName: ap_get_client_block
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 12
    functionsReached:
    - ap_get_brigade
    - ap_pass_brigade
    - apr_brigade_destroy
    - ap_log_rerror
    - APR_BUCKET_IS_EOS
    - APLOGNO
    - apr_brigade_create
    - AP_DEBUG_ASSERT
    - apr_brigade_flatten
    - apr_bucket_eos_create
    - ap_map_http_request_error
    - apr_brigade_cleanup
    - ap_bucket_error_create
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_get_client_block(request_rec *r, char *buffer,\n                                     apr_size_t
      bufsiz)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:1743,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1746,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1747,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1748,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http/http_filters.c:1750,1
    - Dst: AP_BUCKET_IS_EOC
      Src: /src/httpd/modules/http/http_filters.c:1770,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1807,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1808,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1810,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:1811,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:1812,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:1817,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1734
    functionDepth: 1
    functionLinenumber: 1734
    functionLinenumberEnd: 1818
    functionName: ap_http_outerror_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - AP_BUCKET_IS_ERROR
    - apr_pcalloc
    - apr_bucket_delete
    - AP_BUCKET_IS_EOC
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_http_outerror_filter(ap_filter_t *f,\n                                     apr_bucket_brigade
      *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/http_filters.c:1839,1
    - Dst: ap_get_status_line_ex
      Src: /src/httpd/modules/http/http_filters.c:1842,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:1846,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:1850,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/http/http_filters.c:1857,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_filters.c:1858,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http/http_filters.c:1859,1
    - Dst: apr_brigade_writev
      Src: /src/httpd/modules/http/http_filters.c:1862,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:1865,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:1866,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/http/http_filters.c:1871,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:1872,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/http/http_filters.c:1878,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:1879,1
    - Dst: APLOGrtrace3
      Src: /src/httpd/modules/http/http_filters.c:1882,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1883,1
    - Dst: APLOGrtrace4
      Src: /src/httpd/modules/http/http_filters.c:1886,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1893,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - r
    - resp
    - protocol
    - bb
    argTypes:
    - request_rec*
    - ap_bucket_response*
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1899
    functionName: h1_append_response_head
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - apr_brigade_write
    - ap_xlate_proto_to_ascii
    - ap_log_rerror
    - APLOGrtrace4
    - ap_get_status_line_ex
    - ap_h1_append_header
    - apr_table_unset
    - apr_pstrcatv
    - apr_psprintf
    - apr_table_get
    - APLOGrtrace3
    - apr_brigade_writev
    - strlen
    linkageType: ''
    returnType: void
    signature: "void h1_append_response_head(request_rec *r,\n                                    ap_bucket_response
      *resp,\n                                    const char *protocol,\n                                    apr_bucket_brigade
      *bb)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_filters.c:1915,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:1918,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:1921,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:1924,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1925,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:1928,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:1930,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/http_filters.c:1932,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:1936,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http/http_filters.c:1939,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1942,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1947,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1947,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:1957,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:1957,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_filters.c:1972,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/http_filters.c:1975,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:1977,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/http/http_filters.c:1978,1
    - Dst: ap_h1_set_keepalive
      Src: /src/httpd/modules/http/http_filters.c:1982,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_filters.c:1984,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:1985,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http/http_filters.c:1988,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:1989,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_filters.c:1995,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:1996,1
    - Dst: h1_append_response_head
      Src: /src/httpd/modules/http/http_filters.c:2000,1
    - Dst: ap_h1_append_headers
      Src: /src/httpd/modules/http/http_filters.c:2001,1
    - Dst: ap_h1_terminate_header
      Src: /src/httpd/modules/http/http_filters.c:2002,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:2003,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:2010,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:2011,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2012,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:2016,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http/http_filters.c:2019,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http/http_filters.c:2022,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:2026,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_filters.c:2027,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2036,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:2036,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:2043,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_filters.c:2048,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 1907
    functionDepth: 2
    functionLinenumber: 1907
    functionLinenumberEnd: 2051
    functionName: ap_h1_response_out_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - ap_h1_set_keepalive
    - apr_brigade_create
    - ap_add_output_filter
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - AP_BUCKET_IS_RESPONSE
    - apr_table_get
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - AP_STATUS_IS_HEADER_ONLY
    - h1_append_response_head
    - ap_get_core_module_config
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - apr_table_mergen
    - APR_BRIGADE_CONCAT
    - ap_h1_append_headers
    - ap_log_rerror
    - apr_pcalloc
    - AP_DEBUG_ASSERT
    - APLOGNO
    - ap_h1_terminate_header
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - HTTP_VERSION
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_h1_response_out_filter(ap_filter_t *f,\n                                                               apr_bucket_brigade
      *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http/http_filters.c:2055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status_line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2059
    functionName: get_status_reason
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_status_reason(const char *status_line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/http_filters.c:2070,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_filters.c:2071,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http/http_filters.c:2073,1
    - Dst: ap_set_std_response_headers
      Src: /src/httpd/modules/http/http_filters.c:2076,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:2086,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:2087,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_filters.c:2088,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:2089,1
    - Dst: fixup_vary
      Src: /src/httpd/modules/http/http_filters.c:2092,1
    - Dst: basic_http_header_check
      Src: /src/httpd/modules/http/http_filters.c:2096,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:2102,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:2103,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:2110,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_filters.c:2111,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/modules/http/http_filters.c:2112,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/http/http_filters.c:2113,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_filters.c:2117,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:2118,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_filters.c:2119,1
    - Dst: ap_make_content_type
      Src: /src/httpd/modules/http/http_filters.c:2125,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:2127,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:2131,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/http/http_filters.c:2135,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_filters.c:2138,1
    - Dst: ap_get_list_item
      Src: /src/httpd/modules/http/http_filters.c:2140,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http/http_filters.c:2143,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/http_filters.c:2147,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http/http_filters.c:2151,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_filters.c:2152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2061
    functionDepth: 3
    functionLinenumber: 2061
    functionLinenumberEnd: 2154
    functionName: merge_response_headers
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 1
    functionsReached:
    - apr_is_empty_array
    - apr_array_push
    - ap_set_std_response_headers
    - basic_http_header_check
    - ap_get_list_item
    - ap_cstr_casecmp
    - apr_table_clear
    - apr_table_get
    - fixup_vary
    - AP_STATUS_IS_HEADER_ONLY
    - ap_make_content_type
    - apr_array_pstrcat
    - ap_recent_rfc822_date
    - apr_palloc
    - apr_table_setn
    - apr_table_unset
    - apr_table_overlay
    - apr_is_empty_table
    - HTTP_VERSION
    - apr_table_addn
    linkageType: ''
    returnType: void
    signature: void merge_response_headers(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_response_create
      Src: /src/httpd/modules/http/http_filters.c:2161,1
    - Dst: get_status_reason
      Src: /src/httpd/modules/http/http_filters.c:2161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - bucket_alloc
    argTypes:
    - request_rec*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2163
    functionName: create_response_bucket
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 2
    functionsReached:
    - ap_bucket_response_create
    - get_status_reason
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *create_response_bucket(request_rec *r, apr_bucket_alloc_t
      *bucket_alloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/http_filters.c:2167,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2168,1
    - Dst: ap_bucket_headers_create
      Src: /src/httpd/modules/http/http_filters.c:2169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - bucket_alloc
    argTypes:
    - request_rec*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2172
    functionName: create_trailers_bucket
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_is_empty_table
    - ap_bucket_headers_create
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *create_trailers_bucket(request_rec *r, apr_bucket_alloc_t
      *bucket_alloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_filters.c:2194,1
    - Dst: ap_rgetline
      Src: /src/httpd/modules/http/http_filters.c:2218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - bb
    argTypes:
    - h1_request_ctx*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2231
    functionName: read_request_line
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - ap_rgetline
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t read_request_line(h1_request_ctx *ctx, apr_bucket_brigade
      *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/http_filters.c:2237,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/http_filters.c:2238,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/http_filters.c:2241,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/http_filters.c:2242,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/http_filters.c:2243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2246
    functionName: sanitize_brigade
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_bucket_delete
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: void
    signature: void sanitize_brigade(apr_bucket_brigade *bb)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:2262,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/http_filters.c:2266,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/http/http_filters.c:2272,1
    - Dst: read_request_line
      Src: /src/httpd/modules/http/http_filters.c:2277,1
    - Dst: APR_STATUS_IS_ENOSPC
      Src: /src/httpd/modules/http/http_filters.c:2282,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http/http_filters.c:2285,1
    - Dst: APR_STATUS_IS_BADARG
      Src: /src/httpd/modules/http/http_filters.c:2288,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/http/http_filters.c:2291,1
    - Dst: ap_h1_tokenize_request_line
      Src: /src/httpd/modules/http/http_filters.c:2297,1
    - Dst: ap_get_mime_headers_core
      Src: /src/httpd/modules/http/http_filters.c:2307,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_filters.c:2309,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:2316,1
    - Dst: ap_bucket_request_createn
      Src: /src/httpd/modules/http/http_filters.c:2317,1
    - Dst: sanitize_brigade
      Src: /src/httpd/modules/http/http_filters.c:2322,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http/http_filters.c:2323,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2325,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_filters.c:2332,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_filters.c:2333,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_filters.c:2345,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_filters.c:2347,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http/http_filters.c:2348,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/http_filters.c:2350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2248
    functionDepth: 2
    functionLinenumber: 2248
    functionLinenumberEnd: 2355
    functionName: ap_h1_request_in_filter
    functionSourceFile: /src/httpd/modules/http/http_filters.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_HEAD
    - read_request_line
    - APR_STATUS_IS_TIMEUP
    - ap_h1_tokenize_request_line
    - ap_get_mime_headers_core
    - ap_bucket_error_create
    - APR_STATUS_IS_ENOSPC
    - ap_get_brigade
    - ap_bucket_request_createn
    - apr_brigade_cleanup
    - sanitize_brigade
    - APR_STATUS_IS_EINVAL
    - APR_BRIGADE_INSERT_TAIL
    - APR_STATUS_IS_BADARG
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - AP_DEBUG_ASSERT
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_h1_request_in_filter(ap_filter_t *f,\n                                     apr_bucket_brigade
      *bb,\n                                     ap_input_mode_t mode,\n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/byterange_filter.c:103,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http/byterange_filter.c:104,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/byterange_filter.c:109,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/byterange_filter.c:114,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http/byterange_filter.c:115,1
    - Dst: ap_condition_if_range
      Src: /src/httpd/modules/http/byterange_filter.c:122,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/byterange_filter.c:137,1
    - Dst: ap_getword
      Src: /src/httpd/modules/http/byterange_filter.c:138,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/byterange_filter.c:143,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:146,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/byterange_filter.c:147,1
    - Dst: strchr
      Src: /src/httpd/modules/http/byterange_filter.c:158,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/http/byterange_filter.c:164,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/http/byterange_filter.c:175,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/http/byterange_filter.c:180,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/http/byterange_filter.c:201,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/byterange_filter.c:245,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/byterange_filter.c:258,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/byterange_filter.c:269,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/byterange_filter.c:277,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/byterange_filter.c:280,1
    - Dst: apr_psprintf::apr_psprintf
      Src: /src/httpd/modules/http/byterange_filter.c:281,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http/byterange_filter.c:286,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/byterange_filter.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/byterange_filter.c:287,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 5
    argNames:
    - r
    - clength
    - indexes
    - overlaps
    - reversals
    argTypes:
    - request_rec*
    - apr_off_t
    - apr_array_header_t**
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 292
    functionName: ap_set_byterange
    functionSourceFile: /src/httpd/modules/http/byterange_filter.c
    functionUses: 0
    functionsReached:
    - apr_psprintf::apr_psprintf
    - ap_log_rerror
    - apr_isspace
    - strchr
    - apr_array_clear
    - apr_array_push
    - APLOGNO
    - apr_array_pstrcat
    - strlen
    - ap_parse_strict_length
    - apr_table_get
    - ap_condition_if_range
    - ap_getword
    - ap_cstr_casecmpn
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int ap_set_byterange(request_rec *r, apr_off_t clength,\n                            apr_array_header_t
      **indexes,\n                            int *overlaps, int *reversals)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/byterange_filter.c:318,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/byterange_filter.c:319,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/byterange_filter.c:320,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/byterange_filter.c:324,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/byterange_filter.c:344,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/byterange_filter.c:344,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/http/byterange_filter.c:345,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/byterange_filter.c:347,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:351,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http/byterange_filter.c:354,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/byterange_filter.c:356,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/byterange_filter.c:359,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/byterange_filter.c:360,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http/byterange_filter.c:372,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/byterange_filter.c:374,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/byterange_filter.c:377,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/byterange_filter.c:378,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http/byterange_filter.c:379,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/byterange_filter.c:384,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/byterange_filter.c:387,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http/byterange_filter.c:387,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/byterange_filter.c:389,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 4
    argNames:
    - bb
    - bbout
    - start
    - end
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - apr_off_t
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 391
    functionName: copy_brigade_range
    functionSourceFile: /src/httpd/modules/http/byterange_filter.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_bucket_copy
    - apr_bucket_split
    - apr_bucket_delete
    - AP_DEBUG_ASSERT
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t copy_brigade_range(apr_bucket_brigade *bb,\n                                       apr_bucket_brigade
      *bbout,\n                                       apr_off_t start,\n                                       apr_off_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/byterange_filter.c:397,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http/byterange_filter.c:399,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:401,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/byterange_filter.c:402,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:403,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/byterange_filter.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - f
    - tmpbb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: send_416
    functionSourceFile: /src/httpd/modules/http/byterange_filter.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_bucket_eos_create
    - ap_bucket_error_create
    - ap_remove_output_filter
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t send_416(ap_filter_t *f, apr_bucket_brigade *tmpbb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/byterange_filter.c:428,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/byterange_filter.c:443,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/byterange_filter.c:444,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/byterange_filter.c:444,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/byterange_filter.c:446,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/byterange_filter.c:456,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/byterange_filter.c:457,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/byterange_filter.c:458,1
    - Dst: ap_set_byterange
      Src: /src/httpd/modules/http/byterange_filter.c:462,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/byterange_filter.c:470,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/byterange_filter.c:471,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/byterange_filter.c:475,1
    - Dst: send_416
      Src: /src/httpd/modules/http/byterange_filter.c:478,1
    - Dst: ap_make_content_type
      Src: /src/httpd/modules/http/byterange_filter.c:482,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/byterange_filter.c:484,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/byterange_filter.c:484,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/byterange_filter.c:489,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/byterange_filter.c:498,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/byterange_filter.c:503,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:503,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http/byterange_filter.c:506,1
    - Dst: copy_brigade_range
      Src: /src/httpd/modules/http/byterange_filter.c:513,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/byterange_filter.c:515,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/byterange_filter.c:515,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/byterange_filter.c:528,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/byterange_filter.c:529,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/http/byterange_filter.c:535,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:535,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:537,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/byterange_filter.c:539,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/byterange_filter.c:541,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:541,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/http/byterange_filter.c:542,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:542,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:544,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http/byterange_filter.c:547,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/byterange_filter.c:555,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/byterange_filter.c:556,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/byterange_filter.c:558,1
    - Dst: send_416
      Src: /src/httpd/modules/http/byterange_filter.c:564,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/byterange_filter.c:571,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/byterange_filter.c:573,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:573,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/http/byterange_filter.c:574,1
    - Dst: strlen
      Src: /src/httpd/modules/http/byterange_filter.c:574,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:575,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http/byterange_filter.c:578,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/byterange_filter.c:579,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/byterange_filter.c:582,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http/byterange_filter.c:583,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/byterange_filter.c:586,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 587
    functionName: ap_byterange_filter
    functionSourceFile: /src/httpd/modules/http/byterange_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - ap_xlate_proto_to_ascii
    - apr_brigade_create
    - send_416
    - copy_brigade_range
    - apr_bucket_pool_create
    - APR_BUCKET_IS_EOS
    - apr_pstrcat
    - apr_psprintf
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - ap_get_core_module_config
    - ap_make_content_type
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - ap_set_content_type_ex
    - APLOGNO
    - apr_table_setn
    - apr_table_unset
    - APR_BRIGADE_SENTINEL
    - strlen
    - ap_set_byterange
    linkageType: ''
    returnType: void
    signature: "void ap_byterange_filter(ap_filter_t *f,\n                                                         apr_bucket_brigade
      *bb)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http/chunk_filter.c:62,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http/chunk_filter.c:75,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http/chunk_filter.c:76,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/chunk_filter.c:77,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http/chunk_filter.c:79,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/chunk_filter.c:80,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/chunk_filter.c:82,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/chunk_filter.c:84,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http/chunk_filter.c:88,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/chunk_filter.c:95,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http/chunk_filter.c:100,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/http/chunk_filter.c:107,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http/chunk_filter.c:108,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/chunk_filter.c:108,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/http/chunk_filter.c:114,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/chunk_filter.c:114,1
    - Dst: AP_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http/chunk_filter.c:119,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http/chunk_filter.c:121,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/chunk_filter.c:123,1
    - Dst: apr_table_overlap
      Src: /src/httpd/modules/http/chunk_filter.c:125,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http/chunk_filter.c:134,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/http/chunk_filter.c:145,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http/chunk_filter.c:145,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/chunk_filter.c:173,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http/chunk_filter.c:176,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/chunk_filter.c:178,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/http/chunk_filter.c:179,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http/chunk_filter.c:181,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/http/chunk_filter.c:187,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http/chunk_filter.c:189,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http/chunk_filter.c:192,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http/chunk_filter.c:195,1
    - Dst: ap_h1_add_end_chunk
      Src: /src/httpd/modules/http/chunk_filter.c:220,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/chunk_filter.c:224,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/chunk_filter.c:225,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 232
    functionName: ap_http_chunk_filter
    functionSourceFile: /src/httpd/modules/http/chunk_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - ap_xlate_proto_to_ascii
    - APR_BRIGADE_INSERT_HEAD
    - apr_table_overlap
    - APR_BUCKET_INSERT_BEFORE
    - AP_BUCKET_IS_HEADERS
    - apr_bucket_read
    - apr_table_make
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_NEXT
    - apr_bucket_immortal_create
    - ap_pass_brigade
    - apr_bucket_transient_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_INSERT_TAIL
    - apr_snprintf
    - ap_h1_add_end_chunk
    - ap_log_rerror
    - apr_pcalloc
    - AP_BUCKET_IS_ERROR
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_is_empty_table
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - f
    - from
    - to
    argTypes:
    - ap_filter_t*
    - request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: update_r_in_filters
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_r_in_filters(ap_filter_t *f,\n                                request_rec
      *from,\n                                request_rec *to)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/http/http_request.c:83,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/modules/http/http_request.c:96,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:98,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:98,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:102,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:128,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:129,1
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/http/http_request.c:136,1
    - Dst: ap_response_code_string
      Src: /src/httpd/modules/http/http_request.c:137,1
    - Dst: ap_status_drops_connection
      Src: /src/httpd/modules/http/http_request.c:156,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/http/http_request.c:167,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:175,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:186,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_request.c:193,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:195,1
    - Dst: ap_internal_redirect
      Src: /src/httpd/modules/http/http_request.c:201,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:213,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:213,1
    - Dst: ap_send_error_response
      Src: /src/httpd/modules/http/http_request.c:218,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - type
    - r
    - recursive_error
    argTypes:
    - int
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 219
    functionName: ap_die_r
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - ap_finalize_request_protocol
    - update_r_in_filters
    - ap_log_rerror
    - ap_is_url
    - ap_index_of_response
    - APLOGNO
    - ap_response_code_string
    - apr_table_setn
    - ap_is_HTTP_VALID_RESPONSE
    - ap_internal_redirect
    - ap_send_error_response
    - ap_status_drops_connection
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void ap_die_r(int type, request_rec *r, int recursive_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_die_r
      Src: /src/httpd/modules/http/http_request.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - r
    argTypes:
    - int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: ap_die
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 6
    functionsReached:
    - ap_die_r
    linkageType: ''
    returnType: void
    signature: void ap_die(int type, request_rec *r)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_request.c:238,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http/http_request.c:239,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http/http_request.c:241,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http/http_request.c:244,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:244,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http/http_request.c:249,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http/http_request.c:262,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/http/http_request.c:270,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http/http_request.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:287,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_request.c:298,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 3
    argNames:
    - c
    - bb
    - max_blank_lines
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 334
    functionName: ap_check_pipeline
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_log_cerror
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_brigade_flatten
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_EMPTY
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: "void ap_check_pipeline(conn_rec *c, apr_bucket_brigade *bb,\n                                           unsigned
      int max_blank_lines)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_acquire_brigade
      Src: /src/httpd/modules/http/http_request.c:342,1
    - Dst: ap_bucket_eor_create
      Src: /src/httpd/modules/http/http_request.c:348,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http/http_request.c:349,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_request.c:363,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http/http_request.c:371,1
    - Dst: ap_check_pipeline
      Src: /src/httpd/modules/http/http_request.c:383,1
    - Dst: ap_release_brigade
      Src: /src/httpd/modules/http/http_request.c:385,1
    - Dst: AP_PROCESS_REQUEST_RETURN
      Src: /src/httpd/modules/http/http_request.c:400,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/http/http_request.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 404
    functionName: ap_process_request_after_handler
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - ap_time_process_request
    - ap_release_brigade
    - ap_acquire_brigade
    - APR_BRIGADE_INSERT_HEAD
    - ap_check_pipeline
    - apr_brigade_cleanup
    - AP_PROCESS_REQUEST_RETURN
    - ap_bucket_eor_create
    linkageType: ''
    returnType: void
    signature: void ap_process_request_after_handler(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AP_PROCESS_REQUEST_ENTRY
      Src: /src/httpd/modules/http/http_request.c:425,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/http/http_request.c:427,1
    - Dst: APLOGrtrace4
      Src: /src/httpd/modules/http/http_request.c:430,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/http/http_request.c:432,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:434,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:437,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/http/http_request.c:438,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/http/http_request.c:439,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http/http_request.c:444,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http/http_request.c:445,1
    - Dst: ap_run_quick_handler
      Src: /src/httpd/modules/http/http_request.c:447,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/modules/http/http_request.c:449,1
    - Dst: ap_invoke_handler
      Src: /src/httpd/modules/http/http_request.c:451,1
    - Dst: AP_PROCESS_REQUEST_RETURN
      Src: /src/httpd/modules/http/http_request.c:459,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/http/http_request.c:461,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http/http_request.c:466,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http/http_request.c:471,1
    - Dst: ap_die_r
      Src: /src/httpd/modules/http/http_request.c:474,1
    - Dst: ap_process_request_after_handler
      Src: /src/httpd/modules/http/http_request.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 477
    functionName: ap_process_async_request
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - ap_die_r
    - apr_thread_mutex_lock
    - ap_time_process_request
    - ap_log_rerror
    - APLOGrtrace4
    - apr_thread_mutex_unlock
    - ap_escape_logitem
    - ap_process_request_after_handler
    - apr_table_elts
    - ap_process_request_internal
    - AP_PROCESS_REQUEST_ENTRY
    - ap_invoke_handler
    - ap_run_quick_handler
    - AP_PROCESS_REQUEST_RETURN
    - apr_thread_mutex_create
    linkageType: ''
    returnType: void
    signature: void ap_process_async_request(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_process_async_request
      Src: /src/httpd/modules/http/http_request.c:486,1
    - Dst: ap_run_input_pending
      Src: /src/httpd/modules/http/http_request.c:488,1
    - Dst: ap_acquire_brigade
      Src: /src/httpd/modules/http/http_request.c:489,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http/http_request.c:490,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http/http_request.c:491,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http/http_request.c:492,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http/http_request.c:493,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http/http_request.c:499,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:499,1
    - Dst: ap_release_brigade
      Src: /src/httpd/modules/http/http_request.c:502,1
    - Dst: ap_time_process_request
      Src: /src/httpd/modules/http/http_request.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 507
    functionName: ap_process_request
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_time_process_request
    - ap_release_brigade
    - ap_log_cerror
    - APR_BRIGADE_INSERT_HEAD
    - ap_acquire_brigade
    - APLOGNO
    - apr_bucket_flush_create
    - ap_process_async_request
    - ap_run_input_pending
    - APR_STATUS_IS_TIMEUP
    linkageType: ''
    returnType: void
    signature: void ap_process_request(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/http/http_request.c:511,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/http_request.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 524
    functionName: rename_original_env
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - apr_table_make
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *rename_original_env(apr_pool_t *p, apr_table_t *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_recursion_limit_exceeded
      Src: /src/httpd/modules/http/http_request.c:532,1
    - Dst: ap_die
      Src: /src/httpd/modules/http/http_request.c:533,1
    - Dst: apr_pcalloc::apr_pcalloc
      Src: /src/httpd/modules/http/http_request.c:537,1
    - Dst: ap_make_method_list
      Src: /src/httpd/modules/http/http_request.c:551,1
    - Dst: pool::pool
      Src: /src/httpd/modules/http/http_request.c:551,1
    - Dst: parsed_uri::parsed_uri
      Src: /src/httpd/modules/http/http_request.c:553,1
    - Dst: parsed_uri::parsed_uri
      Src: /src/httpd/modules/http/http_request.c:554,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/http/http_request.c:556,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/http_request.c:588,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/http/http_request.c:589,1
    - Dst: status::status
      Src: /src/httpd/modules/http/http_request.c:589,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_request.c:590,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:592,1
    - Dst: headers_out::headers_out
      Src: /src/httpd/modules/http/http_request.c:592,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_request.c:598,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_request.c:599,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:600,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/http_request.c:605,1
    - Dst: rename_original_env
      Src: /src/httpd/modules/http/http_request.c:606,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http/http_request.c:607,1
    - Dst: proto_input_filters::proto_input_filters
      Src: /src/httpd/modules/http/http_request.c:619,1
    - Dst: main::main
      Src: /src/httpd/modules/http/http_request.c:621,1
    - Dst: output_filters::output_filters
      Src: /src/httpd/modules/http/http_request.c:631,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_request.c:636,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_request.c:636,1
    - Dst: ap_remove_output_filter::ap_remove_output_filter
      Src: /src/httpd/modules/http/http_request.c:643,1
    - Dst: proto_output_filters::proto_output_filters
      Src: /src/httpd/modules/http/http_request.c:653,1
    - Dst: proto_output_filters::proto_output_filters
      Src: /src/httpd/modules/http/http_request.c:658,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:661,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:662,1
    - Dst: output_filters::output_filters
      Src: /src/httpd/modules/http/http_request.c:662,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_request.c:664,1
    - Dst: subprocess_env::subprocess_env
      Src: /src/httpd/modules/http/http_request.c:664,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/http/http_request.c:665,1
    - Dst: ap_post_read_request
      Src: /src/httpd/modules/http/http_request.c:681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 2
    argNames:
    - new_uri
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 687
    functionName: internal_internal_redirect
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - update_r_in_filters
    - status::status
    - pool::pool
    - ap_remove_output_filter::ap_remove_output_filter
    - apr_table_make
    - ap_is_HTTP_REDIRECT
    - ap_is_recursion_limit_exceeded
    - parsed_uri::parsed_uri
    - proto_input_filters::proto_input_filters
    - apr_table_get
    - rename_original_env
    - apr_pcalloc::apr_pcalloc
    - ap_die
    - headers_out::headers_out
    - proto_output_filters::proto_output_filters
    - output_filters::output_filters
    - ap_log_rerror
    - main::main
    - APLOGNO
    - apr_itoa
    - apr_table_setn
    - ap_post_read_request
    - subprocess_env::subprocess_env
    - ap_make_method_list
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: "request_rec *internal_internal_redirect(const char *new_uri,\n                                               request_rec
      *r)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_join
      Src: /src/httpd/modules/http/http_request.c:697,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/http_request.c:709,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/http_request.c:709,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_request.c:714,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_request.c:715,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_request.c:717,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_request.c:719,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http/http_request.c:721,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:733,1
    - Dst: update_r_in_filters
      Src: /src/httpd/modules/http/http_request.c:734,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_request.c:745,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http/http_request.c:767,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - rr
    - r
    argTypes:
    - request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 770
    functionName: ap_internal_fast_redirect
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - update_r_in_filters
    - ap_set_content_type_ex
    - apr_pool_join
    - AP_REQUEST_IS_TRUSTED_CT
    - apr_table_overlay
    - ap_remove_output_filter
    - ap_add_output_filter_handle
    linkageType: ''
    returnType: void
    signature: void ap_internal_fast_redirect(request_rec *rr, request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: internal_internal_redirect
      Src: /src/httpd/modules/http/http_request.c:775,1
    - Dst: AP_INTERNAL_REDIRECT
      Src: /src/httpd/modules/http/http_request.c:777,1
    - Dst: ap_run_quick_handler
      Src: /src/httpd/modules/http/http_request.c:784,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/modules/http/http_request.c:786,1
    - Dst: ap_invoke_handler
      Src: /src/httpd/modules/http/http_request.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - new_uri
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 772
    functionDepth: 4
    functionLinenumber: 772
    functionLinenumberEnd: 792
    functionName: ap_internal_redirect
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 2
    functionsReached:
    - internal_internal_redirect
    - ap_process_request_internal
    - AP_INTERNAL_REDIRECT
    - ap_invoke_handler
    - ap_run_quick_handler
    linkageType: ''
    returnType: void
    signature: void ap_internal_redirect(const char *new_uri, request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: internal_internal_redirect
      Src: /src/httpd/modules/http/http_request.c:801,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/http_request.c:809,1
    - Dst: r::r
      Src: /src/httpd/modules/http/http_request.c:809,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/http/http_request.c:809,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/modules/http/http_request.c:810,1
    - Dst: ap_invoke_handler
      Src: /src/httpd/modules/http/http_request.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - new_uri
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 815
    functionName: ap_internal_redirect_handler
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - internal_internal_redirect
    - ap_set_content_type_ex
    - ap_process_request_internal
    - r::r
    - AP_REQUEST_IS_TRUSTED_CT
    - ap_invoke_handler
    linkageType: ''
    returnType: void
    signature: void ap_internal_redirect_handler(const char *new_uri, request_rec
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_clear_method_list
      Src: /src/httpd/modules/http/http_request.c:827,1
    - Dst: va_start
      Src: /src/httpd/modules/http/http_request.c:830,1
    - Dst: va_arg
      Src: /src/httpd/modules/http/http_request.c:831,1
    - Dst: ap_method_list_add
      Src: /src/httpd/modules/http/http_request.c:832,1
    - Dst: va_end
      Src: /src/httpd/modules/http/http_request.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - r
    - reset
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 835
    functionName: ap_allow_methods
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - ap_method_list_add
    - va_arg
    - va_end
    - ap_clear_method_list
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_allow_methods(request_rec *r, int reset, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_clear_method_list
      Src: /src/httpd/modules/http/http_request.c:848,1
    - Dst: va_start
      Src: /src/httpd/modules/http/http_request.c:852,1
    - Dst: va_arg
      Src: /src/httpd/modules/http/http_request.c:853,1
    - Dst: va_end
      Src: /src/httpd/modules/http/http_request.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - reset
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 859
    functionName: ap_allow_standard_methods
    functionSourceFile: /src/httpd/modules/http/http_request.c
    functionUses: 0
    functionsReached:
    - va_end
    - ap_clear_method_list
    - va_arg
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_allow_standard_methods(request_rec *r, int reset, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/http/http_core.c:59,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/http/http_core.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: set_keep_alive_timeout
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: "char *set_keep_alive_timeout(cmd_parms *cmd, void *dummy,\n                                          const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/http/http_core.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: set_keep_alive
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *set_keep_alive(cmd_parms *cmd, void *dummy,\n                                  int
      arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/http/http_core.c:97,1
    - Dst: atoi
      Src: /src/httpd/modules/http/http_core.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: set_keep_alive_max
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_keep_alive_max(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_core.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: http_scheme
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 4
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *http_scheme(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_core.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: http_port
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: apr_port_t
    signature: apr_port_t http_port(const request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_core.c:144,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http/http_core.c:145,1
    - Dst: ap_update_child_status_from_conn
      Src: /src/httpd/modules/http/http_core.c:148,1
    - Dst: ap_set_conn_count
      Src: /src/httpd/modules/http/http_core.c:150,1
    - Dst: ap_read_request
      Src: /src/httpd/modules/http/http_core.c:152,1
    - Dst: ap_set_conn_count
      Src: /src/httpd/modules/http/http_core.c:156,1
    - Dst: ap_update_child_status
      Src: /src/httpd/modules/http/http_core.c:158,1
    - Dst: ap_process_async_request
      Src: /src/httpd/modules/http/http_core.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 182
    functionName: ap_process_http_async_connection
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_update_child_status_from_conn
    - ap_update_child_status
    - ap_read_request
    - ap_process_async_request
    - ap_set_conn_count
    linkageType: ''
    returnType: int
    signature: int ap_process_http_async_connection(conn_rec *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status_from_conn
      Src: /src/httpd/modules/http/http_core.c:196,1
    - Dst: ap_read_request
      Src: /src/httpd/modules/http/http_core.c:197,1
    - Dst: ap_update_child_status
      Src: /src/httpd/modules/http/http_core.c:211,1
    - Dst: ap_process_request
      Src: /src/httpd/modules/http/http_core.c:212,1
    - Dst: ap_update_child_status
      Src: /src/httpd/modules/http/http_core.c:226,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http/http_core.c:228,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http/http_core.c:237,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/http/http_core.c:239,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/http/http_core.c:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: ap_process_http_sync_connection
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - ap_mpm_query
    - ap_get_conn_socket
    - apr_socket_timeout_set
    - ap_update_child_status_from_conn
    - ap_update_child_status
    - ap_read_request
    - ap_process_request
    linkageType: ''
    returnType: int
    signature: int ap_process_http_sync_connection(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_process_http_async_connection
      Src: /src/httpd/modules/http/http_core.c:250,1
    - Dst: ap_process_http_sync_connection
      Src: /src/httpd/modules/http/http_core.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 6
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: ap_process_http_connection
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_process_http_async_connection
    - ap_process_http_sync_connection
    linkageType: ''
    returnType: int
    signature: int ap_process_http_connection(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_core.c:261,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_core.c:263,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_core.c:265,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_core.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: http_create_request
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter_handle
    linkageType: ''
    returnType: int
    signature: int http_create_request(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_core.c:277,1
    - Dst: ap_get_protocol
      Src: /src/httpd/modules/http/http_core.c:277,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/http/http_core.c:279,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http/http_core.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: h1_pre_read_request
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter_handle
    - strcmp
    - ap_add_output_filter_handle
    - ap_get_protocol
    linkageType: ''
    returnType: void
    signature: void h1_pre_read_request(request_rec *r, conn_rec *c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_core.c:291,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_core.c:292,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_core.c:293,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/http/http_core.c:303,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_core.c:304,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_core.c:304,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_core.c:316,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http/http_core.c:317,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/http/http_core.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 332
    functionName: h1_post_read_request
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_is_chunked
    - ap_log_rerror
    - APLOGNO
    - apr_table_unset
    - HTTP_VERSION
    - apr_table_get
    - ap_add_input_filter_handle
    linkageType: ''
    returnType: int
    signature: int h1_post_read_request(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: http_send_options
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int http_send_options(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http/http_core.c:346,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/modules/http/http_core.c:349,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/http_core.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: http_post_config
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_psprintf
    - ap_random_insecure_bytes
    linkageType: ''
    returnType: int
    signature: int http_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/http/http_core.c:357,1
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/http/http_core.c:358,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/http/http_core.c:360,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/http/http_core.c:361,1
    - Dst: ap_hook_http_scheme
      Src: /src/httpd/modules/http/http_core.c:362,1
    - Dst: ap_hook_default_port
      Src: /src/httpd/modules/http/http_core.c:363,1
    - Dst: ap_hook_create_request
      Src: /src/httpd/modules/http/http_core.c:365,1
    - Dst: ap_hook_pre_read_request
      Src: /src/httpd/modules/http/http_core.c:366,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/http/http_core.c:367,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http/http_core.c:370,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http/http_core.c:373,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http/http_core.c:376,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http/http_core.c:379,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http/http_core.c:382,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http/http_core.c:385,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http/http_core.c:388,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http/http_core.c:391,1
    - Dst: ap_method_registry_init
      Src: /src/httpd/modules/http/http_core.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 394
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/http/http_core.c
    functionUses: 0
    functionsReached:
    - ap_hook_http_scheme
    - ap_hook_default_port
    - ap_hook_process_connection
    - ap_hook_create_request
    - ap_register_output_filter
    - ap_hook_map_to_storage
    - ap_register_input_filter
    - ap_method_registry_init
    - ap_hook_pre_read_request
    - ap_hook_post_config
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http/http_protocol.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: is_mpm_running
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    linkageType: ''
    returnType: int
    signature: int is_mpm_running(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_protocol.c:222,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http/http_protocol.c:228,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:229,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:231,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_protocol.c:265,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:266,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/http/http_protocol.c:267,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:268,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_protocol.c:269,1
    - Dst: ap_status_drops_connection
      Src: /src/httpd/modules/http/http_protocol.c:275,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http/http_protocol.c:277,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:278,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:279,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http/http_protocol.c:280,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http/http_protocol.c:281,1
    - Dst: is_mpm_running
      Src: /src/httpd/modules/http/http_protocol.c:282,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:290,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/http_protocol.c:291,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:292,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:296,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/http_protocol.c:297,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:298,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http/http_protocol.c:300,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http/http_protocol.c:315,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 32
    argCount: 2
    argNames:
    - r
    - resp
    argTypes:
    - request_rec*
    - ap_bucket_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 332
    functionName: ap_h1_set_keepalive
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_is_chunked
    - AP_STATUS_IS_HEADER_ONLY
    - ap_find_token
    - apr_table_setn
    - is_mpm_running
    - HTTP_VERSION
    - apr_table_get
    - ap_status_drops_connection
    - apr_psprintf
    - apr_table_mergen
    - apr_time_sec
    linkageType: ''
    returnType: int
    signature: int ap_h1_set_keepalive(request_rec *r, ap_bucket_response *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http/http_protocol.c:338,1
    - Dst: ap_h1_set_keepalive
      Src: /src/httpd/modules/http/http_protocol.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: ap_set_keepalive
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_h1_set_keepalive
    - memset
    linkageType: ''
    returnType: void
    signature: void ap_set_keepalive(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:353,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:355,1
    - Dst: ap_find_etag_strong
      Src: /src/httpd/modules/http/http_protocol.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 365
    functionName: ap_condition_if_match
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_find_etag_strong
    linkageType: ''
    returnType: void
    signature: "void ap_condition_if_match(request_rec *r,\n        apr_table_t *headers)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:372,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:376,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:376,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:381,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:381,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:382,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:384,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http/http_protocol.c:384,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:387,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:387,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:388,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:390,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 413
    functionName: ap_condition_if_unmodified_since
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_date_parse_http
    - apr_time_sec
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void ap_condition_if_unmodified_since(request_rec *r,\n        apr_table_t
      *headers)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:420,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:432,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:433,1
    - Dst: ap_find_etag_strong
      Src: /src/httpd/modules/http/http_protocol.c:434,1
    - Dst: ap_find_etag_weak
      Src: /src/httpd/modules/http/http_protocol.c:439,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:446,1
    - Dst: ap_find_etag_strong
      Src: /src/httpd/modules/http/http_protocol.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: ap_condition_if_none_match
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - ap_find_etag_weak
    - apr_table_get
    - ap_find_etag_strong
    linkageType: ''
    returnType: void
    signature: "void ap_condition_if_none_match(request_rec *r,\n        apr_table_t
      *headers)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:461,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:470,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:470,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:471,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:473,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http/http_protocol.c:473,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:476,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:476,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:477,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:479,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:482,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:482,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 504
    functionName: ap_condition_if_modified_since
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_date_parse_http
    - apr_time_sec
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void ap_condition_if_modified_since(request_rec *r,\n        apr_table_t
      *headers)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:511,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:512,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:515,1
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_protocol.c:516,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:532,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:532,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:533,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:535,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http/http_protocol.c:535,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:538,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:538,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:539,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:541,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http/http_protocol.c:544,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/http/http_protocol.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 562
    functionName: ap_condition_if_range
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - strcmp
    - apr_time_now
    - apr_date_parse_http
    - apr_table_get
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: "void ap_condition_if_range(request_rec *r,\n        apr_table_t *headers)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_HTTP_SUCCESS
      Src: /src/httpd/modules/http/http_protocol.c:580,1
    - Dst: ap_condition_if_match
      Src: /src/httpd/modules/http/http_protocol.c:589,1
    - Dst: ap_condition_if_unmodified_since
      Src: /src/httpd/modules/http/http_protocol.c:599,1
    - Dst: ap_condition_if_none_match
      Src: /src/httpd/modules/http/http_protocol.c:619,1
    - Dst: ap_condition_if_modified_since
      Src: /src/httpd/modules/http/http_protocol.c:641,1
    - Dst: ap_condition_if_range
      Src: /src/httpd/modules/http/http_protocol.c:656,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 666
    functionName: ap_meets_conditions
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 4
    functionsReached:
    - ap_condition_if_modified_since
    - ap_is_HTTP_SUCCESS
    - ap_condition_if_none_match
    - ap_condition_if_match
    - ap_condition_if_range
    - ap_condition_if_unmodified_since
    linkageType: ''
    returnType: void
    signature: void ap_meets_conditions(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_protocol.c:683,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http/http_protocol.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - methname
    - methnum
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: register_one_method
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void register_one_method(apr_pool_t *p, const char *methname,\n                                int
      methnum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - notused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 697
    functionName: ap_method_registry_destroy
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_method_registry_destroy(void *notused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/http/http_protocol.c:701,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/http/http_protocol.c:702,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:710,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:711,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:712,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:713,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:714,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:715,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:716,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:717,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:718,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:719,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:720,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:721,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:722,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:723,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:724,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:725,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:726,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:727,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:728,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:729,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:730,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:731,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:732,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:733,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:734,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:735,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 737
    functionName: ap_method_registry_init
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 2
    functionsReached:
    - register_one_method
    - apr_hash_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_method_registry_init(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/http_protocol.c:750,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http/http_protocol.c:759,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:759,1
    - Dst: register_one_method
      Src: /src/httpd/modules/http/http_protocol.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - methname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 768
    functionName: ap_method_register
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_perror
    - apr_hash_get
    - register_one_method
    linkageType: ''
    returnType: void
    signature: void ap_method_register(apr_pool_t *p, const char *methname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:779,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http/http_protocol.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - method
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: ap_method_number_of
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void ap_method_number_of(const char *method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_first
      Src: /src/httpd/modules/http/http_protocol.c:796,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/http/http_protocol.c:800,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/http/http_protocol.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - methnum
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 811
    functionName: ap_method_name_of
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_hash_first
    - apr_hash_this
    - apr_hash_next
    linkageType: ''
    returnType: void
    signature: void ap_method_name_of(apr_pool_t *p, int methnum)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 846
    functionName: index_of_response
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_of_response(int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index_of_response
      Src: /src/httpd/modules/http/http_protocol.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: ap_index_of_response
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - index_of_response
    linkageType: ''
    returnType: void
    signature: void ap_index_of_response(int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: index_of_response
      Src: /src/httpd/modules/http/http_protocol.c:856,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http/http_protocol.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - status
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 864
    functionName: ap_get_status_line_ex
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - index_of_response
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: void ap_get_status_line_ex(apr_pool_t *p, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/http/http_protocol.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: ap_get_status_line
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 5
    functionsReached:
    - ap_index_of_response
    linkageType: ''
    returnType: void
    signature: void ap_get_status_line(int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/http_protocol.c:876,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/http/http_protocol.c:877,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_protocol.c:880,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/http/http_protocol.c:884,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/http/http_protocol.c:888,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/http_protocol.c:896,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/http/http_protocol.c:903,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 907
    functionName: make_allow
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_array_cat
    - ap_get_core_module_config
    - apr_array_push
    - apr_hash_this
    - apr_array_pstrcat
    - apr_hash_next
    - apr_hash_first
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *make_allow(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:915,1
    - Dst: make_allow
      Src: /src/httpd/modules/http/http_protocol.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 922
    functionName: ap_send_http_options
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - make_allow
    linkageType: ''
    returnType: void
    signature: void ap_send_http_options(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_protocol.c:929,1
    - Dst: AP_REQUEST_SET_BNOTE
      Src: /src/httpd/modules/http/http_protocol.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - r
    - ct
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 933
    functionName: ap_set_content_type
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 9
    functionsReached:
    - strcmp
    - AP_REQUEST_SET_BNOTE
    linkageType: ''
    returnType: void
    signature: void ap_set_content_type(request_rec *r, const char *ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/http/http_protocol.c:936,1
    - Dst: AP_REQUEST_SET_BNOTE
      Src: /src/httpd/modules/http/http_protocol.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - ct
    - trusted
    argTypes:
    - request_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: ap_set_content_type_ex
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 16
    functionsReached:
    - ap_set_content_type
    - AP_REQUEST_SET_BNOTE
    linkageType: ''
    returnType: void
    signature: void ap_set_content_type_ex(request_rec *r, const char *ct, int trusted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_protocol.c:942,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 946
    functionName: ap_set_accept_ranges
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 2
    functionsReached:
    - apr_table_setn
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_set_accept_ranges(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:954,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:955,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - r
    - prefix
    - key
    - suffix
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: add_optional_notes
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char *add_optional_notes(request_rec *r,\n                                      const
      char *prefix,\n                                      const char *key,\n                                      const
      char *suffix)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:974,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:975,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:982,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:984,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:988,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:991,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1008,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1014,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1018,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1020,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1024,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1029,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1031,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1033,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1036,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1041,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1043,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1046,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1050,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1063,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1065,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1072,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1081,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1083,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1087,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1092,1
    - Dst: add_optional_notes
      Src: /src/httpd/modules/http/http_protocol.c:1154,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1165,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1167,1
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_protocol.c:1168,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1169,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1172,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/http/http_protocol.c:1179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 101
    argCount: 3
    argNames:
    - status
    - r
    - location
    argTypes:
    - int
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 1208
    functionName: get_canned_error_string
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    - ap_escape_html
    - apr_table_get
    - add_optional_notes
    linkageType: ''
    returnType: char
    signature: "char *get_canned_error_string(int status,\n                                           request_rec
      *r,\n                                           const char *location)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/http/http_protocol.c:1219,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1221,1
    - Dst: ap_run_insert_error_filter
      Src: /src/httpd/modules/http/http_protocol.c:1234,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http/http_protocol.c:1240,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/http/http_protocol.c:1241,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1251,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http/http_protocol.c:1261,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/http/http_protocol.c:1263,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:1265,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http/http_protocol.c:1276,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_protocol.c:1279,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/http_protocol.c:1283,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/http/http_protocol.c:1286,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http/http_protocol.c:1291,1
    - Dst: make_allow
      Src: /src/httpd/modules/http/http_protocol.c:1291,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/http/http_protocol.c:1295,1
    - Dst: ap_response_code_string
      Src: /src/httpd/modules/http/http_protocol.c:1300,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1318,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/http/http_protocol.c:1319,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1332,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/http/http_protocol.c:1334,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1336,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/http/http_protocol.c:1337,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1344,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1346,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1359,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1365,1
    - Dst: get_canned_error_string
      Src: /src/httpd/modules/http/http_protocol.c:1366,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1370,1
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/http/http_protocol.c:1371,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1375,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/http/http_protocol.c:1375,1
    - Dst: ap_rvputs_proto_in_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1376,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/http/http_protocol.c:1378,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 2
    argNames:
    - r
    - recursive_error
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1216
    functionDepth: 3
    functionLinenumber: 1216
    functionLinenumberEnd: 1379
    functionName: ap_send_error_response
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_rvputs_proto_in_ascii
    - ap_run_insert_error_filter
    - ap_psignature
    - ap_is_HTTP_REDIRECT
    - apr_pstrcat
    - make_allow
    - apr_table_clear
    - apr_table_get
    - ap_finalize_request_protocol
    - AP_STATUS_IS_HEADER_ONLY
    - apr_isspace
    - ap_get_core_module_config
    - ap_index_of_response
    - ap_response_code_string
    - apr_strtoi64
    - ap_set_content_type_ex
    - apr_table_setn
    - get_canned_error_string
    - apr_isalnum
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_send_error_response(request_rec *r, int recursive_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_protocol.c:1389,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http/http_protocol.c:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - nelts
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1393
    functionName: ap_make_method_list
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - apr_array_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_make_method_list(apr_pool_t *p, int nelts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/http_protocol.c:1409,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/http_protocol.c:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ap_method_list_t*
    - ap_method_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1412
    functionName: ap_copy_method_list
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_array_push
    linkageType: ''
    returnType: void
    signature: "void ap_copy_method_list(ap_method_list_t *dest,\n                                     ap_method_list_t
      *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/http/http_protocol.c:1426,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/http/http_protocol.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - l
    - method
    argTypes:
    - ap_method_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1438
    functionName: ap_method_in_list
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - ap_array_str_contains
    linkageType: ''
    returnType: void
    signature: void ap_method_in_list(ap_method_list_t *l, const char *method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/http/http_protocol.c:1452,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/http/http_protocol.c:1460,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http/http_protocol.c:1464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - l
    - method
    argTypes:
    - ap_method_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1466
    functionName: ap_method_list_add
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_method_number_of
    - ap_array_str_contains
    - apr_array_push
    linkageType: ''
    returnType: void
    signature: void ap_method_list_add(ap_method_list_t *l, const char *method)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/http/http_protocol.c:1481,1
    - Dst: strcmp
      Src: /src/httpd/modules/http/http_protocol.c:1493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - l
    - method
    argTypes:
    - ap_method_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1504
    functionName: ap_method_list_remove
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void ap_method_list_remove(ap_method_list_t *l,\n                                       const
      char *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - ap_method_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1513
    functionName: ap_clear_method_list
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_clear_method_list(ap_method_list_t *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http/http_protocol.c:1523,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1524,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1526,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http/http_protocol.c:1527,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1532,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1538,1
    - Dst: apr_brigade_writev
      Src: /src/httpd/modules/http/http_protocol.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - bb
    - pool
    - name
    - value
    argTypes:
    - apr_bucket_brigade*
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1544
    functionName: ap_h1_append_header
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_pstrcat
    - strlen
    - apr_brigade_writev
    - apr_brigade_write
    linkageType: ''
    returnType: void
    signature: "void ap_h1_append_header(apr_bucket_brigade *bb,\n                                             apr_pool_t
      *pool,\n                                             const char *name, const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/http/http_protocol.c:1556,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http/http_protocol.c:1562,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1572,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1578,1
    - Dst: APLOGrtrace4
      Src: /src/httpd/modules/http/http_protocol.c:1587,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1590,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/http/http_protocol.c:1599,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1600,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http/http_protocol.c:1601,1
    - Dst: apr_brigade_writev
      Src: /src/httpd/modules/http/http_protocol.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - bb
    - r
    - headers
    argTypes:
    - apr_bucket_brigade*
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1606
    functionName: ap_h1_append_headers
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - apr_brigade_write
    - ap_log_rerror
    - APLOGrtrace4
    - apr_palloc
    - ap_xlate_proto_to_ascii
    - apr_table_elts
    - apr_pstrcatv
    - apr_brigade_writev
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_h1_append_headers(apr_bucket_brigade *bb,\n                                              request_rec
      *r,\n                                              apr_table_t *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1613,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/http/http_protocol.c:1614,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http/http_protocol.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1616
    functionName: ap_h1_terminate_header
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - apr_brigade_write
    - strlen
    - ap_xlate_proto_to_ascii
    linkageType: ''
    returnType: void
    signature: void ap_h1_terminate_header(apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - CRLF_ASCII
    - rrl_none
    - log_name_len
    argTypes:
    - ZERO_ASCII
    - ap_h1_append_headers
    - rrl_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1661
    functionName: apr_brigade_write
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 11
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: "void apr_brigade_write(b, NULL, NULL, ZERO_ASCII CRLF_ASCII, 3);\n
      \       ap_h1_append_headers(b, r, trailers);\n        ap_h1_terminate_header(b);\n
      \       if (tmp) APR_BRIGADE_CONCAT(b, tmp);\n    }\n}\n\ntypedef enum {\n    rrl_none,
      rrl_badprotocol, rrl_badmethod, rrl_badwhitespace, rrl_excesswhitespace,\n    rrl_missinguri,
      rrl_baduri, rrl_trailingtext,\n} rrl_error;\n\n/* get the length of a name for
      logging, but no more than 80 bytes */\n#define LOG_NAME_MAX_LEN 80\nstatic int
      log_name_len(const char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1669,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1669,1
    - Dst: log_name_len
      Src: /src/httpd/modules/http/http_protocol.c:1672,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1675,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1675,1
    - Dst: log_name_len
      Src: /src/httpd/modules/http/http_protocol.c:1677,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1680,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1684,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1684,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1689,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1689,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1693,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1693,1
    - Dst: log_name_len
      Src: /src/httpd/modules/http/http_protocol.c:1695,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http/http_protocol.c:1698,1
    - Dst: log_name_len
      Src: /src/httpd/modules/http/http_protocol.c:1701,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - r
    - error
    - etoken
    argTypes:
    - request_rec*
    - rrl_error
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1704
    functionName: rrl_log_error
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - log_name_len
    linkageType: ''
    returnType: void
    signature: void rrl_log_error(request_rec *r, rrl_error error, const char *etoken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - e
    - ','
    - et
    - ','
    - y
    - ','
    - yt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1713
    functionName: RRL_ERROR
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRL_ERROR(e, et, y, yt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1726,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1727,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1728,1
    - Dst: ap_scan_http_token
      Src: /src/httpd/modules/http/http_protocol.c:1736,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http/http_protocol.c:1739,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1742,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1743,1
    - Dst: strpbrk
      Src: /src/httpd/modules/http/http_protocol.c:1744,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1749,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1753,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1754,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1760,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1762,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1766,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http/http_protocol.c:1771,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1772,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1773,1
    - Dst: strpbrk
      Src: /src/httpd/modules/http/http_protocol.c:1774,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1782,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1783,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1789,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1791,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http/http_protocol.c:1795,1
    - Dst: strlen
      Src: /src/httpd/modules/http/http_protocol.c:1796,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1805,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1806,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1809,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http/http_protocol.c:1812,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1814,1
    - Dst: RRL_ERROR
      Src: /src/httpd/modules/http/http_protocol.c:1818,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 6
    argNames:
    - line
    - strict
    - pmethod
    - puri
    - pprotocol
    - perror_token
    argTypes:
    - char*
    - int
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1828
    functionName: tokenize_request_line
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - RRL_ERROR
    - apr_isspace
    - strpbrk
    - ap_scan_vchar_obstext
    - strlen
    - ap_scan_http_token
    linkageType: ''
    returnType: rrl_error
    signature: "rrl_error tokenize_request_line(\n        char *line, int strict,\n
      \       const char **pmethod, const char **puri, const char **pprotocol,\n        const
      char **perror_token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http/http_protocol.c:1834,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1839,1
    - Dst: tokenize_request_line
      Src: /src/httpd/modules/http/http_protocol.c:1841,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http/http_protocol.c:1841,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http/http_protocol.c:1843,1
    - Dst: rrl_log_error
      Src: /src/httpd/modules/http/http_protocol.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - r
    - line
    - pmethod
    - puri
    - pprotocol
    argTypes:
    - request_rec*
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1851
    functionName: ap_h1_tokenize_request_line
    functionSourceFile: /src/httpd/modules/http/http_protocol.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - tokenize_request_line
    - rrl_log_error
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: "void ap_h1_tokenize_request_line(\n        request_rec *r, const char
      *line,\n        const char **pmethod, const char **puri, const char **pprotocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_hash_string
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: util_ldap_url_node_hash
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_hash_string
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long util_ldap_url_node_hash(void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: util_ldap_url_node_compare
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int util_ldap_url_node_compare(void *a, void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:51,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:54,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cache
    - c
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: util_ldap_url_node_copy
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_free
    - util_ald_alloc
    - util_ald_strdup
    linkageType: ''
    returnType: void
    signature: void *util_ldap_url_node_copy(util_ald_cache_t *cache, void *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:72,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:73,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:74,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:75,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - n
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: util_ldap_url_node_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_free
    - util_ald_destroy_cache
    linkageType: ''
    returnType: void
    signature: void util_ldap_url_node_free(util_ald_cache_t *cache, void *n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_ctime
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:105,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:110,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - r
    - cache
    - n
    argTypes:
    - request_rec*
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: util_ldap_url_node_display
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - apr_ctime
    - apr_time_sec
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void util_ldap_url_node_display(request_rec *r, util_ald_cache_t *cache,
      void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_hash_string
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: util_ldap_search_node_hash
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_hash_string
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long util_ldap_search_node_hash(void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: util_ldap_search_node_compare
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int util_ldap_search_node_compare(void *a, void *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:152,1
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:161,1
    - Dst: util_ldap_search_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:162,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:168,1
    - Dst: util_ldap_search_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:169,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:181,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:182,1
    - Dst: util_ldap_search_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:183,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:187,1
    - Dst: util_ldap_search_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - cache
    - c
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: util_ldap_search_node_copy
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_strdup
    - util_ald_alloc
    - util_ldap_search_node_free
    linkageType: ''
    returnType: void
    signature: void *util_ldap_search_node_copy(util_ald_cache_t *cache, void *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:209,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:212,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:214,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:215,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:216,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cache
    - n
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: util_ldap_search_node_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    linkageType: ''
    returnType: void
    signature: void util_ldap_search_node_free(util_ald_cache_t *cache, void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_ctime
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:225,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:227,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:233,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - cache
    - n
    argTypes:
    - request_rec*
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: util_ldap_search_node_display
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - apr_ctime
    - ap_escape_html
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void util_ldap_search_node_display(request_rec *r, util_ald_cache_t
      *cache, void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_hash_string
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: util_ldap_compare_node_hash
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_hash_string
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long util_ldap_compare_node_hash(void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:251,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:252,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: util_ldap_compare_node_compare
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int util_ldap_compare_node_compare(void *a, void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:259,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:262,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:263,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:264,1
    - Dst: util_ald_sgl_dup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:265,1
    - Dst: util_ldap_compare_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - cache
    - c
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 277
    functionName: util_ldap_compare_node_copy
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_sgl_dup
    - util_ald_alloc
    - util_ldap_compare_node_free
    - util_ald_strdup
    linkageType: ''
    returnType: void
    signature: void *util_ldap_compare_node_copy(util_ald_cache_t *cache, void *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_sgl_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:283,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:284,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:285,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:286,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - n
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: util_ldap_compare_node_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    - util_ald_sgl_free
    linkageType: ''
    returnType: void
    signature: void util_ldap_compare_node_free(util_ald_cache_t *cache, void *n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_ctime
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:298,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:307,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:324,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:334,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:335,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - r
    - cache
    - n
    argTypes:
    - request_rec*
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 341
    functionName: util_ldap_compare_node_display
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - apr_ctime
    - ap_escape_html
    - ap_rprintf
    - apr_itoa
    linkageType: ''
    returnType: void
    signature: void util_ldap_compare_node_display(request_rec *r, util_ald_cache_t
      *cache, void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_hash_string
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: util_ldap_dn_compare_node_hash
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_hash_string
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long util_ldap_dn_compare_node_hash(void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: util_ldap_dn_compare_node_compare
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int util_ldap_dn_compare_node_compare(void *a, void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:362,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:365,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:366,1
    - Dst: util_ldap_dn_compare_node_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cache
    - c
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: util_ldap_dn_compare_node_copy
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ldap_dn_compare_node_free
    - util_ald_alloc
    - util_ald_strdup
    linkageType: ''
    returnType: void
    signature: void *util_ldap_dn_compare_node_copy(util_ald_cache_t *cache, void
      *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:380,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:381,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - n
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: util_ldap_dn_compare_node_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    linkageType: ''
    returnType: void
    signature: void util_ldap_dn_compare_node_free(util_ald_cache_t *cache, void *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:389,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:394,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - cache
    - n
    argTypes:
    - request_rec*
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: util_ldap_dn_compare_node_display
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - ap_escape_html
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void util_ldap_dn_compare_node_display(request_rec *r, util_ald_cache_t
      *cache, void *n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:408,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:411,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:413,1
    - Dst: apr_shm_size_get
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:419,1
    - Dst: apr_rmm_init
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:422,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:423,1
    - Dst: util_ald_create_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pool
    - st
    argTypes:
    - apr_pool_t*
    - util_ldap_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 442
    functionName: util_ldap_cache_init
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache.c
    functionUses: 0
    functionsReached:
    - util_ald_create_cache
    - apr_shm_remove
    - apr_shm_create
    - apr_shm_baseaddr_get
    - APR_ALIGN_DEFAULT
    - apr_shm_size_get
    - apr_rmm_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t
      *st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:85,1
    - Dst: apr_rmm_offset_get
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:85,1
    - Dst: free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:90,1
    - Dst: free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cache
    - ptr
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: util_ald_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 5
    functionsReached:
    - apr_rmm_offset_get
    - apr_rmm_free
    - free
    linkageType: ''
    returnType: void
    signature: void util_ald_free(util_ald_cache_t *cache, const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:105,1
    - Dst: apr_rmm_addr_get
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:106,1
    - Dst: calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:110,1
    - Dst: calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cache
    - size
    argTypes:
    - util_ald_cache_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: util_ald_alloc
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 4
    functionsReached:
    - apr_rmm_calloc
    - calloc
    - apr_rmm_addr_get
    linkageType: ''
    returnType: void
    signature: void *util_ald_alloc(util_ald_cache_t *cache, unsigned long size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:122,1
    - Dst: strlen
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:122,1
    - Dst: apr_rmm_addr_get
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:123,1
    - Dst: strcpy
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:125,1
    - Dst: strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:134,1
    - Dst: strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - s
    argTypes:
    - util_ald_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: util_ald_strdup
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 4
    functionsReached:
    - strdup
    - apr_rmm_calloc
    - strcpy
    - strlen
    - apr_rmm_addr_get
    linkageType: ''
    returnType: char
    signature: char *util_ald_strdup(util_ald_cache_t *cache, const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:154,1
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:156,1
    - Dst: util_ald_strdup
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:159,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:163,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:165,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - cache
    - sgl_in
    argTypes:
    - util_ald_cache_t*
    - util_compare_subgroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: util_ald_sgl_dup
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    - util_ald_alloc
    - util_ald_strdup
    linkageType: ''
    returnType: util_compare_subgroup_t
    signature: util_compare_subgroup_t *util_ald_sgl_dup(util_ald_cache_t *cache,
      util_compare_subgroup_t *sgl_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:192,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cache
    - sgl
    argTypes:
    - util_ald_cache_t*
    - util_compare_subgroup_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: util_ald_sgl_free
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    linkageType: ''
    returnType: void
    signature: void util_ald_sgl_free(util_ald_cache_t *cache, util_compare_subgroup_t
      **sgl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:209,1
    - Dst: va_arg
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:211,1
    - Dst: va_end
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - nstr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: util_ald_hash_string
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 4
    functionsReached:
    - va_end
    - va_arg
    - va_start
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long util_ald_hash_string(int nstr, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:241,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:259,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - cache
    argTypes:
    - util_ald_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 275
    functionName: util_ald_cache_purge
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached:
    - util_ald_free
    - apr_time_now
    linkageType: ''
    returnType: void
    signature: void util_ald_cache_purge(util_ald_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_create_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:289,1
    - Dst: util_ald_create_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:297,1
    - Dst: util_ald_create_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:305,1
    - Dst: memset
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:319,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:325,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:329,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:330,1
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - st
    - url
    argTypes:
    - util_ldap_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 335
    functionName: util_ald_create_caches
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached:
    - util_ald_destroy_cache
    - util_ald_create_cache
    - memset
    - util_ald_cache_insert
    linkageType: ''
    returnType: util_url_node_t
    signature: util_url_node_t *util_ald_create_caches(util_ldap_state_t *st, const
      char *url)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:358,1
    - Dst: apr_rmm_calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:361,1
    - Dst: apr_rmm_addr_get
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:362,1
    - Dst: calloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:365,1
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:383,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - st
    - cache_size
    - cache_ttl
    - (*copyfunc)(util_ald_cache_t *cache, void *)
    argTypes:
    - util_ldap_state_t*
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 414
    functionName: util_ald_create_cache
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 2
    functionsReached:
    - util_ald_free
    - calloc
    - apr_rmm_calloc
    - util_ald_alloc
    - apr_rmm_addr_get
    linkageType: ''
    returnType: util_ald_cache_t
    signature: "util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,\n                                long
      cache_size,\n                                long cache_ttl,\n                                unsigned
      long (*hashfunc)(void *),\n                                int (*comparefunc)(void
      *, void *),\n                                void * (*copyfunc)(util_ald_cache_t
      *cache, void *),\n                                void (*freefunc)(util_ald_cache_t
      *cache, void *),\n                                void (*displayfunc)(request_rec
      *r, util_ald_cache_t *cache, void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:430,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:434,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - cache
    argTypes:
    - util_ald_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 436
    functionName: util_ald_destroy_cache
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 2
    functionsReached:
    - util_ald_free
    linkageType: ''
    returnType: void
    signature: void util_ald_destroy_cache(util_ald_cache_t *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cache
    - payload
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 461
    functionName: util_ald_cache_fetch
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *util_ald_cache_fetch(util_ald_cache_t *cache, void *payload)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_cache_purge
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:480,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:483,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:483,1
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:489,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:496,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:496,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:505,1
    - Dst: util_ald_cache_purge
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:507,1
    - Dst: util_ald_alloc
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:508,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:511,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:511,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:524,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:524,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:533,1
    - Dst: util_ald_cache_purge
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:535,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:538,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:538,1
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:540,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:549,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - cache
    - payload
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 562
    functionName: util_ald_cache_insert
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 1
    functionsReached:
    - util_ald_free
    - apr_time_now
    - APLOGNO
    - util_ald_cache_purge
    - ap_log_error
    - util_ald_alloc
    linkageType: ''
    returnType: void
    signature: void *util_ald_cache_insert(util_ald_cache_t *cache, void *payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_free
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cache
    - payload
    argTypes:
    - util_ald_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 595
    functionName: util_ald_cache_remove
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached:
    - util_ald_free
    linkageType: ''
    returnType: void
    signature: void util_ald_cache_remove(util_ald_cache_t *cache, void *payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:624,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:626,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:626,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:634,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:655,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:656,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:665,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - r
    - cache
    - name
    - id
    argTypes:
    - request_rec*
    - util_ald_cache_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 673
    functionName: util_ald_cache_display_stats
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached:
    - apr_ctime
    - ap_escape_html
    - apr_psprintf
    - ap_escape_uri
    linkageType: ''
    returnType: char
    signature: char *util_ald_cache_display_stats(request_rec *r, util_ald_cache_t
      *cache, char *name, char *id)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:690,1
    - Dst: sscanf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:699,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:710,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:726,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:731,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:762,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:766,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:784,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:789,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:805,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:808,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:828,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:831,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:846,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:858,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:872,1
    - Dst: util_ald_cache_display_stats
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:873,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:880,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:881,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:882,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:883,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:884,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:885,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:887,1
    - Dst: util_ald_cache_display_stats
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:892,1
    - Dst: util_ald_cache_display_stats
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:893,1
    - Dst: util_ald_cache_display_stats
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:894,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:898,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap_cache_mgr.c:899,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 2
    argNames:
    - r
    - st
    argTypes:
    - request_rec*
    - util_ldap_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 903
    functionName: util_ald_cache_display
    functionSourceFile: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
    functionUses: 0
    functionsReached:
    - apr_time_sec
    - apr_ctime
    - ap_rputs
    - apr_psprintf
    - ap_rprintf
    - util_ald_cache_display_stats
    - sscanf
    linkageType: ''
    returnType: char
    signature: char *util_ald_cache_display(request_rec *r, util_ldap_state_t *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: uldap_rebind_init
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uldap_rebind_init(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldap_bind_s
      Src: /src/httpd/modules/ldap/util_ldap.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ld
    - url
    - request
    - msgid
    - params
    argTypes:
    - LDAP*
    - char*
    - ber_tag_t
    - ber_int_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: uldap_rebind_proc
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_bind_s
    linkageType: ''
    returnType: int
    signature: "int uldap_rebind_proc(LDAP *ld, const char *url, ber_tag_t request,\n
      \                            ber_int_t msgid, void *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldap_set_rebind_proc
      Src: /src/httpd/modules/ldap/util_ldap.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ldc
    argTypes:
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: uldap_rebind_add
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_set_rebind_proc
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t uldap_rebind_add(util_ldap_connection_t *ldc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: uldap_rebind_init
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uldap_rebind_init(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ldc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: uldap_rebind_add
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uldap_rebind_add(ldc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:114,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:117,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:120,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ldap/util_ldap.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - st
    - r
    argTypes:
    - util_ldap_state_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: apr_status_t::ldap_cache_lock
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lock
    - ap_assert
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE apr_status_t ldap_cache_lock(util_ldap_state_t *st, request_rec
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:130,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:133,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:133,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:136,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:136,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ldap/util_ldap.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - st
    - r
    argTypes:
    - util_ldap_state_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: apr_status_t::ldap_cache_unlock
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_unlock
    - ap_assert
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE apr_status_t ldap_cache_unlock(util_ldap_state_t *st, request_rec
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/modules/ldap/util_ldap.c:147,1
    - Dst: strdup
      Src: /src/httpd/modules/ldap/util_ldap.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - str
    - newstr
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: util_ldap_strdup
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: void util_ldap_strdup (char **str, const char *newstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: util_ald_destroy_cache
      Src: /src/httpd/modules/ldap/util_ldap.c:160,1
    - Dst: apr_rmm_destroy
      Src: /src/httpd/modules/ldap/util_ldap.c:163,1
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/ldap/util_ldap.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: util_ldap_cache_module_kill
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    - util_ald_destroy_cache
    - apr_rmm_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t util_ldap_cache_module_kill(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:196,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:200,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/ldap/util_ldap.c:203,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap.c:208,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ldap/util_ldap.c:210,1
    - Dst: util_ald_cache_display
      Src: /src/httpd/modules/ldap/util_ldap.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 216
    functionName: util_ldap_handler
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_set_content_type_ex
    - util_ald_cache_display
    - ap_rputs
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int util_ldap_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:234,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:239,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ldc
    argTypes:
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: uldap_connection_close
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - uldap_connection_unbind
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void uldap_connection_close(util_ldap_connection_t *ldc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/ldap/util_ldap.c:262,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:268,1
    - Dst: ldap_unbind_s
      Src: /src/httpd/modules/ldap/util_ldap.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: uldap_connection_unbind
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 1
    functionsReached:
    - apr_pool_clear
    - ap_log_rerror
    - ldap_unbind_s
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t uldap_connection_unbind(void *param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:297,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:300,1
    - Dst: free
      Src: /src/httpd/modules/ldap/util_ldap.c:318,1
    - Dst: free
      Src: /src/httpd/modules/ldap/util_ldap.c:321,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:325,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:326,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ldap/util_ldap.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 334
    functionName: util_ldap_connection_remove
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - uldap_connection_unbind
    - apr_thread_mutex_unlock
    - apr_pool_destroy
    - free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t util_ldap_connection_remove (void *param)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:347,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ldap/util_ldap.c:349,1
    - Dst: apr_ldap_init
      Src: /src/httpd/modules/ldap/util_ldap.c:373,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:405,1
    - Dst: uldap_rebind_add
      Src: /src/httpd/modules/ldap/util_ldap.c:409,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:411,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:411,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:413,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:420,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:424,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:427,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:440,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:443,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:451,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:455,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:458,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:464,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:464,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:470,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:478,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:478,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:481,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:486,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:486,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:492,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:500,1
    - Dst: ldapssl_set_verify_mode
      Src: /src/httpd/modules/ldap/util_ldap.c:505,1
    - Dst: ldapssl_set_verify_mode
      Src: /src/httpd/modules/ldap/util_ldap.c:508,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:515,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:519,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:530,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:533,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:533,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:549,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:552,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:552,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 103
    argCount: 2
    argNames:
    - r
    - ldc
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 559
    functionName: uldap_connection_init
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_ldap_set_option
    - ap_log_rerror
    - uldap_connection_unbind
    - apr_ldap_init
    - APLOGNO
    - ldap_set_option
    - ldapssl_set_verify_mode
    - ap_log_error
    - ap_get_module_config
    - uldap_rebind_add
    linkageType: ''
    returnType: int
    signature: "int uldap_connection_init(request_rec *r,\n                                 util_ldap_connection_t
      *ldc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/httpd/modules/ldap/util_ldap.c:565,1
    - Dst: ldap_get_option
      Src: /src/httpd/modules/ldap/util_ldap.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ldc
    argTypes:
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: uldap_ld_errno
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_option
    linkageType: ''
    returnType: int
    signature: int uldap_ld_errno(util_ldap_connection_t *ldc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ldap_simple_bind
      Src: /src/httpd/modules/ldap/util_ldap.c:585,1
    - Dst: uldap_ld_errno
      Src: /src/httpd/modules/ldap/util_ldap.c:588,1
    - Dst: ldap_result
      Src: /src/httpd/modules/ldap/util_ldap.c:590,1
    - Dst: uldap_ld_errno
      Src: /src/httpd/modules/ldap/util_ldap.c:594,1
    - Dst: ldap_parse_result
      Src: /src/httpd/modules/ldap/util_ldap.c:599,1
    - Dst: uldap_ld_errno
      Src: /src/httpd/modules/ldap/util_ldap.c:602,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - ldc
    - binddn
    - bindpw
    - timeout
    argTypes:
    - util_ldap_connection_t*
    - char*
    - char*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 609
    functionName: uldap_simple_bind
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ldap_parse_result
    - uldap_ld_errno
    - ldap_result
    - ldap_simple_bind
    linkageType: ''
    returnType: int
    signature: "int uldap_simple_bind(util_ldap_connection_t *ldc, char *binddn,\n
      \                            char* bindpw, struct timeval *timeout)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: uldap_connection_init
      Src: /src/httpd/modules/ldap/util_ldap.c:643,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:651,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:668,1
    - Dst: uldap_simple_bind
      Src: /src/httpd/modules/ldap/util_ldap.c:670,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:677,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:678,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:683,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:683,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:695,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:697,1
    - Dst: uldap_connection_init
      Src: /src/httpd/modules/ldap/util_ldap.c:698,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:709,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - r
    - ldc
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 719
    functionName: uldap_connection_open
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - uldap_connection_unbind
    - APLOGNO
    - uldap_connection_init
    - apr_sleep
    - uldap_simple_bind
    - ap_get_module_config
    - AP_LDAP_IS_SERVER_DOWN
    linkageType: ''
    returnType: int
    signature: "int uldap_connection_open(request_rec *r,\n                                 util_ldap_connection_t
      *ldc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:747,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:752,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - srcs
    - dests
    argTypes:
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 760
    functionName: compare_client_certs
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int compare_client_certs(apr_array_header_t *srcs,\n                                apr_array_header_t
      *dests)"
  - BBCount: 188
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:779,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:782,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:785,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:789,1
    - Dst: apr_thread_mutex_trylock
      Src: /src/httpd/modules/ldap/util_ldap.c:801,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:803,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:805,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:807,1
    - Dst: compare_client_certs
      Src: /src/httpd/modules/ldap/util_ldap.c:809,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:813,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:817,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:820,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:830,1
    - Dst: apr_thread_mutex_trylock
      Src: /src/httpd/modules/ldap/util_ldap.c:842,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:845,1
    - Dst: compare_client_certs
      Src: /src/httpd/modules/ldap/util_ldap.c:847,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:851,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:855,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:858,1
    - Dst: util_ldap_strdup
      Src: /src/httpd/modules/ldap/util_ldap.c:865,1
    - Dst: util_ldap_strdup
      Src: /src/httpd/modules/ldap/util_ldap.c:866,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:874,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ldap/util_ldap.c:889,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:890,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:890,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:893,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ldap/util_ldap.c:897,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:906,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ldap/util_ldap.c:911,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:912,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:915,1
    - Dst: util_ldap_strdup
      Src: /src/httpd/modules/ldap/util_ldap.c:918,1
    - Dst: util_ldap_strdup
      Src: /src/httpd/modules/ldap/util_ldap.c:919,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/ldap/util_ldap.c:934,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ldap/util_ldap.c:935,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:942,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:944,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ldap/util_ldap.c:953,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:954,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:954,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:957,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ldap/util_ldap.c:961,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:974,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1005,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1009,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1012,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1014,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1019,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1020,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1035,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1038,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1043,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1051,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1055,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1061,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1064,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1068,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1070,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1080,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1082,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1092,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:1093,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1095,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1096,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1104,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1105,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1110,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1112,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1113,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1115,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1118,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1123,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1149,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1153,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1155,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1157,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1162,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1171,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1178,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:1192,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1194,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1202,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1204,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1210,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1218,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1221,1
    - Dst: ldap_compare_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1226,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1230,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1235,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1244,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1246,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1257,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1258,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1268,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1271,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1272,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1273,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1277,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1280,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1289,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:1302,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1304,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1308,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1310,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:1327,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1329,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1347,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1351,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1357,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1360,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1363,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1365,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1374,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1376,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1387,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:1400,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1415,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:1427,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1428,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1432,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1438,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1444,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1445,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/ldap/util_ldap.c:1447,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1448,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1516,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1538,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1554,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1556,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1568,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1580,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1580,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1584,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1588,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1592,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1602,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1606,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1606,1
    - Dst: uldap_get_subgroups
      Src: /src/httpd/modules/ldap/util_ldap.c:1608,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1612,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1612,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1620,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1621,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1630,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1640,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1640,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1643,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1644,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1647,1
    - Dst: util_ald_sgl_dup
      Src: /src/httpd/modules/ldap/util_ldap.c:1667,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:1668,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1668,1
    - Dst: util_ald_sgl_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1673,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:1680,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1680,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1687,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1708,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1714,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1714,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1724,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1724,1
    - Dst: uldap_cache_check_subgroups
      Src: /src/httpd/modules/ldap/util_ldap.c:1728,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1761,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1765,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1767,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1770,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1775,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1780,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1790,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1794,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1797,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1800,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1802,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1805,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1812,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1827,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1830,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1835,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1839,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1842,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1844,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1850,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1852,1
    - Dst: ldap_count_entries
      Src: /src/httpd/modules/ldap/util_ldap.c:1868,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1876,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1880,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:1883,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1884,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1885,1
    - Dst: strlen
      Src: /src/httpd/modules/ldap/util_ldap.c:1894,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1895,1
    - Dst: uldap_simple_bind
      Src: /src/httpd/modules/ldap/util_ldap.c:1905,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1907,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1909,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1915,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1916,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1918,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1925,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1926,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1936,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1946,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:1953,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:1955,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1956,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1959,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1970,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1971,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1976,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1984,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1987,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1990,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1993,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1996,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1997,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2004,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2006,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2038,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:2042,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2044,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:2047,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2052,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:2057,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:2064,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2068,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2071,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2073,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2076,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2083,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:2098,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:2101,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:2106,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:2110,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:2113,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:2115,1
    - Dst: ldap_count_entries
      Src: /src/httpd/modules/ldap/util_ldap.c:2130,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2138,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:2142,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:2145,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2146,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2147,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2156,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:2163,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:2165,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2166,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:2169,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:2180,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2181,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:2186,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2194,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2197,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:2200,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2212,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2215,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2228,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2243,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2245,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2251,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2253,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2253,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2265,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2267,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2274,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2280,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2291,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2293,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2299,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2301,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2312,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2314,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2320,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2325,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2336,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2338,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2344,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2346,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2346,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2357,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2359,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2365,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2370,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2370,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2390,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2395,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2400,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2405,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2410,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2415,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2420,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2425,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2430,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2435,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2440,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2445,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2476,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2478,1
    - Dst: util_ldap_parse_cert_type
      Src: /src/httpd/modules/ldap/util_ldap.c:2490,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2492,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2504,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2504,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:2509,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2518,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ldap/util_ldap.c:2520,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2523,1
    - Dst: util_ldap_parse_cert_type
      Src: /src/httpd/modules/ldap/util_ldap.c:2561,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2563,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2575,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2588,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2588,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:2593,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2602,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ldap/util_ldap.c:2604,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2607,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2607,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2633,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2636,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2636,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2640,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2643,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2646,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2647,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2664,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2666,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2672,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2672,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2688,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2691,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2700,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2704,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2719,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2719,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2722,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2725,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2728,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2743,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2747,1
    - Dst: atoi
      Src: /src/httpd/modules/ldap/util_ldap.c:2755,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2766,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2772,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2782,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:2785,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2799,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2801,1
    - Dst: strtol
      Src: /src/httpd/modules/ldap/util_ldap.c:2807,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2817,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2825,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2825,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2838,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/ldap/util_ldap.c:2843,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2861,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2863,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/ldap/util_ldap.c:2869,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2886,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2888,1
    - Dst: atoi
      Src: /src/httpd/modules/ldap/util_ldap.c:2894,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2905,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ldap/util_ldap.c:2911,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ldap/util_ldap.c:2912,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ldap/util_ldap.c:2914,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:2924,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2928,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2944,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/ldap/util_ldap.c:2964,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2996,1
    - Dst: apr_ldap_ssl_deinit
      Src: /src/httpd/modules/ldap/util_ldap.c:3000,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3011,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:3025,1
    - Dst: util_ldap_cache_module_kill
      Src: /src/httpd/modules/ldap/util_ldap.c:3026,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:3027,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3040,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/ldap/util_ldap.c:3049,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:3058,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:3060,1
    - Dst: util_ldap_cache_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3072,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3074,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3074,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3079,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/ldap/util_ldap.c:3081,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3091,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3099,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3099,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3109,1
    - Dst: apr_ldap_info
      Src: /src/httpd/modules/ldap/util_ldap.c:3119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3121,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3125,1
    - Dst: apr_ldap_ssl_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3134,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:3142,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3149,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3149,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3154,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3164,1
    - Dst: uldap_rebind_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3172,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:3176,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3178,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3178,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:3180,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3191,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3196,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ldap/util_ldap.c:3197,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3199,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3206,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3211,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3215,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3221,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3227,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3233,1
    - Dst: AP_INIT_TAKE23
      Src: /src/httpd/modules/ldap/util_ldap.c:3239,1
    - Dst: AP_INIT_TAKE23
      Src: /src/httpd/modules/ldap/util_ldap.c:3250,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3261,1
    - Dst: AP_INIT_FLAG
      Src: /src/httpd/modules/ldap/util_ldap.c:3266,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3272,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3277,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3281,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3286,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3290,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3294,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3299,1
    - Dst: AP_INIT_TAKE1
      Src: /src/httpd/modules/ldap/util_ldap.c:3303,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3314,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3315,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3316,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3317,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3318,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3319,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3320,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3321,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3322,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3323,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3325,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3326,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/ldap/util_ldap.c:3327,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3328,1
    - Dst: AP_DECLARE_MODULE
      Src: /src/httpd/modules/ldap/util_ldap.c:3331,1
    CyclomaticComplexity: 282
    EdgeCount: 282
    ICount: 1110
    argCount: 7
    argNames:
    - r
    - host
    - port
    - binddn
    - bindpw
    - deref
    - secure
    argTypes:
    - request_rec*
    - char*
    - int
    - char*
    - char*
    - deref_options
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 3339
    functionName: uldap_connection_find
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - ap_server_root_relative
    - uldap_connection_unbind
    - uldap_connection_open
    - AP_INIT_TAKE23
    - ap_mutex_register
    - apr_array_copy
    - AP_INIT_TAKE1
    - ldap_get_dn
    - uldap_get_subgroups
    - apr_ldap_set_option
    - apr_global_mutex_child_init
    - apr_array_append
    - uldap_simple_bind
    - util_ldap_cache_module_kill
    - APLOGNO
    - apr_global_mutex_lockfile
    - apr_sleep
    - apr_pstrdup
    - ap_hook_child_init
    - util_ald_cache_fetch
    - ap_hook_pre_config
    - ldap_cache_unlock
    - strtol
    - ldap_value_free
    - util_ldap_parse_cert_type
    - ldap_err2string
    - apr_stat
    - ldap_get_values
    - ap_state_query
    - util_ald_cache_remove
    - uldap_cache_check_subgroups
    - ldap_compare_s
    - util_ald_sgl_dup
    - ap_global_mutex_create
    - apr_psprintf
    - ldap_msgfree
    - apr_pcalloc
    - apr_palloc
    - strcasecmp
    - ap_timeout_parameter_parse
    - AP_DECLARE_MODULE
    - ap_hook_handler
    - apr_array_pop
    - strlen
    - compare_client_certs
    - atoi
    - ldap_first_entry
    - apr_file_remove
    - ap_get_module_config
    - apr_ldap_ssl_deinit
    - apr_ldap_ssl_init
    - AP_LDAP_IS_SERVER_DOWN
    - strcmp
    - ldap_set_option
    - APR_REGISTER_OPTIONAL_FN
    - atol
    - apr_thread_mutex_create
    - ldap_cache_lock
    - ldap_count_entries
    - ap_runtime_dir_relative
    - util_ald_cache_insert
    - apr_pool_cleanup_register
    - apr_time_now
    - apr_thread_mutex_unlock
    - apr_thread_mutex_trylock
    - apr_array_push
    - AP_INIT_FLAG
    - ldap_search_ext_s
    - util_ldap_strdup
    - apr_pstrcat
    - util_ald_create_caches
    - util_ald_sgl_free
    - ldap_memfree
    - uldap_cache_compare
    - apr_pool_create
    - ap_log_error
    - util_ldap_cache_init
    - apr_thread_mutex_lock
    - ap_log_rerror
    - uldap_rebind_init
    - apr_pool_tag
    - ap_check_cmd_context
    - apr_ldap_info
    - ap_hook_post_config
    - apr_array_make
    linkageType: ''
    returnType: util_ldap_connection_t
    signature: "util_ldap_connection_t *\n            uldap_connection_find(request_rec
      *r,\n                                  const char *host, int port,\n                                  const
      char *binddn, const char *bindpw,\n                                  deref_options
      deref, int secure)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1005,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1009,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1012,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1014,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1019,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1020,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1035,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1038,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1043,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1051,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1055,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1061,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1064,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1068,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1070,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1080,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1082,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1092,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:1093,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1095,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1096,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1104,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1105,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1110,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1112,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1113,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1115,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1118,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1123,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 6
    argNames:
    - r
    - ldc
    - url
    - dn
    - reqdn
    - compare_dn_on_server
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 991
    functionDepth: 4
    functionLinenumber: 991
    functionLinenumberEnd: 1126
    functionName: uldap_cache_comparedn
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_cache_lock
    - strcmp
    - uldap_connection_unbind
    - ap_log_rerror
    - uldap_connection_open
    - ldap_memfree
    - util_ald_create_caches
    - ldap_cache_unlock
    - ldap_search_ext_s
    - ldap_first_entry
    - apr_sleep
    - ap_get_module_config
    - util_ald_cache_insert
    - ldap_msgfree
    - AP_LDAP_IS_SERVER_DOWN
    - ldap_get_dn
    - util_ald_cache_fetch
    linkageType: ''
    returnType: int
    signature: "int uldap_cache_comparedn(request_rec *r, util_ldap_connection_t *ldc,\n
      \                                const char *url, const char *dn,\n                                 const
      char *reqdn, int compare_dn_on_server)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1149,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1153,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1155,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1157,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1162,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1171,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1178,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:1192,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1194,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1202,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1204,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1210,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1218,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1221,1
    - Dst: ldap_compare_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1226,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1230,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1235,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1244,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1246,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1257,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1258,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1268,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1271,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1272,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1273,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1277,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1280,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1289,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:1302,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1304,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1308,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:1310,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 104
    argCount: 6
    argNames:
    - r
    - ldc
    - url
    - dn
    - attrib
    - value
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1312
    functionName: uldap_cache_compare
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 1
    functionsReached:
    - ldap_cache_lock
    - ap_log_rerror
    - apr_time_now
    - util_ald_cache_remove
    - uldap_connection_open
    - uldap_connection_unbind
    - strcmp
    - util_ald_create_caches
    - ldap_cache_unlock
    - APLOGNO
    - ldap_compare_s
    - apr_sleep
    - apr_psprintf
    - ap_get_module_config
    - util_ald_cache_insert
    - ldap_err2string
    - AP_LDAP_IS_SERVER_DOWN
    - util_ald_cache_fetch
    linkageType: ''
    returnType: int
    signature: "int uldap_cache_compare(request_rec *r, util_ldap_connection_t *ldc,\n
      \                              const char *url, const char *dn,\n                               const
      char *attrib, const char *value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:1327,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1329,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1347,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1351,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1357,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1360,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1363,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1365,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1374,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1376,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1387,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:1400,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1415,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:1427,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1428,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1432,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1438,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1444,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1445,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/ldap/util_ldap.c:1447,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1448,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 6
    argNames:
    - r
    - ldc
    - url
    - dn
    - subgroupAttrs
    - subgroupclasses
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - char**
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1315
    functionDepth: 5
    functionLinenumber: 1315
    functionLinenumberEnd: 1454
    functionName: uldap_get_subgroups
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 1
    functionsReached:
    - ldap_get_values
    - ap_log_rerror
    - uldap_connection_unbind
    - apr_pcalloc
    - uldap_connection_open
    - apr_palloc
    - apr_array_push
    - ldap_search_ext_s
    - ldap_first_entry
    - uldap_cache_compare
    - apr_sleep
    - ldap_value_free
    - apr_array_pop
    - ap_get_module_config
    - ldap_msgfree
    - AP_LDAP_IS_SERVER_DOWN
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: util_compare_subgroup_t
    signature: "util_compare_subgroup_t * uldap_get_subgroups(request_rec *r,\n                                                    util_ldap_connection_t
      *ldc,\n                                                    const char *url,\n
      \                                                   const char *dn,\n                                                    char
      **subgroupAttrs,\n                                                    apr_array_header_t
      *subgroupclasses)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1516,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1538,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1554,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1556,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1568,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1580,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1580,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1584,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1588,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1592,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1602,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1606,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1606,1
    - Dst: uldap_get_subgroups
      Src: /src/httpd/modules/ldap/util_ldap.c:1608,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1612,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1612,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1620,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1621,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1630,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1640,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1640,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1643,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1644,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1647,1
    - Dst: util_ald_sgl_dup
      Src: /src/httpd/modules/ldap/util_ldap.c:1667,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:1668,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1668,1
    - Dst: util_ald_sgl_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1673,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:1680,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1680,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1687,1
    - Dst: uldap_cache_compare
      Src: /src/httpd/modules/ldap/util_ldap.c:1708,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1714,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1714,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1724,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:1724,1
    - Dst: uldap_cache_check_subgroups
      Src: /src/httpd/modules/ldap/util_ldap.c:1728,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 105
    argCount: 10
    argNames:
    - r
    - ldc
    - url
    - dn
    - attrib
    - value
    - subgroupAttrs
    - subgroupclasses
    - cur_subgroup_depth
    - max_subgroup_depth
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - char*
    - char*
    - char**
    - apr_array_header_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1497
    functionDepth: 6
    functionLinenumber: 1497
    functionLinenumberEnd: 1738
    functionName: uldap_cache_check_subgroups
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 2
    functionsReached:
    - uldap_get_subgroups
    - ldap_cache_lock
    - ap_log_rerror
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - ldap_cache_unlock
    - uldap_cache_check_subgroups
    - uldap_cache_compare
    - util_ald_sgl_dup
    - ap_log_error
    - ap_get_module_config
    - util_ald_cache_insert
    - util_ald_sgl_free
    - apr_pstrdup
    - util_ald_cache_fetch
    linkageType: ''
    returnType: int
    signature: "int uldap_cache_check_subgroups(request_rec *r,\n                                       util_ldap_connection_t
      *ldc,\n                                       const char *url, const char *dn,\n
      \                                      const char *attrib, const char *value,\n
      \                                      char **subgroupAttrs,\n                                       apr_array_header_t
      *subgroupclasses,\n                                       int cur_subgroup_depth,\n
      \                                      int max_subgroup_depth)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:1761,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1765,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1767,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:1770,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1775,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1780,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1790,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1794,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1797,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1800,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1802,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1805,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:1812,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:1827,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:1830,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:1835,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1839,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1842,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1844,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1850,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1852,1
    - Dst: ldap_count_entries
      Src: /src/httpd/modules/ldap/util_ldap.c:1868,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1876,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:1880,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:1883,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1884,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1885,1
    - Dst: strlen
      Src: /src/httpd/modules/ldap/util_ldap.c:1894,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1895,1
    - Dst: uldap_simple_bind
      Src: /src/httpd/modules/ldap/util_ldap.c:1905,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1907,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:1909,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1915,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1916,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1918,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:1925,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:1926,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:1936,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:1946,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:1953,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:1955,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:1956,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:1959,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:1970,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1971,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:1976,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:1984,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1987,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1990,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:1993,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:1996,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:1997,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2004,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2006,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 143
    argCount: 10
    argNames:
    - r
    - ldc
    - url
    - basedn
    - scope
    - attrs
    - filter
    - bindpw
    - binddn
    - retvals
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - int
    - char**
    - char*
    - char*
    - char**
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1741
    functionDepth: 4
    functionLinenumber: 1741
    functionLinenumberEnd: 2010
    functionName: uldap_cache_checkuserid
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - uldap_connection_unbind
    - uldap_connection_open
    - ldap_cache_unlock
    - ldap_search_ext_s
    - ldap_first_entry
    - ldap_value_free
    - ap_get_module_config
    - ldap_get_values
    - util_ald_cache_remove
    - apr_pstrcat
    - util_ald_create_caches
    - strlen
    - AP_LDAP_IS_SERVER_DOWN
    - ldap_get_dn
    - strcmp
    - ldap_memfree
    - uldap_simple_bind
    - ldap_msgfree
    - ldap_cache_lock
    - ap_log_rerror
    - apr_palloc
    - apr_pcalloc
    - ldap_count_entries
    - apr_sleep
    - util_ald_cache_insert
    - apr_pstrdup
    - util_ald_cache_fetch
    linkageType: ''
    returnType: int
    signature: "int uldap_cache_checkuserid(request_rec *r, util_ldap_connection_t
      *ldc,\n                                   const char *url, const char *basedn,\n
      \                                  int scope, char **attrs, const char *filter,\n
      \                                  const char *bindpw, const char **binddn,\n
      \                                  const char ***retvals)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2038,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:2042,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2044,1
    - Dst: util_ald_create_caches
      Src: /src/httpd/modules/ldap/util_ldap.c:2047,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2052,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:2057,1
    - Dst: util_ald_cache_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:2064,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2068,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2071,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2073,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2076,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2083,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ldap/util_ldap.c:2098,1
    - Dst: uldap_connection_open
      Src: /src/httpd/modules/ldap/util_ldap.c:2101,1
    - Dst: ldap_search_ext_s
      Src: /src/httpd/modules/ldap/util_ldap.c:2106,1
    - Dst: AP_LDAP_IS_SERVER_DOWN
      Src: /src/httpd/modules/ldap/util_ldap.c:2110,1
    - Dst: uldap_connection_unbind
      Src: /src/httpd/modules/ldap/util_ldap.c:2113,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ldap/util_ldap.c:2115,1
    - Dst: ldap_count_entries
      Src: /src/httpd/modules/ldap/util_ldap.c:2130,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2138,1
    - Dst: ldap_first_entry
      Src: /src/httpd/modules/ldap/util_ldap.c:2142,1
    - Dst: ldap_get_dn
      Src: /src/httpd/modules/ldap/util_ldap.c:2145,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2146,1
    - Dst: ldap_memfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2147,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2156,1
    - Dst: ldap_get_values
      Src: /src/httpd/modules/ldap/util_ldap.c:2163,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:2165,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ldap/util_ldap.c:2166,1
    - Dst: ldap_value_free
      Src: /src/httpd/modules/ldap/util_ldap.c:2169,1
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:2180,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2181,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ldap/util_ldap.c:2186,1
    - Dst: util_ald_cache_fetch
      Src: /src/httpd/modules/ldap/util_ldap.c:2194,1
    - Dst: strcmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2197,1
    - Dst: util_ald_cache_insert
      Src: /src/httpd/modules/ldap/util_ldap.c:2200,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:2212,1
    - Dst: ldap_msgfree
      Src: /src/httpd/modules/ldap/util_ldap.c:2215,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 9
    argNames:
    - r
    - ldc
    - url
    - basedn
    - scope
    - attrs
    - filter
    - binddn
    - retvals
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    - char*
    - char*
    - int
    - char**
    - char*
    - char**
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2019
    functionDepth: 4
    functionLinenumber: 2019
    functionLinenumberEnd: 2219
    functionName: uldap_cache_getuserdn
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - uldap_connection_unbind
    - uldap_connection_open
    - ldap_cache_unlock
    - ldap_search_ext_s
    - ldap_first_entry
    - ldap_value_free
    - ap_get_module_config
    - ldap_get_values
    - util_ald_cache_remove
    - apr_pstrcat
    - util_ald_create_caches
    - AP_LDAP_IS_SERVER_DOWN
    - ldap_get_dn
    - strcmp
    - ldap_memfree
    - ldap_msgfree
    - ldap_cache_lock
    - ap_log_rerror
    - apr_palloc
    - apr_pcalloc
    - ldap_count_entries
    - apr_sleep
    - util_ald_cache_insert
    - apr_pstrdup
    - util_ald_cache_fetch
    linkageType: ''
    returnType: int
    signature: "int uldap_cache_getuserdn(request_rec *r, util_ldap_connection_t *ldc,\n
      \                                const char *url, const char *basedn,\n                                 int
      scope, char **attrs, const char *filter,\n                                 const
      char **binddn, const char ***retvals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2232
    functionName: uldap_ssl_supported
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int uldap_ssl_supported(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2243,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2245,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2251,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2253,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - bytes
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2259
    functionName: util_ldap_set_cache_bytes
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_cache_bytes(cmd_parms *cmd, void *dummy,\n                                             const
      char *bytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2265,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2267,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2274,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - dummy
    - file
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2261
    functionDepth: 1
    functionLinenumber: 2261
    functionLinenumberEnd: 2285
    functionName: util_ldap_set_cache_file
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_cache_file(cmd_parms *cmd, void *dummy,\n                                            const
      char *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2291,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2293,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2299,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - ttl
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2306
    functionName: util_ldap_set_cache_ttl
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_cache_ttl(cmd_parms *cmd, void *dummy,\n                                           const
      char *ttl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2312,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2314,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2320,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - size
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2330
    functionName: util_ldap_set_cache_entries
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_cache_entries(cmd_parms *cmd, void *dummy,\n                                               const
      char *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2336,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2338,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2344,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2346,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - ttl
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2351
    functionName: util_ldap_set_opcache_ttl
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_opcache_ttl(cmd_parms *cmd, void *dummy,\n                                             const
      char *ttl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2357,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2359,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2365,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2370,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - size
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2375
    functionName: util_ldap_set_opcache_entries
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_opcache_entries(cmd_parms *cmd, void *dummy,\n
      \                                                const char *size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2390,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2395,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2400,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2405,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2410,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2415,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2420,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2425,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2430,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2435,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2440,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2445,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2453
    functionName: util_ldap_parse_cert_type
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int util_ldap_parse_cert_type(const char *type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2476,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2478,1
    - Dst: util_ldap_parse_cert_type
      Src: /src/httpd/modules/ldap/util_ldap.c:2490,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2492,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2504,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2504,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:2509,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2518,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ldap/util_ldap.c:2520,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - cmd
    - dummy
    - type
    - file
    - password
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2466
    functionDepth: 1
    functionLinenumber: 2466
    functionLinenumberEnd: 2533
    functionName: util_ldap_set_trusted_global_cert
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - APLOGNO
    - apr_array_push
    - ap_check_cmd_context
    - ap_log_error
    - util_ldap_parse_cert_type
    - ap_get_module_config
    - apr_psprintf
    - apr_stat
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_trusted_global_cert(cmd_parms *cmd,\n                                                     void
      *dummy,\n                                                     const char *type,\n
      \                                                    const char *file,\n                                                     const
      char *password)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: util_ldap_parse_cert_type
      Src: /src/httpd/modules/ldap/util_ldap.c:2561,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2563,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ldap/util_ldap.c:2575,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2588,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2588,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ldap/util_ldap.c:2593,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ldap/util_ldap.c:2602,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ldap/util_ldap.c:2604,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2607,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - cmd
    - config
    - type
    - file
    - password
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2618
    functionName: util_ldap_set_trusted_client_cert
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - APLOGNO
    - apr_array_push
    - ap_log_error
    - util_ldap_parse_cert_type
    - apr_psprintf
    - apr_stat
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_trusted_client_cert(cmd_parms *cmd,\n                                                     void
      *config,\n                                                     const char *type,\n
      \                                                    const char *file,\n                                                     const
      char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2633,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2636,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2636,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2640,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2643,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2646,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cmd
    - dummy
    - mode
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2657
    functionName: util_ldap_set_trusted_mode
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ap_get_module_config
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_trusted_mode(cmd_parms *cmd, void *dummy,\n                                              const
      char *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2664,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2666,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2672,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - mode
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2659
    functionDepth: 1
    functionLinenumber: 2659
    functionLinenumberEnd: 2679
    functionName: util_ldap_set_verify_srv_cert
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_verify_srv_cert(cmd_parms *cmd,\n                                                 void
      *dummy,\n                                                 int mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2688,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2691,1
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2700,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dummy
    - ttl
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2682
    functionDepth: 1
    functionLinenumber: 2682
    functionLinenumberEnd: 2710
    functionName: util_ldap_set_connection_timeout
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    - atol
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_connection_timeout(cmd_parms *cmd,\n                                                    void
      *dummy,\n                                                    const char *ttl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2719,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2719,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2722,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2725,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ldap/util_ldap.c:2728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2736
    functionName: util_ldap_set_chase_referrals
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_chase_referrals(cmd_parms *cmd,\n                                                 void
      *config,\n                                                 const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2743,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2747,1
    - Dst: atoi
      Src: /src/httpd/modules/ldap/util_ldap.c:2755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2758
    functionName: util_ldap_set_debug_level
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_debug_level(cmd_parms *cmd,\n                                             void
      *config,\n                                             const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/ldap/util_ldap.c:2766,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - hop_limit
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2777
    functionName: util_ldap_set_referral_hop_limit
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - atol
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_referral_hop_limit(cmd_parms *cmd,\n                                                    void
      *config,\n                                                    const char *hop_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2782,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:2785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2790
    functionName: util_ldap_create_dir_config
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *util_ldap_create_dir_config(apr_pool_t *p, char *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2799,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2801,1
    - Dst: strtol
      Src: /src/httpd/modules/ldap/util_ldap.c:2807,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2817,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:2825,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:2825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - dummy
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2792
    functionDepth: 1
    functionLinenumber: 2792
    functionLinenumberEnd: 2830
    functionName: util_ldap_set_op_timeout
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - APLOGNO
    - strtol
    - ap_check_cmd_context
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_op_timeout(cmd_parms *cmd,\n                                            void
      *dummy,\n                                            const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2838,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/ldap/util_ldap.c:2843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2832
    functionDepth: 1
    functionLinenumber: 2832
    functionLinenumberEnd: 2853
    functionName: util_ldap_set_conn_ttl
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_conn_ttl(cmd_parms *cmd,\n                                          void
      *dummy,\n                                          const char *val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2861,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2863,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/ldap/util_ldap.c:2869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dummy
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2855
    functionDepth: 1
    functionLinenumber: 2855
    functionLinenumberEnd: 2879
    functionName: util_ldap_set_retry_delay
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_retry_delay(cmd_parms *cmd,\n                                             void
      *dummy,\n                                             const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2886,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ldap/util_ldap.c:2888,1
    - Dst: atoi
      Src: /src/httpd/modules/ldap/util_ldap.c:2894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2881
    functionDepth: 1
    functionLinenumber: 2881
    functionLinenumberEnd: 2900
    functionName: util_ldap_set_retries
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *util_ldap_set_retries(cmd_parms *cmd,\n                                         void
      *dummy,\n                                         const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2905,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ldap/util_ldap.c:2911,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ldap/util_ldap.c:2912,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ldap/util_ldap.c:2914,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ldap/util_ldap.c:2924,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2936
    functionName: util_ldap_create_config
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - apr_thread_mutex_create
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void *util_ldap_create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ldap/util_ldap.c:2944,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/ldap/util_ldap.c:2964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2991
    functionName: util_ldap_merge_config
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: "void *util_ldap_merge_config(apr_pool_t *p, void *basev,\n                                    void
      *overridesv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:2996,1
    - Dst: apr_ldap_ssl_deinit
      Src: /src/httpd/modules/ldap/util_ldap.c:3000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 3004
    functionName: util_ldap_cleanup_module
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_ldap_ssl_deinit
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t util_ldap_cleanup_module(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3006
    functionDepth: 1
    functionLinenumber: 3006
    functionLinenumberEnd: 3018
    functionName: util_ldap_pre_config
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: "int util_ldap_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldap_cache_lock
      Src: /src/httpd/modules/ldap/util_ldap.c:3025,1
    - Dst: util_ldap_cache_module_kill
      Src: /src/httpd/modules/ldap/util_ldap.c:3026,1
    - Dst: ldap_cache_unlock
      Src: /src/httpd/modules/ldap/util_ldap.c:3027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 3020
    functionDepth: 3
    functionLinenumber: 3020
    functionLinenumberEnd: 3030
    functionName: util_ldap_cache_module_kill_locked
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_cache_lock
    - ldap_cache_unlock
    - util_ldap_cache_module_kill
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t util_ldap_cache_module_kill_locked(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3040,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/ldap/util_ldap.c:3049,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ldap/util_ldap.c:3058,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ldap/util_ldap.c:3060,1
    - Dst: util_ldap_cache_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3072,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3074,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3074,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3079,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/ldap/util_ldap.c:3081,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3091,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3099,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3099,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3109,1
    - Dst: apr_ldap_info
      Src: /src/httpd/modules/ldap/util_ldap.c:3119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3121,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ldap/util_ldap.c:3125,1
    - Dst: apr_ldap_ssl_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3134,1
    - Dst: apr_ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:3142,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3149,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3149,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3154,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3164,1
    - Dst: uldap_rebind_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3172,1
    - Dst: ldap_set_option
      Src: /src/httpd/modules/ldap/util_ldap.c:3176,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3178,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3178,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/ldap/util_ldap.c:3180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3186
      start: 3032
    functionDepth: 2
    functionLinenumber: 3032
    functionLinenumberEnd: 3186
    functionName: util_ldap_post_config
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_ldap_set_option
    - ap_state_query
    - apr_ldap_info
    - apr_pstrcat
    - APLOGNO
    - uldap_rebind_init
    - ldap_set_option
    - apr_ldap_ssl_init
    - apr_file_remove
    - ap_log_error
    - ap_global_mutex_create
    - util_ldap_cache_init
    - ap_get_module_config
    - ldap_err2string
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                 apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3191,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3196,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ldap/util_ldap.c:3197,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ldap/util_ldap.c:3199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ldap/util_ldap.c:3199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3203
    functionName: util_ldap_child_init
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_global_mutex_lockfile
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void util_ldap_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3314,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3315,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3316,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3317,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3318,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3319,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3320,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3321,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3322,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ldap/util_ldap.c:3323,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3325,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/ldap/util_ldap.c:3326,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/ldap/util_ldap.c:3327,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/ldap/util_ldap.c:3328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3312
    functionDepth: 0
    functionLinenumber: 3312
    functionLinenumberEnd: 3329
    functionName: util_ldap_register_hooks
    functionSourceFile: /src/httpd/modules/ldap/util_ldap.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - ap_hook_handler
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void util_ldap_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: cgid_suexec_id_doer
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: ap_unix_identity_t
    signature: ap_unix_identity_t *cgid_suexec_id_doer(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_cgid.c:127,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_cgid.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: is_scriptaliased
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int is_scriptaliased(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/generators/mod_cgid.c:244,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:260,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_cgid.c:272,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/generators/mod_cgid.c:275,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/generators/mod_cgid.c:276,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgid.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: create_argv
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_getword_nulls
    - ap_escape_shell_cmd
    - ap_strchr_c
    - apr_pstrdup
    - ap_unescape_url
    linkageType: ''
    returnType: char
    signature: "char **create_argv(apr_pool_t *p, char *path, char *user, char *group,\n
      \                         char *av0, const char *args)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/generators/mod_cgid.c:292,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_cgid.c:299,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:305,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:305,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:309,1
    - Dst: cgid_start
      Src: /src/httpd/modules/generators/mod_cgid.c:311,1
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/generators/mod_cgid.c:317,1
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/generators/mod_cgid.c:321,1
    - Dst: cgid_start
      Src: /src/httpd/modules/generators/mod_cgid.c:322,1
    - Dst: kill
      Src: /src/httpd/modules/generators/mod_cgid.c:328,1
    - Dst: unlink
      Src: /src/httpd/modules/generators/mod_cgid.c:333,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:334,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - reason
    - data
    - status
    argTypes:
    - int
    - void*
    - apr_wait_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 340
    functionName: cgid_maint
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_proc_other_child_unregister
    - ap_mpm_query
    - cgid_start
    - APLOGNO
    - ap_log_error
    - unlink
    - kill
    linkageType: ''
    returnType: void
    signature: void cgid_maint(int reason, void *data, apr_wait_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thefd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: close_unix_socket
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t close_unix_socket(void *thefd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/httpd/modules/generators/mod_cgid.c:365,1
    - Dst: CMSG_SPACE
      Src: /src/httpd/modules/generators/mod_cgid.c:384,1
    - Dst: recvmsg
      Src: /src/httpd/modules/generators/mod_cgid.c:398,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/httpd/modules/generators/mod_cgid.c:414,1
    - Dst: CMSG_LEN
      Src: /src/httpd/modules/generators/mod_cgid.c:415,1
    - Dst: CMSG_DATA
      Src: /src/httpd/modules/generators/mod_cgid.c:418,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - fd
    - errfd
    - vbuf
    - buf_size
    argTypes:
    - int
    - int*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 423
    functionName: sock_readhdr
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - recvmsg
    - read
    - CMSG_DATA
    - CMSG_SPACE
    - CMSG_LEN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sock_readhdr(int fd, int *errfd, void *vbuf, size_t buf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sock_readhdr
      Src: /src/httpd/modules/generators/mod_cgid.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - vbuf
    - buf_size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: sock_read
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - sock_readhdr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sock_read(int fd, void *vbuf, size_t buf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/httpd/modules/generators/mod_cgid.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - buf_size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: sock_write
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sock_write(int fd, const void *buf, size_t buf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:459,1
    - Dst: va_start
      Src: /src/httpd/modules/generators/mod_cgid.c:460,1
    - Dst: va_arg
      Src: /src/httpd/modules/generators/mod_cgid.c:462,1
    - Dst: va_arg
      Src: /src/httpd/modules/generators/mod_cgid.c:463,1
    - Dst: va_end
      Src: /src/httpd/modules/generators/mod_cgid.c:465,1
    - Dst: writev
      Src: /src/httpd/modules/generators/mod_cgid.c:469,1
    - Dst: CMSG_SPACE
      Src: /src/httpd/modules/generators/mod_cgid.c:476,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/httpd/modules/generators/mod_cgid.c:487,1
    - Dst: CMSG_LEN
      Src: /src/httpd/modules/generators/mod_cgid.c:490,1
    - Dst: CMSG_DATA
      Src: /src/httpd/modules/generators/mod_cgid.c:491,1
    - Dst: sendmsg
      Src: /src/httpd/modules/generators/mod_cgid.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - fd
    - auxfd
    - r
    - count
    argTypes:
    - int
    - int
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 505
    functionName: sock_writev
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - writev
    - apr_palloc
    - va_arg
    - CMSG_SPACE
    - CMSG_LEN
    - sendmsg
    - va_end
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sock_writev(int fd, int auxfd, request_rec *r, int count,
      ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:516,1
    - Dst: sock_readhdr
      Src: /src/httpd/modules/generators/mod_cgid.c:519,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/generators/mod_cgid.c:544,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:546,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:549,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:552,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:553,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:554,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:555,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:556,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:557,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:561,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:563,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:569,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:573,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:579,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:580,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:587,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 6
    argNames:
    - fd
    - r
    - argv0
    - env
    - errfd
    - req
    argTypes:
    - int
    - request_rec*
    - char**
    - char***
    - int*
    - cgid_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 592
    functionName: get_req
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pcalloc
    - ap_set_module_config
    - sock_readhdr
    - sock_read
    - ap_create_request_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,\n
      \                           int *errfd, cgid_req_t *req)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_get_suexec_identity
      Src: /src/httpd/modules/generators/mod_cgid.c:600,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:601,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/mod_cgid.c:608,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:617,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:618,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:619,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:620,1
    - Dst: apr_os_file_get
      Src: /src/httpd/modules/generators/mod_cgid.c:624,1
    - Dst: sock_writev
      Src: /src/httpd/modules/generators/mod_cgid.c:630,1
    - Dst: sock_writev
      Src: /src/httpd/modules/generators/mod_cgid.c:637,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:650,1
    - Dst: sock_writev
      Src: /src/httpd/modules/generators/mod_cgid.c:652,1
    - Dst: sock_write
      Src: /src/httpd/modules/generators/mod_cgid.c:689,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 6
    argNames:
    - fd
    - errpipe
    - r
    - argv0
    - env
    - req_type
    argTypes:
    - int
    - apr_file_t*
    - request_rec*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 694
    functionName: send_req
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - sock_write
    - sock_writev
    - ap_run_get_suexec_identity
    - apr_os_file_get
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_req(int fd, apr_file_t *errpipe, request_rec *r,\n
      \                            const char *argv0, char **env, int req_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 701
    functionName: daemon_signal_handler
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void daemon_signal_handler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/generators/mod_cgid.c:713,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:721,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:721,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/generators/mod_cgid.c:726,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:726,1
    - Dst: fputs
      Src: /src/httpd/modules/generators/mod_cgid.c:728,1
    - Dst: fflush
      Src: /src/httpd/modules/generators/mod_cgid.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - err
    - description
    argTypes:
    - apr_pool_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 731
    functionName: cgid_child_errfn
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_get
    - APLOGNO
    - fflush
    - ap_log_error
    - apr_psprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: "void cgid_child_errfn(apr_pool_t *pool, apr_status_t err,\n                             const
      char *description)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/generators/mod_cgid.c:739,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/generators/mod_cgid.c:742,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/generators/mod_cgid.c:743,1
    - Dst: apr_signal
      Src: /src/httpd/modules/generators/mod_cgid.c:745,1
    - Dst: apr_signal
      Src: /src/httpd/modules/generators/mod_cgid.c:746,1
    - Dst: ap_close_listeners
      Src: /src/httpd/modules/generators/mod_cgid.c:749,1
    - Dst: ap_hook_get_suexec_identity
      Src: /src/httpd/modules/generators/mod_cgid.c:752,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/modules/generators/mod_cgid.c:754,1
    - Dst: socket
      Src: /src/httpd/modules/generators/mod_cgid.c:756,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:757,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:757,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/generators/mod_cgid.c:762,1
    - Dst: umask
      Src: /src/httpd/modules/generators/mod_cgid.c:765,1
    - Dst: bind
      Src: /src/httpd/modules/generators/mod_cgid.c:766,1
    - Dst: umask
      Src: /src/httpd/modules/generators/mod_cgid.c:767,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:769,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:769,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/generators/mod_cgid.c:776,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:778,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:778,1
    - Dst: listen
      Src: /src/httpd/modules/generators/mod_cgid.c:784,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:785,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:785,1
    - Dst: geteuid
      Src: /src/httpd/modules/generators/mod_cgid.c:790,1
    - Dst: chown
      Src: /src/httpd/modules/generators/mod_cgid.c:791,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:792,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:792,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/modules/generators/mod_cgid.c:800,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/generators/mod_cgid.c:823,1
    - Dst: accept
      Src: /src/httpd/modules/generators/mod_cgid.c:826,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:835,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:836,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:842,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:843,1
    - Dst: get_req
      Src: /src/httpd/modules/generators/mod_cgid.c:845,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:847,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:848,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:850,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:855,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:855,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:858,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/generators/mod_cgid.c:866,1
    - Dst: sock_write
      Src: /src/httpd/modules/generators/mod_cgid.c:867,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:870,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:873,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:881,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/generators/mod_cgid.c:884,1
    - Dst: apr_os_file_put
      Src: /src/httpd/modules/generators/mod_cgid.c:887,1
    - Dst: apr_os_file_put
      Src: /src/httpd/modules/generators/mod_cgid.c:888,1
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/generators/mod_cgid.c:903,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/generators/mod_cgid.c:905,1
    - Dst: apr_procattr_child_err_set
      Src: /src/httpd/modules/generators/mod_cgid.c:913,1
    - Dst: apr_procattr_child_in_set
      Src: /src/httpd/modules/generators/mod_cgid.c:914,1
    - Dst: apr_procattr_child_out_set
      Src: /src/httpd/modules/generators/mod_cgid.c:915,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/modules/generators/mod_cgid.c:916,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/generators/mod_cgid.c:917,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/generators/mod_cgid.c:918,1
    - Dst: RLIMIT_CPU
      Src: /src/httpd/modules/generators/mod_cgid.c:920,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgid.c:921,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgid.c:924,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgid.c:924,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgid.c:925,1
    - Dst: RLIMIT_NPROC
      Src: /src/httpd/modules/generators/mod_cgid.c:928,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgid.c:929,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/modules/generators/mod_cgid.c:934,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:939,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:939,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:943,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/generators/mod_cgid.c:948,1
    - Dst: create_argv
      Src: /src/httpd/modules/generators/mod_cgid.c:952,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:963,1
    - Dst: memcmp
      Src: /src/httpd/modules/generators/mod_cgid.c:965,1
    - Dst: ap_os_create_privileged_process
      Src: /src/httpd/modules/generators/mod_cgid.c:969,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/generators/mod_cgid.c:973,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:983,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:983,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/modules/generators/mod_cgid.c:985,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/generators/mod_cgid.c:1006,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/generators/mod_cgid.c:1010,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/generators/mod_cgid.c:1012,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 121
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 1016
    functionName: cgid_server
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - get_req
    - apr_procattr_cmdtype_set
    - RLIMIT_NPROC
    - apr_signal
    - ap_make_dirstr_parent
    - apr_procattr_child_errfn_set
    - apr_hook_sort_all
    - ap_os_create_privileged_process
    - listen
    - apr_procattr_child_in_set
    - ap_hook_get_suexec_identity
    - create_argv
    - apr_procattr_create
    - memcmp
    - ap_close_listeners
    - apr_hash_make
    - accept
    - umask
    - apr_pmemdup
    - geteuid
    - apr_file_perms_set
    - apr_procattr_io_set
    - apr_proc_create
    - socket
    - sock_write
    - apr_procattr_dir_set
    - apr_pool_create
    - chown
    - apr_pool_clear
    - ap_log_error
    - apr_procattr_child_out_set
    - apr_hash_get
    - apr_hash_set
    - apr_procattr_limit_set
    - apr_pcalloc
    - apr_pool_userdata_set
    - APLOGNO
    - apr_filepath_name_get
    - apr_pool_tag
    - RLIMIT_CPU
    - ap_run_drop_privileges
    - apr_procattr_child_err_set
    - defined
    - apr_os_file_put
    - bind
    - close
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int cgid_server(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/httpd/modules/generators/mod_cgid.c:1023,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:1024,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1024,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1030,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/generators/mod_cgid.c:1031,1
    - Dst: exit
      Src: /src/httpd/modules/generators/mod_cgid.c:1033,1
    - Dst: cgid_server
      Src: /src/httpd/modules/generators/mod_cgid.c:1033,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/modules/generators/mod_cgid.c:1037,1
    - Dst: apr_proc_other_child_register
      Src: /src/httpd/modules/generators/mod_cgid.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p
    - main_server
    - procnew
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1042
    functionName: cgid_start
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 1
    functionsReached:
    - apr_pool_note_subprocess
    - APLOGNO
    - apr_pool_tag
    - exit
    - apr_proc_other_child_register
    - apr_pool_create
    - cgid_server
    - ap_log_error
    - fork
    linkageType: ''
    returnType: int
    signature: "int cgid_start(apr_pool_t *p, server_rec *main_server,\n                      apr_proc_t
      *procnew)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_append_pid
      Src: /src/httpd/modules/generators/mod_cgid.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1049
    functionName: cgid_pre_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_append_pid
    linkageType: ''
    returnType: int
    signature: "int cgid_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                           apr_pool_t
      *ptemp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/generators/mod_cgid.c:1062,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1064,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/generators/mod_cgid.c:1067,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/generators/mod_cgid.c:1075,1
    - Dst: getpid
      Src: /src/httpd/modules/generators/mod_cgid.c:1078,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/generators/mod_cgid.c:1079,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:1081,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1081,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:1085,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_cgid.c:1087,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1087,1
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/generators/mod_cgid.c:1093,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:1093,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1094,1
    - Dst: strcpy
      Src: /src/httpd/modules/generators/mod_cgid.c:1096,1
    - Dst: cgid_start
      Src: /src/httpd/modules/generators/mod_cgid.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - main_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1051
    functionDepth: 5
    functionLinenumber: 1051
    functionLinenumberEnd: 1104
    functionName: cgid_init
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - apr_pcalloc
    - apr_palloc
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - getpid
    - APLOGNO
    - APR_OFFSETOF
    - cgid_start
    - ap_runtime_dir_relative
    - ap_log_error
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: "int cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \                    server_rec *main_server)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1115
    functionName: create_cgid_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_cgid_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1122
    functionName: merge_cgid_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *merge_cgid_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1128
    functionName: create_cgid_dirconf
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_cgid_dirconf(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1134,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/generators/mod_cgid.c:1137,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgid.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1144
    functionName: set_scriptlog
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_scriptlog(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1149,1
    - Dst: atol
      Src: /src/httpd/modules/generators/mod_cgid.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1154
    functionName: set_scriptlog_length
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - atol
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_scriptlog_length(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1159,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_cgid.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1164
    functionName: set_scriptlog_buffer
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_scriptlog_buffer(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/generators/mod_cgid.c:1168,1
    - Dst: ap_append_pid
      Src: /src/httpd/modules/generators/mod_cgid.c:1174,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/generators/mod_cgid.c:1175,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgid.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1183
    functionName: set_script_socket
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_append_pid
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *set_script_socket(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/generators/mod_cgid.c:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1193
    functionName: set_script_timeout
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: char *set_script_timeout(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/generators/mod_cgid.c:1216,1
    - Dst: stat
      Src: /src/httpd/modules/generators/mod_cgid.c:1231,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_cgid.c:1233,1
    - Dst: discard_script_output
      Src: /src/httpd/modules/generators/mod_cgid.c:1236,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/mod_cgid.c:1238,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/generators/mod_cgid.c:1246,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/generators/mod_cgid.c:1246,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1247,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1250,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1252,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1256,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1260,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1263,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/generators/mod_cgid.c:1264,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1270,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgid.c:1274,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/generators/mod_cgid.c:1278,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/generators/mod_cgid.c:1279,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/generators/mod_cgid.c:1280,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/generators/mod_cgid.c:1282,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/generators/mod_cgid.c:1285,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1290,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/generators/mod_cgid.c:1293,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1294,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/mod_cgid.c:1298,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1300,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1301,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/mod_cgid.c:1302,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1304,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgid.c:1305,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgid.c:1310,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgid.c:1313,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 61
    argCount: 7
    argNames:
    - r
    - conf
    - ret
    - dbuf
    - sbuf
    - bb
    - script_err
    argTypes:
    - request_rec*
    - cgid_server_conf*
    - int
    - char*
    - char*
    - apr_bucket_brigade*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1315
    functionName: log_script
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_time_now
    - APR_BUCKET_IS_EOS
    - apr_file_write_full
    - apr_file_gets
    - apr_table_elts
    - discard_script_output
    - apr_ctime
    - apr_file_puts
    - apr_file_close
    - apr_file_open
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - stat
    - apr_file_printf
    linkageType: ''
    returnType: int
    signature: "int log_script(request_rec *r, cgid_server_conf * conf, int ret,\n
      \                     char *dbuf, const char *sbuf, apr_bucket_brigade *bb,\n
      \                     apr_file_t *script_err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/httpd/modules/generators/mod_cgid.c:1330,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1331,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1332,1
    - Dst: connect
      Src: /src/httpd/modules/generators/mod_cgid.c:1334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1342,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1342,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:1345,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/generators/mod_cgid.c:1346,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/generators/mod_cgid.c:1347,1
    - Dst: close
      Src: /src/httpd/modules/generators/mod_cgid.c:1352,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1353,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1353,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/generators/mod_cgid.c:1358,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_cgid.c:1367,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/generators/mod_cgid.c:1367,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1369,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1370,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgid.c:1371,1
    - Dst: kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1376,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - sdptr
    - r
    - conf
    argTypes:
    - int*
    - request_rec*
    - cgid_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1383
    functionName: connect_to_daemon
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_time_from_sec
    - apr_time_now
    - socket
    - apr_pstrcat
    - APLOGNO
    - log_scripterror
    - connect
    - apr_sleep
    - kill
    - close
    - apr_time_sec
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int connect_to_daemon(int *sdptr, request_rec *r,\n                             cgid_server_conf
      *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1426,1
    - Dst: dead_yet
      Src: /src/httpd/modules/generators/mod_cgid.c:1427,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/generators/mod_cgid.c:1427,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1430,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1430,1
    - Dst: kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1433,1
    - Dst: dead_yet
      Src: /src/httpd/modules/generators/mod_cgid.c:1434,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/generators/mod_cgid.c:1434,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1437,1
    - Dst: kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - r
    - pid
    argTypes:
    - request_rec*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1443
    functionName: cleanup_nonchild_process
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - ap_log_rerror
    - APLOGNO
    - dead_yet
    - kill
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_nonchild_process(request_rec *r, pid_t pid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: connect_to_daemon
      Src: /src/httpd/modules/generators/mod_cgid.c:1450,1
    - Dst: sock_write
      Src: /src/httpd/modules/generators/mod_cgid.c:1459,1
    - Dst: sock_read
      Src: /src/httpd/modules/generators/mod_cgid.c:1465,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1473,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - r
    - conf
    - pid
    argTypes:
    - request_rec*
    - cgid_server_conf*
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1480
    functionName: get_cgi_pid
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - connect_to_daemon
    - sock_write
    - APLOGNO
    - sock_read
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t get_cgi_pid(request_rec *r,  cgid_server_conf *conf, pid_t
      *pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_nonchild_process
      Src: /src/httpd/modules/generators/mod_cgid.c:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: cleanup_script
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - cleanup_nonchild_process
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_script(void *vptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1495,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgid.c:1507,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgid.c:1507,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1511,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1512,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgid.c:1515,1
    - Dst: strrchr
      Src: /src/httpd/modules/generators/mod_cgid.c:1517,1
    - Dst: strncmp
      Src: /src/httpd/modules/generators/mod_cgid.c:1524,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/generators/mod_cgid.c:1528,1
    - Dst: is_scriptaliased
      Src: /src/httpd/modules/generators/mod_cgid.c:1528,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1529,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1529,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1534,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1534,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1543,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1543,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1548,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1548,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1556,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1556,1
    - Dst: apr_file_pipe_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1568,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1570,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/generators/mod_cgid.c:1582,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/generators/mod_cgid.c:1583,1
    - Dst: ap_create_environment
      Src: /src/httpd/modules/generators/mod_cgid.c:1584,1
    - Dst: connect_to_daemon
      Src: /src/httpd/modules/generators/mod_cgid.c:1586,1
    - Dst: send_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1590,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1592,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1592,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgid.c:1598,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1600,1
    - Dst: get_cgi_pid
      Src: /src/httpd/modules/generators/mod_cgid.c:1603,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/generators/mod_cgid.c:1606,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgid.c:1610,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1610,1
    - Dst: apr_os_pipe_put_ex
      Src: /src/httpd/modules/generators/mod_cgid.c:1620,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/mod_cgid.c:1621,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1622,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1627,1
    - Dst: cgi_handle_request
      Src: /src/httpd/modules/generators/mod_cgid.c:1635,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1637,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgid.c:1637,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/generators/mod_cgid.c:1639,1
    - Dst: shutdown
      Src: /src/httpd/modules/generators/mod_cgid.c:1646,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1648,1
    - Dst: cgi_bucket_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1650,1
    - Dst: apr_bucket_pipe_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1654,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgid.c:1656,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1657,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgid.c:1658,1
    - Dst: cgi_handle_response
      Src: /src/httpd/modules/generators/mod_cgid.c:1660,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1489
    functionDepth: 3
    functionLinenumber: 1489
    functionLinenumberEnd: 1661
    functionName: cgid_handler
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - is_scriptaliased
    - apr_file_close
    - apr_brigade_create
    - ap_add_common_vars
    - shutdown
    - ap_get_module_config
    - ap_allow_options
    - strncmp
    - apr_pool_cleanup_kill
    - connect_to_daemon
    - apr_os_pipe_put_ex
    - send_req
    - get_cgi_pid
    - cgi_bucket_create
    - apr_file_pipe_create
    - cgi_handle_request
    - strcmp
    - ap_create_environment
    - cgi_handle_response
    - apr_bucket_eos_create
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - log_scripterror
    - apr_file_pipe_timeout_set
    - strrchr
    - ap_map_http_request_error
    - ap_add_cgi_vars
    - apr_bucket_pipe_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int cgid_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_cgid.c:1668,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1672,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1678,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1682,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_cgid.c:1693,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1696,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/generators/mod_cgid.c:1697,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_cgid.c:1698,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_cgid.c:1703,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgid.c:1704,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgid.c:1707,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1707,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgid.c:1708,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - f
    - bb
    - s
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1716
    functionName: include_cgi
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type_ex
    - apr_pstrcat
    - ap_destroy_sub_req
    - ap_escape_html
    - apr_table_get
    - apr_bucket_pool_create
    - strlen
    - ap_run_sub_req
    - APR_BRIGADE_INSERT_TAIL
    - ap_is_HTTP_REDIRECT
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t include_cgi(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb, char *s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgid.c:1728,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgid.c:1728,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_cgid.c:1730,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/generators/mod_cgid.c:1730,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgid.c:1732,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgid.c:1733,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1735,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_cgid.c:1739,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgid.c:1741,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/generators/mod_cgid.c:1742,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgid.c:1743,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgid.c:1743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1745
    functionName: add_ssi_vars
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_destroy_sub_req
    - apr_table_setn
    - ap_escape_uri
    - ap_escape_shell_cmd
    - apr_pstrdup
    - ap_unescape_url
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void add_ssi_vars(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1755,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1757,1
    - Dst: add_ssi_vars
      Src: /src/httpd/modules/generators/mod_cgid.c:1762,1
    - Dst: ap_create_environment
      Src: /src/httpd/modules/generators/mod_cgid.c:1763,1
    - Dst: connect_to_daemon
      Src: /src/httpd/modules/generators/mod_cgid.c:1765,1
    - Dst: send_req
      Src: /src/httpd/modules/generators/mod_cgid.c:1769,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1771,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgid.c:1776,1
    - Dst: get_cgi_pid
      Src: /src/httpd/modules/generators/mod_cgid.c:1779,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgid.c:1781,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/generators/mod_cgid.c:1788,1
    - Dst: apr_os_pipe_put_ex
      Src: /src/httpd/modules/generators/mod_cgid.c:1796,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/mod_cgid.c:1798,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/mod_cgid.c:1801,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/generators/mod_cgid.c:1804,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgid.c:1806,1
    - Dst: apr_bucket_pipe_create
      Src: /src/httpd/modules/generators/mod_cgid.c:1806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - f
    - bb
    - command
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1811
    functionName: include_cmd
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - add_ssi_vars
    - ap_log_rerror
    - apr_palloc
    - apr_pool_cleanup_kill
    - ap_create_environment
    - connect_to_daemon
    - apr_os_pipe_put_ex
    - send_req
    - apr_file_pipe_timeout_set
    - get_cgi_pid
    - ap_get_module_config
    - apr_bucket_pipe_create
    - APR_BRIGADE_INSERT_TAIL
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb, const char *command)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1817,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/generators/mod_cgid.c:1818,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_cgid.c:1819,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/generators/mod_cgid.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1821
    functionName: register_hook
    functionSourceFile: /src/httpd/modules/generators/mod_cgid.c
    functionUses: 0
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_hook_post_config
    - ap_hook_pre_config
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_suexec.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: mkconfig
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *mkconfig(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkconfig
      Src: /src/httpd/modules/generators/mod_suexec.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: create_mconfig_for_server
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - mkconfig
    linkageType: ''
    returnType: void
    signature: void *create_mconfig_for_server(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkconfig
      Src: /src/httpd/modules/generators/mod_suexec.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: create_mconfig_for_directory
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - mkconfig
    linkageType: ''
    returnType: void
    signature: void *create_mconfig_for_directory(apr_pool_t *p, char *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/generators/mod_suexec.c:62,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_suexec.c:69,1
    - Dst: ap_uname2id
      Src: /src/httpd/modules/generators/mod_suexec.c:74,1
    - Dst: ap_gname2id
      Src: /src/httpd/modules/generators/mod_suexec.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - cmd
    - mconfig
    - uid
    - gid
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: set_suexec_ugid
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - ap_uname2id
    - ap_gname2id
    - ap_check_cmd_context
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_suexec_ugid(cmd_parms *cmd, void *mconfig,\n                                   const
      char *uid, const char *gid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_suexec.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: get_suexec_id_doer
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: ap_unix_identity_t
    signature: ap_unix_identity_t *get_suexec_id_doer(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/generators/mod_suexec.c:96,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/generators/mod_suexec.c:100,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_suexec.c:100,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/generators/mod_suexec.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: suexec_post_config
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int suexec_post_config(apr_pool_t *p, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_get_suexec_identity
      Src: /src/httpd/modules/generators/mod_suexec.c:126,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/generators/mod_suexec.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: suexec_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_suexec.c
    functionUses: 0
    functionsReached:
    - ap_hook_get_suexec_identity
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void suexec_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/generators/cgi_common.h:53,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/generators/cgi_common.h:54,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/generators/cgi_common.h:54,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/generators/cgi_common.h:55,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/generators/cgi_common.h:57,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/generators/cgi_common.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: discard_script_output
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 1
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    linkageType: ''
    returnType: void
    signature: void discard_script_output(apr_bucket_brigade *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:74,1
    - Dst: apr_stat
      Src: /src/httpd/modules/generators/cgi_common.h:79,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/cgi_common.h:82,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/generators/cgi_common.h:89,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/generators/cgi_common.h:89,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/cgi_common.h:90,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/cgi_common.h:93,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/cgi_common.h:95,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/cgi_common.h:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - r
    - conf
    - ret
    - rv
    - logno
    - error
    argTypes:
    - request_rec*
    - cgi_server_conf*
    - int
    - apr_status_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 99
    functionName: log_scripterror
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_time_now
    - apr_file_close
    - apr_ctime
    - apr_file_open
    - apr_file_printf
    - apr_stat
    linkageType: ''
    returnType: int
    signature: "int log_scripterror(request_rec *r, cgi_server_conf *conf, int ret,\n
      \                          apr_status_t rv, const char *logno,\n                           const
      char *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/cgi_common.h:108,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/cgi_common.h:110,1
    - Dst: strchr
      Src: /src/httpd/modules/generators/cgi_common.h:113,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/cgi_common.h:122,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - r
    - script_err
    argTypes:
    - request_rec*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: log_script_err
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - strchr
    - apr_file_gets
    - APLOGNO
    - log_scripterror
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t log_script_err(request_rec *r, apr_file_t *script_err)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:141,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/generators/cgi_common.h:150,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:155,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/generators/cgi_common.h:157,1
    - Dst: cgi_pfn_gtv
      Src: /src/httpd/modules/generators/cgi_common.h:162,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/cgi_common.h:167,1
    - Dst: cgi_pfn_ps
      Src: /src/httpd/modules/generators/cgi_common.h:170,1
    - Dst: include_cmd
      Src: /src/httpd/modules/generators/cgi_common.h:173,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:175,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:175,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/generators/cgi_common.h:178,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/cgi_common.h:182,1
    - Dst: cgi_pfn_ps
      Src: /src/httpd/modules/generators/cgi_common.h:185,1
    - Dst: include_cgi
      Src: /src/httpd/modules/generators/cgi_common.h:188,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:190,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:190,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/generators/cgi_common.h:192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:197,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:197,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/generators/cgi_common.h:199,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 205
    functionName: cgi_handle_exec
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - cgi_pfn_gtv
    - include_cmd
    - cgi_pfn_ps
    - SSI_CREATE_ERROR_BUCKET
    - include_cgi
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cgi_handle_exec(include_ctx_t *ctx, ap_filter_t *f,\n
      \                                   apr_bucket_brigade *bb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/generators/cgi_common.h:210,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/generators/cgi_common.h:212,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/generators/cgi_common.h:213,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/generators/cgi_common.h:214,1
    - Dst: cgi_pfn_reg_with_ssi
      Src: /src/httpd/modules/generators/cgi_common.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: cgi_optfns_retrieve
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - cgi_pfn_reg_with_ssi
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void cgi_optfns_retrieve(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/generators/cgi_common.h:242,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/cgi_common.h:245,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/cgi_common.h:248,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/cgi_common.h:249,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/generators/cgi_common.h:251,1
    - Dst: apr_pollset_create
      Src: /src/httpd/modules/generators/cgi_common.h:259,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:261,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/generators/cgi_common.h:271,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:273,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:273,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/generators/cgi_common.h:280,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:282,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 5
    argNames:
    - r
    - timeout
    - out
    - err
    - list
    argTypes:
    - request_rec*
    - apr_interval_time_t
    - apr_file_t*
    - apr_file_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 291
    functionName: cgi_bucket_create
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 1
    functionsReached:
    - apr_pollset_add
    - ap_log_rerror
    - apr_palloc
    - apr_bucket_alloc
    - APLOGNO
    - apr_file_pipe_timeout_set
    - apr_pollset_create
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *cgi_bucket_create(request_rec *r,\n                                     apr_interval_time_t
      timeout,\n                                     apr_file_t *out, apr_file_t *err,\n
      \                                    apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/generators/cgi_common.h:297,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/generators/cgi_common.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - data
    - list
    argTypes:
    - struct cgi_bucket_data*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: cgi_bucket_dup
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *cgi_bucket_dup(struct cgi_bucket_data *data,\n                                  apr_bucket_alloc_t
      *list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/generators/cgi_common.h:318,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/generators/cgi_common.h:320,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/generators/cgi_common.h:323,1
    - Dst: apr_bucket_heap_make
      Src: /src/httpd/modules/generators/cgi_common.h:332,1
    - Dst: APR_BUCKET_INSERT_AFTER
      Src: /src/httpd/modules/generators/cgi_common.h:336,1
    - Dst: cgi_bucket_dup
      Src: /src/httpd/modules/generators/cgi_common.h:336,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/generators/cgi_common.h:339,1
    - Dst: apr_bucket_immortal_make
      Src: /src/httpd/modules/generators/cgi_common.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - a
    - out
    - str
    - len
    argTypes:
    - apr_bucket*
    - apr_file_t*
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 344
    functionName: cgi_read_stdout
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - apr_bucket_heap_make
    - apr_bucket_alloc
    - APR_BUCKET_INSERT_AFTER
    - cgi_bucket_dup
    - apr_bucket_immortal_make
    - apr_file_read
    - apr_bucket_free
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cgi_read_stdout(apr_bucket *a, apr_file_t *out,\n                                    const
      char **str, apr_size_t *len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_poll
      Src: /src/httpd/modules/generators/cgi_common.h:364,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/generators/cgi_common.h:365,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:367,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:367,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/generators/cgi_common.h:376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:380,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:380,1
    - Dst: cgi_read_stdout
      Src: /src/httpd/modules/generators/cgi_common.h:388,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/generators/cgi_common.h:389,1
    - Dst: log_script_err
      Src: /src/httpd/modules/generators/cgi_common.h:395,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/generators/cgi_common.h:396,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/modules/generators/cgi_common.h:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 405
    functionName: cgi_bucket_read
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EOF
    - ap_log_rerror
    - APR_STATUS_IS_EINTR
    - cgi_read_stdout
    - APLOGNO
    - apr_pollset_poll
    - apr_pollset_remove
    - APR_STATUS_IS_TIMEUP
    - log_script_err
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cgi_bucket_read(apr_bucket *b, const char **str,\n                                    apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_brigade_ex
      Src: /src/httpd/modules/generators/cgi_common.h:432,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/cgi_common.h:439,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/generators/cgi_common.h:440,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/cgi_common.h:442,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/generators/cgi_common.h:443,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/cgi_common.h:444,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:444,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/generators/cgi_common.h:453,1
    - Dst: log_script
      Src: /src/httpd/modules/generators/cgi_common.h:456,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/cgi_common.h:486,1
    - Dst: discard_script_output
      Src: /src/httpd/modules/generators/cgi_common.h:492,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/generators/cgi_common.h:493,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/cgi_common.h:496,1
    - Dst: log_script_err
      Src: /src/httpd/modules/generators/cgi_common.h:497,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/generators/cgi_common.h:512,1
    - Dst: ap_internal_redirect_handler
      Src: /src/httpd/modules/generators/cgi_common.h:514,1
    - Dst: discard_script_output
      Src: /src/httpd/modules/generators/cgi_common.h:521,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/generators/cgi_common.h:522,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/generators/cgi_common.h:526,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/generators/cgi_common.h:545,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/generators/cgi_common.h:553,1
    - Dst: log_script_err
      Src: /src/httpd/modules/generators/cgi_common.h:554,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/cgi_common.h:557,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 7
    argNames:
    - r
    - nph
    - bb
    - timeout
    - conf
    - logdata
    - script_err
    argTypes:
    - request_rec*
    - int
    - apr_bucket_brigade*
    - apr_interval_time_t
    - cgi_server_conf*
    - char*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 560
    functionName: cgi_handle_response
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - ap_scan_script_header_err_brigade_ex
    - apr_brigade_destroy
    - log_script
    - apr_file_close
    - APLOGNO
    - discard_script_output
    - log_scripterror
    - apr_file_pipe_timeout_set
    - apr_table_unset
    - apr_brigade_cleanup
    - apr_table_get
    - ap_internal_redirect_handler
    - log_script_err
    linkageType: ''
    returnType: int
    signature: "int cgi_handle_response(request_rec *r, int nph, apr_bucket_brigade
      *bb,\n                               apr_interval_time_t timeout, cgi_server_conf
      *conf,\n                               char *logdata, apr_file_t *script_err)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/generators/cgi_common.h:577,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/generators/cgi_common.h:584,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/generators/cgi_common.h:585,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/generators/cgi_common.h:586,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/generators/cgi_common.h:591,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/generators/cgi_common.h:597,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/generators/cgi_common.h:607,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/cgi_common.h:621,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/generators/cgi_common.h:628,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/cgi_common.h:633,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/cgi_common.h:633,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/generators/cgi_common.h:638,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - r
    - script_out
    - bb
    - logbuf
    - logbufbytes
    argTypes:
    - request_rec*
    - apr_file_t*
    - apr_bucket_brigade*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 647
    functionName: cgi_handle_request
    functionSourceFile: /src/httpd/modules/generators/cgi_common.h
    functionUses: 1
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - ap_log_rerror
    - APR_BUCKET_IS_EOS
    - apr_file_write_full
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - apr_brigade_cleanup
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cgi_handle_request(request_rec *r, apr_file_t *script_out,\n
      \                                      apr_bucket_brigade *bb,\n                                       char
      *logbuf, apr_size_t logbufbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_cgi.c:76,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_cgi.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: is_scriptaliased
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int is_scriptaliased(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgi.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: create_cgi_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_cgi_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: merge_cgi_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *merge_cgi_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_cgi.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: create_cgi_dirconf
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_cgi_dirconf(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:129,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/generators/mod_cgi.c:132,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgi.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: set_scriptlog
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_scriptlog(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:146,1
    - Dst: atol
      Src: /src/httpd/modules/generators/mod_cgi.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: set_scriptlog_length
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - atol
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_scriptlog_length(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:157,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_cgi.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: set_scriptlog_buffer
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_scriptlog_buffer(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/generators/mod_cgi.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: set_script_timeout
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: char *set_script_timeout(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/generators/mod_cgi.c:193,1
    - Dst: apr_stat
      Src: /src/httpd/modules/generators/mod_cgi.c:208,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_cgi.c:211,1
    - Dst: discard_script_output
      Src: /src/httpd/modules/generators/mod_cgi.c:215,1
    - Dst: log_script_err
      Src: /src/httpd/modules/generators/mod_cgi.c:216,1
    - Dst: apr_ctime
      Src: /src/httpd/modules/generators/mod_cgi.c:221,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/generators/mod_cgi.c:221,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:222,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:225,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:227,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:231,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:235,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:238,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/generators/mod_cgi.c:239,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:245,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:249,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/generators/mod_cgi.c:252,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/generators/mod_cgi.c:253,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/generators/mod_cgi.c:254,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/generators/mod_cgi.c:256,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/generators/mod_cgi.c:259,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:264,1
    - Dst: apr_file_write
      Src: /src/httpd/modules/generators/mod_cgi.c:267,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:268,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/mod_cgi.c:271,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:272,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:273,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/generators/mod_cgi.c:274,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:276,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/generators/mod_cgi.c:278,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/generators/mod_cgi.c:281,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgi.c:282,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgi.c:284,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 7
    argNames:
    - r
    - conf
    - ret
    - dbuf
    - sbuf
    - bb
    - script_err
    argTypes:
    - request_rec*
    - cgi_server_conf*
    - int
    - char*
    - char*
    - apr_bucket_brigade*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 286
    functionName: log_script
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 1
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - log_script_err
    - apr_time_now
    - apr_file_write
    - APR_BUCKET_IS_EOS
    - apr_file_puts
    - apr_table_elts
    - discard_script_output
    - apr_ctime
    - apr_file_gets
    - apr_file_close
    - apr_bucket_read
    - apr_file_open
    - apr_file_printf
    - APR_BRIGADE_SENTINEL
    - apr_stat
    linkageType: ''
    returnType: int
    signature: "int log_script(request_rec *r, cgi_server_conf * conf, int ret,\n
      \                     char *dbuf, const char *sbuf, apr_bucket_brigade *bb,\n
      \                     apr_file_t *script_err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgi.c:299,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgi.c:299,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_cgi.c:302,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/generators/mod_cgi.c:302,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgi.c:305,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgi.c:306,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:309,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_cgi.c:313,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgi.c:315,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/generators/mod_cgi.c:316,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_cgi.c:317,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgi.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: add_ssi_vars
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 1
    functionsReached:
    - apr_pstrcat
    - ap_destroy_sub_req
    - apr_table_setn
    - ap_escape_uri
    - ap_escape_shell_cmd
    - apr_pstrdup
    - ap_unescape_url
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void add_ssi_vars(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stderr
      Src: /src/httpd/modules/generators/mod_cgi.c:327,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_cgi.c:331,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/generators/mod_cgi.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pool
    - err
    - description
    argTypes:
    - apr_pool_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 343
    functionName: cgi_child_errfn
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    - apr_file_open_stderr
    - ap_escape_logitem
    linkageType: ''
    returnType: void
    signature: "void cgi_child_errfn(apr_pool_t *pool, apr_status_t err,\n                            const
      char *description)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:360,1
    - Dst: fopen
      Src: /src/httpd/modules/generators/mod_cgi.c:366,1
    - Dst: fopen
      Src: /src/httpd/modules/generators/mod_cgi.c:368,1
    - Dst: RAISE_SIGSTOP
      Src: /src/httpd/modules/generators/mod_cgi.c:373,1
    - Dst: fprintf
      Src: /src/httpd/modules/generators/mod_cgi.c:375,1
    - Dst: ap_create_environment
      Src: /src/httpd/modules/generators/mod_cgi.c:379,1
    - Dst: fprintf
      Src: /src/httpd/modules/generators/mod_cgi.c:382,1
    - Dst: fprintf
      Src: /src/httpd/modules/generators/mod_cgi.c:384,1
    - Dst: fclose
      Src: /src/httpd/modules/generators/mod_cgi.c:385,1
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/generators/mod_cgi.c:391,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/generators/mod_cgi.c:392,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/modules/generators/mod_cgi.c:396,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/generators/mod_cgi.c:397,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgi.c:399,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgi.c:400,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgi.c:403,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgi.c:403,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgi.c:403,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgi.c:404,1
    - Dst: defined
      Src: /src/httpd/modules/generators/mod_cgi.c:407,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/generators/mod_cgi.c:408,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/generators/mod_cgi.c:411,1
    - Dst: apr_procattr_detach_set
      Src: /src/httpd/modules/generators/mod_cgi.c:414,1
    - Dst: apr_procattr_addrspace_set
      Src: /src/httpd/modules/generators/mod_cgi.c:416,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/modules/generators/mod_cgi.c:418,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:420,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 8
    argNames:
    - script_out
    - script_in
    - script_err
    - command
    - argv
    - r
    - p
    - e_info
    argTypes:
    - apr_file_t**
    - apr_file_t**
    - apr_file_t**
    - char*
    - char*[]
    - request_rec*
    - apr_pool_t*
    - cgi_exec_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 422
    functionName: run_cgi_child
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_limit_set
    - apr_procattr_io_set
    - ap_get_core_module_config
    - ap_make_dirstr_parent
    - ap_create_environment
    - fprintf
    - apr_procattr_child_errfn_set
    - apr_procattr_dir_set
    - apr_procattr_detach_set
    - APLOGNO
    - apr_procattr_addrspace_set
    - defined
    - fopen
    - fclose
    - apr_procattr_create
    - RAISE_SIGSTOP
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t run_cgi_child(apr_file_t **script_out,\n                                  apr_file_t
      **script_in,\n                                  apr_file_t **script_err,\n                                  const
      char *command,\n                                  const char * const argv[],\n
      \                                 request_rec *r,\n                                  apr_pool_t
      *p,\n                                  cgi_exec_info_t *e_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/generators/mod_cgi.c:475,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgi.c:497,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/generators/mod_cgi.c:500,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/generators/mod_cgi.c:501,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/generators/mod_cgi.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - cmd
    - argv
    - r
    - p
    - e_info
    argTypes:
    - char**
    - char***
    - request_rec*
    - apr_pool_t*
    - cgi_exec_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 507
    functionName: default_build_command
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_getword_nulls
    - ap_escape_shell_cmd
    - ap_strchr_c
    - ap_unescape_url
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t default_build_command(const char **cmd, const char ***argv,\n
      \                                         request_rec *r, apr_pool_t *p,\n                                          cgi_exec_info_t
      *e_info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/generators/mod_cgi.c:519,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:526,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgi.c:529,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgi.c:529,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_cgi.c:533,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/modules/generators/mod_cgi.c:537,1
    - Dst: strncmp
      Src: /src/httpd/modules/generators/mod_cgi.c:538,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_cgi.c:539,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/generators/mod_cgi.c:541,1
    - Dst: is_scriptaliased
      Src: /src/httpd/modules/generators/mod_cgi.c:541,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgi.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:542,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgi.c:545,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:545,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgi.c:549,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:549,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgi.c:552,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:552,1
    - Dst: log_scripterror
      Src: /src/httpd/modules/generators/mod_cgi.c:559,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:559,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/generators/mod_cgi.c:570,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/generators/mod_cgi.c:571,1
    - Dst: cgi_build_command
      Src: /src/httpd/modules/generators/mod_cgi.c:586,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgi.c:587,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:587,1
    - Dst: run_cgi_child
      Src: /src/httpd/modules/generators/mod_cgi.c:594,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgi.c:596,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:596,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_cgi.c:604,1
    - Dst: cgi_handle_request
      Src: /src/httpd/modules/generators/mod_cgi.c:612,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgi.c:614,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:614,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/generators/mod_cgi.c:616,1
    - Dst: apr_file_flush
      Src: /src/httpd/modules/generators/mod_cgi.c:620,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_cgi.c:621,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/generators/mod_cgi.c:623,1
    - Dst: cgi_bucket_create
      Src: /src/httpd/modules/generators/mod_cgi.c:626,1
    - Dst: apr_bucket_pipe_create
      Src: /src/httpd/modules/generators/mod_cgi.c:630,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgi.c:632,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/generators/mod_cgi.c:633,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgi.c:634,1
    - Dst: cgi_handle_response
      Src: /src/httpd/modules/generators/mod_cgi.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 637
    functionName: cgi_handler
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - is_scriptaliased
    - cgi_build_command
    - apr_file_close
    - apr_brigade_create
    - ap_add_common_vars
    - ap_get_module_config
    - ap_allow_options
    - strncmp
    - cgi_bucket_create
    - cgi_handle_request
    - strcmp
    - cgi_handle_response
    - apr_bucket_eos_create
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_palloc
    - apr_filepath_name_get
    - APLOGNO
    - apr_file_flush
    - log_scripterror
    - AP_DEBUG_ASSERT
    - ap_map_http_request_error
    - ap_add_cgi_vars
    - apr_bucket_pipe_create
    - run_cgi_child
    linkageType: ''
    returnType: int
    signature: int cgi_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_cgi.c:649,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:653,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:659,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:663,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_cgi.c:674,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:677,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/generators/mod_cgi.c:678,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_cgi.c:679,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_cgi.c:684,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_cgi.c:685,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgi.c:688,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/generators/mod_cgi.c:688,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_cgi.c:689,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_cgi.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - f
    - bb
    - s
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 697
    functionName: include_cgi
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 1
    functionsReached:
    - ap_set_content_type_ex
    - apr_pstrcat
    - ap_destroy_sub_req
    - ap_escape_html
    - apr_table_get
    - apr_bucket_pool_create
    - strlen
    - ap_run_sub_req
    - APR_BRIGADE_INSERT_TAIL
    - ap_is_HTTP_REDIRECT
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t include_cgi(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb, char *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_ssi_vars
      Src: /src/httpd/modules/generators/mod_cgi.c:708,1
    - Dst: cgi_build_command
      Src: /src/httpd/modules/generators/mod_cgi.c:722,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgi.c:724,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:724,1
    - Dst: run_cgi_child
      Src: /src/httpd/modules/generators/mod_cgi.c:731,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_cgi.c:734,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_cgi.c:734,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_cgi.c:739,1
    - Dst: apr_bucket_pipe_create
      Src: /src/httpd/modules/generators/mod_cgi.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - f
    - bb
    - command
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 748
    functionName: include_cmd
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 1
    functionsReached:
    - add_ssi_vars
    - ap_log_rerror
    - cgi_build_command
    - APLOGNO
    - apr_bucket_pipe_create
    - APR_BRIGADE_INSERT_TAIL
    - run_cgi_child
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb, const char *command)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/generators/mod_cgi.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 761
    functionName: cgi_post_config
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int cgi_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_cgi.c:766,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/generators/mod_cgi.c:767,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/generators/mod_cgi.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_cgi.c
    functionUses: 0
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_hook_handler
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_field_noparam
      Src: /src/httpd/modules/generators/mod_autoindex.c:159,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:161,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: response_is_html
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_field_noparam
    - ap_cstr_casecmp
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE response_is_html(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_autoindex.c:174,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:178,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:182,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:184,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:187,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:194,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:198,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - r
    - xhtml
    - title
    argTypes:
    - request_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 201
    functionName: emit_preamble
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_rvputs
    - ap_get_module_config
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void emit_preamble(request_rec *r, int xhtml, const char *title)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/generators/mod_autoindex.c:206,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:216,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:217,1
    - Dst: ap_is_matchexp
      Src: /src/httpd/modules/generators/mod_autoindex.c:219,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:220,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - arr
    - type
    - to
    - path
    - data
    argTypes:
    - apr_array_header_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: push_item
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_is_matchexp
    - apr_pstrdup
    - apr_array_push
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void push_item(apr_array_header_t *arr, char *type, const char *to,\n
      \                     const char *path, const char *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:231,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:236,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/generators/mod_autoindex.c:237,1
    - Dst: push_item
      Src: /src/httpd/modules/generators/mod_autoindex.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cmd
    - d
    - alt
    - to
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: add_alt
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrdup
    - ap_str_tolower
    - push_item
    linkageType: ''
    returnType: char
    signature: "char *add_alt(cmd_parms *cmd, void *d, const char *alt,\n                           const
      char *to)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:249,1
    - Dst: strchr
      Src: /src/httpd/modules/generators/mod_autoindex.c:253,1
    - Dst: ap_getword_nc
      Src: /src/httpd/modules/generators/mod_autoindex.c:258,1
    - Dst: add_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:260,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:263,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:268,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/generators/mod_autoindex.c:269,1
    - Dst: push_item
      Src: /src/httpd/modules/generators/mod_autoindex.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - cmd
    - d
    - icon
    - to
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 276
    functionName: add_icon
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_str_tolower
    - push_item
    - strchr
    - ap_getword_nc
    - add_alt
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *add_icon(cmd_parms *cmd, void *d, const char *icon,\n                            const
      char *to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/generators/mod_autoindex.c:307,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/generators/mod_autoindex.c:308,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/modules/generators/mod_autoindex.c:311,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:314,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:318,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cmd
    - d
    - desc
    - to
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: add_desc
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_array_push
    - ap_strchr_c
    - apr_pstrdup
    - apr_fnmatch_test
    linkageType: ''
    returnType: char
    signature: "char *add_desc(cmd_parms *cmd, void *d, const char *desc,\n                            const
      char *to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_item
      Src: /src/httpd/modules/generators/mod_autoindex.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - d
    - ext
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: add_ignore
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - push_item
    linkageType: ''
    returnType: char
    signature: char *add_ignore(cmd_parms *cmd, void *d, const char *ext)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:354,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:357,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:360,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:363,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:366,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:369,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:372,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:375,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:378,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:381,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:384,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:387,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:390,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:393,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:396,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:399,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:402,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:405,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:408,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:411,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:419,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:427,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_autoindex.c:431,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:433,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:441,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_autoindex.c:445,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:447,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:455,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_autoindex.c:463,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:472,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:480,1
    - Dst: atoi
      Src: /src/httpd/modules/generators/mod_autoindex.c:488,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:497,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:498,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:500,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:501,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:503,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 175
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 530
    functionName: add_opts
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrdup
    - atoi
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: char *add_opts(cmd_parms *cmd, void *d, int argc, char *const argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:537,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:540,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:547,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:550,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:553,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - cmd
    - m
    - direction
    - key
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 565
    functionName: set_default_order
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *set_default_order(cmd_parms *cmd, void *m,\n                                     const
      char *direction, const char *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:627,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_autoindex.c:635,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_autoindex.c:636,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_autoindex.c:637,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_autoindex.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 646
    functionName: create_autoindex_config
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_autoindex_config(apr_pool_t *p, char *dummy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc::apr_pcalloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:654,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/generators/mod_autoindex.c:672,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/generators/mod_autoindex.c:673,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/generators/mod_autoindex.c:674,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/generators/mod_autoindex.c:675,1
    - Dst: incremented_opts::incremented_opts
      Src: /src/httpd/modules/generators/mod_autoindex.c:715,1
    - Dst: decremented_opts::decremented_opts
      Src: /src/httpd/modules/generators/mod_autoindex.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 749
    functionName: merge_autoindex_configs
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - incremented_opts::incremented_opts
    - decremented_opts::decremented_opts
    - apr_pcalloc::apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:783,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:788,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:796,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:804,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - content_type
    - content_encoding
    - path
    - list
    - path_only
    argTypes:
    - char*
    - char*
    - char*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 814
    functionName: find_item
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - ap_strcmp_match
    linkageType: ''
    returnType: char
    signature: "char *find_item(const char *content_type, const char *content_encoding,\n
      \                      char *path, apr_array_header_t *list, int path_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_item
      Src: /src/httpd/modules/generators/mod_autoindex.c:818,1
    - Dst: ap_field_noparam
      Src: /src/httpd/modules/generators/mod_autoindex.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - list
    - path_only
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: find_item_by_request
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - find_item
    - ap_field_noparam
    linkageType: ''
    returnType: char
    signature: char *find_item_by_request(request_rec *r, apr_array_header_t *list,
      int path_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: find_icon
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: find_icon(d,p,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: find_alt
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: find_alt(d,p,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 825
    functionName: find_default_icon
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: find_default_icon(d,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 826
    functionName: find_default_alt
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: find_default_alt(d,n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/generators/mod_autoindex.c:852,1
    - Dst: apr_fnmatch
      Src: /src/httpd/modules/generators/mod_autoindex.c:871,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/generators/mod_autoindex.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dcfg
    - filename_full
    argTypes:
    - autoindex_config_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 881
    functionName: find_desc
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - ap_strrchr_c
    - apr_fnmatch
    linkageType: ''
    returnType: char
    signature: char *find_desc(autoindex_config_rec *dcfg, const char *filename_full)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/httpd/modules/generators/mod_autoindex.c:890,1
    - Dst: strrchr
      Src: /src/httpd/modules/generators/mod_autoindex.c:901,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:909,1
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:910,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:919,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/generators/mod_autoindex.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - d
    - path
    argTypes:
    - autoindex_config_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 926
    functionName: ignore_entry
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - strrchr
    - ap_strcmp_match
    linkageType: ''
    returnType: int
    signature: int ignore_entry(autoindex_config_rec *d, char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:967,1
    - Dst: apr_file_eof
      Src: /src/httpd/modules/generators/mod_autoindex.c:968,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/generators/mod_autoindex.c:971,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/generators/mod_autoindex.c:972,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:987,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:989,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:992,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:995,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1000,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - r
    - f
    argTypes:
    - request_rec*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1001
    functionName: do_emit_plain
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    - APR_STATUS_IS_EINTR
    - apr_file_eof
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void do_emit_plain(request_rec *r, apr_file_t *f)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_autoindex.c:1028,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_autoindex.c:1029,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_autoindex.c:1030,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/generators/mod_autoindex.c:1031,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:1035,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_autoindex.c:1039,1
    - Dst: response_is_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1049,1
    - Dst: emit_preamble
      Src: /src/httpd/modules/generators/mod_autoindex.c:1056,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1079,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/generators/mod_autoindex.c:1085,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_autoindex.c:1092,1
    - Dst: emit_preamble
      Src: /src/httpd/modules/generators/mod_autoindex.c:1094,1
    - Dst: do_emit_plain
      Src: /src/httpd/modules/generators/mod_autoindex.c:1096,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:1097,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_autoindex.c:1105,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/generators/mod_autoindex.c:1108,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_autoindex.c:1112,1
    - Dst: emit_preamble
      Src: /src/httpd/modules/generators/mod_autoindex.c:1116,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_autoindex.c:1119,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1124,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1126,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1130,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - r
    - header_fname
    - suppress_amble
    - emit_xhtml
    - title
    argTypes:
    - request_rec*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1132
    functionName: emit_head
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - response_is_html
    - apr_pstrcat
    - do_emit_plain
    - apr_file_close
    - ap_destroy_sub_req
    - apr_table_setn
    - apr_table_unset
    - apr_table_get
    - apr_file_open
    - ap_get_module_config
    - emit_preamble
    - ap_cstr_casecmpn
    - ap_run_sub_req
    - ap_rvputs
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: "void emit_head(request_rec *r, char *header_fname, int suppress_amble,\n
      \                     int emit_xhtml, char *title)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/generators/mod_autoindex.c:1157,1
    - Dst: response_is_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1167,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1174,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/generators/mod_autoindex.c:1180,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_autoindex.c:1184,1
    - Dst: do_emit_plain
      Src: /src/httpd/modules/generators/mod_autoindex.c:1186,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:1187,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1195,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/generators/mod_autoindex.c:1195,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1198,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - r
    - readme_fname
    - suppress_amble
    argTypes:
    - request_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1203
    functionName: emit_tail
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - response_is_html
    - do_emit_plain
    - apr_file_close
    - ap_destroy_sub_req
    - ap_psignature
    - ap_rputs
    - ap_run_sub_req
    - apr_file_open
    - ap_cstr_casecmpn
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void emit_tail(request_rec *r, char *readme_fname, int suppress_amble)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: response_is_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1217,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:1218,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_autoindex.c:1220,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/generators/mod_autoindex.c:1225,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:1227,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/generators/mod_autoindex.c:1232,1
    - Dst: ap_ind
      Src: /src/httpd/modules/generators/mod_autoindex.c:1234,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:1248,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:1249,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:1256,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1259
    functionName: find_title
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - response_is_html
    - strcmp
    - apr_tolower
    - apr_file_close
    - ap_ind
    - apr_file_open
    - apr_file_read
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *find_title(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1266,1
    - Dst: ap_make_full_path
      Src: /src/httpd/modules/generators/mod_autoindex.c:1278,1
    - Dst: ap_normalize_path
      Src: /src/httpd/modules/generators/mod_autoindex.c:1281,1
    - Dst: ap_make_full_path
      Src: /src/httpd/modules/generators/mod_autoindex.c:1288,1
    - Dst: ignore_entry
      Src: /src/httpd/modules/generators/mod_autoindex.c:1289,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/generators/mod_autoindex.c:1295,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/generators/mod_autoindex.c:1296,1
    - Dst: find_default_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1299,1
    - Dst: find_default_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1300,1
    - Dst: find_default_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1302,1
    - Dst: find_default_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1303,1
    - Dst: find_desc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - autoindex_opts
    - d
    - r
    - keyid
    - direction
    argTypes:
    - apr_int32_t
    - autoindex_config_rec*
    - request_rec*
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1312
    functionName: make_parent_entry
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - find_default_icon
    - apr_pcalloc
    - ap_make_full_path
    - find_desc
    - ignore_entry
    - find_default_alt
    - ap_normalize_path
    - apr_toupper
    linkageType: ''
    returnType: struct ent
    signature: "struct ent *make_parent_entry(apr_int32_t autoindex_opts,\n                                     autoindex_config_rec
      *d,\n                                     request_rec *r, char keyid,\n                                     char
      direction)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_fnmatch
      Src: /src/httpd/modules/generators/mod_autoindex.c:1335,1
    - Dst: ignore_entry
      Src: /src/httpd/modules/generators/mod_autoindex.c:1345,1
    - Dst: ap_make_full_path
      Src: /src/httpd/modules/generators/mod_autoindex.c:1345,1
    - Dst: ap_sub_req_lookup_dirent
      Src: /src/httpd/modules/generators/mod_autoindex.c:1350,1
    - Dst: ap_is_HTTP_SUCCESS
      Src: /src/httpd/modules/generators/mod_autoindex.c:1360,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/generators/mod_autoindex.c:1361,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1363,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1367,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:1369,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:1372,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/generators/mod_autoindex.c:1380,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/generators/mod_autoindex.c:1381,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/generators/mod_autoindex.c:1391,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:1394,1
    - Dst: find_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1396,1
    - Dst: find_default_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1397,1
    - Dst: find_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1399,1
    - Dst: find_default_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1400,1
    - Dst: find_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1406,1
    - Dst: find_alt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1407,1
    - Dst: find_desc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1411,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:1414,1
    - Dst: find_title
      Src: /src/httpd/modules/generators/mod_autoindex.c:1414,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/generators/mod_autoindex.c:1417,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 7
    argNames:
    - dirent
    - autoindex_opts
    - d
    - r
    - keyid
    - direction
    - pattern
    argTypes:
    - apr_finfo_t*
    - int
    - autoindex_config_rec*
    - request_rec*
    - char
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1428
    functionName: make_autoindex_entry
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_make_dirstr_parent
    - ap_make_full_path
    - ap_destroy_sub_req
    - find_alt
    - ap_is_HTTP_REDIRECT
    - apr_toupper
    - apr_pstrcat
    - apr_pstrdup
    - find_title
    - find_icon
    - find_default_alt
    - find_default_icon
    - find_desc
    - ignore_entry
    - apr_pcalloc
    - ap_is_HTTP_SUCCESS
    - apr_fnmatch
    - ap_sub_req_lookup_dirent
    - strlen
    linkageType: ''
    returnType: struct ent
    signature: "struct ent *make_autoindex_entry(const apr_finfo_t *dirent,\n                                        int
      autoindex_opts,\n                                        autoindex_config_rec
      *d,\n                                        request_rec *r, char keyid,\n                                        char
      direction,\n                                        const char *pattern)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - d
    - desc
    - autoindex_opts
    - desc_width
    argTypes:
    - autoindex_config_rec*
    - char*
    - apr_int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1482
    functionName: terminate_description
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *terminate_description(autoindex_config_rec *d, char *desc,\n
      \                                  apr_int32_t autoindex_opts, int desc_width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1507,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - r
    - anchor
    - column
    - curkey
    - curdirection
    - colargs
    - nosort
    argTypes:
    - request_rec*
    - char*
    - char
    - char
    - char
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1513
    functionName: emit_link
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_rputs
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: "void emit_link(request_rec *r, const char *anchor, char column,\n
      \                     char curkey, char curdirection,\n                      const
      char *colargs, int nosort)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/generators/mod_autoindex.c:1532,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/generators/mod_autoindex.c:1533,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:1543,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:1553,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1561,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1562,1
    - Dst: memset
      Src: /src/httpd/modules/generators/mod_autoindex.c:1563,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1570,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1572,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1575,1
    - Dst: find_default_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1576,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1577,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1577,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1580,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1583,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1587,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1589,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1592,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1597,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1598,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1601,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1602,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1607,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1608,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1613,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1614,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1619,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1626,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1629,1
    - Dst: find_default_icon
      Src: /src/httpd/modules/generators/mod_autoindex.c:1631,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1632,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1632,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1635,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1638,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1642,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1644,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1647,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1650,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1652,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1656,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1658,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1660,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1663,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1665,1
    - Dst: emit_link
      Src: /src/httpd/modules/generators/mod_autoindex.c:1668,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1672,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1674,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1676,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1679,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1683,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/generators/mod_autoindex.c:1690,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1693,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/generators/mod_autoindex.c:1693,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/generators/mod_autoindex.c:1707,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/generators/mod_autoindex.c:1708,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1709,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1712,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1715,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1719,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1721,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1724,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1725,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1731,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1734,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1738,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1740,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1743,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1746,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1749,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1753,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1754,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:1757,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:1759,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1767,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1768,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1775,1
    - Dst: apr_strftime
      Src: /src/httpd/modules/generators/mod_autoindex.c:1776,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1779,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1782,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1787,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/generators/mod_autoindex.c:1788,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1793,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1796,1
    - Dst: terminate_description
      Src: /src/httpd/modules/generators/mod_autoindex.c:1797,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1803,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1806,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1811,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1814,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1815,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1821,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_autoindex.c:1824,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1828,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1830,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1833,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1836,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1839,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:1842,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:1844,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1852,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1853,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1858,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/generators/mod_autoindex.c:1863,1
    - Dst: apr_strftime
      Src: /src/httpd/modules/generators/mod_autoindex.c:1864,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1867,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1874,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1879,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/generators/mod_autoindex.c:1879,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1880,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1884,1
    - Dst: terminate_description
      Src: /src/httpd/modules/generators/mod_autoindex.c:1884,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/generators/mod_autoindex.c:1889,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1892,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:1893,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1898,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1902,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1904,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1906,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1909,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_autoindex.c:1913,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 283
    argCount: 8
    argNames:
    - ar
    - n
    - d
    - r
    - autoindex_opts
    - keyid
    - direction
    - colargs
    argTypes:
    - struct ent**
    - int
    - autoindex_config_rec*
    - request_rec*
    - apr_int32_t
    - char
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1915
    functionName: output_directories
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_strfsize
    - emit_link
    - terminate_description
    - strlen
    - apr_psprintf
    - apr_strftime
    - find_default_icon
    - ap_rputc
    - apr_pool_create
    - apr_pool_clear
    - ap_rputs
    - ap_rprintf
    - memcpy
    - ap_os_escape_path
    - memset
    - apr_palloc
    - apr_pool_tag
    - ap_escape_html
    - apr_pstrdup
    - apr_time_exp_lt
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: "void output_directories(struct ent **ar, int n,\n                               autoindex_config_rec
      *d, request_rec *r,\n                               apr_int32_t autoindex_opts,
      char keyid,\n                               char direction, const char *colargs)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: apr_strnatcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:1982,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:1986,1
    - Dst: apr_strnatcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:2004,1
    - Dst: apr_strnatcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:2007,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:2018,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:2022,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - struct ent**
    - struct ent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 2026
    functionName: dsortf
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - apr_strnatcmp
    - strcmp
    - strcasecmp
    - apr_strnatcasecmp
    linkageType: ''
    returnType: int
    signature: int dsortf(struct ent **e1, struct ent **e2)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_autoindex.c:2032,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/generators/mod_autoindex.c:2052,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_autoindex.c:2053,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_autoindex.c:2053,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_autoindex.c:2072,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:2072,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_autoindex.c:2076,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/generators/mod_autoindex.c:2080,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/generators/mod_autoindex.c:2081,1
    - Dst: ap_set_etag
      Src: /src/httpd/modules/generators/mod_autoindex.c:2082,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:2085,1
    - Dst: strchr
      Src: /src/httpd/modules/generators/mod_autoindex.c:2119,1
    - Dst: strchr
      Src: /src/httpd/modules/generators/mod_autoindex.c:2138,1
    - Dst: strcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:2151,1
    - Dst: strcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:2167,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/generators/mod_autoindex.c:2184,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/generators/mod_autoindex.c:2185,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/generators/mod_autoindex.c:2192,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:2209,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:2213,1
    - Dst: emit_head
      Src: /src/httpd/modules/generators/mod_autoindex.c:2219,1
    - Dst: make_parent_entry
      Src: /src/httpd/modules/generators/mod_autoindex.c:2228,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:2234,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:2235,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:2236,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/generators/mod_autoindex.c:2239,1
    - Dst: APR_STATUS_IS_INCOMPLETE
      Src: /src/httpd/modules/generators/mod_autoindex.c:2240,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/generators/mod_autoindex.c:2253,1
    - Dst: apr_stat
      Src: /src/httpd/modules/generators/mod_autoindex.c:2255,1
    - Dst: memcpy
      Src: /src/httpd/modules/generators/mod_autoindex.c:2261,1
    - Dst: make_autoindex_entry
      Src: /src/httpd/modules/generators/mod_autoindex.c:2265,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_autoindex.c:2275,1
    - Dst: qsort
      Src: /src/httpd/modules/generators/mod_autoindex.c:2284,1
    - Dst: output_directories
      Src: /src/httpd/modules/generators/mod_autoindex.c:2287,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/generators/mod_autoindex.c:2289,1
    - Dst: emit_tail
      Src: /src/httpd/modules/generators/mod_autoindex.c:2291,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 153
    argCount: 2
    argNames:
    - r
    - autoindex_conf
    argTypes:
    - request_rec*
    - autoindex_config_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2029
    functionDepth: 4
    functionLinenumber: 2029
    functionLinenumberEnd: 2295
    functionName: index_directory
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - make_parent_entry
    - emit_head
    - apr_stat
    - apr_dir_read
    - apr_dir_close
    - apr_pstrcat
    - strchr
    - emit_tail
    - apr_pstrndup
    - ap_set_last_modified
    - apr_cpystrn
    - ap_escape_uri
    - qsort
    - memcpy
    - apr_dir_open
    - ap_log_rerror
    - apr_palloc
    - ap_set_content_type_ex
    - APLOGNO
    - make_autoindex_entry
    - ap_escape_html
    - output_directories
    - ap_set_etag
    - strcpy
    - APR_STATUS_IS_INCOMPLETE
    - strlen
    - ap_unescape_url
    linkageType: ''
    returnType: int
    signature: "int index_directory(request_rec *r,\n                           autoindex_config_rec
      *autoindex_conf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_autoindex.c:2304,1
    - Dst: AP_IS_DEFAULT_HANDLER_NAME
      Src: /src/httpd/modules/generators/mod_autoindex.c:2304,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/generators/mod_autoindex.c:2311,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_autoindex.c:2313,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/generators/mod_autoindex.c:2326,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_autoindex.c:2335,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/generators/mod_autoindex.c:2336,1
    - Dst: index_directory
      Src: /src/httpd/modules/generators/mod_autoindex.c:2338,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_autoindex.c:2341,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_autoindex.c:2343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_autoindex.c:2343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2299
    functionDepth: 5
    functionLinenumber: 2299
    functionLinenumberEnd: 2351
    functionName: handle_autoindex
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - strcmp
    - AP_IS_DEFAULT_HANDLER_NAME
    - ap_log_rerror
    - ap_discard_request_body
    - apr_pstrcat
    - APLOGNO
    - index_directory
    - ap_get_module_config
    - apr_table_get
    - ap_allow_options
    - strlen
    linkageType: ''
    returnType: int
    signature: int handle_autoindex(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_autoindex.c:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2356
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_autoindex.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:110,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:112,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:114,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - r
    - bytes
    argTypes:
    - request_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: format_byte_out
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void format_byte_out(request_rec *r, apr_off_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:122,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:124,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - kbytes
    argTypes:
    - request_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: format_kbyte_out
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void format_kbyte_out(request_rec *r, apr_off_t kbytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:141,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:144,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:147,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - r
    - tsecs
    argTypes:
    - request_rec*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: show_time
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void show_time(request_rec *r, apr_uint32_t tsecs)
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_status.c:217,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_status.c:217,1
    - Dst: getpid
      Src: /src/httpd/modules/generators/mod_status.c:223,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:226,1
    - Dst: sysconf
      Src: /src/httpd/modules/generators/mod_status.c:230,1
    - Dst: ap_exists_scoreboard_image
      Src: /src/httpd/modules/generators/mod_status.c:246,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_status.c:247,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_status.c:247,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:252,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:253,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:255,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:256,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:257,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/generators/mod_status.c:260,1
    - Dst: ap_get_scoreboard_global
      Src: /src/httpd/modules/generators/mod_status.c:262,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_status.c:276,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/generators/mod_status.c:285,1
    - Dst: strlen
      Src: /src/httpd/modules/generators/mod_status.c:289,1
    - Dst: atol
      Src: /src/httpd/modules/generators/mod_status.c:293,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/generators/mod_status.c:295,1
    - Dst: apr_ltoa
      Src: /src/httpd/modules/generators/mod_status.c:297,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_status.c:304,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/generators/mod_status.c:314,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/modules/generators/mod_status.c:322,1
    - Dst: ap_copy_scoreboard_worker
      Src: /src/httpd/modules/generators/mod_status.c:331,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_status.c:417,1
    - Dst: ap_get_loadavg
      Src: /src/httpd/modules/generators/mod_status.c:419,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:422,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:427,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:427,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/generators/mod_status.c:427,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:430,1
    - Dst: ap_get_server_description
      Src: /src/httpd/modules/generators/mod_status.c:431,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:432,1
    - Dst: ap_show_mpm
      Src: /src/httpd/modules/generators/mod_status.c:433,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:434,1
    - Dst: ap_get_server_built
      Src: /src/httpd/modules/generators/mod_status.c:435,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:436,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/generators/mod_status.c:437,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:439,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/generators/mod_status.c:440,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:444,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/generators/mod_status.c:445,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:446,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:448,1
    - Dst: show_time
      Src: /src/httpd/modules/generators/mod_status.c:449,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:450,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:451,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:455,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/generators/mod_status.c:455,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:456,1
    - Dst: ap_get_server_description
      Src: /src/httpd/modules/generators/mod_status.c:457,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:458,1
    - Dst: ap_show_mpm
      Src: /src/httpd/modules/generators/mod_status.c:459,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:460,1
    - Dst: ap_get_server_built
      Src: /src/httpd/modules/generators/mod_status.c:461,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:462,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/generators/mod_status.c:463,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_status.c:465,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/generators/mod_status.c:466,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:470,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/generators/mod_status.c:471,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:472,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:474,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:476,1
    - Dst: show_time
      Src: /src/httpd/modules/generators/mod_status.c:477,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:478,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:479,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:486,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:489,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:493,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:497,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:501,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:503,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:506,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:510,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:512,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:513,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:517,1
    - Dst: format_kbyte_out
      Src: /src/httpd/modules/generators/mod_status.c:518,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:519,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:520,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:524,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:528,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:531,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:534,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:536,1
    - Dst: format_byte_out
      Src: /src/httpd/modules/generators/mod_status.c:539,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:541,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:546,1
    - Dst: format_byte_out
      Src: /src/httpd/modules/generators/mod_status.c:547,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:549,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:550,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:553,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:558,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:561,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:564,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:570,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/modules/generators/mod_status.c:582,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:601,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:622,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:635,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:651,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:653,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/generators/mod_status.c:660,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:663,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:671,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:673,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:690,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:697,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:702,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:705,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:710,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:717,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:719,1
    - Dst: ap_copy_scoreboard_worker
      Src: /src/httpd/modules/generators/mod_status.c:732,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/modules/generators/mod_status.c:740,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:746,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:769,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:774,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:783,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:786,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:789,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:792,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:795,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:798,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:801,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:804,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:807,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:810,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:813,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:816,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:820,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_status.c:831,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:833,1
    - Dst: format_byte_out
      Src: /src/httpd/modules/generators/mod_status.c:835,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:836,1
    - Dst: format_byte_out
      Src: /src/httpd/modules/generators/mod_status.c:837,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:838,1
    - Dst: format_byte_out
      Src: /src/httpd/modules/generators/mod_status.c:839,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:840,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:841,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:843,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:845,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/generators/mod_status.c:846,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:848,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:850,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:855,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:860,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:871,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:874,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:877,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:880,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:883,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:886,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:889,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:892,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:895,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:898,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:901,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:904,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:908,1
    - Dst: HAVE_TIMES
      Src: /src/httpd/modules/generators/mod_status.c:914,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_status.c:920,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/generators/mod_status.c:922,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:924,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_status.c:928,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:930,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:932,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:934,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_status.c:936,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/generators/mod_status.c:937,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:944,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:968,1
    - Dst: ap_run_status_hook
      Src: /src/httpd/modules/generators/mod_status.c:981,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:985,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/generators/mod_status.c:985,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_status.c:986,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 416
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 990
    functionName: status_handler
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_time_now
    - sysconf
    - ap_show_mpm
    - format_kbyte_out
    - ap_psignature
    - ap_ht_time
    - ap_copy_scoreboard_worker
    - ap_state_query
    - ap_escape_logitem
    - getpid
    - format_byte_out
    - apr_time_sec
    - strcmp
    - ap_mpm_query
    - ap_rputc
    - ap_get_loadavg
    - apr_ltoa
    - ap_rputs
    - ap_rprintf
    - ap_exists_scoreboard_image
    - atol
    - ap_get_server_name
    - HAVE_TIMES
    - ap_get_scoreboard_process
    - ap_get_server_description
    - ap_rvputs
    - ap_log_rerror
    - apr_palloc
    - ap_set_content_type_ex
    - apr_time_as_msec
    - APLOGNO
    - ap_get_server_built
    - apr_table_setn
    - ap_escape_html
    - ap_run_status_hook
    - strlen
    - ap_get_scoreboard_global
    - show_time
    linkageType: ''
    returnType: int
    signature: int status_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1001
    functionName: status_pre_config
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int status_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:1018,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:1019,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:1020,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:1024,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_status.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1027
    functionName: status_init
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    linkageType: ''
    returnType: int
    signature: "int status_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \                      server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/modules/generators/mod_status.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: status_child_init
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: void
    signature: void status_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_status.c:1038,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/generators/mod_status.c:1039,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/generators/mod_status.c:1040,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/generators/mod_status.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1044
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_status.c
    functionUses: 0
    functionsReached:
    - ap_hook_child_init
    - ap_hook_handler
    - ap_hook_pre_config
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_asis.c:37,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_asis.c:37,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_asis.c:47,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_asis.c:47,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/generators/mod_asis.c:52,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_asis.c:54,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_asis.c:54,1
    - Dst: ap_scan_script_header_err_ex
      Src: /src/httpd/modules/generators/mod_asis.c:59,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/generators/mod_asis.c:60,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/generators/mod_asis.c:63,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_asis.c:65,1
    - Dst: ap_internal_redirect_handler
      Src: /src/httpd/modules/generators/mod_asis.c:76,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/generators/mod_asis.c:86,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_asis.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_asis.c:88,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_asis.c:91,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/generators/mod_asis.c:95,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/generators/mod_asis.c:96,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/generators/mod_asis.c:98,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/generators/mod_asis.c:99,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/generators/mod_asis.c:100,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/generators/mod_asis.c:102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/generators/mod_asis.c:102,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/generators/mod_asis.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 112
    functionName: asis_handler
    functionSourceFile: /src/httpd/modules/generators/mod_asis.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - apr_file_close
    - APLOGNO
    - apr_file_seek
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - ap_scan_script_header_err_ex
    - apr_file_open
    - apr_table_get
    - ap_internal_redirect_handler
    - APR_BRIGADE_INSERT_TAIL
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: int
    signature: int asis_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_asis.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_asis.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_info.c:90,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_info.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: create_info_config
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_info_config(apr_pool_t * p, server_rec * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/generators/mod_info.c:99,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/generators/mod_info.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: merge_info_config
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_info_config(apr_pool_t * p, void *basev, void *overridesv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: put_int_flush_right
      Src: /src/httpd/modules/generators/mod_info.c:111,1
    - Dst: ap_rputc
      Src: /src/httpd/modules/generators/mod_info.c:114,1
    - Dst: apr_file_putc
      Src: /src/httpd/modules/generators/mod_info.c:116,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:120,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - r
    - i
    - field
    argTypes:
    - request_rec*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: put_int_flush_right
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 1
    functionsReached:
    - apr_file_putc
    - ap_rputc
    - ap_rputs
    - apr_file_printf
    - put_int_flush_right
    linkageType: ''
    returnType: void
    signature: void put_int_flush_right(request_rec * r, int i, int field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/generators/mod_info.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: set_fn_info
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: void
    signature: void set_fn_info(request_rec *r, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_info.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: get_fn_info
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *get_fn_info(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_fn_info
      Src: /src/httpd/modules/generators/mod_info.c:147,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:150,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:152,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:153,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:157,1
    - Dst: set_fn_info
      Src: /src/httpd/modules/generators/mod_info.c:159,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:163,1
    - Dst: put_int_flush_right
      Src: /src/httpd/modules/generators/mod_info.c:164,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:165,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:169,1
    - Dst: apr_file_putc
      Src: /src/httpd/modules/generators/mod_info.c:170,1
    - Dst: put_int_flush_right
      Src: /src/httpd/modules/generators/mod_info.c:171,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:172,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:177,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - r
    - nest
    - thisfn
    - linenum
    argTypes:
    - request_rec*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: mod_info_indent
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_file_putc
    - ap_escape_html
    - ap_rputs
    - ap_rprintf
    - set_fn_info
    - apr_file_printf
    - put_int_flush_right
    - get_fn_info
    linkageType: ''
    returnType: void
    signature: "void mod_info_indent(request_rec * r, int nest,\n                            const
      char *thisfn, int linenum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_info_indent
      Src: /src/httpd/modules/generators/mod_info.c:186,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:188,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:189,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:190,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - dir
    - nest
    argTypes:
    - request_rec*
    - ap_directive_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: mod_info_show_cmd
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - mod_info_indent
    - apr_file_printf
    - ap_escape_html
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: "void mod_info_show_cmd(request_rec * r, const ap_directive_t * dir,\n
      \                             int nest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_info_indent
      Src: /src/httpd/modules/generators/mod_info.c:198,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:200,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:201,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:202,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - dir
    - nest
    argTypes:
    - request_rec*
    - ap_directive_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: mod_info_show_open
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - mod_info_indent
    - apr_file_printf
    - ap_escape_html
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: "void mod_info_show_open(request_rec * r, const ap_directive_t * dir,\n
      \                              int nest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mod_info_indent
      Src: /src/httpd/modules/generators/mod_info.c:211,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:214,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:215,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:217,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:221,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:221,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/generators/mod_info.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - dir
    - nest
    argTypes:
    - request_rec*
    - ap_directive_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: mod_info_show_close
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - mod_info_indent
    - apr_file_printf
    - ap_escape_html
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: "void mod_info_show_close(request_rec * r, const ap_directive_t * dir,\n
      \                               int nest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cmds
    - dir
    argTypes:
    - command_rec*
    - ap_directive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: mod_info_has_cmd
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int mod_info_has_cmd(const command_rec * cmds, ap_directive_t * dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_info_show_parents
      Src: /src/httpd/modules/generators/mod_info.c:243,1
    - Dst: mod_info_show_open
      Src: /src/httpd/modules/generators/mod_info.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - r
    - node
    - from
    - to
    argTypes:
    - request_rec*
    - ap_directive_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: mod_info_show_parents
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 1
    functionsReached:
    - mod_info_show_open
    - mod_info_show_parents
    linkageType: ''
    returnType: void
    signature: "void mod_info_show_parents(request_rec * r, ap_directive_t * node,\n
      \                                 int from, int to)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_fn_info
      Src: /src/httpd/modules/generators/mod_info.c:253,1
    - Dst: mod_info_module_cmds
      Src: /src/httpd/modules/generators/mod_info.c:256,1
    - Dst: mod_info_show_close
      Src: /src/httpd/modules/generators/mod_info.c:259,1
    - Dst: mod_info_has_cmd
      Src: /src/httpd/modules/generators/mod_info.c:262,1
    - Dst: mod_info_show_parents
      Src: /src/httpd/modules/generators/mod_info.c:264,1
    - Dst: mod_info_show_cmd
      Src: /src/httpd/modules/generators/mod_info.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - r
    - cmds
    - node
    - from
    - level
    argTypes:
    - request_rec*
    - command_rec*
    - ap_directive_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 5
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: mod_info_module_cmds
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 1
    functionsReached:
    - mod_info_show_close
    - mod_info_show_parents
    - mod_info_module_cmds
    - mod_info_show_cmd
    - mod_info_has_cmd
    - set_fn_info
    linkageType: ''
    returnType: int
    signature: "int mod_info_module_cmds(request_rec * r, const command_rec * cmds,\n
      \                               ap_directive_t * node, int from, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hook_get
      Src: /src/httpd/modules/generators/mod_info.c:362,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - modp
    - hook_get
    argTypes:
    - module*
    - hook_get_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: module_find_hook
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - hook_get
    - strcmp
    linkageType: ''
    returnType: int
    signature: int module_find_hook(module * modp, hook_get_t hook_get)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: module_find_hook
      Src: /src/httpd/modules/generators/mod_info.c:384,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:386,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/generators/mod_info.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - r
    - modp
    - lookup
    - comma
    argTypes:
    - request_rec*
    - module*
    - hook_lookup_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: module_participate
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - module_find_hook
    - ap_rputs
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: "void module_participate(request_rec * r,\n                               module
      * modp,\n                               const hook_lookup_t *lookup, int *comma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:397,1
    - Dst: module_participate
      Src: /src/httpd/modules/generators/mod_info.c:400,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:404,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - r
    - modp
    argTypes:
    - request_rec*
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: module_request_hook_participate
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - module_participate
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void module_request_hook_participate(request_rec * r, module * modp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_info.c:413,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - module_name
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: find_more_info
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *find_more_info(server_rec * s, const char *module_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:434,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:435,1
    - Dst: ap_get_server_description
      Src: /src/httpd/modules/generators/mod_info.c:438,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:439,1
    - Dst: ap_get_server_built
      Src: /src/httpd/modules/generators/mod_info.c:442,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:443,1
    - Dst: apr_version_string
      Src: /src/httpd/modules/generators/mod_info.c:445,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:446,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:450,1
    - Dst: apu_version_string
      Src: /src/httpd/modules/generators/mod_info.c:452,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:453,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:457,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/modules/generators/mod_info.c:459,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:460,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/modules/generators/mod_info.c:462,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:463,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:467,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:470,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/generators/mod_info.c:470,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/generators/mod_info.c:471,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:472,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_info.c:476,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/generators/mod_info.c:477,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_info.c:478,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_info.c:479,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/generators/mod_info.c:480,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:481,1
    - Dst: ap_show_mpm
      Src: /src/httpd/modules/generators/mod_info.c:482,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:483,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:487,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:490,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:493,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:497,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:505,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:509,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:513,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:517,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:521,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:525,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:529,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:533,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:537,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:541,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:543,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:545,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:550,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:554,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:558,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:562,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:566,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:569,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:573,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:577,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:581,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:585,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:587,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:592,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:596,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:601,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:605,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:609,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:613,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:617,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:622,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:626,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:628,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 631
    functionName: show_server_settings
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - apr_version_string
    - apu_version_string
    - ap_mpm_query
    - apr_time_sec
    - ap_show_mpm
    - ap_get_server_built
    - ap_pcre_version_string
    - ap_rputs
    - ap_escape_html
    - ap_rprintf
    - ap_get_server_port
    - ap_get_server_name
    - ap_get_server_description
    linkageType: ''
    returnType: int
    signature: int show_server_settings(request_rec * r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hook_get
      Src: /src/httpd/modules/generators/mod_info.c:638,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/generators/mod_info.c:644,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r
    - hook_get
    argTypes:
    - request_rec*
    - hook_get_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 659
    functionName: dump_a_hook
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - hook_get
    - strcasecmp
    - ap_rprintf
    linkageType: ''
    returnType: int
    signature: int dump_a_hook(request_rec * r, hook_get_t hook_get)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:664,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:667,1
    - Dst: dump_a_hook
      Src: /src/httpd/modules/generators/mod_info.c:669,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:670,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:673,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:678,1
    - Dst: dump_a_hook
      Src: /src/httpd/modules/generators/mod_info.c:680,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:681,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:684,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:689,1
    - Dst: dump_a_hook
      Src: /src/httpd/modules/generators/mod_info.c:691,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:692,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 698
    functionName: show_active_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - ap_rputs
    - dump_a_hook
    - ap_rprintf
    linkageType: ''
    returnType: int
    signature: int show_active_hooks(request_rec * r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:703,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: cmp_provider_groups
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_provider_groups(const void *a_, const void *b_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: cmp_provider_names
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_provider_names(const void *a_, const void *b_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_list_provider_groups
      Src: /src/httpd/modules/generators/mod_info.c:717,1
    - Dst: qsort
      Src: /src/httpd/modules/generators/mod_info.c:724,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:726,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/generators/mod_info.c:729,1
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:730,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:732,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:734,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/generators/mod_info.c:737,1
    - Dst: qsort
      Src: /src/httpd/modules/generators/mod_info.c:739,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/generators/mod_info.c:742,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:743,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:747,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 749
    functionName: show_providers
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    - ap_list_provider_names
    - qsort
    - ap_rputs
    - ap_rprintf
    - ap_list_provider_groups
    linkageType: ''
    returnType: void
    signature: void show_providers(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: cmp_module_name
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_module_name(const void *a_, const void *b_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/generators/mod_info.c:760,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/generators/mod_info.c:763,1
    - Dst: qsort
      Src: /src/httpd/modules/generators/mod_info.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 768
    functionName: get_sorted_modules
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - qsort
    - APR_ARRAY_PUSH
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *get_sorted_modules(apr_pool_t *p)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/generators/mod_info.c:778,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/generators/mod_info.c:787,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:789,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:793,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:795,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:797,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:798,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:803,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:805,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:806,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:812,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:814,1
    - Dst: get_sorted_modules
      Src: /src/httpd/modules/generators/mod_info.c:817,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/generators/mod_info.c:819,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:820,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:823,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:826,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:829,1
    - Dst: show_server_settings
      Src: /src/httpd/modules/generators/mod_info.c:830,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:833,1
    - Dst: show_active_hooks
      Src: /src/httpd/modules/generators/mod_info.c:834,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:837,1
    - Dst: show_providers
      Src: /src/httpd/modules/generators/mod_info.c:838,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:841,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:842,1
    - Dst: mod_info_module_cmds
      Src: /src/httpd/modules/generators/mod_info.c:843,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:844,1
    - Dst: get_sorted_modules
      Src: /src/httpd/modules/generators/mod_info.c:849,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/generators/mod_info.c:851,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:852,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:853,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:857,1
    - Dst: module_find_hook
      Src: /src/httpd/modules/generators/mod_info.c:859,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:860,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:863,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:866,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:867,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:872,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:874,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:879,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:881,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:886,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:888,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:893,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:895,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:899,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:901,1
    - Dst: module_request_hook_participate
      Src: /src/httpd/modules/generators/mod_info.c:903,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:907,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/generators/mod_info.c:912,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:913,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:916,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/generators/mod_info.c:916,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:918,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:925,1
    - Dst: mod_info_module_cmds
      Src: /src/httpd/modules/generators/mod_info.c:928,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:932,1
    - Dst: find_more_info
      Src: /src/httpd/modules/generators/mod_info.c:936,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:938,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:941,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:942,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:944,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/generators/mod_info.c:950,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:951,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:956,1
    - Dst: get_sorted_modules
      Src: /src/httpd/modules/generators/mod_info.c:957,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/generators/mod_info.c:959,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:960,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:961,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:962,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:964,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:966,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/generators/mod_info.c:966,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/generators/mod_info.c:967,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 141
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 770
    functionDepth: 6
    functionLinenumber: 770
    functionLinenumberEnd: 970
    functionName: display_info
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_sorted_modules
    - show_providers
    - APR_ARRAY_IDX
    - ap_cstr_casecmp
    - ap_set_content_type_ex
    - show_server_settings
    - show_active_hooks
    - mod_info_module_cmds
    - ap_psignature
    - module_find_hook
    - ap_rputs
    - ap_escape_html
    - ap_rprintf
    - find_more_info
    - module_request_hook_participate
    linkageType: ''
    returnType: int
    signature: int display_info(request_rec * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/generators/mod_info.c:977,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/generators/mod_info.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cmd
    - dummy
    - name
    - info
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 984
    functionName: add_module_info
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *add_module_info(cmd_parms * cmd, void *dummy,\n                                   const
      char *name, const char *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/generators/mod_info.c:995,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/generators/mod_info.c:996,1
    - Dst: mod_info_module_cmds
      Src: /src/httpd/modules/generators/mod_info.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 992
    functionDepth: 6
    functionLinenumber: 992
    functionLinenumberEnd: 1001
    functionName: check_config
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - apr_file_open_stdout
    - mod_info_module_cmds
    - ap_exists_config_define
    linkageType: ''
    returnType: int
    signature: "int check_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \                       server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/generators/mod_info.c:1006,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/modules/generators/mod_info.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/generators/mod_info.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    - ap_hook_check_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: STATUS_DECLARE
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: STATUS_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: STATUS_DECLARE
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: STATUS_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: STATUS_DECLARE
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: STATUS_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: STATUS_DECLARE
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: STATUS_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/generators/mod_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_DECLARE_NONSTD(type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/examples/mod_example_ipc.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: shm_cleanup_wrapper
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t shm_cleanup_wrapper(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/examples/mod_example_ipc.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: exipc_pre_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: "int exipc_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                            apr_pool_t
      *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/examples/mod_example_ipc.c:133,1
    - Dst: apr_temp_dir_get
      Src: /src/httpd/modules/examples/mod_example_ipc.c:143,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:145,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/examples/mod_example_ipc.c:156,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:157,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/examples/mod_example_ipc.c:160,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:163,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:163,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/examples/mod_example_ipc.c:170,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/examples/mod_example_ipc.c:175,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/examples/mod_example_ipc.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 189
    functionName: exipc_post_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - getpid
    - APLOGNO
    - apr_temp_dir_get
    - apr_shm_create
    - apr_shm_baseaddr_get
    - ap_log_error
    - apr_psprintf
    - ap_global_mutex_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int exipc_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/examples/mod_example_ipc.c:204,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/examples/mod_example_ipc.c:205,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:208,1
    - Dst: exit
      Src: /src/httpd/modules/examples/mod_example_ipc.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: exipc_child_init
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_global_mutex_lockfile
    - ap_log_error
    - exit
    linkageType: ''
    returnType: void
    signature: void exipc_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/examples/mod_example_ipc.c:230,1
    - Dst: apr_global_mutex_trylock
      Src: /src/httpd/modules/examples/mod_example_ipc.c:249,1
    - Dst: APR_STATUS_IS_EBUSY
      Src: /src/httpd/modules/examples/mod_example_ipc.c:250,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/examples/mod_example_ipc.c:251,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/examples/mod_example_ipc.c:257,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/examples/mod_example_ipc.c:259,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/examples/mod_example_ipc.c:260,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/examples/mod_example_ipc.c:261,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:268,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:268,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:270,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:276,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:278,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_ipc.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_ipc.c:287,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:290,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/examples/mod_example_ipc.c:296,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_ipc.c:301,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/examples/mod_example_ipc.c:304,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_ipc.c:307,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_ipc.c:309,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_ipc.c:310,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:311,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_ipc.c:312,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_ipc.c:314,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_ipc.c:322,1
    - Dst: getpid
      Src: /src/httpd/modules/examples/mod_example_ipc.c:324,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_ipc.c:326,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/examples/mod_example_ipc.c:331,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 337
    functionName: exipc_handler
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - strcmp
    - APR_STATUS_IS_ENOTIMPL
    - apr_time_now
    - getpid
    - APLOGNO
    - APR_STATUS_IS_EBUSY
    - apr_global_mutex_trylock
    - apr_shm_baseaddr_get
    - apr_sleep
    - ap_log_error
    - ap_rputs
    - ap_rprintf
    - apr_global_mutex_lock
    - apr_global_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int exipc_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/examples/mod_example_ipc.c:341,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/examples/mod_example_ipc.c:342,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/examples/mod_example_ipc.c:343,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/examples/mod_example_ipc.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: exipc_register_hooks
    functionSourceFile: /src/httpd/modules/examples/mod_example_ipc.c
    functionUses: 0
    functionsReached:
    - ap_hook_child_init
    - ap_hook_post_config
    - ap_hook_pre_config
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void exipc_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_case_filter.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: CaseFilterCreateServerConfig
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *CaseFilterCreateServerConfig(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_case_filter.c:46,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/examples/mod_case_filter.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: CaseFilterInsertFilter
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void CaseFilterInsertFilter(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/examples/mod_case_filter.c:63,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/examples/mod_case_filter.c:64,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/examples/mod_case_filter.c:65,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/examples/mod_case_filter.c:66,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/examples/mod_case_filter.c:74,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/examples/mod_case_filter.c:75,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/examples/mod_case_filter.c:76,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/examples/mod_case_filter.c:81,1
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/examples/mod_case_filter.c:84,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/examples/mod_case_filter.c:86,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/examples/mod_case_filter.c:89,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/examples/mod_case_filter.c:91,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/examples/mod_case_filter.c:103,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/examples/mod_case_filter.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - f
    - pbbIn
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 105
    functionName: CaseFilterOutFilter
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - APR_BUCKET_IS_EOS
    - apr_bucket_alloc
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_bucket_heap_create
    - apr_brigade_cleanup
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - APR_BRIGADE_INSERT_TAIL
    - apr_toupper
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t CaseFilterOutFilter(ap_filter_t *f,\n                                        apr_bucket_brigade
      *pbbIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_case_filter.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: CaseFilterEnable
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *CaseFilterEnable(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/examples/mod_case_filter.c:125,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/examples/mod_case_filter.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: CaseFilterRegisterHooks
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter.c
    functionUses: 0
    functionsReached:
    - ap_hook_insert_filter
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void CaseFilterRegisterHooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: our_dconfig
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: x_cfg
    signature: x_cfg *our_dconfig(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: our_sconfig
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: x_cfg
    signature: x_cfg *our_sconfig(const server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: our_rconfig
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: x_cfg
    signature: x_cfg *our_rconfig(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: our_cconfig
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: x_cfg
    signature: x_cfg *our_cconfig(const conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/examples/mod_example_hooks.c:331,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_hooks.c:331,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/modules/examples/mod_example_hooks.c:336,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - s
    - note
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: example_log_each
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_file_printf
    - ap_log_error
    - apr_file_open_stderr
    linkageType: ''
    returnType: void
    signature: void example_log_each(apr_pool_t *p, server_rec *s, const char *note)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: example_log_each
      Src: /src/httpd/modules/examples/mod_example_hooks.c:356,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:369,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - p
    - s
    - mconfig
    - note
    argTypes:
    - apr_pool_t*
    - server_rec*
    - x_cfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 385
    functionName: trace_startup
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - example_log_each
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void trace_startup(apr_pool_t *p, server_rec *s, x_cfg *mconfig,\n
      \                         const char *note)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: example_log_each
      Src: /src/httpd/modules/examples/mod_example_hooks.c:401,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/examples/mod_example_hooks.c:404,1
    - Dst: our_dconfig
      Src: /src/httpd/modules/examples/mod_example_hooks.c:408,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:413,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:422,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/examples/mod_example_hooks.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - r
    - note
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 424
    functionName: trace_request
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_table_set
    - example_log_each
    - apr_table_get
    - our_dconfig
    linkageType: ''
    returnType: void
    signature: void trace_request(const request_rec *r, const char *note)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: example_log_each
      Src: /src/httpd/modules/examples/mod_example_hooks.c:448,1
    - Dst: our_cconfig
      Src: /src/httpd/modules/examples/mod_example_hooks.c:451,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:456,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/examples/mod_example_hooks.c:466,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:470,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/examples/mod_example_hooks.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - c
    - note
    argTypes:
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 482
    functionName: trace_connection
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - our_cconfig
    - example_log_each
    linkageType: ''
    returnType: void
    signature: void trace_connection(conn_rec *c, const char *note)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/examples/mod_example_hooks.c:495,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/examples/mod_example_hooks.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - file
    - line
    - note
    argTypes:
    - apr_pool_t*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: trace_nocontext
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    linkageType: ''
    returnType: void
    signature: "void trace_nocontext(apr_pool_t *p, const char *file, int line,\n
      \                           const char *note)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmd
    - mconfig
    argTypes:
    - cmd_parms*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: cmd_example
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    linkageType: ''
    returnType: char
    signature: char *cmd_example(cmd_parms *cmd, void *mconfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_example_hooks.c:557,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:569,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:570,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - p
    - dirspec
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 574
    functionName: x_create_dir_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_pcalloc
    - apr_pstrcat
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: void *x_create_dir_config(apr_pool_t *p, char *dirspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_example_hooks.c:595,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:605,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:623,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - parent_conf
    - newloc_conf
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 628
    functionName: x_merge_dir_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_pstrdup
    - apr_pcalloc
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void *x_merge_dir_config(apr_pool_t *p, void *parent_conf,\n                                      void
      *newloc_conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_example_hooks.c:647,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:655,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 658
    functionName: x_create_server_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_pcalloc
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void *x_create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_example_hooks.c:677,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:690,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:694,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - server1_conf
    - server2_conf
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 698
    functionName: x_merge_server_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_pstrdup
    - apr_pcalloc
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void *x_merge_server_config(apr_pool_t *p, void *server1_conf,\n                                         void
      *server2_conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 748
    functionName: x_pre_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    linkageType: ''
    returnType: int
    signature: "int x_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                        apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: x_check_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    linkageType: ''
    returnType: int
    signature: "int x_check_config(apr_pool_t *pconf, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stderr
      Src: /src/httpd/modules/examples/mod_example_hooks.c:783,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:785,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pconf
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: x_test_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_file_printf
    - apr_file_open_stderr
    linkageType: ''
    returnType: void
    signature: void x_test_config(apr_pool_t *pconf, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: x_open_logs
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    linkageType: ''
    returnType: int
    signature: "int x_open_logs(apr_pool_t *pconf, apr_pool_t *plog,\n                        apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: x_post_config
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    linkageType: ''
    returnType: int
    signature: "int x_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:842,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 845
    functionName: x_child_exit
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_startup
    - apr_pstrcat
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t x_child_exit(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:862,1
    - Dst: trace_startup
      Src: /src/httpd/modules/examples/mod_example_hooks.c:863,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/examples/mod_example_hooks.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 866
    functionName: x_child_init
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 7
    functionsReached:
    - trace_startup
    - apr_pool_cleanup_register
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void x_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 890
    functionName: x_http_scheme
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: char
    signature: char *x_http_scheme(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 911
    functionName: x_default_port
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: apr_port_t
    signature: apr_port_t x_default_port(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: x_insert_filter
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: void
    signature: void x_insert_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: x_insert_error_filter
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: void
    signature: void x_insert_error_filter(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: our_dconfig
      Src: /src/httpd/modules/examples/mod_example_hooks.c:979,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/examples/mod_example_hooks.c:984,1
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:986,1
    - Dst: strcmp
      Src: /src/httpd/modules/examples/mod_example_hooks.c:989,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/examples/mod_example_hooks.c:997,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1010,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1011,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1012,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1013,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1014,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1015,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1016,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1017,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1018,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1019,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1020,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1021,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1022,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1023,1
    - Dst: ap_get_server_built
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1023,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1024,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1025,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1026,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1027,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1028,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1029,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1030,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1031,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1032,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1033,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1034,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1035,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1036,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1037,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1038,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1039,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1040,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1041,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1042,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1043,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1044,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1045,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1046,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1048,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1050,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1053,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1056,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1060,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1061,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1061,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1062,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1063,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1064,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1065,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1067,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1069,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1070,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 1083
    functionName: x_handler
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_set_content_type_ex
    - apr_pstrcat
    - apr_pool_userdata_get
    - ap_get_server_built
    - ap_get_server_banner
    - trace_request
    - ap_rputs
    - ap_rprintf
    - apr_table_get
    - our_dconfig
    linkageType: ''
    returnType: int
    signature: int x_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - lookup_uri
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1105
    functionName: x_quick_handler
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_quick_handler(request_rec *r, int lookup_uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1123,1
    - Dst: trace_connection
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1128
    functionName: x_pre_connection
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - trace_connection
    linkageType: ''
    returnType: int
    signature: int x_pre_connection(conn_rec *c, void *csd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_connection
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    functionName: x_process_connection
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_connection
    linkageType: ''
    returnType: int
    signature: int x_process_connection(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1158
    functionName: x_pre_read_request
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: void
    signature: void x_pre_read_request(request_rec *r, conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1175
    functionName: x_post_read_request
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_post_read_request(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: x_pre_translate_name
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_pre_translate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1208
    functionName: x_translate_name
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_translate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1225
    functionName: x_map_to_storage
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_map_to_storage(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1245
    functionName: x_header_parser
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_header_parser(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1260
    functionName: x_check_access
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_check_access(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1277
    functionName: x_check_authn
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_check_authn(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1298
    functionName: x_check_authz
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_check_authz(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1315
    functionName: x_type_checker
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_type_checker(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1330
    functionName: x_fixups
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: x_log_transaction
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: int
    signature: int x_log_transaction(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: x_get_suexec_identity
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_request
    linkageType: ''
    returnType: ap_unix_identity_t
    signature: ap_unix_identity_t *x_get_suexec_identity(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_nocontext
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p
    - server
    - csd
    - conn_id
    - sbh
    - alloc
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_socket_t*
    - long
    - void*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: x_create_connection
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_nocontext
    linkageType: ''
    returnType: conn_rec
    signature: "conn_rec *x_create_connection(apr_pool_t *p, server_rec *server,\n
      \                                    apr_socket_t *csd, long conn_id,\n                                     void
      *sbh, apr_bucket_alloc_t *alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_nocontext
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - val
    - ht
    argTypes:
    - apr_pool_t*
    - char*
    - apr_hash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1391
    functionName: x_get_mgmt_items
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_nocontext
    linkageType: ''
    returnType: int
    signature: int x_get_mgmt_items(apr_pool_t *p, const char *val, apr_hash_t *ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_nocontext
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1408
    functionName: x_create_request
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_nocontext
    linkageType: ''
    returnType: int
    signature: int x_create_request(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_nocontext
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - sb_type
    argTypes:
    - apr_pool_t*
    - ap_scoreboard_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1420
    functionName: x_pre_mpm
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_nocontext
    linkageType: ''
    returnType: int
    signature: int x_pre_mpm(apr_pool_t *p, ap_scoreboard_e sb_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace_nocontext
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1432
    functionName: x_monitor
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - trace_nocontext
    linkageType: ''
    returnType: int
    signature: int x_monitor(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1469,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1470,1
    - Dst: ap_hook_test_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1471,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1472,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1473,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1474,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1475,1
    - Dst: ap_hook_quick_handler
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1476,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1477,1
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1478,1
    - Dst: ap_hook_pre_read_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1479,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1482,1
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1484,1
    - Dst: ap_hook_http_scheme
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1485,1
    - Dst: ap_hook_default_port
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1486,1
    - Dst: ap_hook_pre_translate_name
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1487,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1488,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1489,1
    - Dst: ap_hook_header_parser
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1490,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1491,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1492,1
    - Dst: ap_hook_check_access
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1493,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1495,1
    - Dst: ap_hook_check_authz
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1497,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1499,1
    - Dst: ap_hook_insert_error_filter
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1500,1
    - Dst: ap_hook_get_suexec_identity
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1502,1
    - Dst: ap_hook_create_connection
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1504,1
    - Dst: ap_hook_get_mgmt_items
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1505,1
    - Dst: ap_hook_create_request
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1506,1
    - Dst: ap_hook_pre_mpm
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1507,1
    - Dst: ap_hook_monitor
      Src: /src/httpd/modules/examples/mod_example_hooks.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1509
    functionName: x_register_hooks
    functionSourceFile: /src/httpd/modules/examples/mod_example_hooks.c
    functionUses: 0
    functionsReached:
    - ap_hook_header_parser
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_process_connection
    - ap_hook_pre_translate_name
    - ap_hook_get_mgmt_items
    - ap_hook_map_to_storage
    - ap_hook_get_suexec_identity
    - ap_hook_log_transaction
    - ap_hook_check_access
    - ap_hook_pre_connection
    - ap_hook_open_logs
    - ap_hook_check_authn
    - ap_hook_create_connection
    - ap_hook_monitor
    - ap_hook_translate_name
    - ap_hook_pre_read_request
    - ap_hook_post_read_request
    - ap_hook_insert_error_filter
    - ap_hook_default_port
    - ap_hook_create_request
    - ap_hook_test_config
    - ap_hook_fixups
    - ap_hook_http_scheme
    - ap_hook_quick_handler
    - ap_hook_type_checker
    - ap_hook_pre_mpm
    - ap_hook_handler
    - ap_hook_check_authz
    - ap_hook_post_config
    - ap_hook_insert_filter
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void x_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: CaseFilterInCreateServerConfig
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter_in.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *CaseFilterInCreateServerConfig(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:56,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: CaseFilterInInsertFilter
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter_in.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void CaseFilterInInsertFilter(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:76,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:77,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:80,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:81,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:87,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:88,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:102,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:103,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:104,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:108,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:112,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:114,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:117,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:118,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - f
    - pbbOut
    - eMode
    - eBlock
    - nBytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 123
    functionName: CaseFilterInFilter
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter_in.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - apr_palloc
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_brigade_create
    - apr_bucket_heap_create
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - ap_malloc
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - apr_toupper
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t CaseFilterInFilter(ap_filter_t *f,\n                                       apr_bucket_brigade
      *pbbOut,\n                                       ap_input_mode_t eMode,\n                                       apr_read_type_e
      eBlock,\n                                       apr_off_t nBytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: CaseFilterInEnable
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter_in.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *CaseFilterInEnable(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:145,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/examples/mod_case_filter_in.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: CaseFilterInRegisterHooks
    functionSourceFile: /src/httpd/modules/examples/mod_case_filter_in.c
    functionUses: 0
    functionsReached:
    - ap_register_input_filter
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void CaseFilterInRegisterHooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_itoa
      Src: /src/httpd/modules/loggers/mod_log_config.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: pfmt
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_itoa
    linkageType: ''
    returnType: char
    signature: char *pfmt(apr_pool_t *p, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dummy
    - stuff
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: constant_item
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *constant_item(request_rec *dummy, char *stuff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:344,1
    - Dst: ap_get_remote_host
      Src: /src/httpd/modules/loggers/mod_log_config.c:345,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/loggers/mod_log_config.c:349,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: log_remote_host
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_get_useragent_host
    - strcmp
    - ap_get_remote_host
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_remote_host(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: log_remote_address
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *log_remote_address(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: log_local_address
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_local_address(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:371,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/modules/loggers/mod_log_config.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: log_remote_logname
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_get_remote_logname
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_remote_logname(request_rec *r, char *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: log_remote_user
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_remote_user(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:398,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/loggers/mod_log_config.c:400,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/loggers/mod_log_config.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: log_request_line
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - apr_pstrcat
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_line(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: log_request_file
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_file(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: log_request_uri
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_uri(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: log_request_method
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_method(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: log_request_flushed
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_request_flushed(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: log_log_id
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *log_log_id(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: log_request_protocol
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_protocol(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/loggers/mod_log_config.c:439,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: log_request_query
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_request_query(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfmt
      Src: /src/httpd/modules/loggers/mod_log_config.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: log_status
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - pfmt
    linkageType: ''
    returnType: char
    signature: char *log_status(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: log_handler
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_handler(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/loggers/mod_log_config.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: clf_log_bytes_sent
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    linkageType: ''
    returnType: char
    signature: char *clf_log_bytes_sent(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/loggers/mod_log_config.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: log_bytes_sent
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    linkageType: ''
    returnType: char
    signature: char *log_bytes_sent(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:476,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: log_header_in
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_header_in(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:481,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: log_trailer_in
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_trailer_in(request_rec *r, char *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/loggers/mod_log_config.c:499,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:511,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:513,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:516,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_config.c:522,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:530,1
    - Dst: memcpy
      Src: /src/httpd/modules/loggers/mod_log_config.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - pool
    - table
    - key
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 549
    functionName: find_multiple_headers
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_cstr_casecmp
    - apr_table_elts
    - strlen
    - memcpy
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE *find_multiple_headers(apr_pool_t *pool,\n                                              const
      apr_table_t *table,\n                                              const char
      *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:555,1
    - Dst: ap_field_noparam
      Src: /src/httpd/modules/loggers/mod_log_config.c:556,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:558,1
    - Dst: find_multiple_headers
      Src: /src/httpd/modules/loggers/mod_log_config.c:559,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:562,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: log_header_out
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - ap_escape_logitem
    - ap_field_noparam
    - apr_table_get
    - find_multiple_headers
    linkageType: ''
    returnType: char
    signature: char *log_header_out(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:570,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: log_trailer_out
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_trailer_out(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:575,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: log_note
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_note(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:579,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: log_env_var
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_env_var(request_rec *r, char *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:596,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/loggers/mod_log_config.c:598,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/loggers/mod_log_config.c:600,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/loggers/mod_log_config.c:601,1
    - Dst: strspn
      Src: /src/httpd/modules/loggers/mod_log_config.c:608,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/loggers/mod_log_config.c:609,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:614,1
    - Dst: strspn
      Src: /src/httpd/modules/loggers/mod_log_config.c:619,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/loggers/mod_log_config.c:620,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 633
    functionName: log_cookie
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_isspace
    - ap_cstr_casecmp
    - ap_escape_logitem
    - apr_table_get
    - strspn
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *log_cookie(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_strftime
      Src: /src/httpd/modules/loggers/mod_log_config.c:640,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/loggers/mod_log_config.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - xt
    argTypes:
    - request_rec*
    - char*
    - apr_time_exp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: log_request_time_custom
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_strftime
    linkageType: ''
    returnType: char
    signature: "char *log_request_time_custom(request_rec *r, char *a,\n                                           apr_time_exp_t
      *xt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:665,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:668,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:669,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/loggers/mod_log_config.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 675
    functionName: get_request_end_time
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_time_now
    - apr_pcalloc
    - ap_get_module_config
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t get_request_end_time(request_rec *r)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:686,1
    - Dst: strncmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:696,1
    - Dst: get_request_end_time
      Src: /src/httpd/modules/loggers/mod_log_config.c:699,1
    - Dst: get_request_end_time
      Src: /src/httpd/modules/loggers/mod_log_config.c:705,1
    - Dst: strncmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:708,1
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:713,1
    - Dst: strncmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:717,1
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:722,1
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:726,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:740,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:743,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/loggers/mod_log_config.c:743,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:746,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/loggers/mod_log_config.c:746,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:749,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:752,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/loggers/mod_log_config.c:752,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:755,1
    - Dst: apr_time_usec
      Src: /src/httpd/modules/loggers/mod_log_config.c:755,1
    - Dst: ap_explode_recent_localtime
      Src: /src/httpd/modules/loggers/mod_log_config.c:769,1
    - Dst: log_request_time_custom
      Src: /src/httpd/modules/loggers/mod_log_config.c:770,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:777,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/loggers/mod_log_config.c:779,1
    - Dst: ap_explode_recent_localtime
      Src: /src/httpd/modules/loggers/mod_log_config.c:791,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:801,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 811
    functionName: log_request_time
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_time_usec
    - strcmp
    - apr_palloc
    - apr_time_as_msec
    - apr_time_sec
    - get_request_end_time
    - log_request_time_custom
    - apr_time_msec
    - ap_explode_recent_localtime
    - strncmp
    - apr_snprintf
    linkageType: ''
    returnType: char
    signature: char *log_request_time(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:815,1
    - Dst: get_request_end_time
      Src: /src/httpd/modules/loggers/mod_log_config.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: log_request_duration_microseconds
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - get_request_end_time
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *log_request_duration_microseconds(request_rec *r, char *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_request_end_time
      Src: /src/httpd/modules/loggers/mod_log_config.c:821,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:822,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/loggers/mod_log_config.c:823,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:825,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/loggers/mod_log_config.c:826,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:828,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 835
    functionName: log_request_duration_scaled
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_time_as_msec
    - get_request_end_time
    - strcasecmp
    - apr_psprintf
    - apr_time_sec
    linkageType: ''
    returnType: char
    signature: char *log_request_duration_scaled(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: log_virtual_host
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_virtual_host(request_rec *r, char *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:849,1
    - Dst: ap_default_port
      Src: /src/httpd/modules/loggers/mod_log_config.c:850,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:852,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:855,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/loggers/mod_log_config.c:862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 863
    functionName: log_server_port
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_itoa
    - ap_default_port
    linkageType: ''
    returnType: char
    signature: char *log_server_port(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:870,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/loggers/mod_log_config.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: log_server_name
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_get_server_name
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_server_name(request_rec *r, char *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:875,1
    - Dst: ap_append_pid
      Src: /src/httpd/modules/loggers/mod_log_config.c:876,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:878,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:878,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/modules/loggers/mod_log_config.c:880,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_config.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: log_pid_tid
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_append_pid
    - apr_psprintf
    - apr_os_thread_current
    linkageType: ''
    returnType: char
    signature: char *log_pid_tid(request_rec *r, char *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: log_connection_status
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_connection_status(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_itoa
      Src: /src/httpd/modules/loggers/mod_log_config.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: log_requests_on_connection
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_itoa
    linkageType: ''
    returnType: char
    signature: char *log_requests_on_connection(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/loggers/mod_log_config.c:916,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/loggers/mod_log_config.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: log_ssl_var
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_ssl_var_lookup
    - ap_escape_logitem
    linkageType: ''
    returnType: char
    signature: char *log_ssl_var(request_rec *r, char *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:924,1
    - Dst: log_ssl_var
      Src: /src/httpd/modules/loggers/mod_log_config.c:925,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:926,1
    - Dst: log_ssl_var
      Src: /src/httpd/modules/loggers/mod_log_config.c:927,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:928,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:928,1
    - Dst: log_ssl_var
      Src: /src/httpd/modules/loggers/mod_log_config.c:929,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:930,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:930,1
    - Dst: log_ssl_var
      Src: /src/httpd/modules/loggers/mod_log_config.c:931,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:932,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:935,1
    - Dst: log_ssl_var
      Src: /src/httpd/modules/loggers/mod_log_config.c:936,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 938
    functionName: log_ssl_var_short
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - log_ssl_var
    linkageType: ''
    returnType: char
    signature: char *log_ssl_var_short(request_rec *r, char *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:962,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - p
    - it
    - sa
    argTypes:
    - apr_pool_t*
    - log_format_item*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 1005
    functionName: parse_log_misc_string
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *parse_log_misc_string(apr_pool_t *p, log_format_item *it,\n
      \                                  const char **sa)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: parse_log_misc_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1013,1
    - Dst: ap_getword
      Src: /src/httpd/modules/loggers/mod_log_config.c:1056,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/loggers/mod_log_config.c:1070,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1074,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/loggers/mod_log_config.c:1076,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1082,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1088,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/loggers/mod_log_config.c:1095,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 3
    argNames:
    - p
    - it
    - sa
    argTypes:
    - apr_pool_t*
    - log_format_item*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1108
    functionName: parse_log_item
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    - apr_pstrcat
    - apr_isdigit
    - apr_array_push
    - ap_getword
    - apr_array_make
    - parse_log_misc_string
    linkageType: ''
    returnType: char
    signature: char *parse_log_item(apr_pool_t *p, log_format_item *it, const char
      **sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1112,1
    - Dst: parse_log_item
      Src: /src/httpd/modules/loggers/mod_log_config.c:1116,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/loggers/mod_log_config.c:1116,1
    - Dst: parse_log_item
      Src: /src/httpd/modules/loggers/mod_log_config.c:1123,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/loggers/mod_log_config.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - s
    - err
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1125
    functionName: parse_log_string
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - parse_log_item
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *parse_log_string(apr_pool_t *p, const char *s,
      const char **err)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - r
    - orig
    - item
    argTypes:
    - request_rec*
    - request_rec*
    - log_format_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1161
    functionName: process_item
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *process_item(request_rec *r, request_rec *orig,\n                          log_format_item
      *item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/loggers/mod_log_config.c:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - buffered_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1170
    functionName: flush_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    linkageType: ''
    returnType: void
    signature: void flush_log(buffered_log *buf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1197,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1202,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/loggers/mod_log_config.c:1209,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_config.c:1211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1211,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1219,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1220,1
    - Dst: process_item
      Src: /src/httpd/modules/loggers/mod_log_config.c:1232,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_config.c:1233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_config.c:1237,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1237,1
    - Dst: log_writer
      Src: /src/httpd/modules/loggers/mod_log_config.c:1241,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_config.c:1243,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - r
    - cls
    - default_format
    argTypes:
    - request_rec*
    - config_log_state*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1247
    functionName: config_log_transaction
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - process_item
    - apr_table_get
    - ap_expr_exec
    - strlen
    - log_writer
    linkageType: ''
    returnType: int
    signature: "int config_log_transaction(request_rec *r, config_log_state *cls,\n
      \                                 apr_array_header_t *default_format)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1251,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1259,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1260,1
    - Dst: config_log_transaction
      Src: /src/httpd/modules/loggers/mod_log_config.c:1270,1
    - Dst: config_log_transaction
      Src: /src/httpd/modules/loggers/mod_log_config.c:1280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1286
    functionName: multi_log_transaction
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - config_log_transaction
    - ap_set_module_config
    - apr_pcalloc
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int multi_log_transaction(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1297,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1298,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1302,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/loggers/mod_log_config.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1306
    functionName: make_config_log_state
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_table_make
    - apr_table_setn
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *make_config_log_state(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/loggers/mod_log_config.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: merge_config_log_state
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    linkageType: ''
    returnType: void
    signature: void *merge_config_log_state(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1336,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1345,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/loggers/mod_log_config.c:1347,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cmd
    - dummy
    - fmt
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1355
    functionName: log_format
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - parse_log_string
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *log_format(cmd_parms *cmd, void *dummy, const char *fmt,\n                              const
      char *name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1362,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/loggers/mod_log_config.c:1366,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:1370,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/loggers/mod_log_config.c:1375,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/loggers/mod_log_config.c:1377,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/loggers/mod_log_config.c:1381,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - cmd
    - dummy
    - fn
    - fmt
    - envclause
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1358
    functionDepth: 3
    functionLinenumber: 1358
    functionLinenumberEnd: 1404
    functionName: add_custom_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_array_push
    - ap_get_module_config
    - apr_pstrdup
    - parse_log_string
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *add_custom_log(cmd_parms *cmd, void *dummy, const char *fn,\n
      \                                 const char *fmt, const char *envclause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1408,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/loggers/mod_log_config.c:1414,1
    - Dst: add_custom_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - cmd
    - dummy
    - fn
    - fmt
    - envclause
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1406
    functionDepth: 4
    functionLinenumber: 1406
    functionLinenumberEnd: 1431
    functionName: add_global_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - add_custom_log
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *add_global_log(cmd_parms *cmd, void *dummy, const char *fn,\n
      \                                 const char *fmt, const char *envclause)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_custom_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dummy
    - fn
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1433
    functionDepth: 4
    functionLinenumber: 1433
    functionLinenumberEnd: 1437
    functionName: set_transfer_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - add_custom_log
    linkageType: ''
    returnType: char
    signature: "char *set_transfer_log(cmd_parms *cmd, void *dummy,\n                                    const
      char *fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_set_writer_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1443,1
    - Dst: ap_log_set_writer
      Src: /src/httpd/modules/loggers/mod_log_config.c:1444,1
    - Dst: ap_log_set_writer_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1447,1
    - Dst: ap_log_set_writer
      Src: /src/httpd/modules/loggers/mod_log_config.c:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1451
    functionName: set_buffered_logs_on
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_log_set_writer_init
    - ap_log_set_writer
    linkageType: ''
    returnType: char
    signature: char *set_buffered_logs_on(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_writer_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s
    - p
    - cls
    - default_format
    argTypes:
    - server_rec*
    - apr_pool_t*
    - config_log_state*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1485
    functionName: open_config_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - log_writer_init
    linkageType: ''
    returnType: config_log_state
    signature: "config_log_state *open_config_log(server_rec *s, apr_pool_t *p,\n
      \                                        config_log_state *cls,\n                                         apr_array_header_t
      *default_format)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1490,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1497,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1499,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1504,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1513,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1515,1
    - Dst: open_config_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1519,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_config.c:1531,1
    - Dst: parse_log_string
      Src: /src/httpd/modules/loggers/mod_log_config.c:1533,1
    - Dst: open_config_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1537,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1545
    functionName: open_multi_logs
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - open_config_log
    - apr_table_get
    - parse_log_string
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int open_multi_logs(server_rec *s, apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1561,1
    - Dst: flush_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1578
    functionName: flush_all_logs
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    - flush_log
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t flush_all_logs(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1587,1
    - Dst: open_multi_logs
      Src: /src/httpd/modules/loggers/mod_log_config.c:1593,1
    - Dst: open_multi_logs
      Src: /src/httpd/modules/loggers/mod_log_config.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pc
    - p
    - pt
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1581
    functionDepth: 4
    functionLinenumber: 1581
    functionLinenumberEnd: 1602
    functionName: init_config_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - open_multi_logs
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int init_config_log(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt,
      server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/loggers/mod_log_config.c:1608,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1615,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/loggers/mod_log_config.c:1625,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_config.c:1629,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1642
    functionName: init_child
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - APLOGNO
    - ap_log_error
    - apr_thread_mutex_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void init_child(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1647,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/loggers/mod_log_config.c:1651,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_config.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - tag
    - handler
    - def
    argTypes:
    - apr_pool_t*
    - char*
    - ap_log_handler_fn_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1652
    functionName: ap_register_log_handler
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strlen
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_register_log_handler(apr_pool_t *p, char *tag,\n                                    ap_log_handler_fn_t
      *handler, int def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ap_log_writer_init*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1660
    functionName: ap_log_set_writer_init
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ap_log_writer_init
    signature: ap_log_writer_init *ap_log_set_writer_init(ap_log_writer_init *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ap_log_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1667
    functionName: ap_log_set_writer
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ap_log_writer
    signature: ap_log_writer *ap_log_set_writer(ap_log_writer *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1687,1
    - Dst: memcpy
      Src: /src/httpd/modules/loggers/mod_log_config.c:1690,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/loggers/mod_log_config.c:1695,1
    - Dst: errorlog_provider_data*::provider::writer
      Src: /src/httpd/modules/loggers/mod_log_config.c:1711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 6
    argNames:
    - r
    - handle
    - strs
    - strl
    - nelts
    - len
    argTypes:
    - request_rec*
    - void*
    - char**
    - int*
    - int
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1716
    functionName: ap_default_log_writer
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - errorlog_provider_data*::provider::writer
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_default_log_writer( request_rec *r,\n                           void
      *handle,\n                           const char **strs,\n                           int
      *strl,\n                           int nelts,\n                           apr_size_t
      len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/loggers/mod_log_config.c:1727,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/loggers/mod_log_config.c:1728,1
    - Dst: ap_open_piped_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1735,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1740,1
    - Dst: ap_piped_log_write_fd
      Src: /src/httpd/modules/loggers/mod_log_config.c:1742,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/loggers/mod_log_config.c:1748,1
    - Dst: ap_errorlog_provider*::init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1753,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1759,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1763,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/loggers/mod_log_config.c:1769,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_config.c:1774,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1774,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/loggers/mod_log_config.c:1778,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_config.c:1780,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1780,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - p
    - s
    - name
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1790
    functionName: ap_default_log_writer_init
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pcalloc
    - ap_piped_log_write_fd
    - ap_open_piped_log
    - ap_lookup_provider
    - APLOGNO
    - apr_pstrmemdup
    - ap_errorlog_provider*::init
    - ap_log_error
    - apr_file_open
    - ap_strchr_c
    linkageType: ''
    returnType: void
    signature: "void *ap_default_log_writer_init(apr_pool_t *p, server_rec *s,\n                                        const
      char* name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1795,1
    - Dst: ap_default_log_writer_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1796,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/loggers/mod_log_config.c:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p
    - s
    - name
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1804
    functionName: ap_buffered_log_writer_init
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_default_log_writer_init
    - apr_array_push
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void *ap_buffered_log_writer_init(apr_pool_t *p, server_rec *s,\n
      \                                       const char* name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_ANYLOCK_LOCK
      Src: /src/httpd/modules/loggers/mod_log_config.c:1819,1
    - Dst: flush_log
      Src: /src/httpd/modules/loggers/mod_log_config.c:1824,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_config.c:1833,1
    - Dst: memcpy
      Src: /src/httpd/modules/loggers/mod_log_config.c:1835,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/loggers/mod_log_config.c:1839,1
    - Dst: memcpy
      Src: /src/httpd/modules/loggers/mod_log_config.c:1844,1
    - Dst: APR_ANYLOCK_UNLOCK
      Src: /src/httpd/modules/loggers/mod_log_config.c:1851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - r
    - handle
    - strs
    - strl
    - nelts
    - len
    argTypes:
    - request_rec*
    - void*
    - char**
    - int*
    - int
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: ap_buffered_log_writer
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - APR_ANYLOCK_UNLOCK
    - apr_file_write_full
    - APR_ANYLOCK_LOCK
    - flush_log
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_buffered_log_writer(request_rec *r,\n                                           void
      *handle,\n                                           const char **strs,\n                                           int
      *strl,\n                                           int nelts,\n                                           apr_size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_log_config.c:1859,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1862,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1863,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1864,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1865,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1866,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1867,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1868,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1869,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1870,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1871,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1872,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1873,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1874,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1875,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1876,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1877,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1878,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1879,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1880,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1881,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1882,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1883,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1884,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1885,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1886,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1887,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1888,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1889,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1890,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1891,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1892,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1894,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1895,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1901,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_log_config.c:1902,1
    - Dst: ap_log_set_writer_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1906,1
    - Dst: ap_log_set_writer
      Src: /src/httpd/modules/loggers/mod_log_config.c:1907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1911
    functionName: log_pre_config
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_log_set_writer_init
    - log_pfn_register
    - ap_log_set_writer
    linkageType: ''
    returnType: int
    signature: int log_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/loggers/mod_log_config.c:1919,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/loggers/mod_log_config.c:1920,1
    - Dst: apr_stat
      Src: /src/httpd/modules/loggers/mod_log_config.c:1923,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_config.c:1928,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_config.c:1929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - p
    - s
    - cls
    argTypes:
    - apr_pool_t*
    - server_rec*
    - config_log_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1937
    functionName: check_log_dir
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_make_dirstr_parent
    - APLOGNO
    - ap_log_error
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int check_log_dir(apr_pool_t *p, server_rec *s, config_log_state *cls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1943,1
    - Dst: check_log_dir
      Src: /src/httpd/modules/loggers/mod_log_config.c:1953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1939
    functionDepth: 2
    functionLinenumber: 1939
    functionLinenumberEnd: 1960
    functionName: log_check_config
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - check_log_dir
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int log_check_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1964,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/modules/loggers/mod_log_config.c:1965,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/loggers/mod_log_config.c:1966,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/modules/loggers/mod_log_config.c:1967,1
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/loggers/mod_log_config.c:1968,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/loggers/mod_log_config.c:1976,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_log_config.c:1977,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_log_config.c:1978,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_log_config.c:1979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1980
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_log_config.c
    functionUses: 0
    functionsReached:
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - apr_hash_make
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_log_transaction
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: make_forensic_log_scfg
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *make_forensic_log_scfg(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:61,1
    - Dst: cfg::cfg
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:63,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - parent
    - new
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: merge_forensic_log_scfg
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - cfg::cfg
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_forensic_log_scfg(apr_pool_t *p, void *parent, void *new)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:73,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:80,1
    - Dst: ap_open_piped_log
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:82,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:84,1
    - Dst: ap_piped_log_write_fd
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:88,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:91,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:94,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:97,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: open_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_open_piped_log
    - ap_piped_log_write_fd
    - APLOGNO
    - ap_log_error
    - ap_get_module_config
    - apr_file_open
    linkageType: ''
    returnType: int
    signature: int open_log(server_rec *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open_log
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pc
    - p
    - pt
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: log_init
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - open_log
    linkageType: ''
    returnType: int
    signature: "int log_init(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt,\n                     server_rec
      *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:125,1
    - Dst: TEST_CHAR
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:126,1
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:127,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:129,1
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - q
    - e
    - p
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: log_escape
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - ap_bin2hex
    - ap_assert
    - TEST_CHAR
    linkageType: ''
    returnType: char
    signature: char *log_escape(char *q, const char *e, const char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: count_string
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - TEST_CHAR
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t count_string(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_string
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:163,1
    - Dst: count_string
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h_
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: count_headers
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - count_string
    linkageType: ''
    returnType: int
    signature: int count_headers(void *h_, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_escape
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:175,1
    - Dst: log_escape
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - h_
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: log_headers
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - log_escape
    linkageType: ''
    returnType: int
    signature: int log_headers(void *h_, const char *key, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:184,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:194,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:197,1
    - Dst: getpid
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:197,1
    - Dst: time
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:198,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:198,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:200,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:205,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:207,1
    - Dst: count_string
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:207,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:208,1
    - Dst: strcpy
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:213,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:214,1
    - Dst: log_escape
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:216,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:218,1
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:220,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:223,1
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:224,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 229
    functionName: log_before
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_palloc
    - ap_assert
    - strcpy
    - apr_file_write_full
    - getpid
    - time
    - ap_set_module_config
    - apr_table_setn
    - log_escape
    - apr_psprintf
    - apr_table_get
    - ap_get_module_config
    - count_string
    - strlen
    - apr_atomic_inc32
    linkageType: ''
    returnType: int
    signature: int log_before(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:233,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:235,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:245,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:246,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:247,1
    - Dst: ap_assert
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: log_after
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_assert
    - apr_file_write_full
    - ap_get_module_config
    - strlen
    linkageType: ''
    returnType: int
    signature: int log_after(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - fn
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: set_forensic_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_forensic_log(cmd_parms *cmd, void *dummy, const char *fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_open_logs
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:273,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:274,1
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/loggers/mod_log_forensic.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_log_forensic.c
    functionUses: 0
    functionsReached:
    - ap_hook_log_transaction
    - ap_hook_open_logs
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: journald_info_get_priority
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int journald_info_get_priority(int level)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - ap_errorlog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: journald_info_get_pool
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_pool_t
    signature: apr_pool_t *journald_info_get_pool(const ap_errorlog_info *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/loggers/mod_journald.c:88,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/loggers/mod_journald.c:89,1
    - Dst: va_end
      Src: /src/httpd/modules/loggers/mod_journald.c:90,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_journald.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pool
    - iov
    - format
    - len
    argTypes:
    - apr_pool_t*
    - struct iovec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: iovec_add_entry
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached:
    - va_end
    - strlen
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t iovec_add_entry(apr_pool_t *pool, struct iovec *iov,\n
      \                                   const char *format, int len, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/loggers/mod_journald.c:112,1
    - Dst: sd_journal_send
      Src: /src/httpd/modules/loggers/mod_journald.c:114,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/loggers/mod_journald.c:119,1
    - Dst: IOVEC_ADD_LEN
      Src: /src/httpd/modules/loggers/mod_journald.c:130,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:131,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:132,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:135,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:139,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:140,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:141,1
    - Dst: IOVEC_ADD
      Src: /src/httpd/modules/loggers/mod_journald.c:142,1
    - Dst: sd_journal_sendv
      Src: /src/httpd/modules/loggers/mod_journald.c:145,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/loggers/mod_journald.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 7
    argNames:
    - pool
    - log
    - errstr
    - len
    - priority
    - s
    - r
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - int
    - int
    - server_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 147
    functionName: journald_log
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached:
    - IOVEC_ADD_LEN
    - apr_pool_tag
    - apr_pool_create
    - sd_journal_send
    - sd_journal_sendv
    - IOVEC_ADD
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: "void journald_log(apr_pool_t *pool, const char *log,\n                         const
      char *errstr, int len, int priority,\n                         const server_rec
      *s, const request_rec *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FORMAT
    - ','
    - VAR
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: IOVEC_ADD_LEN
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IOVEC_ADD_LEN(FORMAT, VAR, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FORMAT
    - ','
    - VAR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: IOVEC_ADD
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IOVEC_ADD(FORMAT, VAR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: journald_error_log_init
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *journald_error_log_init(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: journald_info_get_pool
      Src: /src/httpd/modules/loggers/mod_journald.c:165,1
    - Dst: sd_journal_send
      Src: /src/httpd/modules/loggers/mod_journald.c:169,1
    - Dst: journald_info_get_priority
      Src: /src/httpd/modules/loggers/mod_journald.c:170,1
    - Dst: journald_log
      Src: /src/httpd/modules/loggers/mod_journald.c:175,1
    - Dst: journald_info_get_priority
      Src: /src/httpd/modules/loggers/mod_journald.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - info
    - handle
    - errstr
    - len
    argTypes:
    - ap_errorlog_info*
    - void*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: journald_error_log
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached:
    - journald_log
    - journald_info_get_pool
    - journald_info_get_priority
    - sd_journal_send
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t journald_error_log(const ap_errorlog_info *info,\n                                       void
      *handle, const char *errstr,\n                                       apr_size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: journald_error_log_parse
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *journald_error_log_parse(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/loggers/mod_journald.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: journald_register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_journald.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void journald_register_hooks(apr_pool_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/httpd/modules/loggers/mod_syslog.c:113,1
    - Dst: strchr
      Src: /src/httpd/modules/loggers/mod_syslog.c:121,1
    - Dst: strlen
      Src: /src/httpd/modules/loggers/mod_syslog.c:129,1
    - Dst: openlog
      Src: /src/httpd/modules/loggers/mod_syslog.c:134,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/loggers/mod_syslog.c:137,1
    - Dst: openlog
      Src: /src/httpd/modules/loggers/mod_syslog.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: syslog_error_log_init
    functionSourceFile: /src/httpd/modules/loggers/mod_syslog.c
    functionUses: 0
    functionsReached:
    - strlen
    - openlog
    - strncasecmp
    - strchr
    linkageType: ''
    returnType: void
    signature: void *syslog_error_log_init(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/httpd/modules/loggers/mod_syslog.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - info
    - handle
    - errstr
    - len
    argTypes:
    - ap_errorlog_info*
    - void*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: syslog_error_log
    functionSourceFile: /src/httpd/modules/loggers/mod_syslog.c
    functionUses: 0
    functionsReached:
    - syslog
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t syslog_error_log(const ap_errorlog_info *info,\n                                     void
      *handle, const char *errstr,\n                                     apr_size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/loggers/mod_syslog.c:164,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/loggers/mod_syslog.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: syslog_error_log_parse
    functionSourceFile: /src/httpd/modules/loggers/mod_syslog.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *syslog_error_log_parse(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/loggers/mod_syslog.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: syslog_register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_syslog.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void syslog_register_hooks(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_log_debug.c:58,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/loggers/mod_log_debug.c:65,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/loggers/mod_log_debug.c:69,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_debug.c:71,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_debug.c:71,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/loggers/mod_log_debug.c:78,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_debug.c:80,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_debug.c:80,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/loggers/mod_log_debug.c:82,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_debug.c:84,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_debug.c:90,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - r
    - hookname
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: do_debug_log
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APR_ARRAY_IDX
    - ap_expr_str_exec
    - APLOGNO
    - APLOGrdebug
    - ap_get_module_config
    - ap_expr_exec
    linkageType: ''
    returnType: void
    signature: void do_debug_log(request_rec *r, const char *hookname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: log_debug_log_transaction
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_log_transaction(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - lookup_uri
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: log_debug_quick_handler
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_quick_handler(request_rec *r, int lookup_uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: log_debug_handler
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: log_debug_pre_translate_name
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_pre_translate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: log_debug_translate_name
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_translate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: log_debug_map_to_storage
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_map_to_storage(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: log_debug_fixups
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: log_debug_type_checker
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_type_checker(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: log_debug_check_access
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_check_access(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: log_debug_check_access_ex
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_check_access_ex(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: log_debug_check_authn
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_check_authn(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: log_debug_check_authz
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: int
    signature: int log_debug_check_authz(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_debug_log
      Src: /src/httpd/modules/loggers/mod_log_debug.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: log_debug_insert_filter
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - do_debug_log
    linkageType: ''
    returnType: void
    signature: void log_debug_insert_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_debug.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dirspec
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: log_debug_create_dconf
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *log_debug_create_dconf(apr_pool_t *p, char *dirspec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_debug.c:180,1
    - Dst: entries::entries
      Src: /src/httpd/modules/loggers/mod_log_debug.c:185,1
    - Dst: entries::entries
      Src: /src/httpd/modules/loggers/mod_log_debug.c:186,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/loggers/mod_log_debug.c:190,1
    - Dst: entries::entries
      Src: /src/httpd/modules/loggers/mod_log_debug.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - parent_conf
    - new_conf
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: log_debug_merge_dconf
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    - entries::entries
    linkageType: ''
    returnType: void
    signature: void *log_debug_merge_dconf(apr_pool_t *p, void *parent_conf, void
      *new_conf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_log_debug.c:198,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/loggers/mod_log_debug.c:206,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_debug.c:210,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/loggers/mod_log_debug.c:218,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_debug.c:222,1
    - Dst: strcmp
      Src: /src/httpd/modules/loggers/mod_log_debug.c:229,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/loggers/mod_log_debug.c:229,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_debug.c:232,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/loggers/mod_log_debug.c:235,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/loggers/mod_log_debug.c:237,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_debug.c:241,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_log_debug.c:246,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/loggers/mod_log_debug.c:253,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/loggers/mod_log_debug.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - cmd
    - dconf_
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 258
    functionName: cmd_log_message
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcmp
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - strcasecmp
    - apr_psprintf
    - apr_array_make
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *cmd_log_message(cmd_parms *cmd, void *dconf_, const char *arg1,\n
      \                                  const char *arg2, const char *arg3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/loggers/mod_log_debug.c:270,1
    - Dst: ap_hook_quick_handler
      Src: /src/httpd/modules/loggers/mod_log_debug.c:271,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/loggers/mod_log_debug.c:272,1
    - Dst: ap_hook_pre_translate_name
      Src: /src/httpd/modules/loggers/mod_log_debug.c:273,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/loggers/mod_log_debug.c:274,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/loggers/mod_log_debug.c:275,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/loggers/mod_log_debug.c:276,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/loggers/mod_log_debug.c:277,1
    - Dst: ap_hook_check_access
      Src: /src/httpd/modules/loggers/mod_log_debug.c:278,1
    - Dst: ap_hook_check_access_ex
      Src: /src/httpd/modules/loggers/mod_log_debug.c:279,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/loggers/mod_log_debug.c:280,1
    - Dst: ap_hook_check_authz
      Src: /src/httpd/modules/loggers/mod_log_debug.c:281,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/loggers/mod_log_debug.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_log_debug.c
    functionUses: 0
    functionsReached:
    - ap_hook_quick_handler
    - ap_hook_check_authn
    - ap_hook_type_checker
    - ap_hook_pre_translate_name
    - ap_hook_translate_name
    - ap_hook_map_to_storage
    - ap_hook_check_access_ex
    - ap_hook_handler
    - ap_hook_fixups
    - ap_hook_check_authz
    - ap_hook_log_transaction
    - ap_hook_insert_filter
    - ap_hook_check_access
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - bytes
    argTypes:
    - conn_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ap_logio_add_bytes_out
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_logio_add_bytes_out(conn_rec *c, apr_off_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - bytes
    argTypes:
    - conn_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ap_logio_add_bytes_in
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_logio_add_bytes_in(conn_rec *c, apr_off_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ap_logio_get_last_bytes
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t ap_logio_get_last_bytes(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:107,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/loggers/mod_logio.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: log_bytes_in
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *log_bytes_in(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:115,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/loggers/mod_logio.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: log_bytes_out
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *log_bytes_out(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:123,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/loggers/mod_logio.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: log_bytes_combined
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *log_bytes_combined(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:131,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_logio.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: log_ttfu
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *log_ttfu(request_rec *r, char *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:143,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/loggers/mod_logio.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: log_ttfb
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *log_ttfb(request_rec *r, char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: logio_transaction
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int logio_transaction(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:180,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/loggers/mod_logio.c:182,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/loggers/mod_logio.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: logio_in_filter
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_length
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t logio_in_filter(ap_filter_t *f,\n                                    apr_bucket_brigade
      *bb,\n                                    ap_input_mode_t mode,\n                                    apr_read_type_e
      block,\n                                    apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_logio.c:198,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:200,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: logio_pre_conn
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - ap_set_module_config
    - apr_pcalloc
    linkageType: ''
    returnType: int
    signature: int logio_pre_conn(conn_rec *c, void *csd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/loggers/mod_logio.c:209,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_logio.c:211,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_logio.c:214,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_logio.c:215,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_logio.c:216,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_logio.c:217,1
    - Dst: log_pfn_register
      Src: /src/httpd/modules/loggers/mod_logio.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: logio_pre_config
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    - log_pfn_register
    linkageType: ''
    returnType: int
    signature: int logio_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/loggers/mod_logio.c:233,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/loggers/mod_logio.c:235,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:239,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:242,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_logio.c:245,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:246,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/loggers/mod_logio.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: logio_ttfu_filter
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_time_now
    - apr_pcalloc
    - ap_set_module_config
    - apr_brigade_length
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t logio_ttfu_filter(ap_filter_t *f,\n                                      apr_bucket_brigade
      *bb,\n                                      ap_input_mode_t mode,\n                                      apr_read_type_e
      block,\n                                      apr_off_t readbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:257,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:260,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_logio.c:263,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:264,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/loggers/mod_logio.c:267,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:270,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/loggers/mod_logio.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: logio_ttfb_filter
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_time_now
    - apr_pcalloc
    - ap_set_module_config
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t logio_ttfb_filter(ap_filter_t *f, apr_bucket_brigade *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/loggers/mod_logio.c:276,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:279,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: logio_insert_filter
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - ap_add_input_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void logio_insert_filter(request_rec * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - in_dir_config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: logio_track_ttfu
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *logio_track_ttfu(cmd_parms *cmd, void *in_dir_config, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - in_dir_config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: logio_track_ttfb
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *logio_track_ttfb(cmd_parms *cmd, void *in_dir_config, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_logio.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: create_logio_dirconf
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_logio_dirconf (apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/loggers/mod_logio.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: merge_logio_dirconf
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_logio_dirconf(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/loggers/mod_logio.c:338,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/loggers/mod_logio.c:339,1
    - Dst: ap_hook_log_transaction
      Src: /src/httpd/modules/loggers/mod_logio.c:340,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:342,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:345,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:346,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/loggers/mod_logio.c:348,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_logio.c:351,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_logio.c:352,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_logio.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_logio.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_connection
    - ap_hook_pre_config
    - ap_register_output_filter
    - ap_register_input_filter
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_log_transaction
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/loggers/mod_log_json.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - size
    - baton
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: log_json_dump_bb
    functionSourceFile: /src/httpd/modules/loggers/mod_log_json.c
    functionUses: 0
    functionsReached:
    - apr_brigade_write
    linkageType: ''
    returnType: int
    signature: int log_json_dump_bb(const char *buffer, size_t size, void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/httpd/modules/loggers/mod_log_json.c:77,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:79,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:80,1
    - Dst: json_null
      Src: /src/httpd/modules/loggers/mod_log_json.c:80,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:81,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:82,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:83,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:84,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/loggers/mod_log_json.c:84,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:85,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:85,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:86,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:86,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:87,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:87,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:88,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:88,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:89,1
    - Dst: json_integer
      Src: /src/httpd/modules/loggers/mod_log_json.c:89,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:92,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:92,1
    - Dst: json_object
      Src: /src/httpd/modules/loggers/mod_log_json.c:95,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:96,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:97,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/loggers/mod_log_json.c:97,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:98,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/loggers/mod_log_json.c:100,1
    - Dst: json_object
      Src: /src/httpd/modules/loggers/mod_log_json.c:101,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:103,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:104,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/loggers/mod_log_json.c:104,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:106,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:107,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/loggers/mod_log_json.c:107,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:109,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:110,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/loggers/mod_log_json.c:110,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:112,1
    - Dst: json_string
      Src: /src/httpd/modules/loggers/mod_log_json.c:113,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/loggers/mod_log_json.c:113,1
    - Dst: json_object_set_new_nocheck
      Src: /src/httpd/modules/loggers/mod_log_json.c:116,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/loggers/mod_log_json.c:119,1
    - Dst: json_dump_callback
      Src: /src/httpd/modules/loggers/mod_log_json.c:120,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_json.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_json.c:124,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/loggers/mod_log_json.c:125,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/loggers/mod_log_json.c:129,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/loggers/mod_log_json.c:131,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/loggers/mod_log_json.c:132,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/loggers/mod_log_json.c:133,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/loggers/mod_log_json.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 138
    functionName: log_json
    functionSourceFile: /src/httpd/modules/loggers/mod_log_json.c
    functionUses: 0
    functionsReached:
    - json_object_set_new_nocheck
    - ap_ssl_conn_is_ssl
    - ap_log_rerror
    - json_dump_callback
    - apr_brigade_destroy
    - apr_brigade_pflatten
    - APLOGNO
    - apr_itoa
    - json_string
    - apr_brigade_create
    - json_null
    - apr_table_get
    - json_integer
    - ap_ssl_var_lookup
    - json_object
    linkageType: ''
    returnType: char
    signature: 'char *

      log_json(request_rec *r, char *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/loggers/mod_log_json.c:143,1
    - Dst: log_json_register
      Src: /src/httpd/modules/loggers/mod_log_json.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: log_json_pre_config
    functionSourceFile: /src/httpd/modules/loggers/mod_log_json.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    - log_json_register
    linkageType: ''
    returnType: int
    signature: int log_json_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/loggers/mod_log_json.c:155,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/loggers/mod_log_json.c:157,1
    - Dst: json_object_seed
      Src: /src/httpd/modules/loggers/mod_log_json.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: log_json_post_config
    functionSourceFile: /src/httpd/modules/loggers/mod_log_json.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - json_object_seed
    linkageType: ''
    returnType: int
    signature: "int log_json_post_config(\n    apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/loggers/mod_log_json.c:174,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/loggers/mod_log_json.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/loggers/mod_log_json.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SSL_DECLARE
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SSL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: SSL_DECLARE
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: SSL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SSL_DECLARE
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: SSL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SSL_DECLARE
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SSL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DECLARE_NONSTD(type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_CERTID_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: ssl_stapling_certid_free
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - OCSP_CERTID_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_stapling_certid_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: ssl_stapling_certinfo_hash_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    linkageType: ''
    returnType: void
    signature: void ssl_stapling_certinfo_hash_init(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:97,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:99,1
    - Dst: SSL_CTX_get_extra_chain_certs
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:102,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:107,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:108,1
    - Dst: X509_check_issued
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:109,1
    - Dst: X509_up_ref
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:110,1
    - Dst: X509_STORE_CTX_new
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:115,1
    - Dst: X509_STORE_CTX_init
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:116,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:117,1
    - Dst: X509_STORE_CTX_get1_issuer
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:120,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:122,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - mctx
    - x
    argTypes:
    - modssl_ctx_t*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: stapling_get_issuer
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_check_issued
    - X509_up_ref
    - X509_STORE_CTX_new
    - X509_STORE_CTX_init
    - X509_STORE_CTX_get1_issuer
    - X509_STORE_CTX_free
    - SSL_CTX_get_extra_chain_certs
    - STACK_OF
    - X509_STORE_CTX_cleanup
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: X509
    signature: X509 *stapling_get_issuer(modssl_ctx_t *mctx, X509 *x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:134,1
    - Dst: stapling_get_issuer
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:141,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:147,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:147,1
    - Dst: X509_digest
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:155,1
    - Dst: EVP_sha1
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:155,1
    - Dst: modssl_cert_get_pem
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:160,1
    - Dst: ap_ssl_ocsp_prime
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:165,1
    - Dst: ssl_run_init_stapling_status
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:166,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:169,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:170,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:180,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:188,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:189,1
    - Dst: OCSP_cert_to_id
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:197,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:199,1
    - Dst: X509_get1_ocsp
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:206,1
    - Dst: OCSP_CERTID_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:208,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:209,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:210,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:217,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:218,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:221,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:225,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:225,1
    - Dst: X509_email_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:226,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:229,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:233,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:236,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 5
    argNames:
    - s
    - p
    - ptemp
    - mctx
    - x
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 238
    functionName: ssl_stapling_init_cert
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - OCSP_cert_to_id
    - EVP_sha1
    - ap_ssl_ocsp_prime
    - stapling_get_issuer
    - modssl_cert_get_pem
    - ssl_log_xerror
    - X509_digest
    - X509_email_free
    - X509_get1_ocsp
    - OCSP_CERTID_free
    - ap_log_error
    - STACK_OF
    - SSL_CTX_set_tlsext_status_cb
    - apr_hash_get
    - memcpy
    - apr_hash_set
    - ssl_run_init_stapling_status
    - X509_free
    - apr_pcalloc
    - APLOGNO
    - sk_OPENSSL_STRING_value
    - apr_pstrdup
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int ssl_stapling_init_cert(server_rec *s, apr_pool_t *p, apr_pool_t
      *ptemp,\n                           modssl_ctx_t *mctx, X509 *x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:244,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:247,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - idx
    - idx_len
    - mctx
    - ssl
    argTypes:
    - server_rec*
    - UCHAR*
    - apr_size_t
    - modssl_ctx_t*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: stapling_get_certinfo
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_hash_get
    linkageType: ''
    returnType: certinfo
    signature: "certinfo *stapling_get_certinfo(server_rec *s, UCHAR *idx, apr_size_t
      idx_len,\n                                       modssl_ctx_t *mctx, SSL *ssl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:266,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:273,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:276,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:283,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:283,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:293,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:297,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:300,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:302,1
    - Dst: stapling_cache_mutex_on
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:305,1
    - Dst: SSLModConfigRec*::stapling_cache::store
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:306,1
    - Dst: stapling_cache_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:310,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:312,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 6
    argNames:
    - s
    - mctx
    - rsp
    - cinf
    - ok
    - pool
    argTypes:
    - server_rec*
    - modssl_ctx_t*
    - OCSP_RESPONSE*
    - certinfo*
    - BOOL
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 318
    functionName: stapling_cache_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - SSLModConfigRec*::stapling_cache::store
    - APLOGNO
    - stapling_cache_mutex_off
    - myModConfig
    - ap_log_error
    - stapling_cache_mutex_on
    - i2d_OCSP_RESPONSE
    linkageType: ''
    returnType: BOOL
    signature: "BOOL stapling_cache_response(server_rec *s, modssl_ctx_t *mctx,\n
      \                                   OCSP_RESPONSE *rsp, certinfo *cinf,\n                                    BOOL
      ok, apr_pool_t *pool)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:324,1
    - Dst: stapling_cache_mutex_on
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:332,1
    - Dst: SSLModConfigRec*::stapling_cache::retrieve
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:333,1
    - Dst: stapling_cache_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:337,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:339,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:339,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:347,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:347,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:358,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:360,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:360,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - s
    - prsp
    - pok
    - cinf
    - pool
    argTypes:
    - server_rec*
    - OCSP_RESPONSE**
    - BOOL*
    - certinfo*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 368
    functionName: stapling_get_cached_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - stapling_cache_mutex_off
    - APLOGNO
    - d2i_OCSP_RESPONSE
    - myModConfig
    - SSLModConfigRec*::stapling_cache::retrieve
    - ap_log_error
    - stapling_cache_mutex_on
    linkageType: ''
    returnType: void
    signature: "void stapling_get_cached_response(server_rec *s, OCSP_RESPONSE **prsp,\n
      \                                        BOOL *pok, certinfo *cinf,\n                                         apr_pool_t
      *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:375,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - rsp
    argTypes:
    - SSL*
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: stapling_set_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - i2d_OCSP_RESPONSE
    - SSL_set_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: int stapling_set_response(SSL *ssl, OCSP_RESPONSE *rsp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_response_status
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:390,1
    - Dst: OCSP_response_get1_basic
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:406,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:409,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:409,1
    - Dst: OCSP_resp_find_status
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:414,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:417,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:417,1
    - Dst: OCSP_check_validity
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:423,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:435,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:435,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:439,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:439,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:448,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:448,1
    - Dst: OCSP_id_get0_info
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:453,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:454,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:455,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:457,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:460,1
    - Dst: OCSP_cert_status_str
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:463,1
    - Dst: OCSP_crl_reason_str
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:465,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - s
    - mctx
    - cinf
    - rsp
    - pok
    argTypes:
    - server_rec*
    - modssl_ctx_t*
    - certinfo*
    - OCSP_RESPONSE*
    - BOOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 473
    functionName: stapling_check_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - OCSP_resp_find_status
    - i2a_ASN1_INTEGER
    - OCSP_cert_status_str
    - OCSP_response_get1_basic
    - BIO_s_mem
    - OCSP_crl_reason_str
    - APLOGNO
    - OCSP_id_get0_info
    - ap_log_error
    - BIO_new
    - OCSP_response_status
    - BIO_free
    - OCSP_BASICRESP_free
    - OCSP_check_validity
    linkageType: ''
    returnType: int
    signature: "int stapling_check_response(server_rec *s, modssl_ctx_t *mctx,\n                                   certinfo
      *cinf, OCSP_RESPONSE *rsp,\n                                   BOOL *pok)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:479,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:483,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:491,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:491,1
    - Dst: OCSP_REQUEST_new
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:494,1
    - Dst: OCSP_CERTID_dup
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:497,1
    - Dst: OCSP_request_add0_id
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:500,1
    - Dst: SSL_get_tlsext_status_exts
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:504,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:505,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:506,1
    - Dst: OCSP_REQUEST_add_ext
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:507,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:517,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:517,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:523,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:524,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:526,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:527,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:527,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:530,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:533,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:534,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:534,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:536,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:541,1
    - Dst: modssl_dispatch_ocsp_request
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:544,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:547,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:550,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:550,1
    - Dst: OCSP_response_create
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:553,1
    - Dst: OCSP_response_status
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:561,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:564,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:564,1
    - Dst: stapling_check_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:566,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:568,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:568,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:573,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:573,1
    - Dst: OCSP_response_status_str
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:575,1
    - Dst: stapling_cache_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:579,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:580,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:580,1
    - Dst: OCSP_CERTID_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:587,1
    - Dst: OCSP_REQUEST_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:589,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 7
    argNames:
    - s
    - mctx
    - ssl
    - cinf
    - prsp
    - pok
    - pool
    argTypes:
    - server_rec*
    - modssl_ctx_t*
    - SSL*
    - certinfo*
    - OCSP_RESPONSE**
    - BOOL*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 591
    functionName: stapling_renew_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - modssl_dispatch_ocsp_request
    - OCSP_response_status_str
    - OCSP_CERTID_dup
    - sk_X509_EXTENSION_value
    - sk_X509_EXTENSION_num
    - SSL_get_app_data
    - stapling_cache_response
    - OCSP_REQUEST_free
    - OCSP_response_status
    - strcmp
    - OCSP_CERTID_free
    - apr_uri_parse
    - apr_pool_create
    - OCSP_REQUEST_new
    - ap_log_error
    - STACK_OF
    - SSL_get_tlsext_status_exts
    - apr_pool_destroy
    - OCSP_REQUEST_add_ext
    - OCSP_response_create
    - OCSP_request_add0_id
    - APLOGNO
    - apr_pool_tag
    - stapling_check_response
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: BOOL
    signature: "BOOL stapling_renew_response(server_rec *s, modssl_ctx_t *mctx, SSL
      *ssl,\n                                    certinfo *cinf, OCSP_RESPONSE **prsp,\n
      \                                   BOOL *pok, apr_pool_t *pool)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:599,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:600,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:610,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 625
    functionName: ssl_stapling_mutex_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ap_global_mutex_create
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int ssl_stapling_mutex_init(server_rec *s, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:634,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:635,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:638,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:638,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:643,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - s
    - p
    - mutex
    - type
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_global_mutex_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 649
    functionName: stapling_mutex_reinit_helper
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lockfile
    linkageType: ''
    returnType: int
    signature: "int stapling_mutex_reinit_helper(server_rec *s, apr_pool_t *p, \n
      \                                       apr_global_mutex_t **mutex,\n                                        const
      char *type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:653,1
    - Dst: stapling_mutex_reinit_helper
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:656,1
    - Dst: stapling_mutex_reinit_helper
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 668
    functionName: ssl_stapling_mutex_reinit
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - stapling_mutex_reinit_helper
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int ssl_stapling_mutex_reinit(server_rec *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:675,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:676,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - mutex
    - name
    argTypes:
    - server_rec*
    - apr_global_mutex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: stapling_mutex_on
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int stapling_mutex_on(server_rec *s, apr_global_mutex_t *mutex,\n
      \                            const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:688,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:689,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - mutex
    - name
    argTypes:
    - server_rec*
    - apr_global_mutex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 694
    functionName: stapling_mutex_off
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_unlock
    linkageType: ''
    returnType: int
    signature: "int stapling_mutex_off(server_rec *s, apr_global_mutex_t *mutex,\n
      \                             const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:698,1
    - Dst: stapling_mutex_on
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: stapling_cache_mutex_on
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 2
    functionsReached:
    - stapling_mutex_on
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int stapling_cache_mutex_on(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:706,1
    - Dst: stapling_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: stapling_cache_mutex_off
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 2
    functionsReached:
    - myModConfig
    - stapling_mutex_off
    linkageType: ''
    returnType: int
    signature: int stapling_cache_mutex_off(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:714,1
    - Dst: stapling_mutex_on
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: stapling_refresh_mutex_on
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - stapling_mutex_on
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int stapling_refresh_mutex_on(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:722,1
    - Dst: stapling_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionName: stapling_refresh_mutex_off
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - myModConfig
    - stapling_mutex_off
    linkageType: ''
    returnType: int
    signature: int stapling_refresh_mutex_off(server_rec *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:735,1
    - Dst: stapling_get_cached_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:738,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:742,1
    - Dst: stapling_check_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:744,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:746,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:760,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - s
    - mctx
    - rsp
    - pok
    - cinf
    - p
    argTypes:
    - server_rec*
    - modssl_ctx_t*
    - OCSP_RESPONSE**
    - BOOL*
    - certinfo*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 772
    functionName: get_and_check_cached_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPONSE_free
    - stapling_get_cached_response
    - AP_DEBUG_ASSERT
    - APLOGNO
    - stapling_check_response
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int get_and_check_cached_response(server_rec *s, modssl_ctx_t *mctx,\n
      \                                        OCSP_RESPONSE **rsp, BOOL *pok,\n                                         certinfo
      *cinf, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:784,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - der
    - der_len
    - userdata
    argTypes:
    - unsigned char*
    - apr_size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 789
    functionName: copy_ocsp_resp
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copy_ocsp_resp(const unsigned char *der, apr_size_t der_len, void
      *userdata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:800,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:801,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:802,1
    - Dst: myConnCtxConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:803,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:813,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:813,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:816,1
    - Dst: X509_digest
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:821,1
    - Dst: EVP_sha1
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:821,1
    - Dst: ap_ssl_ocsp_get_resp
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:825,1
    - Dst: ssl_run_get_stapling_status
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:829,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:839,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:844,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:844,1
    - Dst: stapling_get_certinfo
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:849,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:853,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:853,1
    - Dst: get_and_check_cached_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:856,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:862,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:862,1
    - Dst: stapling_refresh_mutex_on
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:864,1
    - Dst: get_and_check_cached_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:868,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:871,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:871,1
    - Dst: stapling_refresh_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:874,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:878,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:878,1
    - Dst: stapling_refresh_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:881,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:884,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:884,1
    - Dst: stapling_renew_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:887,1
    - Dst: stapling_refresh_mutex_off
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:889,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:892,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:892,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:896,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:904,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:904,1
    - Dst: stapling_set_response
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:906,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:914,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:914,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:918,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 921
    functionName: stapling_cb
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - stapling_refresh_mutex_off
    - mySrvFromConn
    - SSL_get_certificate
    - EVP_sha1
    - SSL_get_app_data
    - SSL_set_tlsext_status_ocsp_resp
    - X509_digest
    - stapling_set_response
    - myConnCtxConfig
    - OCSP_RESPONSE_free
    - stapling_refresh_mutex_on
    - mySrvConfig
    - ap_log_error
    - ap_ssl_ocsp_get_resp
    - stapling_get_certinfo
    - ssl_run_get_stapling_status
    - get_and_check_cached_response
    - APLOGNO
    - stapling_renew_response
    linkageType: ''
    returnType: int
    signature: int stapling_cb(SSL *ssl, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:927,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:930,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:930,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:932,1
    - Dst: ssl_stapling_mutex_init
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:934,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:935,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:935,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:937,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:959,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:960,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_stapling.c:960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 963
    functionName: modssl_init_stapling
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_stapling.c
    functionUses: 0
    functionsReached:
    - ssl_die
    - APLOGNO
    - myModConfig
    - ssl_stapling_mutex_init
    - ap_log_error
    - SSL_CTX_set_tlsext_status_cb
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_init_stapling(server_rec *s, apr_pool_t *p,\n
      \                                 apr_pool_t *ptemp, modssl_ctx_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util.c:50,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_util.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: ssl_util_vhostid
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *ssl_util_vhostid(apr_pool_t *p, server_rec *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_util.c:67,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_util.c:81,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/modules/ssl/ssl_util.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - servername
    - s
    argTypes:
    - char*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 101
    functionName: ssl_util_vhost_matches
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - strcasecmp
    linkageType: ''
    returnType: BOOL
    signature: BOOL ssl_util_vhost_matches(const char *servername, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_util.c:105,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util.c:106,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_util.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - r
    - scout
    argTypes:
    - request_rec*
    - SSLConnRec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: modssl_request_is_tls
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - myConnConfig
    linkageType: ''
    returnType: int
    signature: int modssl_request_is_tls(const request_rec *r, SSLConnRec **scout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/ssl/ssl_util.c:126,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/ssl/ssl_util.c:128,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/modules/ssl/ssl_util.c:131,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/ssl/ssl_util.c:132,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/ssl/ssl_util.c:134,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_util.c:136,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/ssl/ssl_util.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - p
    - cmd
    - argv
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: ssl_util_ppopen
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_procattr_dir_set
    - apr_procattr_create
    linkageType: ''
    returnType: apr_file_t
    signature: "apr_file_t *ssl_util_ppopen(server_rec *s, apr_pool_t *p, const char
      *cmd,\n                            const char * const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_util.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - p
    - fp
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ssl_util_ppclose
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void ssl_util_ppclose(server_rec *s, apr_pool_t *p, apr_file_t *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_util_ppopen
      Src: /src/httpd/modules/ssl/ssl_util.c:160,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/ssl/ssl_util.c:163,1
    - Dst: ssl_util_ppclose
      Src: /src/httpd/modules/ssl/ssl_util.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - s
    - p
    - cmd
    - argv
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: ssl_util_readfilter
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    - ssl_util_ppclose
    - ssl_util_ppopen
    linkageType: ''
    returnType: char
    signature: "char *ssl_util_readfilter(server_rec *s, apr_pool_t *p, const char
      *cmd,\n                          const char * const *argv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/ssl_util.c:181,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_util.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pcm
    - path
    - p
    argTypes:
    - ssl_pathcheck_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: ssl_util_path_check
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - apr_stat
    linkageType: ''
    returnType: BOOL
    signature: BOOL ssl_util_path_check(ssl_pathcheck_t pcm, const char *path, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_util.c:202,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_util.c:203,1
    - Dst: i2d_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_util.c:204,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_util.c:208,1
    - Dst: ap_realloc
      Src: /src/httpd/modules/ssl/ssl_util.c:214,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/ssl/ssl_util.c:218,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/ssl/ssl_util.c:220,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_util.c:222,1
    - Dst: i2d_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_util.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - table
    - key
    - pkey
    argTypes:
    - apr_hash_t*
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 230
    functionName: ssl_asn1_table_set
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_assert
    - i2d_PrivateKey
    - ap_malloc
    - ap_realloc
    - strlen
    - apr_hash_get
    linkageType: ''
    returnType: ssl_asn1_t
    signature: "ssl_asn1_t *ssl_asn1_table_set(apr_hash_t *table, const char *key,\n
      \                              EVP_PKEY *pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_util.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - apr_hash_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ssl_asn1_table_get
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: ssl_asn1_t
    signature: "ssl_asn1_t *ssl_asn1_table_get(apr_hash_t *table,\n                               const
      char *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ssl/ssl_util.c:259,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/ssl_util.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - mode
    - type
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: ssl_util_thr_lock
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void ssl_util_thr_lock(int mode, int type,\n                              const
      char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/ssl_util.c:293,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/ssl_util.c:294,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:295,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_util.c:298,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_util.c:302,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ssl/ssl_util.c:304,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:307,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:307,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_util.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 313
    functionName: ssl_dyn_create_function
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - apr_pool_destroy
    - apr_thread_mutex_create
    - apr_pstrdup
    linkageType: ''
    returnType: struct CRYPTO_dynlock_value
    signature: "struct CRYPTO_dynlock_value *ssl_dyn_create_function(const char *file,\n
      \                                                    int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:325,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ssl/ssl_util.c:327,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:328,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:332,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/ssl_util.c:334,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mode
    - l
    - file
    - line
    argTypes:
    - int
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: ssl_dyn_lock_function
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ap_log_perror
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void ssl_dyn_lock_function(int mode, struct CRYPTO_dynlock_value *l,\n
      \                          const char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:348,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/modules/ssl/ssl_util.c:350,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:352,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:353,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_util.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - l
    - file
    - line
    argTypes:
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: ssl_dyn_destroy_function
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - APLOGNO
    - ap_log_perror
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: "void ssl_dyn_destroy_function(struct CRYPTO_dynlock_value *l,\n                          const
      char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:368,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: ssl_util_thread_id_setup
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    linkageType: ''
    returnType: void
    signature: void ssl_util_thread_id_setup(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_thread_current
      Src: /src/httpd/modules/ssl/ssl_util.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: ssl_util_thr_id_internal
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - apr_os_thread_current
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ssl_util_thr_id_internal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_util_thr_id_internal
      Src: /src/httpd/modules/ssl/ssl_util.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: ssl_util_thr_id
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - ssl_util_thr_id_internal
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ssl_util_thr_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/httpd/modules/ssl/ssl_util.c:411,1
    - Dst: ssl_util_thr_id_internal
      Src: /src/httpd/modules/ssl/ssl_util.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: ssl_util_thr_id
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREADID_set_numeric
    - ssl_util_thr_id_internal
    linkageType: ''
    returnType: void
    signature: void ssl_util_thr_id(CRYPTO_THREADID *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_id_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:419,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - old
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: ssl_util_thr_id_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREADID_set_callback
    - CRYPTO_set_id_callback
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_util_thr_id_cleanup(void *old)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:431,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:431,1
    - Dst: CRYPTO_set_id_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:436,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:438,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:438,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:444,1
    - Dst: CRYPTO_THREADID_get_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:446,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/ssl/ssl_util.c:449,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util.c:449,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_util.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 459
    functionName: ssl_util_thread_id_setup
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREADID_get_callback
    - ap_log_perror
    - APLOGNO
    - CRYPTO_set_id_callback
    - CRYPTO_THREADID_set_callback
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ssl_util_thread_id_setup(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_locking_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:465,1
    - Dst: CRYPTO_set_dynlock_create_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:467,1
    - Dst: CRYPTO_set_dynlock_lock_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:468,1
    - Dst: CRYPTO_set_dynlock_destroy_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: ssl_util_thread_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_locking_callback
    - CRYPTO_set_dynlock_create_callback
    - CRYPTO_set_dynlock_destroy_callback
    - CRYPTO_set_dynlock_lock_callback
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_util_thread_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_num_locks
      Src: /src/httpd/modules/ssl/ssl_util.c:482,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_util.c:483,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ssl/ssl_util.c:486,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:489,1
    - Dst: CRYPTO_set_dynlock_create_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:495,1
    - Dst: CRYPTO_set_dynlock_lock_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:496,1
    - Dst: CRYPTO_set_dynlock_destroy_callback
      Src: /src/httpd/modules/ssl/ssl_util.c:497,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_util.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: ssl_util_thread_setup
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_num_locks
    - apr_palloc
    - CRYPTO_set_locking_callback
    - CRYPTO_set_dynlock_create_callback
    - CRYPTO_set_dynlock_destroy_callback
    - apr_thread_mutex_create
    - CRYPTO_set_dynlock_lock_callback
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ssl_util_thread_setup(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_util.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: modssl_is_engine_id
    functionSourceFile: /src/httpd/modules/ssl/ssl_util.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int modssl_is_engine_id(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:42,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/ssl/ssl_scache.c:51,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_scache.c:56,1
    - Dst: SSLModConfigRec*::stapling_cache::init
      Src: /src/httpd/modules/ssl/ssl_scache.c:61,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_scache.c:64,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_scache.c:64,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_scache.c:66,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_scache.c:76,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_scache.c:76,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_scache.c:82,1
    - Dst: SSLModConfigRec*::sesscache::init
      Src: /src/httpd/modules/ssl/ssl_scache.c:87,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_scache.c:89,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_scache.c:89,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_scache.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 95
    functionName: ssl_scache_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - ssl_die
    - memset
    - SSLModConfigRec*::stapling_cache::init
    - APLOGNO
    - myModConfig
    - SSLModConfigRec*::sesscache::init
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_scache_init(server_rec *s, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:99,1
    - Dst: SSLModConfigRec*::sesscache::destroy
      Src: /src/httpd/modules/ssl/ssl_scache.c:102,1
    - Dst: SSLModConfigRec*::stapling_cache::destroy
      Src: /src/httpd/modules/ssl/ssl_scache.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ssl_scache_kill
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - SSLModConfigRec*::sesscache::destroy
    - SSLModConfigRec*::stapling_cache::destroy
    - myModConfig
    linkageType: ''
    returnType: void
    signature: void ssl_scache_kill(server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:117,1
    - Dst: i2d_SSL_SESSION
      Src: /src/httpd/modules/ssl/ssl_scache.c:123,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_scache.c:125,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_scache.c:125,1
    - Dst: i2d_SSL_SESSION
      Src: /src/httpd/modules/ssl/ssl_scache.c:131,1
    - Dst: ssl_mutex_on
      Src: /src/httpd/modules/ssl/ssl_scache.c:134,1
    - Dst: SSLModConfigRec*::sesscache::store
      Src: /src/httpd/modules/ssl/ssl_scache.c:137,1
    - Dst: ssl_mutex_off
      Src: /src/httpd/modules/ssl/ssl_scache.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - s
    - id
    - idlen
    - expiry
    - sess
    - p
    argTypes:
    - server_rec*
    - IDCONST*
    - int
    - apr_time_t
    - SSL_SESSION*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: ssl_scache_store
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - i2d_SSL_SESSION
    - ssl_mutex_off
    - APLOGNO
    - myModConfig
    - ssl_mutex_on
    - ap_log_error
    - SSLModConfigRec*::sesscache::store
    linkageType: ''
    returnType: BOOL
    signature: "BOOL ssl_scache_store(server_rec *s, IDCONST UCHAR *id, int idlen,\n
      \                     apr_time_t expiry, SSL_SESSION *sess,\n                      apr_pool_t
      *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:150,1
    - Dst: ssl_mutex_on
      Src: /src/httpd/modules/ssl/ssl_scache.c:157,1
    - Dst: SSLModConfigRec*::sesscache::retrieve
      Src: /src/httpd/modules/ssl/ssl_scache.c:160,1
    - Dst: ssl_mutex_off
      Src: /src/httpd/modules/ssl/ssl_scache.c:164,1
    - Dst: d2i_SSL_SESSION
      Src: /src/httpd/modules/ssl/ssl_scache.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - s
    - id
    - idlen
    - p
    argTypes:
    - server_rec*
    - IDCONST*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: ssl_scache_retrieve
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - ssl_mutex_off
    - myModConfig
    - SSLModConfigRec*::sesscache::retrieve
    - ssl_mutex_on
    - d2i_SSL_SESSION
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *ssl_scache_retrieve(server_rec *s, IDCONST UCHAR *id,
      int idlen,\n                                 apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:179,1
    - Dst: ssl_mutex_on
      Src: /src/httpd/modules/ssl/ssl_scache.c:182,1
    - Dst: SSLModConfigRec*::sesscache::remove
      Src: /src/httpd/modules/ssl/ssl_scache.c:185,1
    - Dst: ssl_mutex_off
      Src: /src/httpd/modules/ssl/ssl_scache.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - s
    - id
    - idlen
    - p
    argTypes:
    - server_rec*
    - IDCONST*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: ssl_scache_remove
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - ssl_mutex_off
    - SSLModConfigRec*::sesscache::remove
    - myModConfig
    - ssl_mutex_on
    linkageType: ''
    returnType: void
    signature: "void ssl_scache_remove(server_rec *s, IDCONST UCHAR *id, int idlen,\n
      \                      apr_pool_t *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_scache.c:199,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:205,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:206,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:207,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:208,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:209,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:210,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:213,1
    - Dst: ssl_mutex_on
      Src: /src/httpd/modules/ssl/ssl_scache.c:217,1
    - Dst: SSLModConfigRec*::sesscache::status
      Src: /src/httpd/modules/ssl/ssl_scache.c:220,1
    - Dst: ssl_mutex_off
      Src: /src/httpd/modules/ssl/ssl_scache.c:223,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:227,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/ssl/ssl_scache.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 232
    functionName: ssl_ext_status_hook
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - ssl_mutex_off
    - myModConfig
    - ssl_mutex_on
    - ap_rputs
    - SSLModConfigRec*::sesscache::status
    linkageType: ''
    returnType: int
    signature: int ssl_ext_status_hook(request_rec *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/ssl_scache.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ssl_scache_status_register
    functionSourceFile: /src/httpd/modules/ssl/ssl_scache.c
    functionUses: 0
    functionsReached:
    - APR_OPTIONAL_HOOK
    linkageType: ''
    returnType: void
    signature: void ssl_scache_status_register(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:224,1
    - Dst: X509_digest
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:225,1
    - Dst: apr_pescape_hex
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - apr_pool_t*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: get_cert_fingerprint
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_pescape_hex
    - EVP_get_digestbyname
    - X509_digest
    linkageType: ''
    returnType: char
    signature: char *get_cert_fingerprint(apr_pool_t *p, const X509 *x)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:289,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:303,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:305,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:310,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:311,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:318,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:320,1
    - Dst: ctutil_read_dir
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:325,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:327,1
    - Dst: ctutil_read_dir
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:333,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:335,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:350,1
    - Dst: ctutil_read_file
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:353,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:358,1
    - Dst: sct_parse
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:361,1
    - Dst: sct_release
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:364,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:371,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:372,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:373,1
    - Dst: sct_release
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:376,1
    - Dst: sct_release
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:380,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:392,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:397,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:399,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:400,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:409,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:410,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:419,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:421,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:424,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:425,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:430,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:432,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:433,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:441,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:444,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:445,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:446,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:449,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:451,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:453,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:454,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:459,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:461,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 107
    argCount: 5
    argNames:
    - s
    - p
    - cert_sct_dir
    - static_cert_sct_dir
    - max_sh_sct
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 470
    functionName: collate_scts
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_file_close
    - sct_release
    - apr_file_rename
    - apr_file_remove
    - ctutil_read_file
    - ctutil_file_exists
    - apr_pstrcat
    - apr_global_mutex_unlock
    - apr_file_open
    - ctutil_read_dir
    - ctutil_path_join
    - apr_file_write_full
    - apr_file_seek
    - sct_parse
    - ap_log_error
    - ctutil_file_write_uint16
    - ap_assert
    - APLOGNO
    - apr_global_mutex_lock
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t collate_scts(server_rec *s, apr_pool_t *p,\n                                 const
      char *cert_sct_dir,\n                                 const char *static_cert_sct_dir,\n
      \                                int max_sh_sct)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - p
    - log_url
    argTypes:
    - apr_pool_t*
    - apr_uri_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 496
    functionName: url_to_fn
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *url_to_fn(apr_pool_t *p, const apr_uri_t *log_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:508,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:510,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:511,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:512,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:515,1
    - Dst: ctutil_run_to_log
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 6
    argNames:
    - s
    - p
    - ct_exe
    - log_cfg
    - cert_file
    - sct_fn
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - ct_log_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: submission
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_run_to_log
    - ap_assert
    - apr_pstrcat
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t submission(server_rec *s, apr_pool_t *p, const char *ct_exe,\n
      \                              const ct_log_config *log_cfg,\n                               const
      char *cert_file, const char *sct_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: url_to_fn
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:533,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:535,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:540,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:542,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:545,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:546,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:546,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:548,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:555,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:557,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:558,1
    - Dst: submission
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - s
    - p
    - cert_file
    - cert_sct_dir
    - log_cfg
    - ct_exe
    - max_sct_age
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    - ct_log_config*
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 566
    functionName: fetch_sct
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ctutil_path_join
    - APLOGNO
    - submission
    - APR_STATUS_IS_ENOENT
    - ap_log_error
    - url_to_fn
    - apr_stat
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fetch_sct(server_rec *s, apr_pool_t *p,\n                              const
      char *cert_file,\n                              const char *cert_sct_dir,\n
      \                             const ct_log_config *log_cfg,\n                              const
      char *ct_exe, apr_time_t max_sct_age)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:576,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:581,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:582,1
    - Dst: log_configured_for_fetching_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:589,1
    - Dst: log_valid_for_sent_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:592,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:595,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:597,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:600,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:601,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:606,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:608,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - s
    - p
    - listfile
    - log_config
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 616
    functionName: record_log_urls
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_file_puts
    - APLOGNO
    - apr_file_close
    - ap_log_error
    - apr_file_open
    - log_configured_for_fetching_sct
    - log_valid_for_sent_sct
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t record_log_urls(server_rec *s, apr_pool_t *p,\n                                    const
      char *listfile, apr_array_header_t *log_config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_configured_for_fetching_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:625,1
    - Dst: log_valid_for_sent_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:628,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - needle
    - haystack
    argTypes:
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: uri_in_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - log_configured_for_fetching_sct
    - strcmp
    - log_valid_for_sent_sct
    linkageType: ''
    returnType: int
    signature: int uri_in_config(const char *needle, const apr_array_header_t *haystack)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:657,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:662,1
    - Dst: ctutil_read_file
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:666,1
    - Dst: ctutil_buffer_to_array
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:671,1
    - Dst: uri_in_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:675,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:680,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:682,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:683,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:692,1
    - Dst: url_to_fn
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:692,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:693,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:694,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:698,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:703,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:705,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:706,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:723,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:724,1
    - Dst: ctutil_read_dir
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:729,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:738,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:738,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:741,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:743,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:744,1
    - Dst: record_log_urls
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:750,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - s
    - p
    - cert_sct_dir
    - log_config
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 754
    functionName: update_log_list_for_cert
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_read_dir
    - ctutil_file_exists
    - ctutil_path_join
    - apr_uri_parse
    - uri_in_config
    - APLOGNO
    - record_log_urls
    - ctutil_buffer_to_array
    - apr_file_remove
    - ap_log_error
    - ctutil_read_file
    - url_to_fn
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t update_log_list_for_cert(server_rec *s, apr_pool_t *p,\n
      \                                            const char *cert_sct_dir,\n                                             apr_array_header_t
      *log_config)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:769,1
    - Dst: update_log_list_for_cert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:777,1
    - Dst: log_configured_for_fetching_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:783,1
    - Dst: log_valid_for_sent_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:786,1
    - Dst: fetch_sct
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:789,1
    - Dst: collate_scts
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 8
    argNames:
    - s
    - p
    - cert_sct_dir
    - static_cert_sct_dir
    - log_config
    - ct_exe
    - max_sct_age
    - max_sh_sct
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    - apr_array_header_t*
    - char*
    - apr_time_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 811
    functionName: refresh_scts_for_cert
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - fetch_sct
    - update_log_list_for_cert
    - ctutil_path_join
    - collate_scts
    - log_configured_for_fetching_sct
    - log_valid_for_sent_sct
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t refresh_scts_for_cert(server_rec *s, apr_pool_t *p,\n
      \                                         const char *cert_sct_dir,\n                                          const
      char *static_cert_sct_dir,\n                                          apr_array_header_t
      *log_config,\n                                          const char *ct_exe,\n
      \                                         apr_time_t max_sct_age,\n                                          int
      max_sh_sct)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:816,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:822,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:822,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:826,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:832,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:832,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:837,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:837,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:839,1
    - Dst: apr_thread_rwlock_wrlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:839,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:841,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:843,1
    - Dst: read_config_db
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:845,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:848,1
    - Dst: apr_thread_rwlock_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:848,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:851,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:852,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:863,1
    - Dst: apr_thread_exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - me
    - data
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 868
    functionName: APR_THREAD_FUNC::run_service_thread
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_thread_rwlock_wrlock
    - read_config_db
    - ap_mpm_query
    - apr_time_from_sec
    - apr_thread_rwlock_unlock
    - APLOGNO
    - apr_thread_exit
    - apr_pool_clear
    - apr_sleep
    - ap_log_error
    - ap_get_module_config
    - ap_assert
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC run_service_thread(apr_thread_t *me, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 877
    functionName: wait_for_thread
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_thread_join
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t wait_for_thread(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:885,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:885,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:887,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:890,1
    - Dst: read_config_db
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:892,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:897,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:903,1
    - Dst: refresh_all_scts
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:905,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:907,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - sconf
    - s_main
    - ptemp
    - daemon_name
    argTypes:
    - ct_server_config*
    - server_rec*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 912
    functionName: sct_daemon_cycle
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - read_config_db
    - APLOGNO
    - apr_pool_clear
    - ap_log_error
    - apr_array_make
    - refresh_all_scts
    linkageType: ''
    returnType: void
    signature: "void sct_daemon_cycle(ct_server_config *sconf, server_rec *s_main,\n
      \                            apr_pool_t *ptemp, const char *daemon_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 921
    functionName: daemon_signal_handler
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void daemon_signal_handler(int sig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:932,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:939,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:945,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:945,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:949,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:949,1
    - Dst: daemon_start
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:951,1
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:957,1
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:961,1
    - Dst: daemon_start
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:962,1
    - Dst: kill
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - reason
    - data
    - status
    argTypes:
    - int
    - void*
    - apr_wait_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 971
    functionName: daemon_maint
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_proc_other_child_unregister
    - ap_mpm_query
    - APLOGNO
    - daemon_start
    - ap_log_error
    - kill
    linkageType: ''
    returnType: void
    signature: void daemon_maint(int reason, void *data, apr_wait_t status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:978,1
    - Dst: apr_signal
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:985,1
    - Dst: ap_close_listeners
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:988,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:990,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:991,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:993,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:994,1
    - Dst: geteuid
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:999,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1003,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1005,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1007,1
    - Dst: ctutil_read_dir
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1010,1
    - Dst: chown
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1016,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1018,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1019,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1027,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1028,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1035,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1040,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1041,1
    - Dst: sct_daemon_cycle
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1044,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1045,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1045,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1048,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1048,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - s_main
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1052
    functionName: sct_daemon
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_close_listeners
    - geteuid
    - ctutil_read_dir
    - apr_signal
    - apr_time_from_sec
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_array_push
    - apr_pool_tag
    - apr_global_mutex_lockfile
    - apr_pool_create
    - ap_run_drop_privileges
    - chown
    - apr_sleep
    - ap_log_error
    - ap_get_module_config
    - sct_daemon_cycle
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int sct_daemon(server_rec *s_main)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1058,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1059,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1060,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1065,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1066,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1068,1
    - Dst: sct_daemon
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1068,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1072,1
    - Dst: apr_proc_other_child_register
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p
    - main_server
    - procnew
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1077
    functionName: daemon_start
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 1
    functionsReached:
    - apr_pool_note_subprocess
    - APLOGNO
    - sct_daemon
    - apr_pool_tag
    - exit
    - apr_proc_other_child_register
    - apr_pool_create
    - ap_log_error
    - fork
    linkageType: ''
    returnType: int
    signature: "int daemon_start(apr_pool_t *p, server_rec *main_server,\n                        apr_proc_t
      *procnew)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1084,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1091,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1091,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1095,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1096,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1099,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1105,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1105,1
    - Dst: sct_daemon_cycle
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1108,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1112,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1112,1
    - Dst: apr_thread_exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - me
    - data
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1117
    functionName: sct_daemon_thread
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_time_from_sec
    - APLOGNO
    - apr_pool_tag
    - apr_thread_exit
    - apr_pool_create
    - apr_sleep
    - ap_log_error
    - ap_get_module_config
    - sct_daemon_cycle
    linkageType: ''
    returnType: void
    signature: void *sct_daemon_thread(apr_thread_t *me, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1123,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1124,1
    - Dst: ap_thread_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1125,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1129,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pconf
    - s_main
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1137
    functionName: daemon_thread_start
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_thread_create
    - ap_log_error
    - apr_pool_pre_cleanup_register
    linkageType: ''
    returnType: int
    signature: int daemon_thread_start(apr_pool_t *pconf, server_rec *s_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1145
    functionName: ssl_ct_mutex_remove
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_ct_mutex_remove(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1154,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1158,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1170,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1173,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1177,1
    - Dst: refresh_scts_for_cert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - s_main
    - p
    - log_config
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1147
    functionDepth: 4
    functionLinenumber: 1147
    functionLinenumberEnd: 1197
    functionName: refresh_all_scts
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 1
    functionsReached:
    - refresh_scts_for_cert
    - apr_hash_set
    - apr_hash_make
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: "int refresh_all_scts(server_rec *s_main, apr_pool_t *p,\n                            apr_array_header_t
      *log_config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s_main
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1216
    functionName: num_server_certs
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int num_server_certs(server_rec *s_main)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1365,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1369,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1370,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1379,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1380,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1385,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1386,1
    - Dst: log_config_readable
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1393,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1394,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1395,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1398,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s_main
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1406
    functionName: ssl_ct_check_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - log_config_readable
    - ap_log_error
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int ssl_ct_check_config(apr_pool_t *pconf, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec *s_main)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1416,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1421,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1426,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1427,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1428,1
    - Dst: ctutil_read_file
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1432,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1434,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1435,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - p
    - fingerprint
    - sct_dir
    - s
    - scts
    - scts_len
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - server_rec*
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1440
    functionName: read_scts
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_path_join
    - APLOGNO
    - ap_log_error
    - ctutil_read_file
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_scts(apr_pool_t *p, const char *fingerprint,\n                              const
      char *sct_dir,\n                              server_rec *s,\n                              char
      **scts, apr_size_t *scts_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1444,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1450,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1456,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1458,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1460,1
    - Dst: get_cert_fingerprint
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1462,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1463,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1464,1
    - Dst: ctutil_dir_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1466,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1467,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1470,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1472,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1476,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1478,1
    - Dst: ctutil_fopen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1480,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1481,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1483,1
    - Dst: PEM_write_X509
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1483,1
    - Dst: SSL_CTX_get_extra_chain_certs
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1494,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1497,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1498,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1499,1
    - Dst: PEM_write_X509
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1499,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1502,1
    - Dst: fclose
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1502,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1504,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1505,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1508,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1513,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1514,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - s
    - ctx
    - sct_dir
    argTypes:
    - server_rec*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1518
    functionName: look_for_server_certs
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_fopen
    - PEM_write_X509
    - apr_array_push
    - SSL_CTX_set_current_cert
    - ap_get_module_config
    - SSL_CTX_get0_certificate
    - ctutil_path_join
    - ap_log_error
    - STACK_OF
    - ap_assert
    - apr_dir_make
    - sk_X509_value
    - sk_X509_num
    - ctutil_dir_exists
    - APLOGNO
    - SSL_CTX_get_extra_chain_certs
    - fclose
    - get_cert_fingerprint
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void look_for_server_certs(server_rec *s, SSL_CTX *ctx, const char
      *sct_dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1523,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1526,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1531
    functionName: get_conn_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_pcalloc
    - ap_get_module_config
    linkageType: ''
    returnType: ct_conn_config
    signature: ct_conn_config *get_conn_config(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1537
    functionName: client_is_ct_aware
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - get_conn_config
    linkageType: ''
    returnType: void
    signature: void client_is_ct_aware(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1544
    functionName: is_client_ct_aware
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - get_conn_config
    linkageType: ''
    returnType: int
    signature: int is_client_ct_aware(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1551
    functionName: server_cert_has_sct_list
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - get_conn_config
    linkageType: ''
    returnType: void
    signature: void server_cert_has_sct_list(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1560,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1563,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1565,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1566,1
    - Dst: X509_dup
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1567,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - chain
    argTypes:
    - apr_pool_t*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1574
    functionName: cert_chain_init
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_dup
    - apr_pcalloc
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: cert_chain
    signature: cert_chain *cert_chain_init(apr_pool_t *p, STACK_OF(X509) *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cc
    argTypes:
    - cert_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1584
    functionName: cert_chain_free
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void cert_chain_free(cert_chain *cc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_fingerprint
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1596,1
    - Dst: SHA256_Init
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1601,1
    - Dst: SHA256_Update
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1602,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1602,1
    - Dst: SHA256_Update
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1604,1
    - Dst: SHA256_Update
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1608,1
    - Dst: SHA256_Update
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1612,1
    - Dst: SHA256_Final
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1615,1
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1621,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1622,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1623,1
    - Dst: EVP_DigestInit_ex
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1623,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1623,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1624,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1624,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1624,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1626,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1626,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1630,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1630,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1634,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1634,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1637,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1637,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1638,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1639,1
    - Dst: apr_pescape_hex
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - c
    - cc
    - conncfg
    argTypes:
    - conn_rec*
    - cert_chain*
    - ct_conn_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1644
    functionName: gen_key
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - SHA256_Init
    - ap_assert
    - EVP_MD_CTX_create
    - EVP_DigestInit_ex
    - EVP_MD_CTX_destroy
    - strlen
    - EVP_DigestUpdate
    - SHA256_Final
    - EVP_sha256
    - SHA256_Update
    - get_cert_fingerprint
    - EVP_DigestFinal_ex
    - apr_pescape_hex
    linkageType: ''
    returnType: char
    signature: "char *gen_key(conn_rec *c, cert_chain *cc,\n                           ct_conn_config
      *conncfg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_read_var_bytes
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1660,1
    - Dst: ctutil_read_var_bytes
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1676,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1679,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - p
    - conncfg
    - sct_list
    - sct_list_size
    argTypes:
    - apr_pool_t*
    - ct_conn_config*
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1692
    functionName: deserialize_SCTs
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - ap_assert
    - ctutil_read_var_bytes
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t deserialize_SCTs(apr_pool_t *p,\n                                     ct_conn_config
      *conncfg,\n                                     void *sct_list,\n                                     apr_size_t
      sct_list_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cdata
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1704,1
    - Dst: ap_log_cdata
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1711,1
    - Dst: ap_log_cdata
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1718,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1725,1
    - Dst: deserialize_SCTs
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1730,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1733,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1734,1
    - Dst: deserialize_SCTs
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1739,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1743,1
    - Dst: deserialize_SCTs
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1748,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1751,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1752,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1760,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1761,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1772,1
    - Dst: sct_parse
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1779,1
    - Dst: sct_verify_timestamp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1786,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1795,1
    - Dst: apr_thread_rwlock_rdlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1795,1
    - Dst: sct_verify_signature
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1797,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1799,1
    - Dst: apr_thread_rwlock_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1799,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1802,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1803,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1808,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1809,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1820,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1821,1
    - Dst: sct_release
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1826,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1832,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1834,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 5
    argNames:
    - p
    - c
    - cc
    - conncfg
    - sconf
    argTypes:
    - apr_pool_t*
    - conn_rec*
    - cert_chain*
    - ct_conn_config*
    - ct_server_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1697
    functionDepth: 2
    functionLinenumber: 1697
    functionLinenumberEnd: 1843
    functionName: validate_server_data
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - sct_verify_signature
    - sct_verify_timestamp
    - ap_log_cdata
    - ap_log_cerror
    - apr_thread_rwlock_rdlock
    - apr_thread_rwlock_unlock
    - APLOGNO
    - sct_parse
    - sct_release
    - ap_assert
    - apr_array_make
    - deserialize_SCTs
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t validate_server_data(apr_pool_t *p, conn_rec *c,\n                                         cert_chain
      *cc, ct_conn_config *conncfg,\n                                         ct_server_config
      *sconf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_thread_mutex_lock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1876,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1881,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1885,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1889,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1889,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1890,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1891,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1895,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1895,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1905,1
    - Dst: i2d_X509
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1910,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1911,1
    - Dst: ctutil_file_write_uint24
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1913,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1917,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1921,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1929,1
    - Dst: ctutil_file_write_uint16
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1934,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1938,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1945,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1946,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1948,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1950,1
    - Dst: ctutil_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1956,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - c
    - cc
    - conncfg
    - key
    argTypes:
    - conn_rec*
    - cert_chain*
    - ct_conn_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1958
    functionName: save_server_data
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - apr_file_write_full
    - ctutil_thread_mutex_lock
    - APLOGNO
    - apr_file_close
    - strlen
    - OPENSSL_free
    - ctutil_file_write_uint24
    - apr_file_remove
    - ctutil_file_write_uint16
    - ap_log_error
    - ctutil_thread_mutex_unlock
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void save_server_data(conn_rec *c, cert_chain *cc,\n                             ct_conn_config
      *conncfg,\n                             const char *key)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1966,1
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1967,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1974,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1977,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1982,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1984,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1985,1
    - Dst: OCSP_response_get1_basic
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1989,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1991,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1991,1
    - Dst: OCSP_resp_count
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:1996,1
    - Dst: OCSP_resp_get0
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2002,1
    - Dst: OCSP_SINGLERESP_get_ext_by_NID
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2007,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2014,1
    - Dst: OCSP_SINGLERESP_get_ext
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2017,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2018,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2021,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2025,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2027,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2031,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 2034
    functionName: ocsp_resp_cb
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - OCSP_SINGLERESP_get_ext_by_NID
    - OCSP_response_get1_basic
    - ap_log_cerror
    - OCSP_RESPONSE_free
    - d2i_OCSP_RESPONSE
    - APLOGNO
    - ASN1_OCTET_STRING_free
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_resp_count
    - OCSP_SINGLERESP_get_ext
    - OCSP_resp_get0
    - d2i_ASN1_OCTET_STRING
    - SSL_get_app_data
    - X509_EXTENSION_get_data
    - get_conn_config
    - apr_pmemdup
    linkageType: ''
    returnType: int
    signature: int ocsp_resp_cb(SSL *ssl, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2045,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ssl
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2055
    functionName: client_extension_add_callback
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: "int client_extension_add_callback(SSL *ssl, unsigned ext_type, \n
      \                                        const unsigned char **out,\n                                         size_t
      *outlen, int *al,\n                                         void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2062,1
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2063,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2065,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - ssl
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2079
    functionName: client_extension_parse_callback
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    - get_conn_config
    - ap_log_cerror
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: "int client_extension_parse_callback(SSL *ssl, unsigned ext_type,\n
      \                                          const unsigned char *in, size_t inlen,
      \n                                           int *al, void *arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2163,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2165,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2168,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2168,1
    - Dst: ssl_ct_ssl_proxy_verify
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2174,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2176,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2176,1
    - Dst: gen_key
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2196,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2198,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2198,1
    - Dst: ctutil_thread_mutex_lock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2201,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2203,1
    - Dst: ctutil_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2205,1
    - Dst: calloc
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2209,1
    - Dst: validate_server_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2212,1
    - Dst: ctutil_thread_mutex_lock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2218,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2220,1
    - Dst: free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2225,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2230,1
    - Dst: ctutil_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2235,1
    - Dst: save_server_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2238,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2246,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2247,1
    - Dst: cert_chain_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2257,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2263,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2272,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - c
    - ssl
    argTypes:
    - conn_rec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2157
    functionDepth: 3
    functionLinenumber: 2157
    functionLinenumberEnd: 2280
    functionName: ssl_ct_proxy_post_handshake
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - validate_server_data
    - apr_hash_set
    - gen_key
    - ap_log_cerror
    - ctutil_thread_mutex_lock
    - APLOGNO
    - free
    - calloc
    - save_server_data
    - ctutil_thread_mutex_unlock
    - cert_chain_free
    - STACK_OF
    - SSL_get_peer_cert_chain
    - ap_get_module_config
    - get_conn_config
    - apr_hash_get
    - ssl_ct_ssl_proxy_verify
    linkageType: ''
    returnType: int
    signature: int ssl_ct_proxy_post_handshake(conn_rec *c, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2287,1
    - Dst: client_is_ct_aware
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2292,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2300
    functionName: server_extension_parse_callback
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - client_is_ct_aware
    - ap_log_cerror
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: "int server_extension_parse_callback(SSL *ssl, unsigned ext_type,\n
      \                                          const unsigned char *in,\n                                           size_t
      inlen, int *al,\n                                           void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2307,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2308,1
    - Dst: is_client_ct_aware
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2316,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2320,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2320,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2328,1
    - Dst: get_cert_fingerprint
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2329,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2331,1
    - Dst: read_scts
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2336,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - ssl
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2302
    functionDepth: 2
    functionLinenumber: 2302
    functionLinenumberEnd: 2350
    functionName: server_extension_add_callback
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - ap_assert
    - APLOGNO
    - is_client_ct_aware
    - SSL_get_certificate
    - ap_get_module_config
    - SSL_get_app_data
    - read_scts
    - get_cert_fingerprint
    linkageType: ''
    returnType: int
    signature: "int server_extension_add_callback(SSL *ssl, unsigned ext_type,\n                                         const
      unsigned char **out,\n                                         size_t *outlen,
      int *al,\n                                         void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2359,1
    - Dst: client_is_ct_aware
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ssl
    - client_server
    - type
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - int
    - int
    - unsigned char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2352
    functionDepth: 2
    functionLinenumber: 2352
    functionLinenumberEnd: 2364
    functionName: tlsext_cb
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - client_is_ct_aware
    - ap_log_cerror
    linkageType: ''
    returnType: void
    signature: "void tlsext_cb(SSL *ssl, int client_server, int type,\n                      unsigned
      char *data, int len,\n                      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2368,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2377,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2380,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2386,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - c
    - ssl
    - is_proxy
    argTypes:
    - conn_rec*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2390
    functionName: ssl_ct_pre_handshake
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - SSL_set_tlsext_status_type
    - SSL_set_tlsext_debug_callback
    - get_conn_config
    - SSL_set_tlsext_debug_arg
    linkageType: ''
    returnType: int
    signature: int ssl_ct_pre_handshake(conn_rec *c, SSL *ssl, int is_proxy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2395,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2396,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2401,1
    - Dst: copy_ct_server_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2411,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2412,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2419,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2423,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2424,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2435,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2436,1
    - Dst: look_for_server_certs
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2439,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2441,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2445,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - s
    - p
    - is_proxy
    - ssl_ctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - int
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2392
    functionDepth: 2
    functionLinenumber: 2392
    functionLinenumberEnd: 2455
    functionName: ssl_ct_init_server
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - look_for_server_certs
    - apr_pcalloc
    - SSL_CTX_add_server_custom_ext
    - ap_set_module_config
    - APLOGNO
    - ap_log_error
    - SSL_CTX_set_tlsext_status_cb
    - ap_get_module_config
    - SSL_CTX_add_client_custom_ext
    - SSL_CTX_set_tlsext_status_arg
    - copy_ct_server_config
    linkageType: ''
    returnType: int
    signature: "int ssl_ct_init_server(server_rec *s, apr_pool_t *p, int is_proxy,\n
      \                             SSL_CTX *ssl_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2460,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2472
    functionName: ssl_ct_post_read_request
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int ssl_ct_post_read_request(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2477,1
    - Dst: apr_dbd_init
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2483,1
    - Dst: ctutil_run_internal_tests
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2488
    functionName: ssl_ct_pre_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_dbd_init
    - ap_mutex_register
    - ctutil_run_internal_tests
    linkageType: ''
    returnType: int
    signature: "int ssl_ct_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2500,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2504,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2510,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2516,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2523
    functionName: inactivate_audit_file
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - APLOGNO
    - apr_file_rename
    - apr_file_remove
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t inactivate_audit_file(void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2529,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2532,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2534,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2535,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2537,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2538,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2543,1
    - Dst: apr_thread_rwlock_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2546,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2548,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2549,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2550,1
    - Dst: ap_thread_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2553,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2556,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2561,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2564,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2567,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2571,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2572,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2576,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2581,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2584,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2585,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2589,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2592,1
    - Dst: getpid
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2593,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2594,1
    - Dst: exit
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2600,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2603,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2604,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2606,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2607,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2608,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2611,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2614,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2615,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2616,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2619,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2622,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2627,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2628,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2633,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2636
    functionName: ssl_ct_child_init
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    - ap_get_module_config
    - ctutil_file_exists
    - apr_hash_make
    - apr_pstrcat
    - getpid
    - apr_thread_rwlock_create
    - ap_thread_create
    - apr_psprintf
    - apr_file_open
    - apr_pool_pre_cleanup_register
    - ctutil_path_join
    - apr_global_mutex_child_init
    - ap_log_error
    - exit
    - apr_thread_mutex_create
    - APLOGNO
    - apr_global_mutex_lockfile
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ssl_ct_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2641,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2643,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2649
    functionName: create_ct_server_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_time_from_sec
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_ct_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - p
    - basev
    - virtv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2677
    functionName: merge_ct_server_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void *merge_ct_server_config(apr_pool_t *p, void *basev, void *virtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - base
    argTypes:
    - apr_pool_t*
    - ct_server_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2689
    functionName: copy_ct_server_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 1
    functionsReached:
    - apr_pmemdup
    linkageType: ''
    returnType: ct_server_config
    signature: "ct_server_config *copy_ct_server_config(apr_pool_t *p,\n                                               ct_server_config
      *base)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2701,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2704,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2711,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2715,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2721,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2727,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2732,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - r
    - backend
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2737
    functionName: ssl_ct_detach_backend
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - apr_table_set
    - strlen
    - get_conn_config
    linkageType: ''
    returnType: int
    signature: "int ssl_ct_detach_backend(request_rec *r,\n                                 proxy_conn_rec
      *backend)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2744,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2745,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2746,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2748,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2749,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2750,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2751,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2754,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2756,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2761
    functionName: ct_register_hooks
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_hook_check_config
    - ap_hook_pre_config
    - APR_OPTIONAL_HOOK
    - ap_hook_post_config
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_hook_child_init
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void ct_register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2771,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - p
    - arg
    - min_val
    - max_val
    - val
    - cmd_name
    argTypes:
    - apr_pool_t*
    - char*
    - long
    - long
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2782
    functionName: parse_num
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - strtol
    linkageType: ''
    returnType: char
    signature: "char *parse_num(apr_pool_t *p,\n                             const
      char *arg, long min_val,\n                             long max_val, long *val,\n
      \                            const char *cmd_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2786,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2788,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2794,1
    - Dst: ctutil_dir_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2796,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2803
    functionName: ct_audit_storage
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_dir_exists
    - apr_pstrcat
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_audit_storage(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2807,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2809,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 2818
    functionName: ct_log_config_db
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_log_config_db(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2822,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2824,1
    - Dst: parse_num
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2831,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2838
    functionName: ct_max_sct_age
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - parse_num
    - apr_time_from_sec
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_max_sct_age(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2842,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2845,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2848,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2851,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2860
    functionName: ct_proxy_awareness
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_proxy_awareness(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2864,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2866,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2872,1
    - Dst: ctutil_dir_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2874,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2881
    functionName: ct_sct_storage
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - ctutil_dir_exists
    - apr_pstrcat
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_sct_storage(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2885,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2887,1
    - Dst: parse_num
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2902
    functionName: ct_sct_limit
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - parse_num
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_sct_limit(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2908,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2911,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2925,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2930,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2934,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2938,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2943,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2948,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2953,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2959,1
    - Dst: save_log_config_entry
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2961,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - cmd
    - x
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2904
    functionDepth: 1
    functionLinenumber: 2904
    functionLinenumberEnd: 2969
    functionName: ct_static_log_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - save_log_config_entry
    - strcmp
    - ap_server_root_relative
    - ap_check_cmd_context
    - ap_get_module_config
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *ct_static_log_config(cmd_parms *cmd, void *x, int argc,\n                                        char
      *const argv[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2976,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2978,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2987,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2988,1
    - Dst: ctutil_fopen
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2990,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2992,1
    - Dst: PEM_read_X509
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2996,1
    - Dst: fclose
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:2997,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3000,1
    - Dst: get_cert_fingerprint
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3004,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3005,1
    - Dst: ctutil_dir_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3007,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3008,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - cmd
    - x
    - cert_fn
    - sct_dn
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 3016
    functionName: ct_static_scts
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_server_root_relative
    - ctutil_fopen
    - X509_free
    - ctutil_dir_exists
    - apr_pstrcat
    - ap_check_cmd_context
    - apr_psprintf
    - ap_get_module_config
    - PEM_read_X509
    - fclose
    - get_cert_fingerprint
    linkageType: ''
    returnType: char
    signature: "char *ct_static_scts(cmd_parms *cmd, void *x, const char *cert_fn,\n
      \                                 const char *sct_dn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3020,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3022,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3028,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3029,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3030,1
    - Dst: ctutil_file_exists
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3034,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/mod_ssl_ct.c:3035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - x
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3045
    functionName: ct_log_client
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl_ct.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ctutil_file_exists
    - apr_pstrcat
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *ct_log_client(cmd_parms *cmd, void *x, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:50,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:52,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:57,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:67,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:74,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:78,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:80,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: ssl_config_global_create
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_make
    - ap_retained_data_create
    - AP_DEBUG_ASSERT
    - mySrvConfig
    - ap_retained_data_get
    - apr_array_make
    linkageType: ''
    returnType: SSLModConfigRec
    signature: SSLModConfigRec *ssl_config_global_create(apr_pool_t *pool, server_rec
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mc
    argTypes:
    - SSLModConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ssl_config_global_fix
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_config_global_fix(SSLModConfigRec *mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mc
    argTypes:
    - SSLModConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ssl_config_global_isfixed
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL ssl_config_global_isfixed(SSLModConfigRec *mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: modssl_ctx_config_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - SSL_CONF_CTX_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t modssl_ctx_config_cleanup(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_CTX_new
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:177,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:178,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:181,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:182,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:183,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - mctx
    - p
    argTypes:
    - modssl_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 190
    functionName: modssl_ctx_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - SSL_CONF_CTX_set_flags
    - SSL_CONF_CTX_new
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void modssl_ctx_init(modssl_ctx_t *mctx, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:197,1
    - Dst: modssl_ctx_init
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:199,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:201,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:203,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:204,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - SSLSrvConfigRec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: modssl_ctx_init_server
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - modssl_ctx_init
    - apr_palloc
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_init_server(SSLSrvConfigRec *sc,\n                                   apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:213,1
    - Dst: modssl_ctx_init_server
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 235
    functionName: ssl_config_server_new
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_ctx_init_server
    - apr_palloc
    linkageType: ''
    returnType: SSLSrvConfigRec
    signature: SSLSrvConfigRec *ssl_config_server_new(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_config_server_new
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:242,1
    - Dst: ssl_config_global_create
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: ssl_config_server_create
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_config_server_new
    - ssl_config_global_create
    linkageType: ''
    returnType: void
    signature: void *ssl_config_server_create(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - el
    - ','
    - unset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: cfgMerge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfgMerge(el,unset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: cfgMergeArray
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfgMergeArray(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: cfgMergeString
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfgMergeString(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: cfgMergeBool
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfgMergeBool(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: cfgMergeInt
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfgMergeInt(el)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:273,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:274,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:276,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:278,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:279,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:280,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:282,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:283,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:284,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:285,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:286,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:287,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:289,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:290,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:291,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:292,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:293,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:294,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:295,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:296,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:299,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:301,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:304,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:305,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:306,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:307,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:308,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:309,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:310,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:311,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:312,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:316,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:317,1
    - Dst: cfgMergeArray
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:321,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:324,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:325,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 4
    argNames:
    - p
    - base
    - add
    - mrg
    argTypes:
    - apr_pool_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 327
    functionName: modssl_ctx_cfg_merge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - cfgMerge
    - cfgMergeInt
    - cfgMergeArray
    - cfgMergeBool
    - cfgMergeString
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_cfg_merge(apr_pool_t *p,\n                                 modssl_ctx_t
      *base,\n                                 modssl_ctx_t *add,\n                                 modssl_ctx_t
      *mrg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_ctx_cfg_merge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:334,1
    - Dst: cfgMergeArray
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:336,1
    - Dst: cfgMergeArray
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:337,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:339,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:340,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - p
    - base
    - add
    - mrg
    argTypes:
    - apr_pool_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: modssl_ctx_cfg_merge_server
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - cfgMergeArray
    - cfgMergeString
    - modssl_ctx_cfg_merge
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_cfg_merge_server(apr_pool_t *p,\n                                        modssl_ctx_t
      *base,\n                                        modssl_ctx_t *add,\n                                        modssl_ctx_t
      *mrg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_config_server_new
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:351,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:353,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:354,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:355,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:356,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:357,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:359,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:362,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:364,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:366,1
    - Dst: modssl_ctx_cfg_merge_server
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 372
    functionName: ssl_config_server_merge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - cfgMerge
    - cfgMergeInt
    - ssl_config_server_new
    - cfgMergeBool
    - cfgMergeString
    - modssl_ctx_cfg_merge_server
    linkageType: ''
    returnType: void
    signature: void *ssl_config_server_merge(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:383,1
    - Dst: modssl_ctx_init
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:385,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dc
    - p
    argTypes:
    - SSLDirConfigRec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: modssl_ctx_init_proxy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_ctx_init
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_init_proxy(SSLDirConfigRec *dc,\n                                  apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:398,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:401,1
    - Dst: modssl_ctx_init_proxy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 419
    functionName: ssl_config_perdir_create
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_ctx_init_proxy
    - apr_array_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *ssl_config_perdir_create(apr_pool_t *p, char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_ctx_cfg_merge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:430,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:432,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:433,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:434,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:435,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - p
    - base
    - add
    - mrg
    argTypes:
    - apr_pool_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: modssl_ctx_cfg_merge_proxy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - cfgMergeString
    - modssl_ctx_cfg_merge
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_cfg_merge_proxy(apr_pool_t *p,\n                                       modssl_ctx_t
      *base,\n                                       modssl_ctx_t *add,\n                                       modssl_ctx_t
      *mrg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:443,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:445,1
    - Dst: cfgMergeArray
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:446,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:462,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:463,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:464,1
    - Dst: cfgMergeString
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:466,1
    - Dst: cfgMergeInt
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:468,1
    - Dst: cfgMergeBool
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:472,1
    - Dst: modssl_ctx_init_proxy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:473,1
    - Dst: modssl_ctx_cfg_merge_proxy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:474,1
    - Dst: cfgMerge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 493
    functionName: ssl_config_perdir_merge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - cfgMerge
    - cfgMergeInt
    - apr_palloc
    - modssl_ctx_init_proxy
    - modssl_ctx_cfg_merge_proxy
    - cfgMergeArray
    - cfgMergeBool
    - cfgMergeString
    linkageType: ''
    returnType: void
    signature: void *ssl_config_perdir_merge(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modssl_ctx_cfg_merge_proxy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - base
    - conf
    argTypes:
    - apr_pool_t*
    - SSLDirConfigRec*
    - SSLDirConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: ssl_config_proxy_merge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_ctx_cfg_merge_proxy
    linkageType: ''
    returnType: void
    signature: "void ssl_config_proxy_merge(apr_pool_t *p,\n                            SSLDirConfigRec
      *base,\n                            SSLDirConfigRec *conf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_config_server_new
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:518,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - policies
    - p
    - name
    - protocols
    - ssl_ciphers
    - tls13_ciphers
    - honor_order
    - compression
    - session_tickets
    argTypes:
    - apr_hash_t*
    - apr_pool_t*
    - char*
    - int
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: add_policy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_config_server_new
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: "void add_policy(apr_hash_t *policies, apr_pool_t *p, const char *name,\n
      \                      int protocols, const char *ssl_ciphers, const char *tls13_ciphers,
      \n                       int honor_order, int compression, int session_tickets)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:544,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:548,1
    - Dst: add_policy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:551,1
    - Dst: add_policy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:560,1
    - Dst: add_policy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:569,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 581
    functionName: get_policies
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - add_policy
    - apr_hash_make
    linkageType: ''
    returnType: apr_hash_t
    signature: apr_hash_t *get_policies(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - baton
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: policy_collect_names
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int policy_collect_names(void *baton, const void *key, apr_ssize_t
      klen, const void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: qstrcmp
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int qstrcmp(const void *v1, const void *v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:597,1
    - Dst: get_policies
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:598,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:601,1
    - Dst: qsort
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 605
    functionName: get_policy_names
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_do
    - get_policies
    - apr_array_make
    - qsort
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *get_policy_names(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_policies
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:609,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - name
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: ssl_policy_lookup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    - get_policies
    linkageType: ''
    returnType: SSLSrvConfigRec
    signature: SSLSrvConfigRec *ssl_policy_lookup(apr_pool_t *pool, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:615,1
    - Dst: ssl_policy_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:618,1
    - Dst: ssl_config_server_merge
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:620,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:622,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 613
    functionDepth: 6
    functionLinenumber: 613
    functionLinenumberEnd: 628
    functionName: ssl_cmd_SSLPolicyApply
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_config_server_merge
    - apr_pstrcat
    - mySrvConfig
    - ssl_policy_lookup
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLPolicyApply(cmd_parms *cmd, void *mconfig, const char
      *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:638,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:640,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:642,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:646,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:650,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:653,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:655,1
    - Dst: ssl_util_path_check
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:659,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 679
    functionName: ssl_cmd_SSLPassPhraseDialog
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - strcEQ
    - strEQn
    - ssl_util_path_check
    - mySrvConfig
    - ap_check_cmd_context
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLPassPhraseDialog(cmd_parms *cmd,\n                                        void
      *dcfg,\n                                        const char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:685,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:691,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:700,1
    - Dst: ENGINE_by_id
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:705,1
    - Dst: ENGINE_free
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:707,1
    - Dst: ENGINE_get_first
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:714,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:716,1
    - Dst: ENGINE_get_id
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:716,1
    - Dst: ENGINE_get_name
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:717,1
    - Dst: ENGINE_get_next
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 727
    functionName: ssl_cmd_SSLCryptoDevice
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ENGINE_get_name
    - APLOGNO
    - strcEQ
    - myModConfig
    - ENGINE_free
    - ENGINE_get_id
    - ENGINE_get_first
    - ap_check_cmd_context
    - ap_log_error
    - ENGINE_get_next
    - ENGINE_by_id
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCryptoDevice(cmd_parms *cmd,\n                                    void
      *dcfg,\n                                    const char *arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:736,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:739,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:742,1
    - Dst: ssl_config_global_isfixed
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:749,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:753,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:755,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:758,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:762,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:767,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:769,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:771,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:773,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:775,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:778,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:780,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:786,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:792,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:797,1
    - Dst: ssl_util_path_check
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:801,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:802,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:817,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:825,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:825,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 5
    argNames:
    - cmd
    - dcfg
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 831
    functionName: ssl_cmd_SSLRandomSeed
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - APLOGNO
    - apr_array_push
    - strcEQ
    - myModConfig
    - strEQn
    - ssl_util_path_check
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    - ssl_config_global_isfixed
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLRandomSeed(cmd_parms *cmd,\n                                  void
      *dcfg,\n                                  const char *arg1,\n                                  const
      char *arg2,\n                                  const char *arg3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:835,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:837,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:841,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:845,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:847,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 853
    functionName: ssl_cmd_SSLEngine
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - strcasecmp
    - ap_log_error
    - APLOGNO
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLEngine(cmd_parms *cmd, void *dcfg, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:858,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:863,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 871
    functionName: ssl_cmd_SSLECHKeyDir
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLECHKeyDir(cmd_parms *cmd, void *dcfg, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:877,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 895
    functionName: ssl_cmd_SSLFIPS
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - myModConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLFIPS(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:901,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:909,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:911,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:921,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - cmd
    - dcfg
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 930
    functionName: ssl_cmd_SSLCipherSuite
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - strcmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCipherSuite(cmd_parms *cmd,\n                                   void
      *dcfg,\n                                   const char *arg1, const char *arg2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:944,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:948,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:950,1
    - Dst: ssl_util_path_check
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:955,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - parms
    - file
    argTypes:
    - cmd_parms*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 963
    functionName: ssl_cmd_check_file
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_state_query
    - apr_pstrcat
    - ssl_util_path_check
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_check_file(cmd_parms *parms,\n                                      const
      char **file)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:968,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:970,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:979,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:979,1
    - Dst: sk_SSL_COMP_num
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 993
    functionName: ssl_cmd_SSLCompression
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - SSL_COMP_get_compression_methods
    - mySrvConfig
    - ap_check_cmd_context
    - sk_SSL_COMP_num
    - STACK_OF
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLCompression(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: ssl_cmd_SSLClientHelloVars
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLClientHelloVars(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1011
    functionName: ssl_cmd_SSLHonorCipherOrder
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLHonorCipherOrder(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1022
    functionName: ssl_cmd_SSLSessionTickets
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLSessionTickets(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: ssl_cmd_SSLInsecureRenegotiation
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLInsecureRenegotiation(cmd_parms *cmd, void *dcfg,
      int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1033,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1036,1
    - Dst: ssl_util_path_check
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1041,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parms
    - dir
    argTypes:
    - cmd_parms*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1049
    functionName: ssl_cmd_check_dir
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - ssl_util_path_check
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_check_dir(cmd_parms *parms,\n                                     const
      char **dir)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1055,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1059,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1060,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1067
    functionName: ssl_cmd_SSLCertificateFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_is_engine_id
    - mySrvConfig
    - ssl_cmd_check_file
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCertificateFile(cmd_parms *cmd,\n                                       void
      *dcfg,\n                                       const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1073,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1077,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1078,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1085
    functionName: ssl_cmd_SSLCertificateKeyFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - modssl_is_engine_id
    - mySrvConfig
    - ssl_cmd_check_file
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCertificateKeyFile(cmd_parms *cmd,\n                                          void
      *dcfg,\n                                          const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1091,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1087
    functionDepth: 3
    functionLinenumber: 1087
    functionLinenumberEnd: 1101
    functionName: ssl_cmd_SSLCertificateChainFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCertificateChainFile(cmd_parms *cmd,\n                                            void
      *dcfg,\n                                            const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1108,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1118
    functionName: ssl_cmd_SSLSessionTicketKeyFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLSessionTicketKeyFile(cmd_parms *cmd,\n                                            void
      *dcfg,\n                                            const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1129,1
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1144
    functionName: ssl_cmd_SSLCACertificatePath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCACertificatePath(cmd_parms *cmd,\n                                         void
      *dcfg,\n                                         const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1151,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1166
    functionName: ssl_cmd_SSLCACertificateFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCACertificateFile(cmd_parms *cmd,\n                                         void
      *dcfg,\n                                         const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1171,1
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1181
    functionName: ssl_cmd_SSLCADNRequestPath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCADNRequestPath(cmd_parms *cmd, void *dcfg,\n                                       const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1186,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1196
    functionName: ssl_cmd_SSLCADNRequestFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCADNRequestFile(cmd_parms *cmd, void *dcfg,\n                                       const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1202,1
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1198
    functionDepth: 3
    functionLinenumber: 1198
    functionLinenumberEnd: 1212
    functionName: ssl_cmd_SSLCARevocationPath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCARevocationPath(cmd_parms *cmd,\n                                        void
      *dcfg,\n                                        const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1218,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1228
    functionName: ssl_cmd_SSLCARevocationFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCARevocationFile(cmd_parms *cmd,\n                                        void
      *dcfg,\n                                        const char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1236,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1237,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1240,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1243,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1247,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1253,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1254,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - parms
    - arg
    - mask
    argTypes:
    - cmd_parms*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1265
    functionName: ssl_cmd_crlcheck_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcEQ
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_crlcheck_parse(cmd_parms *parms,\n                                          const
      char *arg,\n                                          int *mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1271,1
    - Dst: ssl_cmd_crlcheck_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: ssl_cmd_SSLCARevocationCheck
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_crlcheck_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLCARevocationCheck(cmd_parms *cmd,\n                                         void
      *dcfg,\n                                         const char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1280,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1280,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1283,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1286,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1286,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1289,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - parms
    - arg
    - id
    argTypes:
    - cmd_parms*
    - char*
    - ssl_verify_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1299
    functionName: ssl_cmd_verify_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcEQ
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_verify_parse(cmd_parms *parms,\n                                        const
      char *arg,\n                                        ssl_verify_t *id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1306,1
    - Dst: ssl_cmd_verify_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1322
    functionName: ssl_cmd_SSLVerifyClient
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_verify_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLVerifyClient(cmd_parms *cmd,\n                                    void
      *dcfg,\n                                    const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1328,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - arg
    - depth
    argTypes:
    - cmd_parms*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1335
    functionName: ssl_cmd_verify_depth_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - atoi
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_verify_depth_parse(cmd_parms *parms,\n                                              const
      char *arg,\n                                              int *depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1342,1
    - Dst: ssl_cmd_verify_depth_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1358
    functionName: ssl_cmd_SSLVerifyDepth
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_verify_depth_parse
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLVerifyDepth(cmd_parms *cmd,\n                                   void
      *dcfg,\n                                   const char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1364,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1368,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1383,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1386,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1395,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1397,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1405,1
    - Dst: SSLModConfigRec*::sesscache::create
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1411,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1420,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1423,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1425,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1437
    functionName: ssl_cmd_SSLSessionCache
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - SSLModConfigRec*::sesscache::create
    - ap_lookup_provider
    - strcEQ
    - myModConfig
    - apr_pstrmemdup
    - apr_array_pstrcat
    - ap_list_provider_names
    - ap_check_cmd_context
    - apr_psprintf
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLSessionCache(cmd_parms *cmd,\n                                    void
      *dcfg,\n                                    const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1443,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1452
    functionName: ssl_cmd_SSLSessionCacheTimeout
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLSessionCacheTimeout(cmd_parms *cmd,\n                                           void
      *dcfg,\n                                           const char *arg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1464,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1475,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1478,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1481,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1484,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1487,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1490,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1493,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1520
    functionName: ssl_cmd_SSLOptions
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcEQ
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLOptions(cmd_parms *cmd,\n                               void
      *dcfg,\n                               const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmd
    - dcfg
    argTypes:
    - cmd_parms*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1529
    functionName: ssl_cmd_SSLRequireSSL
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLRequireSSL(cmd_parms *cmd, void *dcfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1536,1
    - Dst: ap_expr_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1544,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1546,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1554
    functionName: ssl_cmd_SSLRequire
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse
    - apr_array_push
    - apr_pcalloc
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLRequire(cmd_parms *cmd,\n                               void
      *dcfg,\n                               const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1561,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1569
    functionName: ssl_cmd_SSLRenegBufferSize
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - atoi
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLRenegBufferSize(cmd_parms *cmd, void *dcfg, const
      char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1580,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1587,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1595,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1606,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1610,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1613,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1616,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1620,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1624,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1637,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1637,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - parms
    - arg
    - options
    argTypes:
    - cmd_parms*
    - char*
    - ssl_proto_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1644
    functionName: ssl_cmd_protocol_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - APLOGNO
    - strcEQ
    - ap_log_error
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_protocol_parse(cmd_parms *parms,\n                                          const
      char *arg,\n                                          ssl_proto_t *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1658,1
    - Dst: ssl_cmd_protocol_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1662
    functionName: ssl_cmd_SSLProtocol
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_protocol_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProtocol(cmd_parms *cmd,\n                                void
      *dcfg,\n                                const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: ssl_cmd_SSLProxyEngine
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLProxyEngine(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_protocol_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1681
    functionName: ssl_cmd_SSLProxyProtocol
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_protocol_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyProtocol(cmd_parms *cmd,\n                                     void
      *dcfg,\n                                     const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1694,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1696,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1701,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - cmd
    - dcfg
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1707
    functionName: ssl_cmd_SSLProxyCipherSuite
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCipherSuite(cmd_parms *cmd,\n                                        void
      *dcfg,\n                                        const char *arg1, const char
      *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_verify_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1724
    functionName: ssl_cmd_SSLProxyVerify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_verify_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyVerify(cmd_parms *cmd,\n                                   void
      *dcfg,\n                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_verify_depth_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1741
    functionName: ssl_cmd_SSLProxyVerifyDepth
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_verify_depth_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyVerifyDepth(cmd_parms *cmd,\n                                        void
      *dcfg,\n                                        const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1757
    functionName: ssl_cmd_SSLProxyCACertificateFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCACertificateFile(cmd_parms *cmd,\n                                              void
      *dcfg,\n                                              const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1759
    functionDepth: 3
    functionLinenumber: 1759
    functionLinenumberEnd: 1773
    functionName: ssl_cmd_SSLProxyCACertificatePath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCACertificatePath(cmd_parms *cmd,\n                                              void
      *dcfg,\n                                              const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1775
    functionDepth: 3
    functionLinenumber: 1775
    functionLinenumberEnd: 1789
    functionName: ssl_cmd_SSLProxyCARevocationPath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCARevocationPath(cmd_parms *cmd,\n                                             void
      *dcfg,\n                                             const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1791
    functionDepth: 3
    functionLinenumber: 1791
    functionLinenumberEnd: 1805
    functionName: ssl_cmd_SSLProxyCARevocationFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCARevocationFile(cmd_parms *cmd,\n                                             void
      *dcfg,\n                                             const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_crlcheck_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1807
    functionDepth: 2
    functionLinenumber: 1807
    functionLinenumberEnd: 1814
    functionName: ssl_cmd_SSLProxyCARevocationCheck
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_crlcheck_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyCARevocationCheck(cmd_parms *cmd,\n                                              void
      *dcfg,\n                                              const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1816
    functionDepth: 3
    functionLinenumber: 1816
    functionLinenumberEnd: 1830
    functionName: ssl_cmd_SSLProxyMachineCertificateFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyMachineCertificateFile(cmd_parms *cmd,\n                                                   void
      *dcfg,\n                                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1832
    functionDepth: 3
    functionLinenumber: 1832
    functionLinenumberEnd: 1846
    functionName: ssl_cmd_SSLProxyMachineCertificatePath
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_dir
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyMachineCertificatePath(cmd_parms *cmd,\n                                                   void
      *dcfg,\n                                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1848
    functionDepth: 3
    functionLinenumber: 1848
    functionLinenumberEnd: 1862
    functionName: ssl_cmd_SSLProxyMachineCertificateChainFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLProxyMachineCertificateChainFile(cmd_parms *cmd,\n
      \                                                  void *dcfg,\n                                                   const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1870
    functionName: ssl_cmd_SSLUserName
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLUserName(cmd_parms *cmd, void *dcfg,\n                                const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1878,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1879,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1882,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1885,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1889,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1895,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1896,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - parms
    - arg
    - mask
    argTypes:
    - cmd_parms*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1907
    functionName: ssl_cmd_ocspcheck_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - strcEQ
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_ocspcheck_parse(cmd_parms *parms,\n                                           const
      char *arg,\n                                           int *mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1911,1
    - Dst: ssl_cmd_ocspcheck_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1921
    functionName: ssl_cmd_SSLOCSPEnable
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_ocspcheck_parse
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPEnable(cmd_parms *cmd, void *dcfg, const char
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1930
    functionName: ssl_cmd_SSLOCSPOverrideResponder
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPOverrideResponder(cmd_parms *cmd, void *dcfg,
      int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1939
    functionName: ssl_cmd_SSLOCSPDefaultResponder
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPDefaultResponder(cmd_parms *cmd, void *dcfg, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1943,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1949
    functionName: ssl_cmd_SSLOCSPResponseTimeSkew
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPResponseTimeSkew(cmd_parms *cmd, void *dcfg, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1953,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1959
    functionName: ssl_cmd_SSLOCSPResponseMaxAge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPResponseMaxAge(cmd_parms *cmd, void *dcfg, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1963,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1964,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1961
    functionDepth: 1
    functionLinenumber: 1961
    functionLinenumberEnd: 1969
    functionName: ssl_cmd_SSLOCSPResponderTimeout
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - apr_time_from_sec
    - atoi
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPResponderTimeout(cmd_parms *cmd, void *dcfg, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 1978
    functionName: ssl_cmd_SSLOCSPUseRequestNonce
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPUseRequestNonce(cmd_parms *cmd, void *dcfg, int
      flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1983,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1984,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1985,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 1990
    functionName: ssl_cmd_SSLOCSPProxyURL
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - apr_psprintf
    - apr_palloc
    - apr_uri_parse
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLOCSPProxyURL(cmd_parms *cmd, void *dcfg,\n                                    const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1993
    functionDepth: 1
    functionLinenumber: 1993
    functionLinenumberEnd: 2000
    functionName: ssl_cmd_SSLOCSPNoVerify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLOCSPNoVerify(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2009
    functionName: ssl_cmd_SSLProxyCheckPeerExpire
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLProxyCheckPeerExpire(cmd_parms *cmd, void *dcfg, int
      flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2018
    functionName: ssl_cmd_SSLProxyCheckPeerCN
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLProxyCheckPeerCN(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2027
    functionName: ssl_cmd_SSLProxyCheckPeerName
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLProxyCheckPeerName(cmd_parms *cmd, void *dcfg, int
      flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2029
    functionDepth: 1
    functionLinenumber: 2029
    functionLinenumberEnd: 2042
    functionName: ssl_cmd_SSLStrictSNIVHostCheck
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLStrictSNIVHostCheck(cmd_parms *cmd, void *dcfg, int
      flag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2047,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2050,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2057,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2060,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2063,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2066,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2080
    functionName: ssl_cmd_SSLVHostSNIPolicy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - strcEQ
    - myModConfig
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLVHostSNIPolicy(cmd_parms *cmd, void *dcfg, const char
      *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2088,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2091,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2099,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2101,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2109,1
    - Dst: SSLModConfigRec*::stapling_cache::create
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2114,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2124,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2127,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2129,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2140
    functionName: ssl_cmd_SSLStaplingCache
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - myModConfig
    - apr_pstrmemdup
    - apr_array_pstrcat
    - ap_list_provider_names
    - ap_check_cmd_context
    - apr_psprintf
    - SSLModConfigRec*::stapling_cache::create
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingCache(cmd_parms *cmd,\n                                    void
      *dcfg,\n                                    const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2147
    functionName: ssl_cmd_SSLUseStapling
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: char *ssl_cmd_SSLUseStapling(cmd_parms *cmd, void *dcfg, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2152,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2158
    functionName: ssl_cmd_SSLStaplingResponseTimeSkew
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingResponseTimeSkew(cmd_parms *cmd, void *dcfg,\n
      \                                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2163,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2169
    functionName: ssl_cmd_SSLStaplingResponseMaxAge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingResponseMaxAge(cmd_parms *cmd, void *dcfg,\n
      \                                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2174,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2180
    functionName: ssl_cmd_SSLStaplingStandardCacheTimeout
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingStandardCacheTimeout(cmd_parms *cmd, void
      *dcfg,\n                                                    const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2185,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2191
    functionName: ssl_cmd_SSLStaplingErrorCacheTimeout
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingErrorCacheTimeout(cmd_parms *cmd, void *dcfg,\n
      \                                                const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2199
    functionName: ssl_cmd_SSLStaplingReturnResponderErrors
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingReturnResponderErrors(cmd_parms *cmd,\n                                                     void
      *dcfg, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2207
    functionName: ssl_cmd_SSLStaplingFakeTryLater
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingFakeTryLater(cmd_parms *cmd,\n                                            void
      *dcfg, int flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2212,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2219
    functionName: ssl_cmd_SSLStaplingResponderTimeout
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingResponderTimeout(cmd_parms *cmd, void *dcfg,\n
      \                                               const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2227
    functionName: ssl_cmd_SSLStaplingForceURL
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLStaplingForceURL(cmd_parms *cmd, void *dcfg,\n                                        const
      char *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2235,1
    - Dst: SSL_CONF_cmd_value_type
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2237,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2242,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2248,1
    - Dst: ssl_cmd_check_dir
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2252,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2256,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2258,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - cmd
    - dcfg
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2232
    functionDepth: 3
    functionLinenumber: 2232
    functionLinenumberEnd: 2265
    functionName: ssl_cmd_SSLOpenSSLConfCmd
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ssl_cmd_check_dir
    - SSL_CONF_cmd_value_type
    - apr_pstrcat
    - apr_array_push
    - strcEQ
    - mySrvConfig
    - ssl_cmd_check_file
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLOpenSSLConfCmd(cmd_parms *cmd, void *dcfg,\n                                      const
      char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2273,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2276,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2270
    functionDepth: 3
    functionLinenumber: 2270
    functionLinenumberEnd: 2281
    functionName: ssl_cmd_SSLSRPVerifierFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLSRPVerifierFile(cmd_parms *cmd, void *dcfg,\n                                       const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2286,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2290
    functionName: ssl_cmd_SSLSRPUnknownUserSeed
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLSRPUnknownUserSeed(cmd_parms *cmd, void *dcfg,\n
      \                                         const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2298,1
    - Dst: ssl_cmd_check_file
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dcfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2295
    functionDepth: 3
    functionLinenumber: 2295
    functionLinenumberEnd: 2307
    functionName: ssl_cmd_SSLOCSPResponderCertificateFile
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_cmd_check_file
    linkageType: ''
    returnType: char
    signature: "char *ssl_cmd_SSLOCSPResponderCertificateFile(cmd_parms *cmd, void
      *dcfg, \n\t\t\t\t\t   const char *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2317,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2318,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2322,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2323,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2324,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2329,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2336,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2338,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2339,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2349,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2350,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2351,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2356,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2360,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2364,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2374,1
    - Dst: get_policy_names
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2375,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2380,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2381,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2383,1
    - Dst: ssl_policy_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2384,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2386,1
    - Dst: ssl_policy_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2388,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2389,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2392,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - pconf
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2314
    functionDepth: 6
    functionLinenumber: 2314
    functionLinenumberEnd: 2395
    functionName: ssl_hook_ConfigTest
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - APR_ARRAY_IDX
    - get_policy_names
    - mySrvConfig
    - apr_file_open_stdout
    - ssl_policy_lookup
    - ssl_policy_dump
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void ssl_hook_ConfigTest(apr_pool_t *pconf, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2408,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2415,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2424
    functionName: json_quote
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - apr_pcalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char *json_quote(const char *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2431,1
    - Dst: json_quote
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - char*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2426
    functionDepth: 1
    functionLinenumber: 2426
    functionLinenumberEnd: 2434
    functionName: val_str_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    - json_quote
    linkageType: ''
    returnType: void
    signature: "void val_str_dump(apr_file_t *out, const char *key, const char *val,
      \n                         apr_pool_t *p, const char *indent, const char **psep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2444,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - apr_array_header_t*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2436
    functionDepth: 2
    functionLinenumber: 2436
    functionLinenumberEnd: 2448
    functionName: val_str_array_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: void
    signature: "void val_str_array_dump(apr_file_t *out, const char *key, apr_array_header_t
      *val, \n                               apr_pool_t *p, const char *indent, const
      char **psep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - long
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2457
    functionName: val_long_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: "void val_long_dump(apr_file_t *out, const char *key, long val, \n
      \                         apr_pool_t *p, const char *indent, const char **psep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - apr_interval_time_t
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2467
    functionName: val_itime_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: "void val_itime_dump(apr_file_t *out, const char *key, apr_interval_time_t
      val, \n                           apr_pool_t *p, const char *indent, const char
      **psep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - BOOL
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2475
    functionName: val_onoff_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    linkageType: ''
    returnType: void
    signature: "void val_onoff_dump(apr_file_t *out, const char *key, BOOL val, \n
      \                          apr_pool_t *p, const char *indent, const char **psep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2481,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - apr_uri_t*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2477
    functionDepth: 2
    functionLinenumber: 2477
    functionLinenumberEnd: 2483
    functionName: val_uri_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - val_str_dump
    linkageType: ''
    returnType: void
    signature: "void val_uri_dump(apr_file_t *out, const char *key, apr_uri_t *val,
      \n                         apr_pool_t *p, const char *indent, const char **psep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2490,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2493,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2496,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - out
    - key
    - mode
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - ssl_verify_t
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2485
    functionDepth: 2
    functionLinenumber: 2485
    functionLinenumberEnd: 2504
    functionName: val_verify_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    linkageType: ''
    returnType: void
    signature: "void val_verify_dump(apr_file_t *out, const char *key, ssl_verify_t
      mode, \n                            apr_pool_t *p, const char *indent, const
      char **psep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2511,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - out
    - key
    - val
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - ssl_enabled_t
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2506
    functionDepth: 2
    functionLinenumber: 2506
    functionLinenumberEnd: 2519
    functionName: val_enabled_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    linkageType: ''
    returnType: void
    signature: "void val_enabled_dump(apr_file_t *out, const char *key, ssl_enabled_t
      val, \n                             apr_pool_t *p, const char *indent, const
      char **psep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2527,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2530,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2530,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2533,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 7
    argNames:
    - out
    - key
    - pphrase_type
    - path
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - ssl_pphrase_t
    - char*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2538
    functionName: val_pphrase_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void val_pphrase_dump(apr_file_t *out, const char *key, \n                             ssl_pphrase_t
      pphrase_type, const char *path, \n                             apr_pool_t *p,
      const char *indent, const char **psep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2545,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2548,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2551,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2554,1
    - Dst: val_str_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - out
    - key
    - mask
    - p
    - indent
    - psep
    argTypes:
    - apr_file_t*
    - char*
    - int
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2560
    functionName: val_crl_check_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - val_str_dump
    linkageType: ''
    returnType: void
    signature: "void val_crl_check_dump(apr_file_t *out, const char *key, int mask,
      \n                               apr_pool_t *p, const char *indent, const char
      **psep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2573,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - proto
    - p
    argTypes:
    - ssl_proto_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2588
    functionName: protocol_str
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_array_pstrcat
    linkageType: ''
    returnType: char
    signature: char *protocol_str(ssl_proto_t proto, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2592
    functionName: DMP_STRING
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_STRING(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2594
    functionName: DMP_LONG
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_LONG(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2596
    functionName: DMP_ITIME
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_ITIME(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2598
    functionName: DMP_STRARR
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_STRARR(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2600
    functionName: DMP_VERIFY
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_VERIFY(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2602
    functionName: DMP_ON_OFF
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_ON_OFF(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2604
    functionName: DMP_URI
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_URI(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2606
    functionName: DMP_CRLCHK
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_CRLCHK(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - k
    - ','
    - v
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2608
    functionName: DMP_PHRASE
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_PHRASE(k,v, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2610
    functionName: DMP_ENABLD
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_ENABLD(k,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2613
    functionName: DMP_OPTION
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMP_OPTION(n,v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2617,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2620,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2621,1
    - Dst: DMP_VERIFY
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2624,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2625,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2626,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - auth
    - p
    - proxy
    - out
    - indent
    - psep
    argTypes:
    - modssl_auth_ctx_t*
    - apr_pool_t*
    - int
    - apr_file_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2628
    functionName: modssl_auth_ctx_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - DMP_VERIFY
    - apr_pstrcat
    - DMP_LONG
    - DMP_STRING
    linkageType: ''
    returnType: void
    signature: "void modssl_auth_ctx_dump(modssl_auth_ctx_t *auth, apr_pool_t *p,
      int proxy,\n                                 apr_file_t *out, const char *indent,
      const char **psep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2638,1
    - Dst: protocol_str
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2638,1
    - Dst: modssl_auth_ctx_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2641,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2643,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2644,1
    - Dst: DMP_CRLCHK
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2645,1
    - Dst: DMP_PHRASE
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2647,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2649,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2650,1
    - Dst: DMP_STRARR
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2651,1
    - Dst: DMP_STRARR
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2652,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2655,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2656,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2657,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2658,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2659,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2660,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2661,1
    - Dst: DMP_ITIME
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2662,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2663,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2667,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2668,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2670,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2671,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2672,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2673,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2674,1
    - Dst: DMP_ITIME
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2675,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2676,1
    - Dst: DMP_URI
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2677,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2678,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2679,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2685,1
    - Dst: json_quote
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2686,1
    - Dst: json_quote
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2687,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2695,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2701,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2702,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2703,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2705,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2706,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 6
    argNames:
    - ctx
    - p
    - proxy
    - out
    - indent
    - psep
    argTypes:
    - modssl_ctx_t*
    - apr_pool_t*
    - int
    - apr_file_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2630
    functionDepth: 2
    functionLinenumber: 2630
    functionLinenumberEnd: 2709
    functionName: modssl_ctx_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - DMP_ITIME
    - modssl_auth_ctx_dump
    - DMP_PHRASE
    - DMP_ON_OFF
    - DMP_URI
    - json_quote
    - DMP_STRING
    - DMP_LONG
    - apr_file_printf
    - DMP_CRLCHK
    - DMP_STRARR
    - protocol_str
    linkageType: ''
    returnType: void
    signature: "void modssl_ctx_dump(modssl_ctx_t *ctx, apr_pool_t *p, int proxy,\n
      \                           apr_file_t *out, const char *indent, const char
      **psep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DMP_ENABLD
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2714,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2715,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2718,1
    - Dst: modssl_ctx_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2721,1
    - Dst: DMP_LONG
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2723,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2724,1
    - Dst: DMP_ON_OFF
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2725,1
    - Dst: DMP_STRING
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - sc
    - p
    - out
    - indent
    - psep
    argTypes:
    - SSLSrvConfigRec*
    - apr_pool_t*
    - apr_file_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2711
    functionDepth: 3
    functionLinenumber: 2711
    functionLinenumberEnd: 2729
    functionName: ssl_srv_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 0
    functionsReached:
    - DMP_ENABLD
    - modssl_ctx_dump
    - DMP_ON_OFF
    - DMP_STRING
    - DMP_LONG
    linkageType: ''
    returnType: void
    signature: "void ssl_srv_dump(SSLSrvConfigRec *sc, apr_pool_t *p, \n                            apr_file_t
      *out, const char *indent, const char **psep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_srv_dump
      Src: /src/httpd/modules/ssl/ssl_engine_config.c:2735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - policy
    - p
    - out
    - indent
    argTypes:
    - SSLSrvConfigRec*
    - apr_pool_t*
    - apr_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2731
    functionDepth: 4
    functionLinenumber: 2731
    functionLinenumberEnd: 2736
    functionName: ssl_policy_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_config.c
    functionUses: 1
    functionsReached:
    - ssl_srv_dump
    linkageType: ''
    returnType: void
    signature: "void ssl_policy_dump(SSLSrvConfigRec *policy, apr_pool_t *p, \n                            apr_file_t
      *out, const char *indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:123,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - filter_ctx
    - c
    argTypes:
    - ssl_filter_ctx_t*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: bio_filter_out_ctx_new
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_palloc
    linkageType: ''
    returnType: bio_filter_out_ctx_t
    signature: "bio_filter_out_ctx_t *bio_filter_out_ctx_new(ssl_filter_ctx_t *filter_ctx,\n
      \                                                   conn_rec *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:136,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:136,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:138,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - outctx
    argTypes:
    - bio_filter_out_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: bio_filter_out_pass
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_EMPTY
    - ap_pass_brigade
    - AP_DEBUG_ASSERT
    - apr_brigade_cleanup
    linkageType: ''
    returnType: int
    signature: int bio_filter_out_pass(bio_filter_out_ctx_t *outctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:152,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:155,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:158,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:158,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:160,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:161,1
    - Dst: bio_filter_out_pass
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: bio_filter_out_flush
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - bio_filter_out_pass
    - ap_log_cerror
    - AP_DEBUG_ASSERT
    - apr_bucket_flush_create
    - BIO_get_data
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int bio_filter_out_flush(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:168,1
    - Dst: BIO_set_init
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:169,1
    - Dst: BIO_set_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: bio_filter_create
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - BIO_set_data
    - BIO_set_shutdown
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_filter_create(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: bio_filter_destroy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bio_filter_destroy(BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:196,1
    - Dst: BIO_clear_retry_flags
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:200,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:210,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:215,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:216,1
    - Dst: SSL_is_init_finished
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:229,1
    - Dst: SSL_in_connect_init
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:231,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:234,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:235,1
    - Dst: bio_filter_out_pass
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 243
    functionName: bio_filter_out_write
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - bio_filter_out_pass
    - ap_log_cerror
    - apr_bucket_transient_create
    - apr_bucket_flush_create
    - BIO_clear_retry_flags
    - SSL_is_init_finished
    - BIO_get_data
    - SSL_in_connect_init
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int bio_filter_out_write(BIO *bio, const char *in, int inl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:248,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:254,1
    - Dst: BIO_get_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:264,1
    - Dst: BIO_set_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:267,1
    - Dst: bio_filter_out_flush
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 287
    functionName: bio_filter_out_ctrl
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - BIO_set_shutdown
    - bio_filter_out_flush
    - BIO_get_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_filter_out_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:319,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:320,1
    - Dst: ap_filter_adopt_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - inctx
    argTypes:
    - bio_filter_in_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: char_buffer_insert
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_HEAD
    - ap_filter_reinstate_brigade
    - ap_filter_adopt_brigade
    linkageType: ''
    returnType: void
    signature: void char_buffer_insert(bio_filter_in_ctx_t *inctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:332,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:333,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:335,1
    - Dst: char_buffer_insert
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - inctx
    - inl
    argTypes:
    - bio_filter_in_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 339
    functionName: char_buffer_consume
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BUCKET_REMOVE
    - APR_BUCKET_INIT
    - char_buffer_insert
    linkageType: ''
    returnType: void
    signature: void char_buffer_consume(bio_filter_in_ctx_t *inctx, int inl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:359,1
    - Dst: char_buffer_consume
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - inctx
    - in
    - inl
    argTypes:
    - bio_filter_in_ctx_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: char_buffer_read
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - memmove
    - char_buffer_consume
    linkageType: ''
    returnType: int
    signature: int char_buffer_read(bio_filter_in_ctx_t *inctx, char *in, int inl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:370,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:370,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:374,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:375,1
    - Dst: char_buffer_insert
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - inctx
    - in
    - inl
    argTypes:
    - bio_filter_in_ctx_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: char_buffer_write
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - apr_bucket_immortal_create
    - AP_DEBUG_ASSERT
    - apr_brigade_create
    - char_buffer_insert
    linkageType: ''
    returnType: int
    signature: int char_buffer_write(bio_filter_in_ctx_t *inctx, char *in, int inl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:397,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:398,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:408,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:422,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:425,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:427,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:440,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:447,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - bb
    - block
    - c
    - len
    argTypes:
    - apr_bucket_brigade*
    - apr_read_type_e
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 468
    functionName: brigade_consume
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_STATUS_IS_EOF
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t brigade_consume(apr_bucket_brigade *bb,\n                                    apr_read_type_e
      block,\n                                    char *c, apr_size_t *len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:476,1
    - Dst: BIO_clear_retry_flags
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:485,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:500,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:502,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:510,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:510,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:511,1
    - Dst: BIO_set_retry_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:512,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:517,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:518,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:524,1
    - Dst: brigade_consume
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:530,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:536,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:537,1
    - Dst: BIO_set_retry_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:538,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:545,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:548,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - bio
    - in
    - inlen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 556
    functionName: bio_filter_in_read
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - brigade_consume
    - APR_STATUS_IS_EOF
    - APR_STATUS_IS_EINTR
    - BIO_set_retry_read
    - BIO_clear_retry_flags
    - APR_STATUS_IS_TIMEUP
    - apr_brigade_cleanup
    - BIO_get_data
    - APR_BRIGADE_EMPTY
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: int
    signature: int bio_filter_in_read(BIO *bio, char *in, int inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:560,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: bio_filter_in_ctrl
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_filter_in_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:609,1
    - Dst: BIO_meth_set_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:610,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:611,1
    - Dst: BIO_meth_set_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:612,1
    - Dst: BIO_meth_set_destroy
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:613,1
    - Dst: BIO_meth_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:615,1
    - Dst: BIO_meth_set_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:616,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:617,1
    - Dst: BIO_meth_set_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:618,1
    - Dst: BIO_meth_set_destroy
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 620
    functionName: init_bio_methods
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_read
    - BIO_meth_set_create
    - BIO_meth_new
    linkageType: ''
    returnType: void
    signature: void init_bio_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:624,1
    - Dst: BIO_meth_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: free_bio_methods
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void free_bio_methods(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: char_buffer_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:639,1
    - Dst: char_buffer_consume
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:643,1
    - Dst: memchr
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:653,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:677,1
    - Dst: SSL_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:683,1
    - Dst: char_buffer_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:689,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:700,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:701,1
    - Dst: SSL_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:721,1
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:722,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:745,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:746,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:757,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:762,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:762,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:774,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:774,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:776,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:776,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    argCount: 3
    argNames:
    - inctx
    - buf
    - len
    argTypes:
    - bio_filter_in_ctx_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 790
    functionName: ssl_io_input_read
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EINTR
    - ap_log_cerror
    - memchr
    - SSL_get_error
    - char_buffer_write
    - APLOGNO
    - mySrvFromConn
    - char_buffer_read
    - ERR_clear_error
    - APR_STATUS_IS_TIMEUP
    - ssl_log_ssl_error
    - SSL_get_app_data
    - char_buffer_consume
    - APR_STATUS_IS_EAGAIN
    - SSL_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_input_read(bio_filter_in_ctx_t *inctx,\n                                      char
      *buf,\n                                      apr_size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_io_input_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:812,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:815,1
    - Dst: char_buffer_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:817,1
    - Dst: memchr
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:824,1
    - Dst: char_buffer_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - inctx
    - buf
    - len
    argTypes:
    - bio_filter_in_ctx_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 847
    functionName: ssl_io_input_getline
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - memchr
    - char_buffer_write
    - APR_STATUS_IS_EAGAIN
    - ssl_io_input_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_input_getline(bio_filter_in_ctx_t *inctx,\n                                         char
      *buf,\n                                         apr_size_t *len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:863,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:869,1
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:871,1
    - Dst: SSL_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:872,1
    - Dst: SSL_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:875,1
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:876,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:900,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:904,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:904,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:911,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:911,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:913,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:913,1
    - Dst: SSL_total_renegotiations
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:924,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:928,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - f
    - data
    - len
    argTypes:
    - ap_filter_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 936
    functionName: ssl_filter_write
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - SSL_total_renegotiations
    - SSL_get_error
    - APLOGNO
    - mySrvFromConn
    - ERR_clear_error
    - ssl_log_ssl_error
    - BIO_get_data
    - SSL_get_app_data
    - SSL_write
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_filter_write(ap_filter_t *f,\n                                     const
      char *data,\n                                     apr_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: HTTP_ON_HTTPS_PORT_BUCKET
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_ON_HTTPS_PORT_BUCKET(alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sslconn
    - inctx
    argTypes:
    - SSLConnRec*
    - bio_filter_in_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: ssl_io_filter_disable
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: "void ssl_io_filter_disable(SSLConnRec *sslconn,\n                                  bio_filter_in_ctx_t
      *inctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:976,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:983,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:983,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:986,1
    - Dst: ssl_io_filter_disable
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:988,1
    - Dst: HTTP_ON_HTTPS_PORT_BUCKET
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:997,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1002,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1002,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1011,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1013,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - inctx
    - bb
    - status
    - is_init
    argTypes:
    - bio_filter_in_ctx_t*
    - apr_bucket_brigade*
    - apr_status_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 1017
    functionName: ssl_io_filter_error
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - HTTP_ON_HTTPS_PORT_BUCKET
    - ssl_io_filter_disable
    - ap_log_cerror
    - APLOGNO
    - apr_bucket_eos_create
    - ssl_log_ssl_error
    - APR_BRIGADE_INSERT_TAIL
    - myConnConfig
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_error(bio_filter_in_ctx_t *inctx,\n                                        apr_bucket_brigade
      *bb,\n                                        apr_status_t status,\n                                        int
      is_init)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1033,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1083,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1093,1
    - Dst: SSL_get_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1099,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1101,1
    - Dst: SSL_get_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1113,1
    - Dst: SSL_set_quiet_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1118,1
    - Dst: SSL_set_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1120,1
    - Dst: modssl_smart_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1121,1
    - Dst: APLOG_CS_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1124,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1124,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1127,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1127,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1131,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1131,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1136,1
    - Dst: SSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - filter_ctx
    - c
    - abortive
    argTypes:
    - ssl_filter_ctx_t*
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1147
    functionName: ssl_filter_io_shutdown
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ssl_util_vhostid
    - ap_log_cserror
    - SSL_free
    - X509_free
    - SSL_set_quiet_shutdown
    - APLOGNO
    - mySrvFromConn
    - SSL_get_shutdown
    - modssl_smart_shutdown
    - APLOG_CS_IS_LEVEL
    - myConnConfig
    - SSL_set_shutdown
    linkageType: ''
    returnType: void
    signature: "void ssl_filter_io_shutdown(ssl_filter_ctx_t *filter_ctx,\n                                   conn_rec
      *c, int abortive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1154,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1155,1
    - Dst: SSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1162
    functionName: ssl_io_filter_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - myConnConfig
    - SSL_get_app_data
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_io_filter_cleanup(void *data)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1176,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1177,1
    - Dst: SSL_is_init_finished
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1185,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1194,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1206,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1210,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1220,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1222,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1222,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1223,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1224,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1227,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1227,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1230,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1233,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1235,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1244,1
    - Dst: SSL_set_alpn_protos
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1247,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1250,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1250,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1252,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1269,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1271,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1272,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1276,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1279,1
    - Dst: SSL_connect
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1284,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1285,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1287,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1289,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1290,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1294,1
    - Dst: X509_cmp_current_time
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1298,1
    - Dst: X509_get_notBefore
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1299,1
    - Dst: X509_cmp_current_time
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1300,1
    - Dst: X509_get_notAfter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1301,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1303,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1303,1
    - Dst: modssl_X509_match_name
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1312,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1315,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1315,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1325,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1330,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1331,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1332,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1334,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1339,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1339,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1358,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1364,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1374,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1375,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1380,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1381,1
    - Dst: ssl_run_proxy_post_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1392,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1396,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1402,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1403,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1407,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1414,1
    - Dst: SSL_accept
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1416,1
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1418,1
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1420,1
    - Dst: SSL_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1422,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1430,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1430,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1442,1
    - Dst: ERR_peek_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1442,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1443,1
    - Dst: ERR_peek_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1443,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1453,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1453,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1461,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1461,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1464,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1465,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1472,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1475,1
    - Dst: SSL_get_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1480,1
    - Dst: ssl_verify_error_is_optional
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1485,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1496,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1496,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1501,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1511,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1513,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1513,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1516,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1518,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1526,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1528,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1541,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1541,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1544,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 160
    argCount: 1
    argNames:
    - filter_ctx
    argTypes:
    - ssl_filter_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1549
    functionName: ssl_io_filter_handshake
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ssl_util_vhostid
    - apr_strtok
    - SSL_get_error
    - SSL_get_verify_result
    - ssl_filter_io_shutdown
    - BIO_get_data
    - SSL_get_app_data
    - SSL_set_alpn_protos
    - SSL_get_peer_certificate
    - SSL_is_init_finished
    - strncmp
    - SSL_get0_alpn_selected
    - apr_ipsubnet_create
    - ap_log_cerror
    - SSL_accept
    - ERR_GET_LIB
    - modssl_X509_match_name
    - strlen
    - ssl_verify_error_is_optional
    - ssl_log_ssl_error
    - apr_pstrndup
    - apr_table_get
    - X509_get_notAfter
    - ap_strchr_c
    - strcmp
    - APR_ARRAY_IDX
    - X509_cmp_current_time
    - X509_verify_cert_error_string
    - ERR_peek_error
    - mySrvConfig
    - X509_get_notBefore
    - ERR_GET_REASON
    - X509_free
    - apr_pcalloc
    - APLOGNO
    - strcasecmp
    - apr_table_setn
    - SSL_connect
    - apr_array_make
    - ssl_var_lookup
    - SSL_set_tlsext_host_name
    - ssl_run_proxy_post_handshake
    - ERR_clear_error
    - apr_pstrdup
    - myConnConfig
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_io_filter_handshake(ssl_filter_ctx_t *filter_ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1569,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1570,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1575,1
    - Dst: HTTP_ON_HTTPS_PORT_BUCKET
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1577,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1578,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1585,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1586,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1592,1
    - Dst: ssl_io_filter_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1609,1
    - Dst: ssl_io_filter_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1610,1
    - Dst: ssl_io_input_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1627,1
    - Dst: memchr
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1638,1
    - Dst: char_buffer_consume
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1643,1
    - Dst: ssl_io_input_getline
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1648,1
    - Dst: ssl_io_filter_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1665,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1671,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1672,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1551
    functionDepth: 6
    functionLinenumber: 1551
    functionLinenumberEnd: 1676
    functionName: ssl_io_filter_input
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_bucket_immortal_create
    - HTTP_ON_HTTPS_PORT_BUCKET
    - ssl_io_input_getline
    - ssl_io_filter_handshake
    - memchr
    - apr_bucket_transient_create
    - apr_bucket_eos_create
    - ssl_io_input_read
    - APR_BRIGADE_INSERT_TAIL
    - char_buffer_consume
    - ssl_io_filter_error
    - myConnConfig
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_input(ap_filter_t *f,\n                                        apr_bucket_brigade
      *bb,\n                                        ap_input_mode_t mode,\n                                        apr_read_type_e
      block,\n                                        apr_off_t readbytes)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1718,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1721,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1722,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1738,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1739,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1740,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1744,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1759,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1760,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1771,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1772,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1773,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1773,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1786,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1794,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1801,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1804,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1804,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1834,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1836,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1845,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1851,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1853,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1853,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1865,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1867,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1867,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1875,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1875,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1880,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1882,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1882,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1889,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1890,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1895,1
    - Dst: ap_filter_setaside_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1898,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1904,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1905,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1908,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1912,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 79
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1913
    functionName: ssl_io_filter_coalesce
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_bucket_split
    - APR_BRIGADE_EMPTY
    - ap_filter_setaside_brigade
    - apr_pcalloc
    - ap_log_cerror
    - apr_bucket_delete
    - APR_BRIGADE_PREPEND
    - ap_pass_brigade
    - APLOGNO
    - apr_brigade_create
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - ap_filter_reinstate_brigade
    - apr_brigade_write
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_coalesce(ap_filter_t *f,\n                                           apr_bucket_brigade
      *bb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1926,1
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1931,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1935,1
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1938,1
    - Dst: BIO_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1939,1
    - Dst: ssl_io_filter_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1948,1
    - Dst: ssl_io_filter_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1949,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1952,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1953,1
    - Dst: ap_filter_should_yield
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1957,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1965,1
    - Dst: AP_BUCKET_IS_EOC
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1968,1
    - Dst: ssl_filter_io_shutdown
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1969,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1976,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1977,1
    - Dst: bio_filter_out_pass
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1978,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1987,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1989,1
    - Dst: bio_filter_out_flush
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:1991,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2003,1
    - Dst: ssl_filter_write
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2007,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2008,1
    - Dst: ap_filter_setaside_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2014,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1915
    functionDepth: 4
    functionLinenumber: 1915
    functionLinenumberEnd: 2017
    functionName: ssl_io_filter_output
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_filter_setaside_brigade
    - ssl_filter_write
    - BIO_get_data
    - apr_bucket_read
    - ap_filter_should_yield
    - ssl_io_filter_handshake
    - apr_bucket_delete
    - ap_filter_reinstate_brigade
    - APR_BUCKET_REMOVE
    - APR_STATUS_IS_EAGAIN
    - ap_pass_brigade
    - APR_STATUS_IS_EOF
    - AP_BUCKET_IS_EOC
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - ssl_io_filter_error
    - APR_BRIGADE_INSERT_TAIL
    - bio_filter_out_pass
    - bio_filter_out_flush
    - APR_BUCKET_IS_METADATA
    - ssl_filter_io_shutdown
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_output(ap_filter_t *f,\n                                         apr_bucket_brigade
      *bb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2034,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2035,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2038,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2040,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2052,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2055,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2055,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2057,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2062,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2063,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2067,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2069,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2071,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2072,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2074,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2074,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2081,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2083,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2083,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2088,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2089,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2092,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2098,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2098,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2106,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2113,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - r
    - maxlen
    argTypes:
    - request_rec*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2120
    functionName: ssl_io_buffer_fill
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_bucket_setaside
    - apr_bucket_read
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_REMOVE
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - ap_add_input_filter
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - ap_map_http_request_error
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - ap_remove_input_filter
    linkageType: ''
    returnType: int
    signature: int ssl_io_buffer_fill(request_rec *r, apr_size_t maxlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2137,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2146,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2155,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2155,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2161,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2163,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2163,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2165,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2172,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2174,1
    - Dst: APR_BUCKET_PREV
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2176,1
    - Dst: APR_RING_UNSPLICE
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2181,1
    - Dst: APR_RING_SPLICE_HEAD
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2182,1
    - Dst: APR_BRIGADE_CHECK_CONSISTENCY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2184,1
    - Dst: APR_BRIGADE_CHECK_CONSISTENCY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2185,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2190,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2193,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2193,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2195,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2200,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2201,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2205,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2205,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2206,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2207,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - bytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2217
    functionName: ssl_io_filter_buffer
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_BUCKET_PREV
    - APR_RING_UNSPLICE
    - ap_log_cerror
    - apr_brigade_split_line
    - APR_BRIGADE_LAST
    - APR_BRIGADE_CHECK_CONSISTENCY
    - APR_BUCKET_IS_EOS
    - APLOGNO
    - apr_bucket_eos_create
    - apr_brigade_partition
    - APR_BRIGADE_SENTINEL
    - APR_RING_SPLICE_HEAD
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_filter_buffer(ap_filter_t *f,\n                                         apr_bucket_brigade
      *bb,\n                                         ap_input_mode_t mode,\n                                         apr_read_type_e
      block,\n                                         apr_off_t bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2227,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2229,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2232,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2234,1
    - Dst: BIO_set_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2239,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2246,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - filter_ctx
    - c
    - r
    - ssl
    argTypes:
    - ssl_filter_ctx_t*
    - conn_rec*
    - request_rec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2252
    functionName: ssl_io_input_add_filter
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - memset
    - apr_palloc
    - apr_brigade_create
    - BIO_set_data
    - BIO_new
    - ap_add_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_io_input_add_filter(ssl_filter_ctx_t *filter_ctx,
      conn_rec *c,\n                                    request_rec *r, SSL *ssl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2262,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2264,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2266,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2268,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2272,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2274,1
    - Dst: BIO_set_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2279,1
    - Dst: bio_filter_out_ctx_new
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2279,1
    - Dst: ssl_io_input_add_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2281,1
    - Dst: SSL_set_bio
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2286,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2289,1
    - Dst: modssl_set_io_callbacks
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2292,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - c
    - r
    - ssl
    argTypes:
    - conn_rec*
    - request_rec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2257
    functionDepth: 2
    functionLinenumber: 2257
    functionLinenumberEnd: 2295
    functionName: ssl_io_filter_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - SSL_set_bio
    - modssl_set_io_callbacks
    - mySrvFromConn
    - ssl_io_input_add_filter
    - BIO_set_data
    - bio_filter_out_ctx_new
    - BIO_new
    - ap_add_output_filter
    - myConnConfig
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_io_filter_init(conn_rec *c, request_rec *r, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2299,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2300,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2301,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2297
    functionDepth: 1
    functionLinenumber: 2297
    functionLinenumberEnd: 2306
    functionName: ssl_io_filter_register
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_register_input_filter
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void ssl_io_filter_register(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2329,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2339,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2340,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2343,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2346,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2349,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2352,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2355,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2359,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2361,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2365,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2366,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2369,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - c
    - s
    - b
    - len
    argTypes:
    - conn_rec*
    - server_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2373
    functionName: ssl_io_data_dump
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_log_cserror
    - apr_snprintf
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ssl_io_data_dump(conn_rec *c, server_rec *s,\n                             const
      char *b, int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2396,1
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2398,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2400,1
    - Dst: APLOG_CS_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2423,1
    - Dst: APR_STRINGIFY
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2428,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2432,1
    - Dst: ssl_io_data_dump
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2448,1
    - Dst: ap_log_cserror
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - bio
    - cmd
    - argp
    - argi
    - argl
    - rc
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2382
    functionDepth: 2
    functionLinenumber: 2382
    functionLinenumberEnd: 2461
    functionName: modssl_io_cb
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cserror
    - APR_STRINGIFY
    - BIO_get_callback_arg
    - mySrvFromConn
    - SSL_get_app_data
    - ssl_io_data_dump
    - APLOG_CS_IS_LEVEL
    linkageType: ''
    returnType: long
    signature: "long modssl_io_cb(BIO *bio, int cmd, const char *argp,\n                         int
      argi, long argl, long rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_callback_ex
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2466,1
    - Dst: BIO_set_callback
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2468,1
    - Dst: BIO_set_callback_arg
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - arg
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2471
    functionName: set_bio_callback
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 0
    functionsReached:
    - BIO_set_callback
    - BIO_set_callback_ex
    - BIO_set_callback_arg
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE set_bio_callback(BIO *bio, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_CS_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2477,1
    - Dst: SSL_get_rbio
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2480,1
    - Dst: SSL_get_wbio
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2481,1
    - Dst: set_bio_callback
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2483,1
    - Dst: set_bio_callback
      Src: /src/httpd/modules/ssl/ssl_engine_io.c:2486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - c
    - s
    argTypes:
    - SSL*
    - conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2488
    functionName: modssl_set_io_callbacks
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_io.c
    functionUses: 1
    functionsReached:
    - SSL_get_rbio
    - set_bio_callback
    - SSL_get_wbio
    - APLOG_CS_IS_LEVEL
    linkageType: ''
    returnType: void
    signature: void modssl_set_io_callbacks(SSL *ssl, conn_rec *c, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbd_get_driver
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:40,1
    - Dst: apr_dbd_open
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:48,1
    - Dst: apr_dbd_select
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:55,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - p
    - logconfig
    - msg
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: log_config_readable
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 1
    functionsReached:
    - apr_dbd_open
    - apr_dbd_select
    - apr_dbd_get_driver
    - apr_dbd_close
    linkageType: ''
    returnType: int
    signature: "int log_config_readable(apr_pool_t *p, const char *logconfig,\n                        const
      char **msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: public_key_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t public_key_cleanup(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_fopen
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:84,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:86,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:87,1
    - Dst: PEM_read_PUBKEY
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:92,1
    - Dst: fclose
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:94,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:96,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:97,1
    - Dst: fclose
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:103,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p
    - pubkey_fname
    - ppkey
    argTypes:
    - apr_pool_t*
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: read_public_key
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached:
    - ctutil_fopen
    - PEM_read_PUBKEY
    - APLOGNO
    - ap_log_error
    - fclose
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_public_key(apr_pool_t *p, const char *pubkey_fname,\n
      \                                   EVP_PKEY **ppkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PUBKEY
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:115,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:116,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:119,1
    - Dst: i2d_PUBKEY
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:121,1
    - Dst: SHA256_Init
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:125,1
    - Dst: SHA256_Update
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:126,1
    - Dst: SHA256_Final
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:127,1
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:133,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:134,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:135,1
    - Dst: EVP_DigestInit_ex
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:135,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:135,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:136,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:136,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:137,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:137,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:138,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:139,1
    - Dst: free
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pubkey
    - digest
    argTypes:
    - EVP_PKEY*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 143
    functionName: digest_public_key
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached:
    - SHA256_Init
    - ap_assert
    - EVP_MD_CTX_create
    - EVP_DigestInit_ex
    - free
    - EVP_MD_CTX_destroy
    - i2d_PUBKEY
    - SHA256_Update
    - SHA256_Final
    - EVP_sha256
    - ap_malloc
    - EVP_DigestUpdate
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: void
    signature: void digest_public_key(EVP_PKEY *pubkey, unsigned char digest[LOG_ID_SIZE])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:150,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:156,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:160,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:161,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:162,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:168,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - p
    - lu
    - puri
    argTypes:
    - apr_pool_t*
    - char*
    - apr_uri_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 180
    functionName: parse_log_url
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - strcmp
    - apr_uri_parse
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t parse_log_url(apr_pool_t *p, const char *lu, apr_uri_t
      *puri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:189,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - time_str
    - time
    argTypes:
    - apr_pool_t*
    - char*
    - apr_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: parse_time_str
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached:
    - apr_time_from_msec
    - apr_strtoi64
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t parse_time_str(apr_pool_t *p, const char *time_str,\n
      \                                  apr_time_t *time)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:220,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:223,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:227,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:228,1
    - Dst: apr_unescape_hex
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:234,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:234,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:236,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:237,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:238,1
    - Dst: apr_unescape_hex
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:239,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:239,1
    - Dst: read_public_key
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:244,1
    - Dst: parse_time_str
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:254,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:256,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:257,1
    - Dst: parse_time_str
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:266,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:268,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:269,1
    - Dst: parse_log_url
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:278,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:284,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:285,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:292,1
    - Dst: digest_public_key
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:293,1
    - Dst: memcmp
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:298,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:299,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:300,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:314,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 8
    argNames:
    - log_config
    - p
    - log_id
    - pubkey_fname
    - distrusted_str
    - min_time_str
    - max_time_str
    - url
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 319
    functionName: save_log_config_entry
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 1
    functionsReached:
    - read_public_key
    - strcmp
    - apr_uri_unparse
    - apr_palloc
    - apr_pcalloc
    - digest_public_key
    - parse_log_url
    - APLOGNO
    - apr_array_push
    - apr_unescape_hex
    - ap_log_error
    - strlen
    - parse_time_str
    - memcmp
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t save_log_config_entry(apr_array_header_t *log_config,\n
      \                                  apr_pool_t *p,\n                                   const
      char *log_id,\n                                   const char *pubkey_fname,\n
      \                                  const char *distrusted_str,\n                                   const
      char *min_time_str,\n                                   const char *max_time_str,\n
      \                                  const char *url)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:332,1
    - Dst: apr_dbd_get_driver
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:336,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:337,1
    - Dst: apr_dbd_open
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:341,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:344,1
    - Dst: apr_dbd_select
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:350,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:354,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:355,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:356,1
    - Dst: apr_dbd_num_tuples
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:360,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:363,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:364,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:366,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:369,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:370,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:372,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:379,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:381,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:383,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:384,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:385,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:386,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:387,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:388,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:389,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:391,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:391,1
    - Dst: save_log_config_entry
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:402,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:406,1
    - Dst: apr_dbd_close
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - p
    - s_main
    - log_config_fname
    - log_config
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 414
    functionName: read_config_db
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 2
    functionsReached:
    - save_log_config_entry
    - apr_dbd_close
    - apr_dbd_get_entry
    - APLOGNO
    - apr_dbd_get_driver
    - apr_dbd_get_row
    - apr_dbd_open
    - apr_dbd_num_tuples
    - ap_log_error
    - apr_dbd_select
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_config_db(apr_pool_t *p, server_rec *s_main,\n                            const
      char *log_config_fname,\n                            apr_array_header_t *log_config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - l
    - to_check
    argTypes:
    - ct_log_config*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: log_valid_for_received_sct
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int log_valid_for_received_sct(const ct_log_config *l, apr_time_t to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_valid_for_received_sct
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:440,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_ct_log_config.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - ct_log_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: log_valid_for_sent_sct
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 3
    functionsReached:
    - apr_time_now
    - log_valid_for_received_sct
    linkageType: ''
    returnType: int
    signature: int log_valid_for_sent_sct(const ct_log_config *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - ct_log_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: log_configured_for_fetching_sct
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_log_config.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int log_configured_for_fetching_sct(const ct_log_config *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:33,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:35,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - out
    - dirname
    - basename
    - p
    - s
    argTypes:
    - char**
    - char*
    - char*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: ctutil_path_join
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 7
    functionsReached:
    - APLOGNO
    - apr_filepath_merge
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_path_join(char **out, const char *dirname, const
      char *basename,\n                              apr_pool_t *p, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dirname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ctutil_dir_exists
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 4
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int ctutil_dir_exists(apr_pool_t *p, const char *dirname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p
    - filename
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ctutil_file_exists
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 4
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int ctutil_file_exists(apr_pool_t *p, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:62,1
    - Dst: memchr
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:68,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:74,1
    - Dst: isspace
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:81,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:85,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - p
    - b
    - b_size
    - out
    argTypes:
    - apr_pool_t*
    - char*
    - apr_size_t
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: ctutil_buffer_to_array
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 1
    functionsReached:
    - apr_isspace
    - memchr
    - apr_array_push
    - apr_pstrndup
    - isspace
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ctutil_buffer_to_array(apr_pool_t *p, const char *b,\n                            apr_size_t
      b_size, apr_array_header_t **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fn
    - mode
    - f
    argTypes:
    - char*
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: ctutil_fopen
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 3
    functionsReached:
    - fopen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ctutil_fopen(const char *fn, const char *mode, FILE **f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:128,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:131,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:133,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:134,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:139,1
    - Dst: apr_fnmatch
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:142,1
    - Dst: ctutil_path_join
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:143,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:149,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:149,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:153,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:158,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - p
    - s
    - dirname
    - pattern
    - outarr
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    - char*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 168
    functionName: ctutil_read_dir
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 3
    functionsReached:
    - apr_dir_open
    - ctutil_path_join
    - apr_dir_close
    - APLOGNO
    - apr_array_push
    - APR_STATUS_IS_ENOENT
    - ap_log_error
    - apr_fnmatch
    - apr_pstrdup
    - apr_array_make
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_read_dir(apr_pool_t *p,\n                             server_rec
      *s,\n                             const char *dirname,\n                             const
      char *pattern,\n                             apr_array_header_t **outarr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:185,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:188,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:192,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:194,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:195,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:196,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:202,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:203,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:205,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:210,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:211,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:215,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:216,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 6
    argNames:
    - p
    - s
    - fn
    - limit
    - contents
    - contents_size
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    - apr_off_t
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 221
    functionName: ctutil_read_file
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 3
    functionsReached:
    - apr_palloc
    - apr_file_info_get
    - APLOGNO
    - apr_file_close
    - ap_log_error
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_read_file(apr_pool_t *p,\n                              server_rec
      *s,\n                              const char *fn,\n                              apr_off_t
      limit,\n                              char **contents,\n                              apr_size_t
      *contents_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_create
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:232,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:233,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:241,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:242,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:246,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:247,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:256,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:256,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:258,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:260,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:266,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:267,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:268,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:269,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:273,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:274,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - p
    - s
    - proc
    - desc_for_log
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_proc_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 282
    functionName: io_loop
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - APR_STATUS_IS_EOF
    - apr_time_from_sec
    - APR_STATUS_IS_EINTR
    - apr_file_close
    - APLOGNO
    - apr_pollset_poll
    - apr_pollset_remove
    - apr_pollset_create
    - ap_log_error
    - apr_file_read
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void io_loop(apr_pool_t *p, server_rec *s, apr_proc_t *proc,\n                    const
      char *desc_for_log)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:302,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:303,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:304,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:308,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:314,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:315,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:318,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:325,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - p
    - s
    - proc
    - desc_for_log
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_proc_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 328
    functionName: io_loop
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EOF
    - apr_file_close
    - APLOGNO
    - apr_sleep
    - apr_time_from_msec
    - ap_log_error
    - apr_file_read
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: "void io_loop(apr_pool_t *p, server_rec *s, apr_proc_t *proc,\n                    const
      char *desc_for_log)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:342,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:344,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:345,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:349,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:354,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:355,1
    - Dst: APLOGtrace1
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:359,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:364,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:367,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:371,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:373,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:374,1
    - Dst: io_loop
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:378,1
    - Dst: apr_proc_wait
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:380,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:383,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - p
    - s
    - args
    - desc_for_log
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 395
    functionName: ctutil_run_to_log
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 1
    functionsReached:
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pstrcat
    - APLOGNO
    - APLOGtrace1
    - io_loop
    - ap_log_error
    - apr_proc_wait
    - apr_procattr_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_run_to_log(apr_pool_t *p,\n                               server_rec
      *s,\n                               const char *args[8],\n                               const
      char *desc_for_log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:399,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - apr_thread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: ctutil_thread_mutex_lock
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 2
    functionsReached:
    - apr_thread_mutex_lock
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void ctutil_thread_mutex_lock(apr_thread_mutex_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:405,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - apr_thread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: ctutil_thread_mutex_unlock
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 2
    functionsReached:
    - ap_assert
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ctutil_thread_mutex_unlock(apr_thread_mutex_t *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:420,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:422,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - s
    - f
    - in_val
    argTypes:
    - server_rec*
    - apr_file_t*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: ctutil_file_write_uint16
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 2
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_file_write
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_file_write_uint16(server_rec *s,\n                                      apr_file_t
      *f,\n                                      apr_uint16_t in_val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:440,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:442,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - f
    - in_val
    argTypes:
    - server_rec*
    - apr_file_t*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 446
    functionName: ctutil_file_write_uint24
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_file_write
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_file_write_uint24(server_rec *s,\n                                      apr_file_t
      *f,\n                                      apr_uint32_t in_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:456,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - file
    - line
    - module_index
    - level
    - s
    - desc
    - arr
    argTypes:
    - char*
    - int
    - int
    - int
    - server_rec*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 463
    functionName: ctutil_log_array
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void ctutil_log_array(const char *file, int line, int module_index,\n
      \                     int level, server_rec *s, const char *desc,\n                      apr_array_header_t
      *arr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mem
    - avail
    - num_bits
    - pval
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_byte_t
    - apr_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 485
    functionName: deserialize_uint
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t deserialize_uint(const unsigned char **mem,\n                                     apr_size_t
      *avail,\n                                     apr_byte_t num_bits, apr_uint64_t
      *pval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deserialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - avail
    - pval
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: ctutil_deserialize_uint64
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - deserialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_deserialize_uint64(const unsigned char **mem,\n
      \                                      apr_size_t *avail,\n                                       apr_uint64_t
      *pval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deserialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - avail
    - pval
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: ctutil_deserialize_uint16
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - deserialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_deserialize_uint16(const unsigned char **mem,\n
      \                                      apr_size_t *avail,\n                                       apr_uint16_t
      *pval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - avail
    - num_bits
    - val
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_byte_t
    - apr_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: serialize_uint
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t serialize_uint(unsigned char **mem, apr_size_t *avail,\n
      \                                  apr_byte_t num_bits, apr_uint64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - avail
    - val
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: ctutil_serialize_uint64
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - serialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_serialize_uint64(unsigned char **mem, apr_size_t
      *avail,\n                                     apr_uint64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - avail
    - val
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: ctutil_serialize_uint24
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - serialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_serialize_uint24(unsigned char **mem, apr_size_t
      *avail,\n                                     apr_uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - avail
    - val
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: ctutil_serialize_uint16
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - serialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_serialize_uint16(unsigned char **mem, apr_size_t
      *avail,\n                                     apr_uint16_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serialize_uint
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - avail
    - val
    argTypes:
    - unsigned char**
    - apr_size_t*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: ctutil_serialize_uint8
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - serialize_uint
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_serialize_uint8(unsigned char **mem, apr_size_t
      *avail,\n                                    unsigned char val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_serialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:565,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - avail
    - val
    - len
    argTypes:
    - unsigned char**
    - apr_size_t*
    - unsigned char*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: ctutil_write_var16_bytes
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - ctutil_serialize_uint16
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_write_var16_bytes(unsigned char **mem, apr_size_t
      *avail,\n                                      const unsigned char *val,\n                                      apr_uint16_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_serialize_uint24
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:586,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - avail
    - val
    - len
    argTypes:
    - unsigned char**
    - apr_size_t*
    - unsigned char*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 595
    functionName: ctutil_write_var24_bytes
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - ctutil_serialize_uint24
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_write_var24_bytes(unsigned char **mem, apr_size_t
      *avail,\n                                      const unsigned char *val,\n                                      apr_uint32_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_deserialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - avail
    - result
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: read_length_prefix
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached:
    - ctutil_deserialize_uint16
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_length_prefix(const unsigned char **mem, apr_size_t
      *avail,\n                                       apr_size_t *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - mem
    - avail
    - len
    - start
    argTypes:
    - unsigned char**
    - apr_size_t*
    - apr_size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionName: read_fixed_bytes
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_fixed_bytes(const unsigned char **mem, apr_size_t
      *avail,\n                                     apr_size_t len,\n                                     const
      unsigned char **start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_length_prefix
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:634,1
    - Dst: read_fixed_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mem
    - avail
    - start
    - len
    argTypes:
    - unsigned char**
    - apr_size_t*
    - unsigned char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: ctutil_read_var_bytes
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 1
    functionsReached:
    - read_length_prefix
    - read_fixed_bytes
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ctutil_read_var_bytes(const unsigned char **mem, apr_size_t
      *avail,\n                                   const unsigned char **start, apr_size_t
      *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctutil_buffer_to_array
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:660,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:660,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:662,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:662,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:663,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:663,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:664,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:664,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:665,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:665,1
    - Dst: ctutil_serialize_uint64
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:669,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:670,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:671,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:672,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:673,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:674,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:675,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:676,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:677,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:678,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:679,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:680,1
    - Dst: ctutil_deserialize_uint64
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:684,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:685,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:686,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:687,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:688,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:692,1
    - Dst: ctutil_serialize_uint64
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:692,1
    - Dst: ctutil_serialize_uint24
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:697,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:698,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:699,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:700,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:701,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:702,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:703,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:707,1
    - Dst: ctutil_serialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:707,1
    - Dst: ctutil_serialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:712,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:713,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:714,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:715,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:716,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:717,1
    - Dst: ctutil_deserialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:721,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:722,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:723,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:724,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:728,1
    - Dst: ctutil_serialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:728,1
    - Dst: ctutil_serialize_uint8
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:733,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:734,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:735,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:736,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:737,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:741,1
    - Dst: ctutil_serialize_uint8
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:741,1
    - Dst: ctutil_write_var16_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:746,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:748,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:749,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:750,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:751,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:752,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:753,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:754,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:755,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:756,1
    - Dst: ctutil_write_var16_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:760,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:762,1
    - Dst: ctutil_write_var24_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:766,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:768,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:769,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:770,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:771,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:772,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:773,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:774,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:775,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:776,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:777,1
    - Dst: ctutil_write_var24_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:781,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_util.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 102
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 784
    functionName: ctutil_run_internal_tests
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_util.c
    functionUses: 1
    functionsReached:
    - ap_array_str_contains
    - ap_assert
    - ctutil_serialize_uint24
    - ctutil_write_var16_bytes
    - ctutil_write_var24_bytes
    - ctutil_serialize_uint16
    - ctutil_deserialize_uint16
    - ctutil_buffer_to_array
    - ctutil_deserialize_uint64
    - ctutil_serialize_uint8
    - ctutil_serialize_uint64
    - strlen
    linkageType: ''
    returnType: void
    signature: void ctutil_run_internal_tests(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:35,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: ssl_mutex_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_mutex.c
    functionUses: 0
    functionsReached:
    - ap_global_mutex_create
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int ssl_mutex_init(server_rec *s, apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:61,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:70,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:71,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:75,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:75,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:79,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: ssl_mutex_reinit
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_mutex.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - myModConfig
    - apr_global_mutex_lockfile
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int ssl_mutex_reinit(server_rec *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:88,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:91,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:92,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: ssl_mutex_on
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_mutex.c
    functionUses: 4
    functionsReached:
    - APLOGNO
    - ap_log_error
    - myModConfig
    - apr_global_mutex_lock
    linkageType: ''
    returnType: int
    signature: int ssl_mutex_on(server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:101,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:104,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:105,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_mutex.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: ssl_mutex_off
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_mutex.c
    functionUses: 4
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_unlock
    - myModConfig
    linkageType: ''
    returnType: int
    signature: int ssl_mutex_off(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: ssl_log_annotation
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 0
    functionsReached:
    - ap_strcmp_match
    linkageType: ''
    returnType: char
    signature: char *ssl_log_annotation(const char *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:69,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:69,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:72,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:75,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: ssl_die
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 2
    functionsReached:
    - APLOGNO
    - ap_server_root_relative
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_die(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error_line_data
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:85,1
    - Dst: ERR_peek_error_data
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: modssl_ERR_peek_error_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 0
    functionsReached:
    - ERR_peek_error_data
    - ERR_peek_error_line_data
    linkageType: ''
    returnType: 'APR_INLINE

      unsigned long'
    signature: 'APR_INLINE

      unsigned long modssl_ERR_peek_error_data(const char **data, int *flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modssl_ERR_peek_error_data
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:100,1
    - Dst: ERR_error_string_n
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:108,1
    - Dst: ssl_log_annotation
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:109,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:111,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - file
    - line
    - level
    - s
    argTypes:
    - char*
    - int
    - int
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: ssl_log_ssl_error
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 4
    functionsReached:
    - ERR_error_string_n
    - modssl_ERR_peek_error_data
    - ERR_get_error
    - ap_log_error
    - ssl_log_annotation
    linkageType: ''
    returnType: void
    signature: void ssl_log_ssl_error(const char *file, int line, int level, server_rec
      *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_vsnprintf
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:136,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:139,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:139,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:151,1
    - Dst: modssl_X509_NAME_to_string
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:152,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:152,1
    - Dst: strIsEmpty
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:154,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:155,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:157,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:160,1
    - Dst: modssl_X509_NAME_to_string
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:161,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:161,1
    - Dst: strIsEmpty
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:163,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:164,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:166,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:169,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:170,1
    - Dst: X509_get0_serialNumber
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:170,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:171,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:173,1
    - Dst: ASN1_TIME_print
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:174,1
    - Dst: X509_get0_notBefore
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:174,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:176,1
    - Dst: ASN1_TIME_print
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:177,1
    - Dst: X509_get0_notAfter
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:177,1
    - Dst: BIO_puts
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:179,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:181,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:185,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:188,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:197,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:200,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 11
    argNames:
    - file
    - line
    - level
    - rv
    - s
    - c
    - r
    - p
    - cert
    - format
    - ap
    argTypes:
    - char*
    - int
    - int
    - apr_status_t
    - server_rec*
    - conn_rec*
    - request_rec*
    - apr_pool_t*
    - X509*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 206
    functionName: ssl_log_cert_error
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - X509_get_subject_name
    - strIsEmpty
    - X509_get_issuer_name
    - ap_log_cerror
    - X509_get0_notAfter
    - X509_get0_notBefore
    - BIO_free
    - BIO_read
    - BIO_s_mem
    - ap_abort_on_oom
    - BIO_puts
    - ap_log_error
    - X509_get0_serialNumber
    - apr_snprintf
    - modssl_X509_NAME_to_string
    - i2a_ASN1_INTEGER
    - ap_log_rerror
    - ASN1_TIME_print
    - apr_vsnprintf
    linkageType: ''
    returnType: void
    signature: "void ssl_log_cert_error(const char *file, int line, int level,\n                               apr_status_t
      rv, const server_rec *s,\n                               const conn_rec *c,
      const request_rec *r,\n                               apr_pool_t *p, const X509
      *cert, const char *format,\n                               va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:218,1
    - Dst: va_start
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:220,1
    - Dst: ssl_log_cert_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:221,1
    - Dst: va_end
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - file
    - line
    - level
    - rv
    - ptemp
    - s
    - cert
    - fmt
    argTypes:
    - char*
    - int
    - int
    - apr_status_t
    - apr_pool_t*
    - server_rec*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: ssl_log_xerror
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 1
    functionsReached:
    - va_end
    - ssl_log_cert_error
    - APLOG_IS_LEVEL
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ssl_log_xerror(const char *file, int line, int level, apr_status_t
      rv,\n                    apr_pool_t *ptemp, server_rec *s, const X509 *cert,\n
      \                   const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:230,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:230,1
    - Dst: va_start
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:232,1
    - Dst: ssl_log_cert_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:233,1
    - Dst: va_end
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - file
    - line
    - level
    - rv
    - c
    - cert
    - fmt
    argTypes:
    - char*
    - int
    - int
    - apr_status_t
    - conn_rec*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: ssl_log_cxerror
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 0
    functionsReached:
    - APLOG_IS_LEVEL
    - mySrvFromConn
    - ssl_log_cert_error
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ssl_log_cxerror(const char *file, int line, int level, apr_status_t
      rv,\n                     conn_rec *c, const X509 *cert, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_R_IS_LEVEL
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:242,1
    - Dst: va_start
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:244,1
    - Dst: ssl_log_cert_error
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:245,1
    - Dst: va_end
      Src: /src/httpd/modules/ssl/ssl_engine_log.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - file
    - line
    - level
    - rv
    - r
    - cert
    - fmt
    argTypes:
    - char*
    - int
    - int
    - apr_status_t
    - request_rec*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: ssl_log_rxerror
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_log.c
    functionUses: 0
    functionsReached:
    - va_end
    - ssl_log_cert_error
    - APLOG_R_IS_LEVEL
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ssl_log_rxerror(const char *file, int line, int level, apr_status_t
      rv,\n                     request_rec *r, const X509 *cert, const char *fmt,
      ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OCSP_REQUEST
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:36,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:38,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:38,1
    - Dst: BIO_printf
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:43,1
    - Dst: BIO_printf
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:46,1
    - Dst: BIO_printf
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:49,1
    - Dst: i2d_OCSP_REQUEST_bio
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:59,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - req
    - uri
    - proxy_uri
    argTypes:
    - OCSP_REQUEST*
    - apr_uri_t*
    - apr_uri_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 65
    functionName: serialize_request
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_s_mem
    - i2d_OCSP_REQUEST
    - BIO_new
    - BIO_free
    - i2d_OCSP_REQUEST_bio
    linkageType: ''
    returnType: BIO
    signature: "BIO *serialize_request(OCSP_REQUEST *req, const apr_uri_t *uri,\n
      \                             const apr_uri_t *proxy_uri)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:89,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:92,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:92,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:100,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:100,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:107,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:109,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:111,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:115,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:120,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:128,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:131,1
    - Dst: apr_socket_send
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:138,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:144,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - request
    - uri
    - timeout
    - c
    - p
    - proxy_uri
    argTypes:
    - BIO*
    - apr_uri_t*
    - apr_interval_time_t
    - conn_rec*
    - apr_pool_t*
    - apr_uri_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 153
    functionName: send_request
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - apr_socket_create
    - ap_log_cerror
    - apr_socket_send
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_socket_connect
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: apr_socket_t
    signature: "apr_socket_t *send_request(BIO *request, const apr_uri_t *uri,\n                                  apr_interval_time_t
      timeout,\n                                  conn_rec *c, apr_pool_t *p,\n                                  const
      apr_uri_t *proxy_uri)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:164,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:166,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:168,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:168,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:173,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:175,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:175,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:181,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - bbout
    - bbin
    - c
    - p
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - conn_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 198
    functionName: get_line
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_brigade_split_line
    - ap_log_cerror
    - APLOGNO
    - apr_brigade_cleanup
    - apr_brigade_pflatten
    linkageType: ''
    returnType: char
    signature: "char *get_line(apr_bucket_brigade *bbout, apr_bucket_brigade *bbin,\n
      \                     conn_rec *c, apr_pool_t *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:218,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:219,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:220,1
    - Dst: apr_bucket_socket_create
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:220,1
    - Dst: get_line
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:222,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:223,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:224,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:225,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:226,1
    - Dst: get_line
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:236,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:238,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:238,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:243,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:243,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:249,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:249,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:256,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:260,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:262,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:264,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:264,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:269,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:276,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:281,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:281,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:286,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:286,1
    - Dst: BIO_write
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:290,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:291,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:291,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:294,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:297,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:298,1
    - Dst: d2i_OCSP_RESPONSE_bio
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:302,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:304,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:304,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:306,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:306,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - sd
    - bio
    - c
    - p
    argTypes:
    - apr_socket_t*
    - BIO*
    - conn_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 310
    functionName: read_response
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - get_line
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - ap_strchr
    - ap_log_cerror
    - apr_bucket_delete
    - APLOGNO
    - apr_brigade_create
    - mySrvFromConn
    - BIO_write
    - ssl_log_ssl_error
    - apr_bucket_read
    - d2i_OCSP_RESPONSE_bio
    - apr_bucket_socket_create
    - APR_BRIGADE_EMPTY
    - apr_atoi64
    - APR_BRIGADE_INSERT_TAIL
    - strncmp
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: "OCSP_RESPONSE *read_response(apr_socket_t *sd, BIO *bio, conn_rec
      *c,\n                                    apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfigFromConn
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:322,1
    - Dst: serialize_request
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:323,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:325,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:327,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:327,1
    - Dst: send_request
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:331,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:334,1
    - Dst: BIO_reset
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:339,1
    - Dst: read_response
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:341,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:343,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - uri
    - timeout
    - request
    - c
    - p
    argTypes:
    - apr_uri_t*
    - apr_interval_time_t
    - OCSP_REQUEST*
    - conn_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 347
    functionName: modssl_dispatch_ocsp_request
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 1
    functionsReached:
    - mySrvConfigFromConn
    - serialize_request
    - ap_log_cerror
    - read_response
    - APLOGNO
    - mySrvFromConn
    - BIO_reset
    - apr_socket_close
    - send_request
    - ssl_log_ssl_error
    - BIO_free
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: "OCSP_RESPONSE *modssl_dispatch_ocsp_request(const apr_uri_t *uri,\n
      \                                           apr_interval_time_t timeout,\n                                            OCSP_REQUEST
      *request,\n                                            conn_rec *c, apr_pool_t
      *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:365,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:367,1
    - Dst: BIO_s_file
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:367,1
    - Dst: BIO_read_filename
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:369,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:370,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:375,1
    - Dst: PEM_read_bio_X509
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:376,1
    - Dst: sk_X509_new_null
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:378,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:380,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:381,1
    - Dst: sk_X509_push
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:386,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:387,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:388,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:389,1
    - Dst: ERR_peek_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:394,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:395,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:396,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:397,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:398,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:401,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 405
    functionName: modssl_read_ocsp_certificates
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop_free
    - X509_free
    - ERR_GET_LIB
    - BIO_s_file
    - BIO_read_filename
    - ERR_get_error
    - PEM_read_bio_X509
    - sk_X509_new_null
    - sk_X509_push
    - ERR_peek_error
    - ERR_clear_error
    - STACK_OF
    - BIO_new
    - BIO_free
    - ERR_GET_REASON
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *modssl_read_ocsp_certificates(const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:417,1
    - Dst: modssl_read_ocsp_certificates
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:420,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:423,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:425,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_util_ocsp.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - mctx
    argTypes:
    - server_rec*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 429
    functionName: ssl_init_ocsp_certificates
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ocsp.c
    functionUses: 0
    functionsReached:
    - modssl_read_ocsp_certificates
    - ap_log_error
    - ssl_die
    - ssl_log_ssl_error
    linkageType: ''
    returnType: void
    signature: void ssl_init_ocsp_certificates(server_rec *s, modssl_ctx_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:36,1
    - Dst: EVP_MD_CTX_new
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:38,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:40,1
    - Dst: EVP_VerifyInit
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:40,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:40,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:41,1
    - Dst: EVP_VerifyUpdate
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:41,1
    - Dst: EVP_VerifyFinal
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:43,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:45,1
    - Dst: EVP_MD_CTX_free
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sctf
    - pkey
    argTypes:
    - sct_fields_t*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: verify_signature
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_sct.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_MD_CTX_new
    - EVP_VerifyFinal
    - EVP_MD_CTX_free
    - EVP_MD_CTX_destroy
    - EVP_VerifyInit
    - EVP_VerifyUpdate
    - EVP_sha256
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t verify_signature(sct_fields_t *sctf,\n                                     EVP_PKEY
      *pkey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:61,1
    - Dst: memcmp
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:73,1
    - Dst: log_valid_for_received_sct
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:74,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:75,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:76,1
    - Dst: verify_signature
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:80,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:82,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:82,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:86,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - c
    - sctf
    - log_config
    argTypes:
    - conn_rec*
    - sct_fields_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: sct_verify_signature
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_sct.c
    functionUses: 1
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - verify_signature
    - log_valid_for_received_sct
    - ap_assert
    - memcmp
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sct_verify_signature(conn_rec *c, sct_fields_t *sctf,\n
      \                                 apr_array_header_t *log_config)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:105,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:110,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:120,1
    - Dst: ctutil_deserialize_uint64
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:123,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:124,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:126,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:131,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:136,1
    - Dst: ctutil_deserialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:141,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:142,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:147,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:162,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:163,1
    - Dst: ctutil_deserialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:176,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:177,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:180,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:181,1
    - Dst: i2d_X509
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:205,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:220,1
    - Dst: ctutil_serialize_uint8
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:223,1
    - Dst: ctutil_serialize_uint8
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:225,1
    - Dst: ctutil_serialize_uint64
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:228,1
    - Dst: ctutil_serialize_uint16
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:231,1
    - Dst: i2d_X509
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:239,1
    - Dst: ctutil_write_var24_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:244,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:246,1
    - Dst: ctutil_write_var16_bytes
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:250,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:256,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:257,1
    - Dst: free
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:260,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:265,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:266,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:277,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:277,1
    - Dst: ap_log_data
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:281,1
    - Dst: ap_log_data
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:284,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 104
    argCount: 6
    argNames:
    - source
    - s
    - sct
    - len
    - cc
    - fields
    argTypes:
    - char*
    - server_rec*
    - unsigned char*
    - apr_size_t
    - cert_chain*
    - sct_fields_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 291
    functionName: sct_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_sct.c
    functionUses: 2
    functionsReached:
    - i2d_X509
    - ctutil_write_var24_bytes
    - ctutil_deserialize_uint16
    - ctutil_serialize_uint64
    - ap_malloc
    - ctutil_write_var16_bytes
    - apr_rfc822_date
    - ap_log_data
    - apr_time_from_msec
    - ctutil_serialize_uint16
    - ctutil_serialize_uint8
    - ap_log_error
    - ap_assert
    - free
    - memcpy
    - memset
    - APLOGNO
    - ctutil_deserialize_uint64
    - OPENSSL_free
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sct_parse(const char *source,\n                       server_rec
      *s, const unsigned char *sct,\n                       apr_size_t len, cert_chain
      *cc,\n                       sct_fields_t *fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sctf
    argTypes:
    - sct_fields_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: sct_release
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_sct.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sct_release(sct_fields_t *sctf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:303,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:304,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_ct_sct.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - sctf
    argTypes:
    - conn_rec*
    - sct_fields_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: sct_verify_timestamp
    functionSourceFile: /src/httpd/modules/ssl/ssl_ct_sct.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - apr_time_now
    - ap_log_cerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sct_verify_timestamp(conn_rec *c, sct_fields_t *sctf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - args
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: SSL_CMD_ALL
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CMD_ALL(name, args, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - args
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SSL_CMD_SRV
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CMD_SRV(name, args, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - args
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: SSL_CMD_PXY
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CMD_PXY(name, args, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - args
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: SSL_CMD_DIR
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CMD_DIR(name, type, args, desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/mod_ssl.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: modssl_is_prelinked
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int modssl_is_prelinked(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cleanup
      Src: /src/httpd/modules/ssl/mod_ssl.c:356,1
    - Dst: CONF_modules_free
      Src: /src/httpd/modules/ssl/mod_ssl.c:358,1
    - Dst: EVP_cleanup
      Src: /src/httpd/modules/ssl/mod_ssl.c:360,1
    - Dst: ENGINE_cleanup
      Src: /src/httpd/modules/ssl/mod_ssl.c:362,1
    - Dst: SSL_COMP_free_compression_methods
      Src: /src/httpd/modules/ssl/mod_ssl.c:366,1
    - Dst: ERR_remove_thread_state
      Src: /src/httpd/modules/ssl/mod_ssl.c:373,1
    - Dst: ERR_remove_state
      Src: /src/httpd/modules/ssl/mod_ssl.c:375,1
    - Dst: ERR_free_strings
      Src: /src/httpd/modules/ssl/mod_ssl.c:383,1
    - Dst: CRYPTO_cleanup_all_ex_data
      Src: /src/httpd/modules/ssl/mod_ssl.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 402
    functionName: ssl_cleanup_pre_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - OBJ_cleanup
    - ERR_remove_state
    - ERR_free_strings
    - CONF_modules_free
    - SSL_COMP_free_compression_methods
    - ERR_remove_thread_state
    - ENGINE_cleanup
    - CRYPTO_cleanup_all_ex_data
    - EVP_cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_cleanup_pre_config(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/httpd/modules/ssl/mod_ssl.c:419,1
    - Dst: modssl_is_prelinked
      Src: /src/httpd/modules/ssl/mod_ssl.c:425,1
    - Dst: ssl_util_thread_id_setup
      Src: /src/httpd/modules/ssl/mod_ssl.c:428,1
    - Dst: CRYPTO_malloc_init
      Src: /src/httpd/modules/ssl/mod_ssl.c:431,1
    - Dst: OPENSSL_malloc_init
      Src: /src/httpd/modules/ssl/mod_ssl.c:433,1
    - Dst: ERR_load_crypto_strings
      Src: /src/httpd/modules/ssl/mod_ssl.c:435,1
    - Dst: SSL_load_error_strings
      Src: /src/httpd/modules/ssl/mod_ssl.c:436,1
    - Dst: SSL_library_init
      Src: /src/httpd/modules/ssl/mod_ssl.c:437,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/httpd/modules/ssl/mod_ssl.c:439,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/httpd/modules/ssl/mod_ssl.c:441,1
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/httpd/modules/ssl/mod_ssl.c:442,1
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/ssl/mod_ssl.c:445,1
    - Dst: OBJ_create
      Src: /src/httpd/modules/ssl/mod_ssl.c:446,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/mod_ssl.c:451,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:458,1
    - Dst: ssl_scache_status_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:463,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:466,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:468,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 475
    functionName: ssl_hook_pre_config
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_library_init
    - OBJ_create
    - ap_mutex_register
    - ENGINE_load_builtin_engines
    - OpenSSL_add_all_algorithms
    - SSL_load_error_strings
    - OPENSSL_init_ssl
    - OBJ_txt2nid
    - OPENSSL_malloc_init
    - apr_pool_cleanup_register
    - ssl_util_thread_id_setup
    - ERR_clear_error
    - ssl_scache_status_register
    - modssl_is_prelinked
    - ERR_load_crypto_strings
    - OPENSSL_load_builtin_modules
    - CRYPTO_malloc_init
    linkageType: ''
    returnType: int
    signature: "int ssl_hook_pre_config(apr_pool_t *pconf,\n                               apr_pool_t
      *plog,\n                               apr_pool_t *ptemp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:481,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/mod_ssl.c:492,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl.c:503,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/mod_ssl.c:506,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:517,1
    - Dst: myConnConfigSet
      Src: /src/httpd/modules/ssl/mod_ssl.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - c
    - per_dir_config
    - reinit
    argTypes:
    - conn_rec*
    - ap_conf_vector_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 525
    functionName: ssl_init_connection_ctx
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - mySrvConfig
    - ap_get_module_config
    - myConnConfigSet
    - myConnConfig
    linkageType: ''
    returnType: SSLConnRec
    signature: "SSLConnRec *ssl_init_connection_ctx(conn_rec *c,\n                                           ap_conf_vector_t
      *per_dir_config,\n                                           int reinit)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:543,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - c
    - sslconn
    argTypes:
    - conn_rec*
    - SSLConnRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 556
    functionName: ssl_engine_status
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    linkageType: ''
    returnType: int
    signature: int ssl_engine_status(conn_rec *c, SSLConnRec *sslconn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init_connection_ctx
      Src: /src/httpd/modules/ssl/mod_ssl.c:565,1
    - Dst: ssl_engine_status
      Src: /src/httpd/modules/ssl/mod_ssl.c:573,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:576,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl.c:578,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - c
    - per_dir_config
    - enable_ssl
    argTypes:
    - conn_rec*
    - ap_conf_vector_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 591
    functionName: ssl_hook_ssl_bind_outgoing
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - ssl_init_connection_ctx
    - mySrvConfig
    - ssl_engine_status
    linkageType: ''
    returnType: int
    signature: "int ssl_hook_ssl_bind_outgoing(conn_rec *c,\n                                 ap_conf_vector_t
      *per_dir_config,\n                                 int enable_ssl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init_connection_ctx
      Src: /src/httpd/modules/ssl/mod_ssl.c:609,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:611,1
    - Dst: ssl_rand_seed
      Src: /src/httpd/modules/ssl/mod_ssl.c:616,1
    - Dst: myConnCtxConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:619,1
    - Dst: SSL_new
      Src: /src/httpd/modules/ssl/mod_ssl.c:626,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl.c:627,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl.c:627,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/mod_ssl.c:630,1
    - Dst: ssl_run_pre_handshake
      Src: /src/httpd/modules/ssl/mod_ssl.c:637,1
    - Dst: SSL_set_session_id_context
      Src: /src/httpd/modules/ssl/mod_ssl.c:642,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl.c:643,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl.c:643,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/mod_ssl.c:646,1
    - Dst: SSL_set_app_data
      Src: /src/httpd/modules/ssl/mod_ssl.c:653,1
    - Dst: modssl_set_app_data2
      Src: /src/httpd/modules/ssl/mod_ssl.c:654,1
    - Dst: SSL_set_verify_result
      Src: /src/httpd/modules/ssl/mod_ssl.c:656,1
    - Dst: ssl_io_filter_init
      Src: /src/httpd/modules/ssl/mod_ssl.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 659
    functionName: ssl_init_ssl_connection
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - myConnCtxConfig
    - SSL_set_app_data
    - SSL_set_verify_result
    - ap_log_cerror
    - SSL_set_session_id_context
    - APLOGNO
    - ssl_init_connection_ctx
    - mySrvConfig
    - ssl_rand_seed
    - ssl_log_ssl_error
    - ssl_run_pre_handshake
    - SSL_new
    - ssl_io_filter_init
    - modssl_set_app_data2
    linkageType: ''
    returnType: int
    signature: int ssl_init_ssl_connection(conn_rec *c, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_request_is_tls
      Src: /src/httpd/modules/ssl/mod_ssl.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: ssl_hook_http_scheme
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - modssl_request_is_tls
    linkageType: ''
    returnType: char
    signature: char *ssl_hook_http_scheme(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_request_is_tls
      Src: /src/httpd/modules/ssl/mod_ssl.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: ssl_hook_default_port
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - modssl_request_is_tls
    linkageType: ''
    returnType: apr_port_t
    signature: apr_port_t ssl_hook_default_port(const request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:674,1
    - Dst: ssl_engine_status
      Src: /src/httpd/modules/ssl/mod_ssl.c:679,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:684,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:687,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl.c:695,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl.c:695,1
    - Dst: ssl_init_ssl_connection
      Src: /src/httpd/modules/ssl/mod_ssl.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 700
    functionName: ssl_hook_pre_connection
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - mySrvConfig
    - ssl_init_ssl_connection
    - myConnConfig
    - ssl_engine_status
    linkageType: ''
    returnType: int
    signature: int ssl_hook_pre_connection(conn_rec *c, void *csd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/mod_ssl.c:704,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/mod_ssl.c:714,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/ssl/mod_ssl.c:715,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/ssl/mod_ssl.c:717,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/mod_ssl.c:731,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/mod_ssl.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 740
    functionName: ssl_hook_process_connection
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_destroy
    - ap_log_cerror
    - APLOGNO
    - apr_brigade_create
    - myConnConfig
    linkageType: ''
    returnType: int
    signature: int ssl_hook_process_connection(conn_rec* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_io_filter_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:758,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/ssl/mod_ssl.c:760,1
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/ssl/mod_ssl.c:761,1
    - Dst: ap_hook_test_config
      Src: /src/httpd/modules/ssl/mod_ssl.c:763,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/ssl/mod_ssl.c:764,1
    - Dst: ap_hook_http_scheme
      Src: /src/httpd/modules/ssl/mod_ssl.c:765,1
    - Dst: ap_hook_default_port
      Src: /src/httpd/modules/ssl/mod_ssl.c:766,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/ssl/mod_ssl.c:767,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/ssl/mod_ssl.c:768,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/ssl/mod_ssl.c:769,1
    - Dst: ap_hook_check_access
      Src: /src/httpd/modules/ssl/mod_ssl.c:770,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/ssl/mod_ssl.c:772,1
    - Dst: ap_hook_check_authz
      Src: /src/httpd/modules/ssl/mod_ssl.c:774,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/ssl/mod_ssl.c:776,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/ssl/mod_ssl.c:778,1
    - Dst: ssl_var_register
      Src: /src/httpd/modules/ssl/mod_ssl.c:782,1
    - Dst: ap_hook_ssl_bind_outgoing
      Src: /src/httpd/modules/ssl/mod_ssl.c:783,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/ssl/mod_ssl.c:785,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/ssl/mod_ssl.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 794
    functionName: ssl_register_hooks
    functionSourceFile: /src/httpd/modules/ssl/mod_ssl.c
    functionUses: 0
    functionsReached:
    - ap_hook_http_scheme
    - ap_register_auth_provider
    - ap_hook_pre_connection
    - ssl_io_filter_register
    - ap_hook_pre_config
    - ap_hook_check_authn
    - ap_hook_process_connection
    - ap_hook_default_port
    - ap_hook_test_config
    - ssl_var_register
    - APR_OPTIONAL_HOOK
    - ap_hook_fixups
    - ap_hook_ssl_bind_outgoing
    - ap_hook_check_authz
    - ap_hook_post_config
    - ap_hook_child_init
    - ap_hook_check_access
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void ssl_register_hooks(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:59,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:70,1
    - Dst: ssl_rand_feedfp
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:73,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:74,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:78,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:83,1
    - Dst: ssl_util_ppopen
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:86,1
    - Dst: ssl_rand_feedfp
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:88,1
    - Dst: ssl_util_ppclose
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:89,1
    - Dst: RAND_egd
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:97,1
    - Dst: time
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:111,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:119,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:127,1
    - Dst: ssl_rand_choosenum
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:130,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:131,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - s
    - p
    - nCtx
    - prefix
    argTypes:
    - server_rec*
    - apr_pool_t*
    - ssl_rsctx_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 139
    functionName: ssl_rand_seed
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_rand.c
    functionUses: 1
    functionsReached:
    - ssl_util_ppclose
    - RAND_seed
    - ssl_rand_choosenum
    - apr_palloc
    - apr_file_close
    - time
    - apr_itoa
    - myModConfig
    - VALGRIND_MAKE_MEM_DEFINED
    - ap_log_error
    - ssl_rand_feedfp
    - apr_file_open
    - RAND_egd
    - ssl_util_ppopen
    linkageType: ''
    returnType: void
    signature: void ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx,
      char *prefix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:158,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - p
    - fp
    - nReq
    argTypes:
    - apr_pool_t*
    - apr_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: ssl_rand_feedfp
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_rand.c
    functionUses: 1
    functionsReached:
    - apr_file_read
    - RAND_seed
    linkageType: ''
    returnType: int
    signature: int ssl_rand_feedfp(apr_pool_t *p, apr_file_t *fp, int nReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:176,1
    - Dst: rand
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:177,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_rand.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: ssl_rand_choosenum
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_rand.c
    functionUses: 1
    functionsReached:
    - rand
    - atoi
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int ssl_rand_choosenum(int l, int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_new_index
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: modssl_init_app_data2_idx
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: void modssl_init_app_data2_idx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: modssl_get_app_data2
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *modssl_get_app_data2(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: modssl_set_app_data2
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void modssl_set_app_data2(SSL *ssl, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:84,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:86,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:87,1
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:91,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:94,1
    - Dst: BIO_f_base64
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:94,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:95,1
    - Dst: BIO_push
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:98,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:99,1
    - Dst: BIO_free_all
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:100,1
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:104,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:106,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - filename
    - cb
    - s
    argTypes:
    - char*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 111
    functionName: modssl_read_privatekey
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_f_base64
    - BIO_new_file
    - BIO_free_all
    - BIO_new
    - BIO_free
    - d2i_PrivateKey_bio
    - PEM_read_bio_PrivateKey
    - BIO_push
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *modssl_read_privatekey(const char *filename, pem_password_cb
      *cb, void *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_shutdown
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:133,1
    - Dst: SSL_shutdown
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:135,1
    - Dst: SSL_get_shutdown
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:136,1
    - Dst: BIO_flush
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:140,1
    - Dst: SSL_get_wbio
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: modssl_smart_shutdown
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_shutdown
    - BIO_flush
    - SSL_get_wbio
    - SSL_get_shutdown
    linkageType: ''
    returnType: int
    signature: int modssl_smart_shutdown(SSL *ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:165,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:171,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:172,1
    - Dst: BN_bn2dec
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:175,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:176,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:177,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:180,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:181,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:182,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cert
    - ca
    - pathlen
    argTypes:
    - X509*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: modssl_X509_getBC
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BASIC_CONSTRAINTS_free
    - atoi
    - BN_bn2dec
    - OPENSSL_free
    - ASN1_INTEGER_to_BN
    - X509_get_ext_d2i
    linkageType: ''
    returnType: BOOL
    signature: BOOL modssl_X509_getBC(X509 *cert, int *ca, int *pathlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:190,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:194,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:196,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:197,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - bio
    argTypes:
    - apr_pool_t*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: modssl_bio_free_read
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_pending
    - apr_palloc
    - BIO_free
    linkageType: ''
    returnType: char
    signature: char *modssl_bio_free_read(apr_pool_t *p, BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:214,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:214,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:219,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - asn1str
    - raw
    argTypes:
    - apr_pool_t*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: modssl_ASN1_STRING_convert
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - modssl_bio_free_read
    - ASN1_STRING_print_ex
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: char
    signature: char *modssl_ASN1_STRING_convert(apr_pool_t *p, const ASN1_STRING *asn1str,
      int raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: asn1_string_to_utf8
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asn1_string_to_utf8(p, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_ASN1_STRING_convert
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:230,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:230,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - xsne
    - raw
    argTypes:
    - apr_pool_t*
    - X509_NAME_ENTRY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: modssl_X509_NAME_ENTRY_to_string
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - modssl_ASN1_STRING_convert
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: char
    signature: "char *modssl_X509_NAME_ENTRY_to_string(apr_pool_t *p, const X509_NAME_ENTRY
      *xsne,\n                                       int raw)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:245,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:245,1
    - Dst: X509_NAME_print_ex
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:247,1
    - Dst: BIO_pending
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:248,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:250,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:252,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:253,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:258,1
    - Dst: BIO_read
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:262,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:263,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - p
    - dn
    - maxlen
    argTypes:
    - apr_pool_t*
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 272
    functionName: modssl_X509_NAME_to_string
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 1
    functionsReached:
    - BIO_read
    - apr_palloc
    - BIO_s_mem
    - BIO_pending
    - BIO_new
    - BIO_free
    - X509_NAME_print_ex
    - apr_snprintf
    linkageType: ''
    returnType: char
    signature: char *modssl_X509_NAME_to_string(apr_pool_t *p, const X509_NAME *dn,
      int maxlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:278,1
    - Dst: asn1_string_to_utf8
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:289,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:290,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:291,1
    - Dst: asn1_string_to_utf8
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:293,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - p
    - value
    - onf
    - entries
    argTypes:
    - apr_pool_t*
    - ASN1_TYPE*
    - char*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: parse_otherName_value
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - strEQ
    - APR_ARRAY_PUSH
    - asn1_string_to_utf8
    linkageType: ''
    returnType: void
    signature: "void parse_otherName_value(apr_pool_t *p, ASN1_TYPE *value,\n                                  const
      char *onf, apr_array_header_t **entries)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:310,1
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:311,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:316,1
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:321,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:326,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:327,1
    - Dst: asn1_string_to_utf8
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:336,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:337,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:342,1
    - Dst: parse_otherName_value
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:344,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:367,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:370,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 6
    argNames:
    - p
    - x509
    - type
    - onf
    - idx
    - entries
    argTypes:
    - apr_pool_t*
    - X509*
    - int
    - char*
    - int
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 371
    functionName: modssl_X509_getSAN
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - APR_ARRAY_PUSH
    - parse_otherName_value
    - asn1_string_to_utf8
    - sk_GENERAL_NAME_value
    - OBJ_txt2nid
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_num
    - apr_array_make
    - OBJ_obj2nid
    linkageType: ''
    returnType: BOOL
    signature: "BOOL modssl_X509_getSAN(apr_pool_t *p, X509 *x509, int type, const
      char *onf,\n                        int idx, apr_array_header_t **entries)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:381,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:387,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:388,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:389,1
    - Dst: modssl_X509_NAME_ENTRY_to_string
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:390,1
    - Dst: X509_NAME_get_entry
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:390,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p
    - x509
    - ids
    argTypes:
    - apr_pool_t*
    - X509*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: getIDs
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - APR_ARRAY_PUSH
    - X509_NAME_get_index_by_NID
    - modssl_X509_getSAN
    - modssl_X509_NAME_ENTRY_to_string
    - X509_get_subject_name
    - X509_NAME_get_entry
    linkageType: ''
    returnType: BOOL
    signature: BOOL getIDs(apr_pool_t *p, X509 *x509, apr_array_header_t **ids)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getIDs
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:417,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:441,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:441,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:442,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:447,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:450,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:463,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:464,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 5
    argNames:
    - p
    - x509
    - name
    - allow_wildcard
    - s
    argTypes:
    - apr_pool_t*
    - X509*
    - char*
    - BOOL
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 470
    functionName: modssl_X509_match_name
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - APLOGNO
    - mySrvConfig
    - ap_log_error
    - ssl_log_xerror
    - ap_strchr_c
    - getIDs
    linkageType: ''
    returnType: BOOL
    signature: "BOOL modssl_X509_match_name(apr_pool_t *p, X509 *x509, const char
      *name,\n                            BOOL allow_wildcard, server_rec *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:484,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:486,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: modssl_dh_from_file
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_DHparams
    - BIO_free
    linkageType: ''
    returnType: DH
    signature: DH *modssl_dh_from_file(const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:497,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:499,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: modssl_dh_pkey_from_file
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_Parameters
    - BIO_new_file
    - BIO_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *modssl_dh_pkey_from_file(const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:512,1
    - Dst: PEM_read_bio_ECPKParameters
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:515,1
    - Dst: PEM_ASN1_read_bio
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:517,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 524
    functionName: modssl_ec_group_from_file
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - PEM_ASN1_read_bio
    - BIO_new_file
    - PEM_read_bio_ECPKParameters
    - BIO_free
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *modssl_ec_group_from_file(const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - id
    - idlen
    - str
    - strsize
    argTypes:
    - IDCONST unsigned*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: modssl_SSL_SESSION_id2sz
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - ap_bin2hex
    linkageType: ''
    returnType: char
    signature: "char *modssl_SSL_SESSION_id2sz(IDCONST unsigned char *id, int idlen,\n
      \                              char *str, int strsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_clear_options
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:554,1
    - Dst: SSL_set_options
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sslconn
    - state
    argTypes:
    - SSLConnRec*
    - modssl_reneg_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 563
    functionName: modssl_set_reneg_state
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_clear_options
    - SSL_set_options
    linkageType: ''
    returnType: void
    signature: void modssl_set_reneg_state(SSLConnRec *sslconn, modssl_reneg_state
      state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:581,1
    - Dst: PEM_read_bio_X509
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:587,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:593,1
    - Dst: BIO_new_mem_buf
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:594,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:599,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:613,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:614,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:616,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 7
    argNames:
    - p
    - cert_pem
    - key_pem
    - cb
    - ud
    - pcert
    - pkey
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - pem_password_cb*
    - void*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 618
    functionName: modssl_read_cert
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 0
    functionsReached:
    - X509_free
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    - BIO_free
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_read_cert(apr_pool_t *p, \n                              const
      char *cert_pem, const char *key_pem,\n                              pem_password_cb
      *cb, void *ud,\n                              X509 **pcert, EVP_PKEY **pkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:627,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:627,1
    - Dst: PEM_write_bio_X509
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:628,1
    - Dst: PEM_write_bio_X509
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:629,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:635,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_util_ssl.c:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - p
    - cert1
    - cert2
    - ppem
    argTypes:
    - apr_pool_t*
    - X509*
    - X509*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 641
    functionName: modssl_cert_get_pem
    functionSourceFile: /src/httpd/modules/ssl/ssl_util_ssl.c
    functionUses: 1
    functionsReached:
    - modssl_bio_free_read
    - BIO_s_mem
    - BIO_new
    - BIO_free
    - PEM_write_bio_X509
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_cert_get_pem(apr_pool_t *p,\n                                 X509
      *cert1, X509 *cert2,\n                                 const char **ppem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:81,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:82,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:83,1
    - Dst: BN_num_bits
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: DH_set0_pqg
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:101,1
    - Dst: prime
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:107,1
    - Dst: BN_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:108,1
    - Dst: BN_set_word
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:110,1
    - Dst: DH_set0_pqg
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:112,1
    - Dst: DH_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:113,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:114,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - (*prime)(BIGNUM *)
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: make_dh_params
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - BN_new
    - DH_free
    - BN_free
    - prime
    - DH_new
    - DH_set0_pqg
    - BN_set_word
    linkageType: ''
    returnType: DH
    signature: DH *make_dh_params(BIGNUM *(*prime)(BIGNUM *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_dh_params
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: init_dh_params
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - make_dh_params
    linkageType: ''
    returnType: void
    signature: void init_dh_params(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: free_dh_params
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: void free_dh_params(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: modssl_get_dh_params
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DH
    signature: DH *modssl_get_dh_params(unsigned keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:178,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:180,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:182,1
    - Dst: ap_add_version_component
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:185,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptemp
    - pconf
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: ssl_add_version_components
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_var_lookup
    - APLOGNO
    - ap_log_error
    - ap_add_version_component
    linkageType: ''
    returnType: void
    signature: "void ssl_add_version_components(apr_pool_t *ptemp, apr_pool_t *pconf,\n
      \                                      server_rec *s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:209,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:211,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:215,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:217,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:217,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:222,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:224,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:225,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:225,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:230,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:238,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:242,1
    - Dst: pnlen < 5 || pnlen >
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:243,1
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:252,1
    - Dst: BIO_new_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:253,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:257,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:258,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:263,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:263,1
    - Dst: BIO_free_all
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:267,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:271,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:273,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:274,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:276,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:279,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:280,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:282,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:285,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:287,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:293,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:293,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 4
    argNames:
    - ctx
    - echdir
    - s
    - ptemp
    argTypes:
    - SSL_CTX*
    - char*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 297
    functionName: load_echkeys
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - apr_dir_open
    - BIO_new_file
    - apr_dir_close
    - OSSL_ECHSTORE_new
    - apr_pstrcat
    - APLOGNO
    - apr_stat
    - BIO_free_all
    - OSSL_ECHSTORE_num_keys
    - SSL_CTX_set1_echstore
    - OSSL_ECHSTORE_free
    - ap_log_error
    - OSSL_ECHSTORE_read_pem
    - strlen
    - pnlen < 5 || pnlen >
    - apr_dir_read
    linkageType: ''
    returnType: int
    signature: "int load_echkeys(SSL_CTX *ctx, const char *echdir, server_rec *s,\n
      \                       apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx_
    - ','
    - pfx_
    - ','
    - str_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: md5_str_update
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md5_str_update(ctx_, pfx_, str_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx_
    - ','
    - pfx_
    - ','
    - str_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: md5_ifstr_update
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md5_ifstr_update(ctx_, pfx_, str_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx_
    - ','
    - fmt_
    - ','
    - i_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: md5_fmt_update
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md5_fmt_update(ctx_, fmt_, i_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: md5_strarray_cmp
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int md5_strarray_cmp(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:319,1
    - Dst: qsort
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:322,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:324,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:324,1
    - Dst: md5_str_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptemp
    - hash
    - pfx
    - s
    argTypes:
    - apr_pool_t*
    - apr_md5_ctx_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: md5_strarray_hash
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - apr_md5_update
    - qsort
    - strlen
    - apr_pmemdup
    - md5_str_update
    linkageType: ''
    returnType: void
    signature: "void md5_strarray_hash(apr_pool_t *ptemp, apr_md5_ctx_t *hash,\n                              const
      char *pfx, apr_array_header_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:332,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:334,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:335,1
    - Dst: md5_strarray_hash
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:337,1
    - Dst: md5_strarray_hash
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ptemp
    - hash
    - ctx
    argTypes:
    - apr_pool_t*
    - apr_md5_ctx_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: hash_sni_policy_pk
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - md5_strarray_hash
    - md5_ifstr_update
    - md5_fmt_update
    linkageType: ''
    returnType: void
    signature: void hash_sni_policy_pk(apr_pool_t *ptemp, apr_md5_ctx_t *hash, modssl_ctx_t
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:346,1
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:347,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:349,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:350,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:351,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:352,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:353,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:354,1
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:355,1
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:356,1
    - Dst: md5_fmt_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:357,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:358,1
    - Dst: md5_ifstr_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:361,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:370,1
    - Dst: md5_str_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:372,1
    - Dst: md5_str_update
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - hash
    - ctx
    argTypes:
    - apr_md5_ctx_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 377
    functionName: hash_sni_policy_auth
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md5_ifstr_update
    - md5_fmt_update
    - md5_str_update
    linkageType: ''
    returnType: void
    signature: void hash_sni_policy_auth(apr_md5_ctx_t *hash, modssl_ctx_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:391,1
    - Dst: hash_sni_policy_auth
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:392,1
    - Dst: hash_sni_policy_pk
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:394,1
    - Dst: apr_md5_final
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:395,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:397,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p
    - ptemp
    - policy
    - sc
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - modssl_snivhpolicy_t
    - SSLSrvConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 402
    functionName: create_sni_policy_hash
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - hash_sni_policy_pk
    - apr_md5_init
    - hash_sni_policy_auth
    - ap_bin2hex
    - apr_md5_final
    linkageType: ''
    returnType: char
    signature: "char *create_sni_policy_hash(apr_pool_t *p, apr_pool_t *ptemp,\n                                    modssl_snivhpolicy_t
      policy,\n                                    SSLSrvConfigRec *sc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_answer_challenge
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:418,1
    - Dst: ssl_run_answer_challenge
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - c
    - servername
    - pcert
    - pkey
    - pcert_pem
    - pkey_pem
    argTypes:
    - conn_rec*
    - char*
    - X509**
    - EVP_PKEY**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: ssl_is_challenge
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_run_answer_challenge
    - ap_ssl_answer_challenge
    linkageType: ''
    returnType: int
    signature: "int ssl_is_challenge(conn_rec *c, const char *servername, \n                     X509
      **pcert, EVP_PKEY **pkey,\n                     const char **pcert_pem, const
      char **pkey_pem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modssl_fips_enable
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: modssl_fips_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - modssl_fips_enable
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t modssl_fips_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLeay
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:438,1
    - Dst: OpenSSL_version_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: modssl_runtime_lib_version
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSLeay
    - OpenSSL_version_num
    linkageType: ''
    returnType: APR_INLINE unsigned long
    signature: APR_INLINE unsigned long modssl_runtime_lib_version(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: modssl_runtime_lib_version
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:452,1
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:453,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:459,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:462,1
    - Dst: getpid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:475,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:481,1
    - Dst: ssl_config_global_fix
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:488,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:495,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:497,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:506,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:506,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:508,1
    - Dst: ap_get_server_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:513,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:514,1
    - Dst: ap_get_server_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:514,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:516,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:522,1
    - Dst: ap_md5_binary
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:524,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:525,1
    - Dst: ssl_util_thread_setup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:543,1
    - Dst: ssl_init_Engine
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:549,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:553,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:553,1
    - Dst: ssl_rand_seed
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:561,1
    - Dst: RAND_status
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:563,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:564,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:564,1
    - Dst: modssl_fips_is_enabled
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:572,1
    - Dst: modssl_fips_enable
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:573,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:574,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:574,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:576,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:577,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:580,1
    - Dst: modssl_fips_is_enabled
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:587,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:588,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:588,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:592,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:592,1
    - Dst: ssl_mutex_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:600,1
    - Dst: ssl_stapling_certinfo_hash_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:604,1
    - Dst: ssl_scache_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:610,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:614,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:619,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:619,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:623,1
    - Dst: ssl_init_ConfigureServer
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:633,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:640,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:642,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:642,1
    - Dst: ssl_init_CheckServers
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:649,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:654,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:657,1
    - Dst: ssl_run_init_server
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:659,1
    - Dst: ssl_run_init_server
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:665,1
    - Dst: create_sni_policy_hash
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:671,1
    - Dst: ssl_add_version_components
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:678,1
    - Dst: modssl_init_app_data2_idx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:680,1
    - Dst: init_dh_params
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:683,1
    - Dst: init_bio_methods
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:685,1
    - Dst: getenv
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:690,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:693,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:704,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - base_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 711
    functionName: ssl_init_Module
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - ssl_util_vhostid
    - ap_get_module_config
    - modssl_init_app_data2_idx
    - ssl_mutex_init
    - ssl_init_Engine
    - ssl_scache_init
    - ssl_die
    - create_sni_policy_hash
    - ssl_util_thread_setup
    - getpid
    - myModConfig
    - ap_md5_binary
    - getenv
    - modssl_fips_enable
    - ssl_log_ssl_error
    - modssl_runtime_lib_version
    - apr_file_open
    - ap_get_server_protocol
    - modssl_fips_is_enabled
    - strcmp
    - ssl_stapling_certinfo_hash_init
    - mySrvConfig
    - ap_log_error
    - ssl_init_CheckServers
    - init_dh_params
    - ssl_run_init_server
    - ssl_config_global_fix
    - ssl_init_ConfigureServer
    - ssl_add_version_components
    - memset
    - APLOGNO
    - AP_DEBUG_ASSERT
    - RAND_status
    - ssl_rand_seed
    - init_bio_methods
    - strlen
    - apr_array_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp,\n                             server_rec *base_server)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:720,1
    - Dst: ENGINE_by_id
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:724,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:725,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:725,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:728,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:729,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:733,1
    - Dst: ENGINE_ctrl
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:734,1
    - Dst: ENGINE_set_default
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:738,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:739,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:739,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:742,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:743,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:745,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:745,1
    - Dst: ENGINE_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 753
    functionName: ssl_init_Engine
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 1
    functionsReached:
    - strEQ
    - ssl_die
    - APLOGNO
    - myModConfig
    - ENGINE_free
    - ENGINE_ctrl
    - ap_log_error
    - ssl_log_ssl_error
    - ENGINE_by_id
    - ENGINE_set_default
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_init_Engine(server_rec *s, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:763,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:769,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:769,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:777,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:779,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:780,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:780,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:783,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:784,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:794,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:800,1
    - Dst: modssl_init_stapling
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:809,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:821,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:821,1
    - Dst: SRP_VBASE_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:824,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:825,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:825,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:829,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:830,1
    - Dst: SRP_VBASE_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:833,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:835,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:835,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:837,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:838,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:841,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 847
    functionName: ssl_init_ctx_tls_extensions
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - modssl_init_stapling
    - SSL_CTX_set_tlsext_servername_arg
    - ssl_die
    - SSL_CTX_set_srp_cb_arg
    - APLOGNO
    - SSL_CTX_set_srp_username_callback
    - SSL_CTX_set_client_hello_cb
    - SRP_VBASE_new
    - mySrvConfig
    - SRP_VBASE_init
    - ap_log_error
    - ssl_log_ssl_error
    - SSL_CTX_ech_set_callback
    - SSL_CTX_set_tlsext_servername_callback
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_tls_extensions(server_rec *s,\n                                                apr_pool_t
      *p,\n                                                apr_pool_t *ptemp,\n                                                modssl_ctx_t
      *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:864,1
    - Dst: SSL_CTX_get_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:866,1
    - Dst: SSL_CTX_clear_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:871,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:872,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - s
    - ctx
    - option
    - enabled
    - name
    argTypes:
    - server_rec*
    - SSL_CTX*
    - long
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 876
    functionName: ssl_set_ctx_protocol_option
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - SSL_CTX_set_options
    - SSL_CTX_get_options
    - ap_log_error
    - SSL_CTX_clear_options
    linkageType: ''
    returnType: void
    signature: "void ssl_set_ctx_protocol_option(server_rec *s,\n                                        SSL_CTX
      *ctx,\n                                        long option,\n                                        int
      enabled,\n                                        const char *name)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:888,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:903,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:905,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:908,1
    - Dst: OPENSSL_NO_SSL3
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:909,1
    - Dst: HAVE_TLSV1_X
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:913,1
    - Dst: SSL_HAVE_PROTOCOL_TLSV1_3
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:916,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:921,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:923,1
    - Dst: SSLv3_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:930,1
    - Dst: SSLv3_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:931,1
    - Dst: TLSv1_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:937,1
    - Dst: TLSv1_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:938,1
    - Dst: TLSv1_1_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:943,1
    - Dst: TLSv1_1_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:944,1
    - Dst: TLSv1_2_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:948,1
    - Dst: TLSv1_2_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:949,1
    - Dst: TLSv1_3_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:954,1
    - Dst: TLSv1_3_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:955,1
    - Dst: SSLv23_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:961,1
    - Dst: SSLv23_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:962,1
    - Dst: TLS_client_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:966,1
    - Dst: TLS_server_method
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:967,1
    - Dst: SSL_CTX_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:969,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:972,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:973,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:978,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:983,1
    - Dst: ssl_set_ctx_protocol_option
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:986,1
    - Dst: ssl_set_ctx_protocol_option
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:989,1
    - Dst: ssl_set_ctx_protocol_option
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:993,1
    - Dst: ssl_set_ctx_protocol_option
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:996,1
    - Dst: ssl_set_ctx_protocol_option
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:999,1
    - Dst: SSL_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1022,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1024,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1024,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1026,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1028,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1048,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1053,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1062,1
    - Dst: sk_SSL_COMP_zero
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1064,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1064,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1075,1
    - Dst: SSL_CTX_set_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1079,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1084,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1086,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1094,1
    - Dst: SSL_CTX_set_mode
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1100,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1107,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1112,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1119,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1127,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1133,1
    - Dst: load_echkeys
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1137,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1138,1
    - Dst: SSL_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1140,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1142,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1145,1
    - Dst: SSL_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1147,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1149,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 112
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 1155
    functionName: ssl_init_ctx_protocol
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_COMP_get_compression_methods
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_get_max_proto_version
    - load_echkeys
    - SSLv23_client_method
    - SSL_CTX_set_max_proto_version
    - TLSv1_3_server_method
    - SSLv23_server_method
    - ssl_die
    - TLSv1_server_method
    - apr_pstrcat
    - TLSv1_3_client_method
    - sk_SSL_COMP_zero
    - SSLv3_server_method
    - SSL_CTX_set_mode
    - TLSv1_1_client_method
    - ssl_log_ssl_error
    - SSL_HAVE_PROTOCOL_TLSV1_3
    - SSL_CTX_set_app_data
    - ssl_set_ctx_protocol_option
    - SSL_CTX_set_keylog_callback
    - TLSv1_2_server_method
    - HAVE_TLSV1_X
    - mySrvConfig
    - ap_log_error
    - TLS_client_method
    - OPENSSL_NO_SSL3
    - APLOGNO
    - SSLv3_client_method
    - SSL_CTX_set_options
    - TLSv1_1_server_method
    - SSL_CTX_free
    - TLS_server_method
    - TLSv1_client_method
    - SSL_CTX_new
    - strlen
    - SSL_CTX_clear_mode
    - TLSv1_2_client_method
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_protocol(server_rec *s,\n                                          apr_pool_t
      *p,\n                                          apr_pool_t *ptemp,\n                                          modssl_ctx_t
      *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1163,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1165,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1168,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1169,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1172
    functionName: ssl_init_ctx_session_cache
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_sess_set_new_cb
    - myModConfig
    - SSL_CTX_sess_set_get_cb
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_set_session_cache_mode
    linkageType: ''
    returnType: void
    signature: "void ssl_init_ctx_session_cache(server_rec *s,\n                                       apr_pool_t
      *p,\n                                       apr_pool_t *ptemp,\n                                       modssl_ctx_t
      *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1192,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1199,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1200,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1206
    functionName: ssl_init_ctx_callbacks
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_info_callback
    - APLOGdebug
    - SSL_CTX_set_tmp_dh_callback
    linkageType: ''
    returnType: void
    signature: "void ssl_init_ctx_callbacks(server_rec *s,\n                                   apr_pool_t
      *p,\n                                   apr_pool_t *ptemp,\n                                   modssl_ctx_t
      *mctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1214,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1217,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - file
    - path
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1223
    functionName: modssl_CTX_load_verify_locations
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_load_verify_locations
    - SSL_CTX_load_verify_file
    - SSL_CTX_load_verify_dir
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE modssl_CTX_load_verify_locations(SSL_CTX *ctx,\n                                     const
      char *file,\n                                     const char *path)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1233,1
    - Dst: SSL_CTX_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1256,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1262,1
    - Dst: modssl_CTX_load_verify_locations
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1265,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1267,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1267,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1270,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1271,1
    - Dst: ssl_init_FindCAList
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1275,1
    - Dst: ssl_init_FindCAList
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1279,1
    - Dst: sk_X509_NAME_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1282,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1283,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1283,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1286,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1289,1
    - Dst: SSL_CTX_get_client_CA_list
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1297,1
    - Dst: sk_X509_NAME_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1299,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1300,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1225
    functionDepth: 3
    functionLinenumber: 1225
    functionLinenumberEnd: 1308
    functionName: ssl_init_ctx_verify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_die
    - sk_X509_NAME_num
    - SSL_CTX_get_client_CA_list
    - SSL_CTX_set_verify
    - APLOGNO
    - modssl_CTX_load_verify_locations
    - SSL_CTX_set_client_CA_list
    - ap_log_error
    - STACK_OF
    - ssl_log_ssl_error
    - ssl_init_FindCAList
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_verify(server_rec *s,\n                                        apr_pool_t
      *p,\n                                        apr_pool_t *ptemp,\n                                        modssl_ctx_t
      *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1326,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1329,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1333,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1334,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1334,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1336,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1337,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1341,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1342,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1342,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1344,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1349
    functionName: ssl_init_ctx_cipher_suite
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_die
    - SSL_CTX_set_ciphersuites
    - apr_pstrcat
    - APLOGNO
    - SSL_CTX_set_cipher_list
    - ap_log_error
    - ssl_log_ssl_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_cipher_suite(server_rec *s,\n                                              apr_pool_t
      *p,\n                                              apr_pool_t *ptemp,\n                                              modssl_ctx_t
      *mctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_locations
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1357,1
    - Dst: X509_STORE_load_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1360,1
    - Dst: X509_STORE_load_path
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - store
    - file
    - path
    argTypes:
    - X509_STORE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1366
    functionName: modssl_X509_STORE_load_locations
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_locations
    - X509_STORE_load_path
    - X509_STORE_load_file
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE modssl_X509_STORE_load_locations(X509_STORE *store,\n                                     const
      char *file,\n                                     const char *path)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1373,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1394,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1394,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1398,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1403,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1403,1
    - Dst: modssl_X509_STORE_load_locations
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1406,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1408,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1408,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1411,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1412,1
    - Dst: X509_STORE_set_flags
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1427,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1429,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1368
    functionDepth: 3
    functionLinenumber: 1368
    functionLinenumberEnd: 1436
    functionName: ssl_init_ctx_crl
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - X509_STORE_set_flags
    - ssl_die
    - APLOGNO
    - ap_log_error
    - modssl_X509_STORE_load_locations
    - ssl_log_ssl_error
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_crl(server_rec *s,\n                                     apr_pool_t
      *p,\n                                     apr_pool_t *ptemp,\n                                     modssl_ctx_t
      *mctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1453,1
    - Dst: BIO_s_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1453,1
    - Dst: BIO_read_filename
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1455,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1456,1
    - Dst: PEM_read_bio_X509
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1461,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1462,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1465,1
    - Dst: SSL_CTX_clear_extra_chain_certs
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1469,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1472,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1472,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1479,1
    - Dst: PEM_read_bio_X509
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1480,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1481,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1482,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1483,1
    - Dst: ERR_peek_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1489,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1490,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1491,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1492,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1495,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1497,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - file
    - skipfirst
    - cb
    argTypes:
    - SSL_CTX*
    - char*
    - int
    - pem_password_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1499
    functionName: use_certificate_chain
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop_free
    - X509_free
    - ERR_GET_LIB
    - BIO_s_file
    - BIO_read_filename
    - ERR_get_error
    - PEM_read_bio_X509
    - ERR_peek_error
    - ERR_clear_error
    - BIO_new
    - STACK_OF
    - BIO_free
    - SSL_CTX_clear_extra_chain_certs
    - SSL_CTX_add_extra_chain_cert
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: "int use_certificate_chain(\n    SSL_CTX *ctx, char *file, int skipfirst,
      pem_password_cb *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1529,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1530,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1530,1
    - Dst: use_certificate_chain
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1536,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1538,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1538,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1540,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1541,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1544,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1501
    functionDepth: 3
    functionLinenumber: 1501
    functionLinenumberEnd: 1550
    functionName: ssl_init_ctx_cert_chain
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - strEQ
    - ssl_die
    - APR_ARRAY_IDX
    - APLOGNO
    - use_certificate_chain
    - ap_log_error
    - ssl_log_ssl_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx_cert_chain(server_rec *s,\n                                            apr_pool_t
      *p,\n                                            apr_pool_t *ptemp,\n                                            modssl_ctx_t
      *mctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init_ctx_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1559,1
    - Dst: ssl_init_ctx_session_cache
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1563,1
    - Dst: ssl_init_ctx_callbacks
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1565,1
    - Dst: ssl_init_ctx_verify
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1567,1
    - Dst: ssl_init_ctx_cipher_suite
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1571,1
    - Dst: ssl_init_ctx_crl
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1575,1
    - Dst: ssl_init_ctx_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1581,1
    - Dst: ssl_init_ctx_tls_extensions
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1552
    functionDepth: 4
    functionLinenumber: 1552
    functionLinenumberEnd: 1593
    functionName: ssl_init_ctx
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_init_ctx_cipher_suite
    - ssl_init_ctx_session_cache
    - ssl_init_ctx_tls_extensions
    - ssl_init_ctx_verify
    - ssl_init_ctx_cert_chain
    - ssl_init_ctx_crl
    - ssl_init_ctx_callbacks
    - ssl_init_ctx_protocol
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ctx(server_rec *s,\n                                 apr_pool_t
      *p,\n                                 apr_pool_t *ptemp,\n                                 modssl_ctx_t
      *mctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: modssl_X509_getBC
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1610,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1612,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1612,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1618,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1618,1
    - Dst: modssl_X509_match_name
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1625,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1627,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - s
    - ptemp
    - cert
    - key_id
    argTypes:
    - server_rec*
    - apr_pool_t*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1595
    functionDepth: 5
    functionLinenumber: 1595
    functionLinenumberEnd: 1631
    functionName: ssl_check_public_cert
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - modssl_X509_match_name
    - modssl_X509_getBC
    linkageType: ''
    returnType: void
    signature: "void ssl_check_public_cert(server_rec *s,\n                                  apr_pool_t
      *ptemp,\n                                  X509 *cert,\n                                  const
      char *key_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1637
    functionName: ssl_no_passwd_prompt_cb
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_no_passwd_prompt_cb(char *buf, int size, int rwflag,\n                                   void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1648
    functionName: CHECK_PRIVKEY_ERROR
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PRIVKEY_ERROR(ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1653
    functionName: CHECK_PRIVKEY_ERROR
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PRIVKEY_ERROR(ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mc_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1657
    functionName: LOG_SOURCE
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_SOURCE(mc_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mc_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1659
    functionName: LOG_SOURCE
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_SOURCE(mc_)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1667,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1678,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1682,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1688,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1690,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1693,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1697,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1699,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1699,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1702,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1706,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1708,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1708,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1711,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1718,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1723,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1725,1
    - Dst: modssl_load_engine_keypair
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1728,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1735,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1736,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1736,1
    - Dst: LOG_SOURCE
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1738,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1739,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1744,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1747,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1748,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1748,1
    - Dst: LOG_SOURCE
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1750,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1751,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1756,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1758,1
    - Dst: CHECK_PRIVKEY_ERROR
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1760,1
    - Dst: ERR_peek_last_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1760,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1764,1
    - Dst: ssl_load_encrypted_pkey
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1767,1
    - Dst: ssl_asn1_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1769,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1771,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1772,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1773,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1773,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1776,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1781,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1782,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1782,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1798,1
    - Dst: SSL_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1801,1
    - Dst: SSL_set_connect_state
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1804,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1805,1
    - Dst: SSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1806,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1811,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1811,1
    - Dst: ssl_check_public_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1817,1
    - Dst: ssl_stapling_init_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1827,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1828,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1828,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1834,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1834,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1842,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1843,1
    - Dst: modssl_dh_from_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1846,1
    - Dst: DH_bits
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1848,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1849,1
    - Dst: DH_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1850,1
    - Dst: modssl_dh_pkey_from_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1854,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1856,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1857,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1858,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1866,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1866,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1875,1
    - Dst: modssl_is_engine_id
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1883,1
    - Dst: modssl_ec_group_from_file
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1884,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1885,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1887,1
    - Dst: SSL_CTX_set_tmp_ecdh
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1889,1
    - Dst: EC_KEY_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1890,1
    - Dst: SSL_CTX_set1_curves
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1896,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1901,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1901,1
    - Dst: OBJ_nid2sn
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1903,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1914,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1916,1
    - Dst: SSL_CTX_set_tmp_ecdh
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1918,1
    - Dst: EC_KEY_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1919,1
    - Dst: EC_GROUP_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1925,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 123
    argCount: 5
    argNames:
    - s
    - p
    - ptemp
    - mctx
    - pphrases
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1661
    functionDepth: 6
    functionLinenumber: 1661
    functionLinenumberEnd: 1929
    functionName: ssl_init_server_certs
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_dh_auto
    - modssl_ec_group_from_file
    - OBJ_nid2sn
    - EVP_PKEY_get_bits
    - SSL_CTX_use_certificate
    - SSL_CTX_check_private_key
    - SSL_get_certificate
    - modssl_dh_from_file
    - SSL_set_connect_state
    - CHECK_PRIVKEY_ERROR
    - SSL_new
    - EVP_PKEY_free
    - SSL_CTX_use_certificate_file
    - SSL_CTX_use_PrivateKey
    - ssl_asn1_table_get
    - SSL_CTX_get0_certificate
    - ssl_check_public_cert
    - modssl_is_engine_id
    - ssl_stapling_init_cert
    - DH_bits
    - myModConfig
    - EC_GROUP_free
    - ssl_log_ssl_error
    - apr_psprintf
    - ssl_load_encrypted_pkey
    - EC_KEY_new_by_curve_name
    - EC_KEY_free
    - modssl_load_engine_keypair
    - EC_GROUP_get_curve_name
    - APR_ARRAY_IDX
    - SSL_CTX_set1_curves
    - SSL_CTX_set_default_passwd_cb
    - DH_free
    - ap_log_error
    - SSL_free
    - ERR_peek_last_error
    - SSL_CTX_set_ecdh_auto
    - SSL_CTX_set_tmp_ecdh
    - SSL_CTX_set0_tmp_dh_pkey
    - SSL_CTX_use_certificate_chain_file
    - X509_free
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_set_tmp_dh
    - APLOGNO
    - LOG_SOURCE
    - d2i_AutoPrivateKey
    - ERR_clear_error
    - modssl_dh_pkey_from_file
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_server_certs(server_rec *s,\n                                          apr_pool_t
      *p,\n                                          apr_pool_t *ptemp,\n                                          modssl_ctx_t
      *mctx,\n                                          apr_array_header_t *pphrases)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1949,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1951,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1955,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1955,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1958,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1961,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1964,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1964,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1967,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1970,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1971,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1973,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1974,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1978,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1979,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1981,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1983,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1984,1
    - Dst: OPENSSL_cleanse
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1987,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1989,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1989,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1992,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1993,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1996,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1996,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:1998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 2001
    functionName: ssl_init_ticket_key
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_ticket_key_cb
    - ap_server_root_relative
    - ssl_die
    - OSSL_PARAM_construct_end
    - APLOGNO
    - memcpy
    - OPENSSL_cleanse
    - mySrvConfig
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - ap_log_error
    - ssl_log_ssl_error
    - apr_file_open
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - apr_pmemdup
    - apr_file_read_full
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ticket_key(server_rec *s,\n                                        apr_pool_t
      *p,\n                                        apr_pool_t *ptemp,\n                                        modssl_ctx_t
      *mctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2034,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2036,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2038,1
    - Dst: ap_assert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2042,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2048,1
    - Dst: SSL_CTX_set_client_cert_cb
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2051,1
    - Dst: sk_X509_INFO_new_null
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2058,1
    - Dst: load_x509_info
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2061,1
    - Dst: ssl_init_ca_cert_path
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2065,1
    - Dst: sk_X509_INFO_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2071,1
    - Dst: sk_X509_INFO_value
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2072,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2078,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2079,1
    - Dst: X509_STORE_add_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2080,1
    - Dst: X509_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2082,1
    - Dst: sk_X509_INFO_delete
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2083,1
    - Dst: sk_X509_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2090,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2091,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2091,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2094,1
    - Dst: X509_check_private_key
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2097,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2098,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2099,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2101,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2102,1
    - Dst: sk_X509_INFO_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2106,1
    - Dst: sk_X509_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2107,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2108,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2108,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2113,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2113,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2129,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2129,1
    - Dst: X509_STORE_CTX_new
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2130,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2133,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2133,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2135,1
    - Dst: sk_X509_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2136,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2137,1
    - Dst: modssl_X509_STORE_load_locations
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2140,1
    - Dst: sk_X509_INFO_value
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2145,1
    - Dst: X509_STORE_CTX_init
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2146,1
    - Dst: sk_X509_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2147,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2148,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2149,1
    - Dst: X509_verify_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2153,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2154,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2156,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2158,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2162,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2165,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2169,1
    - Dst: sk_X509_shift
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2169,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2171,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2177,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2182,1
    - Dst: ssl_log_xerror
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2188,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2189,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2189,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2196,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2199,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - mctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2028
    functionDepth: 3
    functionLinenumber: 2028
    functionLinenumberEnd: 2202
    functionName: ssl_init_proxy_certs
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - load_x509_info
    - sk_X509_INFO_num
    - ssl_init_ca_cert_path
    - X509_STORE_CTX_get1_chain
    - X509_check_private_key
    - X509_STORE_CTX_cleanup
    - X509_STORE_CTX_get_error
    - ssl_die
    - sk_X509_INFO_value
    - ssl_log_xerror
    - ssl_log_ssl_error
    - X509_STORE_CTX_free
    - SSL_CTX_set_client_cert_cb
    - SSL_CTX_set_post_handshake_auth
    - X509_verify_cert_error_string
    - X509_STORE_CTX_new
    - X509_STORE_CTX_init
    - X509_INFO_free
    - X509_verify_cert
    - ap_log_error
    - STACK_OF
    - ap_assert
    - sk_X509_INFO_new_null
    - sk_X509_INFO_free
    - SSL_CTX_get_cert_store
    - sk_X509_value
    - sk_X509_num
    - sk_X509_pop_free
    - X509_free
    - apr_pcalloc
    - APLOGNO
    - X509_STORE_add_cert
    - ERR_clear_error
    - sk_X509_INFO_delete
    - modssl_X509_STORE_load_locations
    - sk_X509_shift
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_proxy_certs(server_rec *s,\n                                         apr_pool_t
      *p,\n                                         apr_pool_t *ptemp,\n                                         modssl_ctx_t
      *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2209
    functionName: MODSSL_CFG_ITEM_FREE
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODSSL_CFG_ITEM_FREE(func, item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MODSSL_CFG_ITEM_FREE
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2212,1
    - Dst: SRP_VBASE_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2220
    functionName: ssl_init_ctx_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - MODSSL_CFG_ITEM_FREE
    - SRP_VBASE_free
    linkageType: ''
    returnType: void
    signature: void ssl_init_ctx_cleanup(modssl_ctx_t *mctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init_ctx_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2226,1
    - Dst: sk_X509_INFO_num
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2230,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2235,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2245
    functionName: ssl_cleanup_proxy_ctx
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_init_ctx_cleanup
    - sk_X509_INFO_pop_free
    - sk_X509_pop_free
    - sk_X509_INFO_num
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_cleanup_proxy_ctx(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2259,1
    - Dst: ssl_init_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2263,1
    - Dst: ssl_init_proxy_certs
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - s
    - p
    - ptemp
    - proxy
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2247
    functionDepth: 5
    functionLinenumber: 2247
    functionLinenumberEnd: 2272
    functionName: ssl_init_proxy_ctx
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_init_proxy_certs
    - ssl_init_ctx
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_proxy_ctx(server_rec *s,\n                                       apr_pool_t
      *p,\n                                       apr_pool_t *ptemp,\n                                       modssl_ctx_t
      *proxy)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2293,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2293,1
    - Dst: ap_ssl_add_cert_files
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2302,1
    - Dst: ssl_run_add_cert_files
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2303,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2305,1
    - Dst: ap_ssl_add_fallback_cert_files
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2307,1
    - Dst: ssl_run_add_fallback_cert_files
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2308,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2311,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2311,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2314,1
    - Dst: ssl_init_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2323,1
    - Dst: ssl_init_server_certs
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2327,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2333,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2335,1
    - Dst: SSL_CONF_cmd
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2336,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2337,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2340,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2341,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2343,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2348,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2349,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2349,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2351,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2352,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2353,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2357,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2358,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2358,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2361,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2362,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2375,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2378,1
    - Dst: ssl_stapling_init_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2379,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2381,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2385,1
    - Dst: ssl_init_ticket_key
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2393,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 5
    argNames:
    - s
    - p
    - ptemp
    - sc
    - pphrases
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - SSLSrvConfigRec*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2274
    functionDepth: 7
    functionLinenumber: 2274
    functionLinenumberEnd: 2403
    functionName: ssl_init_server_ctx
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - ssl_util_vhostid
    - SSL_CONF_CTX_set_ssl_ctx
    - ssl_run_add_cert_files
    - SSL_CONF_CTX_free
    - ap_ssl_add_cert_files
    - SSL_CTX_check_private_key
    - SSL_CTX_set_current_cert
    - SSL_CTX_get0_certificate
    - ssl_die
    - ssl_stapling_init_cert
    - ssl_log_ssl_error
    - ssl_run_add_fallback_cert_files
    - SSL_CONF_cmd
    - SSL_CONF_CTX_finish
    - ap_log_error
    - ap_ssl_add_fallback_cert_files
    - ssl_init_server_certs
    - SSL_CTX_set_timeout
    - APLOGNO
    - ssl_init_ctx
    - ssl_init_ticket_key
    - ERR_clear_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_server_ctx(server_rec *s,\n                                        apr_pool_t
      *p,\n                                        apr_pool_t *ptemp,\n                                        SSLSrvConfigRec
      *sc,\n                                        apr_array_header_t *pphrases)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2414,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2421,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2421,1
    - Dst: ssl_init_server_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2423,1
    - Dst: ssl_init_ocsp_certificates
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2430,1
    - Dst: ssl_init_proxy_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - s
    - p
    - ptemp
    - sc
    - pphrases
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - SSLSrvConfigRec*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2408
    functionDepth: 8
    functionLinenumber: 2408
    functionLinenumberEnd: 2448
    functionName: ssl_init_ConfigureServer
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ssl_init_ocsp_certificates
    - ap_get_module_config
    - ssl_init_server_ctx
    - ssl_init_proxy_ctx
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ConfigureServer(server_rec *s,\n                                      apr_pool_t
      *p,\n                                      apr_pool_t *ptemp,\n                                      SSLSrvConfigRec
      *sc,\n                                      apr_array_header_t *pphrases)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2468,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2472,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2475,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2480,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2481,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2484,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2495,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2500,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2506,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2507,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2508,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2510,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2511,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2511,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2514,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2517,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2524,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2528,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2528,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - base_server
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2450
    functionDepth: 2
    functionLinenumber: 2450
    functionLinenumberEnd: 2538
    functionName: ssl_init_CheckServers
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 1
    functionsReached:
    - ssl_util_vhostid
    - apr_hash_set
    - apr_hash_make
    - APLOGNO
    - mySrvConfig
    - ap_log_error
    - apr_psprintf
    - apr_sockaddr_ip_get
    - strlen
    - apr_hash_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_init_CheckServers(server_rec *base_server, apr_pool_t
      *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2544,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2546,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2549,1
    - Dst: ssl_config_proxy_merge
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2550,1
    - Dst: ssl_init_proxy_ctx
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2554,1
    - Dst: ssl_run_init_server
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - p
    - plog
    - ptemp
    - s
    - section_config
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2540
    functionDepth: 6
    functionLinenumber: 2540
    functionLinenumberEnd: 2567
    functionName: ssl_proxy_section_post_config
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - ssl_config_proxy_merge
    - ap_get_module_config
    - ssl_init_proxy_ctx
    - ssl_run_init_server
    linkageType: ''
    returnType: int
    signature: "int ssl_proxy_section_post_config(apr_pool_t *p, apr_pool_t *plog,\n
      \                                 apr_pool_t *ptemp, server_rec *s,\n                                  ap_conf_vector_t
      *section_config)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_open
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2580,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2584,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2589,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2591,1
    - Dst: load_x509_info
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2594,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - s
    - ptemp
    - path
    - ca_list
    - xi_list
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2601
    functionName: ssl_init_ca_cert_path
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - load_x509_info
    - apr_dir_close
    - apr_pstrcat
    - SSL_add_file_cert_subjects_to_stack
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_init_ca_cert_path(server_rec *s,\n                                          apr_pool_t
      *ptemp,\n                                          const char *path,\n                                          STACK_OF(X509_NAME)
      *ca_list,\n                                          STACK_OF(X509_INFO) *xi_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myModConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2644,1
    - Dst: getpid
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2645,1
    - Dst: srand
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2648,1
    - Dst: time
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2648,1
    - Dst: ssl_mutex_reinit
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2652,1
    - Dst: ssl_stapling_mutex_reinit
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2641
    functionDepth: 2
    functionLinenumber: 2641
    functionLinenumberEnd: 2656
    functionName: ssl_init_Child
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - ssl_mutex_reinit
    - getpid
    - time
    - ssl_stapling_mutex_reinit
    - myModConfig
    - srand
    linkageType: ''
    returnType: void
    signature: void ssl_init_Child(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_scache_kill
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2667,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2674,1
    - Dst: ssl_init_ctx_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2676,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2680,1
    - Dst: free_dh_params
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2686,1
    - Dst: free_bio_methods
      Src: /src/httpd/modules/ssl/ssl_engine_init.c:2688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2658
    functionDepth: 2
    functionLinenumber: 2658
    functionLinenumberEnd: 2692
    functionName: ssl_init_ModuleKill
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_init.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop_free
    - ssl_init_ctx_cleanup
    - mySrvConfig
    - free_dh_params
    - ssl_scache_kill
    - free_bio_methods
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_init_ModuleKill(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:55,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:57,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:60,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: has_buffered_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_brigade_length
    linkageType: ''
    returnType: int
    signature: int has_buffered_data(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_request_has_body
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:90,1
    - Dst: ssl_io_buffer_fill
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - r
    - dc
    argTypes:
    - request_rec*
    - SSLDirConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: fill_reneg_buffer
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_request_has_body
    - ssl_io_buffer_fill
    linkageType: ''
    returnType: int
    signature: int fill_reneg_buffer(request_rec *r, SSLDirConfigRec *dc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:126,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:127,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sc1
    - sc2
    argTypes:
    - SSLSrvConfigRec*
    - SSLSrvConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: ssl_check_vhost_sni_policy
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ssl_check_vhost_sni_policy(SSLSrvConfigRec *sc1,\n                                      SSLSrvConfigRec
      *sc2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:138,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:147,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:149,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:166,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:194,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:196,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:198,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:204,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:204,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:220,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:220,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:223,1
    - Dst: ssl_check_vhost_sni_policy
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:234,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:235,1
    - Dst: MODSSL_SNIVH_NAME
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:240,1
    - Dst: modssl_set_app_data2
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:245,1
    - Dst: APLOGrinfo
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:250,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:250,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:251,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:251,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:255,1
    - Dst: ssl_util_vhostid
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:258,1
    - Dst: ssl_configure_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:265,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 269
    functionName: ssl_hook_ReadReq
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ssl_check_vhost_sni_policy
    - ssl_util_vhostid
    - ap_log_rerror
    - APLOGrinfo
    - ssl_configure_env
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_table_setn
    - mySrvConfig
    - MODSSL_SNIVH_NAME
    - apr_psprintf
    - ap_is_initial_req
    - SSL_get_servername
    - modssl_set_app_data2
    - myConnConfig
    linkageType: ''
    returnType: int
    signature: int ssl_hook_ReadReq(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:279,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:293,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:295,1
    - Dst: strncmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - r
    - sslconn
    argTypes:
    - request_rec*
    - SSLConnRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: ssl_configure_env
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 1
    functionsReached:
    - apr_table_elts
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ssl_configure_env(request_rec *r, SSLConnRec *sslconn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:317,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:319,1
    - Dst: SSL_get_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:333,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:334,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - r
    - sc
    - dc
    - sslconn
    - ssl
    argTypes:
    - request_rec*
    - SSLSrvConfigRec*
    - SSLDirConfigRec*
    - SSLConnRec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 352
    functionName: ssl_check_post_client_verify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - X509_free
    - APLOGNO
    - SSL_get_verify_result
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: "int ssl_check_post_client_verify(request_rec *r, SSLSrvConfigRec *sc,
      \n                                        SSLDirConfigRec *dc, SSLConnRec *sslconn,\n
      \                                       SSL *ssl)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:362,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:363,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:368,1
    - Dst: SSL_get_srp_username
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:381,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:433,1
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:437,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:440,1
    - Dst: SSL_get_ciphers
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:440,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:443,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:455,1
    - Dst: SSL_set_cipher_list
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:459,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:460,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:463,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:466,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:473,1
    - Dst: SSL_get_ciphers
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:473,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:483,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:497,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:500,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:502,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:508,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:511,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:513,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:522,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:531,1
    - Dst: SSL_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:537,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:541,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:541,1
    - Dst: SSL_get_verify_mode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:564,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:584,1
    - Dst: SSL_set_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:585,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:604,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:605,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:612,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:615,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:618,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:618,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:647,1
    - Dst: MODSSL_CFG_CA_NE
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:672,1
    - Dst: MODSSL_CFG_CA_NE
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:673,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:675,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:675,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:680,1
    - Dst: fill_reneg_buffer
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:694,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:696,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:718,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:718,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:722,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:726,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:726,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:730,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:730,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:732,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:734,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:736,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:736,1
    - Dst: sk_X509_new_null
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:747,1
    - Dst: sk_X509_push
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:748,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:752,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:754,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:754,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:761,1
    - Dst: X509_STORE_CTX_new
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:764,1
    - Dst: X509_STORE_CTX_init
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:765,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:766,1
    - Dst: SSL_get_verify_depth
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:769,1
    - Dst: X509_STORE_CTX_set_depth
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:772,1
    - Dst: X509_STORE_CTX_set_ex_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:775,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:776,1
    - Dst: X509_verify_cert
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:779,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:780,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:780,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:782,1
    - Dst: SSL_set_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:785,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:785,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:786,1
    - Dst: X509_STORE_CTX_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:787,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:789,1
    - Dst: sk_X509_pop_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:791,1
    - Dst: has_buffered_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:808,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:809,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:809,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:817,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:823,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:823,1
    - Dst: SSL_set_session_id_context
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:828,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:832,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:832,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:834,1
    - Dst: modssl_set_reneg_state
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:842,1
    - Dst: SSL_renegotiate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:844,1
    - Dst: SSL_do_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:844,1
    - Dst: SSL_is_init_finished
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:844,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:845,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:845,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:847,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:853,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:853,1
    - Dst: SSL_peek
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:864,1
    - Dst: modssl_set_reneg_state
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:866,1
    - Dst: SSL_is_init_finished
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:868,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:869,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:871,1
    - Dst: ssl_check_post_client_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:886,1
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:894,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:895,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:896,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:900,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 206
    argCount: 5
    argNames:
    - r
    - sc
    - dc
    - sslconn
    - ssl
    argTypes:
    - request_rec*
    - SSLSrvConfigRec*
    - SSLDirConfigRec*
    - SSLConnRec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 911
    functionName: ssl_hook_Access_classic
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - sk_X509_push
    - X509_STORE_CTX_set_ex_data
    - SSL_CIPHER_get_name
    - fill_reneg_buffer
    - SSL_peek
    - SSL_get_peer_certificate
    - X509_STORE_CTX_cleanup
    - SSL_get_verify_mode
    - SSL_is_init_finished
    - SSL_set_verify_result
    - X509_STORE_CTX_get_error
    - ssl_check_post_client_verify
    - SSL_set_session_id_context
    - SSL_do_handshake
    - SSL_get_SSL_CTX
    - has_buffered_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ssl_log_ssl_error
    - SSL_set_verify
    - SSL_get_peer_cert_chain
    - X509_STORE_CTX_free
    - SSL_get_srp_username
    - SSL_renegotiate
    - strcmp
    - SSL_get_verify_depth
    - sk_SSL_CIPHER_free
    - sk_SSL_CIPHER_find
    - X509_STORE_CTX_new
    - sk_SSL_CIPHER_dup
    - X509_STORE_CTX_init
    - SSL_get_ciphers
    - mySrvConfig
    - MODSSL_CFG_CA_NE
    - X509_verify_cert
    - STACK_OF
    - SSL_CTX_get_cert_store
    - sk_X509_value
    - sk_X509_num
    - X509_STORE_CTX_set_depth
    - ap_log_rerror
    - X509_free
    - sk_X509_pop_free
    - modssl_set_reneg_state
    - SSL_get_current_cipher
    - SSL_set_cipher_list
    - APLOGNO
    - apr_table_setn
    - SSL_set_options
    - sk_X509_new_null
    - SSL_get_secure_renegotiation_support
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    linkageType: ''
    returnType: int
    signature: "int ssl_hook_Access_classic(request_rec *r, SSLSrvConfigRec *sc, SSLDirConfigRec
      *dc,\n                                   SSLConnRec *sslconn, SSL *ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sc1
    - ','
    - sc2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: MODSSL_CFG_CA_NE
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODSSL_CFG_CA_NE(f, sc1, sc2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_mode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:927,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:984,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:984,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1000,1
    - Dst: fill_reneg_buffer
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1004,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1006,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1006,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1012,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1012,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1015,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1017,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1018,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1018,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1020,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1021,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1023,1
    - Dst: modssl_set_app_data2
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1027,1
    - Dst: SSL_do_handshake
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1029,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1030,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1030,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1032,1
    - Dst: SSL_peek
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1039,1
    - Dst: modssl_set_app_data2
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1041,1
    - Dst: ssl_check_post_client_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1046,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1047,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 5
    argNames:
    - r
    - sc
    - dc
    - sslconn
    - ssl
    argTypes:
    - request_rec*
    - SSLSrvConfigRec*
    - SSLDirConfigRec*
    - SSLConnRec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 1054
    functionName: ssl_hook_Access_modern
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ssl_check_post_client_verify
    - ap_log_rerror
    - APLOGNO
    - SSL_do_handshake
    - apr_table_setn
    - SSL_verify_client_post_handshake
    - ssl_log_ssl_error
    - SSL_set_verify
    - fill_reneg_buffer
    - SSL_peek
    - modssl_set_app_data2
    - SSL_get_verify_mode
    linkageType: ''
    returnType: int
    signature: "int ssl_hook_Access_modern(request_rec *r, SSLSrvConfigRec *sc, SSLDirConfigRec
      *dc,\n                                  SSLConnRec *sslconn, SSL *ssl)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1059,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1060,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1061,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1070,1
    - Dst: SSL_is_init_finished
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1080,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1088,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1088,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1093,1
    - Dst: SSL_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1110,1
    - Dst: ssl_hook_Access_modern
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1111,1
    - Dst: ssl_hook_Access_classic
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1116,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1131,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1134,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1138,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1151,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1154,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1160,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1166,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1166,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1171,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1171,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1174,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1180,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1057
    functionDepth: 4
    functionLinenumber: 1057
    functionLinenumberEnd: 1194
    functionName: ssl_hook_Access
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - SSL_version
    - myConnConfig
    - APLOGNO
    - apr_table_setn
    - ssl_hook_Access_modern
    - ssl_hook_Access_classic
    - mySrvConfig
    - ssl_var_lookup
    - myDirConfig
    - ap_expr_exec
    - apr_pstrdup
    - SSL_is_init_finished
    linkageType: ''
    returnType: int
    signature: int ssl_hook_Access(request_rec *r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1208,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1216,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1225,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1235,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1236,1
    - Dst: ap_getword
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1236,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1241,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1242,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1245,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1246,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1246,1
    - Dst: modssl_request_is_tls
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1260,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1268,1
    - Dst: X509_NAME_oneline
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1269,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1270,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1271,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1276,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1279,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1280,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1288,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1289,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1289,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1306,1
    - Dst: ap_pbase64encode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1307,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1308,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1311,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1313,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1318
    functionName: ssl_hook_UserCheck
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - strEQ
    - X509_NAME_oneline
    - X509_get_subject_name
    - apr_pstrcat
    - apr_table_get
    - myDirConfig
    - ap_strchr_c
    - ap_getword
    - strcEQ
    - modssl_request_is_tls
    - ap_pbase64decode
    - ap_log_rerror
    - ap_getword_nulls
    - APLOGNO
    - ap_pbase64encode
    - apr_table_setn
    - OPENSSL_free
    - ssl_var_lookup
    - ap_is_initial_req
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int ssl_hook_UserCheck(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1323,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1336
    functionName: ssl_hook_Auth
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - myDirConfig
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int ssl_hook_Auth(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1396,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - env
    - varname
    argTypes:
    - request_rec*
    - apr_table_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1400
    functionName: extract_to_env
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ssl_var_lookup
    - apr_table_setn
    linkageType: ''
    returnType: char
    signature: "char *extract_to_env(request_rec *r, apr_table_t *env,\n                                  const
      char *varname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1404,1
    - Dst: modssl_request_is_tls
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1414,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1423,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1427,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1428,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1432,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1433,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1434,1
    - Dst: modssl_var_extract_dns
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1439,1
    - Dst: modssl_var_extract_san_entries
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1440,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1444,1
    - Dst: strIsEmpty
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1445,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1446,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1455,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1456,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1460,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1461,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1465,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1466,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1470,1
    - Dst: extract_to_env
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1471,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1475,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1480
    functionName: ssl_hook_Fixup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - modssl_var_extract_dns
    - extract_to_env
    - apr_table_setn
    - modssl_var_extract_san_entries
    - apr_table_set
    - modssl_request_is_tls
    - ssl_var_lookup
    - apr_psprintf
    - SSL_get_servername
    - SSL_get_secure_renegotiation_support
    - myDirConfig
    - strIsEmpty
    linkageType: ''
    returnType: int
    signature: int ssl_hook_Fixup(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modssl_request_is_tls
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1496
    functionName: ssl_authz_require_ssl_check
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - modssl_request_is_tls
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ssl_authz_require_ssl_check(request_rec *r,\n                                                const
      char *require_line,\n                                                const void
      *parsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1506
    functionName: ssl_authz_require_ssl_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *ssl_authz_require_ssl_parse(cmd_parms *cmd,\n                                               const
      char *require_line,\n                                               const void
      **parsed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1518,1
    - Dst: SSL_get_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1526,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1528,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1537
    functionName: ssl_authz_verify_client_check
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - SSL_get_peer_certificate
    - X509_free
    - SSL_get_verify_result
    - myConnConfig
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ssl_authz_verify_client_check(request_rec *r,\n                                                  const
      char *require_line,\n                                                  const
      void *parsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1547
    functionName: ssl_authz_verify_client_parse
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *ssl_authz_verify_client_parse(cmd_parms *cmd,\n                                                 const
      char *require_line,\n                                                 const
      void **parsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1569,1
    - Dst: SSL_set_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1579,1
    - Dst: SSL_get_privatekey
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1581,1
    - Dst: EVP_PKEY_type
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1583,1
    - Dst: EVP_PKEY_base_id
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1585,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1601,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1604,1
    - Dst: modssl_get_dh_params
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - export
    - keylen
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1608
    functionName: ssl_callback_TmpDH
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - EVP_PKEY_type
    - SSL_get_privatekey
    - EVP_PKEY_bits
    - SSL_set_current_cert
    - SSL_get_app_data
    - modssl_get_dh_params
    - EVP_PKEY_base_id
    linkageType: ''
    returnType: DH
    signature: DH *ssl_callback_TmpDH(SSL *ssl, int export, int keylen)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1618,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1619,1
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1620,1
    - Dst: modssl_get_app_data2
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1621,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1622,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1624,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1625,1
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1626,1
    - Dst: myConnCtxConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1627,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1631,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1632,1
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1639,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1640,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1640,1
    - Dst: ssl_verify_error_is_optional
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1671,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1674,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1674,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1696,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1701,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1704,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1705,1
    - Dst: ssl_verify_error_is_optional
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1719,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1720,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1722,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1722,1
    - Dst: modssl_verify_ocsp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1728,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1730,1
    - Dst: APLOGcinfo
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1740,1
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1741,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1742,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1744,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1746,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1746,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1748,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1752,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1756,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1775,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1775,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1782,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1615
    functionDepth: 3
    functionLinenumber: 1615
    functionLinenumberEnd: 1791
    functionName: ssl_callback_SSLVerify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - mySrvFromConn
    - APLOGcinfo
    - SSL_get_app_data
    - X509_STORE_CTX_get_error
    - ap_log_cerror
    - ssl_log_cxerror
    - ssl_verify_error_is_optional
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_STORE_CTX_get_current_cert
    - myDirConfig
    - myConnCtxConfig
    - X509_STORE_CTX_set_error
    - X509_verify_cert_error_string
    - mySrvConfig
    - modssl_get_app_data2
    - X509_free
    - X509_STORE_CTX_get_error_depth
    - modssl_verify_ocsp
    - APLOGNO
    - X509_STORE_CTX_get_ex_data
    - myConnConfig
    linkageType: ''
    returnType: int
    signature: int ssl_callback_SSLVerify(int ok, X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1800,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1800,1
    - Dst: mySrvConfigFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - info
    - msg
    argTypes:
    - conn_rec*
    - X509_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1796
    functionDepth: 3
    functionLinenumber: 1796
    functionLinenumberEnd: 1803
    functionName: modssl_proxy_info_log
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - mySrvConfigFromConn
    - APLOGNO
    - ssl_log_cxerror
    linkageType: ''
    returnType: void
    signature: "void modssl_proxy_info_log(conn_rec *c,\n                                  X509_INFO
      *info,\n                                  const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - info
    - ','
    - cert
    - ','
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1815
    functionName: modssl_set_cert_info
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: modssl_set_cert_info(info, cert, pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1818,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1819,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1820,1
    - Dst: myDirConfigFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1821,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1825,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1826,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1827,1
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1828,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1831,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1831,1
    - Dst: sk_X509_INFO_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1836,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1837,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1837,1
    - Dst: SSL_get_client_CA_list
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1844,1
    - Dst: sk_X509_NAME_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1846,1
    - Dst: sk_X509_INFO_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1851,1
    - Dst: modssl_proxy_info_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1853,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1853,1
    - Dst: modssl_set_cert_info
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1855,1
    - Dst: sk_X509_NAME_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1861,1
    - Dst: sk_X509_NAME_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1862,1
    - Dst: sk_X509_INFO_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1864,1
    - Dst: sk_X509_INFO_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1865,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1866,1
    - Dst: X509_NAME_cmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1869,1
    - Dst: modssl_proxy_info_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1870,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1870,1
    - Dst: modssl_set_cert_info
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1873,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1884,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1885,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1886,1
    - Dst: X509_NAME_cmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1888,1
    - Dst: modssl_proxy_info_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1889,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1889,1
    - Dst: modssl_set_cert_info
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1892,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1901,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1901,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1816
    functionDepth: 4
    functionLinenumber: 1816
    functionLinenumberEnd: 1906
    functionName: ssl_callback_proxy_cert
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_get_issuer_name
    - sk_X509_NAME_num
    - sk_X509_INFO_num
    - SSL_get_client_CA_list
    - APLOGNO
    - mySrvFromConn
    - modssl_proxy_info_log
    - modssl_set_cert_info
    - X509_NAME_cmp
    - sk_X509_INFO_value
    - mySrvConfig
    - myDirConfigFromConn
    - STACK_OF
    - ap_log_error
    - SSL_get_app_data
    - sk_X509_NAME_value
    linkageType: ''
    returnType: int
    signature: int ssl_callback_proxy_cert(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APLOGdebug
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1919,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1924,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1928,1
    - Dst: modssl_SSL_SESSION_id2sz
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - s
    - request
    - id
    - idlen
    - status
    - result
    - timeout
    argTypes:
    - server_rec*
    - char*
    - IDCONST unsigned*
    - unsigned int
    - char*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1908
    functionDepth: 2
    functionLinenumber: 1908
    functionLinenumberEnd: 1934
    functionName: ssl_session_log
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - modssl_SSL_SESSION_id2sz
    - ap_log_error
    - APLOGdebug
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void ssl_session_log(server_rec *s,\n                            const
      char *request,\n                            IDCONST unsigned char *id,\n                            unsigned
      int idlen,\n                            const char *status,\n                            const
      char *result,\n                            long timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1945,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1946,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1947,1
    - Dst: SSL_set_timeout
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1957,1
    - Dst: SSL_SESSION_get_id
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1964,1
    - Dst: ssl_scache_store
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1971,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1972,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1972,1
    - Dst: ssl_scache_store
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1976,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1977,1
    - Dst: SSL_SESSION_get_time
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1977,1
    - Dst: ssl_session_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1942
    functionDepth: 3
    functionLinenumber: 1942
    functionLinenumberEnd: 1991
    functionName: ssl_callback_NewSessionCacheEntry
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ssl_scache_store
    - apr_time_from_sec
    - SSL_SESSION_get_time
    - mySrvFromConn
    - mySrvConfig
    - ssl_session_log
    - SSL_get_app_data
    - SSL_SESSION_get_time_ex
    - SSL_SESSION_get_id
    - SSL_set_timeout
    linkageType: ''
    returnType: int
    signature: int ssl_callback_NewSessionCacheEntry(SSL *ssl, SSL_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2005,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2006,1
    - Dst: ssl_scache_retrieve
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2012,1
    - Dst: ssl_session_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - id
    - idlen
    - do_copy
    argTypes:
    - SSL*
    - IDCONST unsigned*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2027
    functionName: ssl_callback_GetSessionCacheEntry
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - mySrvFromConn
    - ssl_session_log
    - ssl_scache_retrieve
    - SSL_get_app_data
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *ssl,\n                                               IDCONST
      unsigned char *id,\n                                               int idlen,
      int *do_copy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2045,1
    - Dst: SSL_SESSION_get_id
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2053,1
    - Dst: ssl_scache_remove
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2060,1
    - Dst: ssl_session_log
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - session
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2035
    functionDepth: 3
    functionLinenumber: 2035
    functionLinenumberEnd: 2066
    functionName: ssl_callback_DelSessionCacheEntry
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_get_id
    - ssl_session_log
    - SSL_CTX_get_app_data
    - ssl_scache_remove
    linkageType: ''
    returnType: void
    signature: "void ssl_callback_DelSessionCacheEntry(SSL_CTX *ctx,\n                                       SSL_SESSION
      *session)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2076,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2080,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2084,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2086,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2089,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2091,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2094,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2096,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2100,1
    - Dst: SSL_alert_type_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2103,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2104,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2108,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2110,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2113,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2115,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2125,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2125,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2127,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2128,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2129,1
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - ssl
    - c
    - s
    - where
    - rc
    argTypes:
    - SSL*
    - conn_rec*
    - server_rec*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2132
    functionName: log_tracing_state
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - ssl_var_lookup
    - SSL_alert_type_string_long
    - SSL_state_string_long
    - SSL_alert_desc_string_long
    linkageType: ''
    returnType: void
    signature: "void log_tracing_state(const SSL *ssl, conn_rec *c,\n                              server_rec
      *s, int where, int rc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2146,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2159,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2170,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2182,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2183,1
    - Dst: log_tracing_state
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ssl
    - where
    - rc
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2140
    functionDepth: 2
    functionLinenumber: 2140
    functionLinenumberEnd: 2186
    functionName: ssl_callback_Info
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - log_tracing_state
    - APLOGNO
    - mySrvFromConn
    - SSL_get_app_data
    - myConnConfig
    - APLOGdebug
    linkageType: ''
    returnType: void
    signature: void ssl_callback_Info(const SSL *ssl, int where, int rc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2194,1
    - Dst: modssl_read_cert
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2204,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2206,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2206,1
    - Dst: SSL_use_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2213,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2214,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2214,1
    - Dst: SSL_use_PrivateKey
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2221,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2222,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2222,1
    - Dst: ERR_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2224,1
    - Dst: ERR_peek_last_error
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2224,1
    - Dst: SSL_check_private_key
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2230,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2231,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2231,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2239,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 7
    argNames:
    - c
    - servername
    - ssl
    - cert
    - key
    - cert_pem
    - key_pem
    argTypes:
    - conn_rec*
    - char*
    - SSL*
    - X509*
    - EVP_PKEY*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2242
    functionName: set_challenge_creds
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - SSL_check_private_key
    - ap_log_cerror
    - SSL_use_certificate
    - ERR_error_string
    - X509_free
    - APLOGNO
    - SSL_use_PrivateKey
    - modssl_read_cert
    - EVP_PKEY_free
    - ERR_peek_last_error
    - myConnConfig
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t set_challenge_creds(conn_rec *c, const char *servername,\n
      \                                       SSL *ssl, X509 *cert, EVP_PKEY *key,\n
      \                                       const char *cert_pem, const char *key_pem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2251,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2260,1
    - Dst: ap_vhost_iterate_given_conn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2263,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2265,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2265,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2273,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2273,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - c
    - ssl
    - servername
    argTypes:
    - conn_rec*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2302
    functionName: init_vhost
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - SSL_get_servername
    - ap_vhost_iterate_given_conn
    - myConnConfig
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_vhost(conn_rec *c, SSL *ssl, const char *servername)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2312,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2313,1
    - Dst: SSL_ech_get1_status
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2317,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2320,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2323,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2326,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2329,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2335,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2338,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ssl
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2305
    functionDepth: 1
    functionLinenumber: 2305
    functionLinenumberEnd: 2341
    functionName: ssl_callback_ECH
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - SSL_ech_get1_status
    - OPENSSL_free
    - SSL_get_servername
    - SSL_get_app_data
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ssl_callback_ECH(SSL *ssl, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2350,1
    - Dst: init_vhost
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - al
    - mctx
    argTypes:
    - SSL*
    - int*
    - modssl_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2348
    functionDepth: 2
    functionLinenumber: 2348
    functionLinenumberEnd: 2354
    functionName: ssl_callback_ServerNameIndication
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - init_vhost
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: int ssl_callback_ServerNameIndication(SSL *ssl, int *al, modssl_ctx_t
      *mctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2367,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2369,1
    - Dst: SSL_client_hello_get0_legacy_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2372,1
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2373,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2375,1
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2377,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2379,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2380,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2382,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2384,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2386,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2388,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2390,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2392,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2394,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2396,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2398,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2400,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - c
    - ssl
    argTypes:
    - conn_rec*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2360
    functionDepth: 1
    functionLinenumber: 2360
    functionLinenumberEnd: 2402
    functionName: copy_clienthello_vars
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - SSL_client_hello_get0_legacy_version
    - SSL_client_hello_get0_ciphers
    - apr_pcalloc
    - SSL_client_hello_get1_extensions_present
    - SSL_client_hello_get0_ext
    - myConnConfig
    - OPENSSL_free
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void copy_clienthello_vars(conn_rec *c, SSL *ssl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2410,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2426,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2455,1
    - Dst: init_vhost
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2458,1
    - Dst: mySrvConfigFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2460,1
    - Dst: copy_clienthello_vars
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ssl
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2407
    functionDepth: 2
    functionLinenumber: 2407
    functionLinenumberEnd: 2464
    functionName: ssl_callback_ClientHello
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - mySrvConfigFromConn
    - apr_pstrmemdup
    - copy_clienthello_vars
    - SSL_get_app_data
    - SSL_client_hello_get0_ext
    - init_vhost
    linkageType: ''
    returnType: int
    signature: int ssl_callback_ClientHello(SSL *ssl, int *al, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_util_vhost_matches
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2479,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2482,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2484,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2485,1
    - Dst: SSL_set_options
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2492,1
    - Dst: SSL_CTX_get_options
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2492,1
    - Dst: SSL_set_min_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2501,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2501,1
    - Dst: SSL_set_max_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2502,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2502,1
    - Dst: SSL_get_verify_mode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2504,1
    - Dst: SSL_num_renegotiations
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2505,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2513,1
    - Dst: SSL_CTX_get_verify_mode
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2513,1
    - Dst: SSL_CTX_get_verify_callback
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2514,1
    - Dst: SSL_num_renegotiations
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2526,1
    - Dst: SSL_set_session_id_context
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2527,1
    - Dst: ap_update_child_status_from_server
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2541,1
    - Dst: modssl_set_io_callbacks
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - servername
    - c
    - s
    argTypes:
    - void*
    - conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2472
    functionDepth: 2
    functionLinenumber: 2472
    functionLinenumberEnd: 2556
    functionName: ssl_find_vhost
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_mode
    - SSL_CTX_get_max_proto_version
    - SSL_set_SSL_CTX
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    - SSL_num_renegotiations
    - SSL_CTX_get_verify_mode
    - SSL_set_options
    - SSL_set_session_id_context
    - modssl_set_io_callbacks
    - ssl_util_vhost_matches
    - mySrvConfig
    - SSL_CTX_get_options
    - SSL_CTX_get_verify_callback
    - SSL_set_verify
    - ap_update_child_status_from_server
    - myConnConfig
    - SSL_CTX_get_min_proto_version
    linkageType: ''
    returnType: int
    signature: int ssl_find_vhost(void *servername, conn_rec *c, server_rec *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2576,1
    - Dst: mySrvFromConn
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2577,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2578,1
    - Dst: myConnCtxConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2579,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2593,1
    - Dst: RAND_bytes
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2594,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2597,1
    - Dst: EVP_aes_128_cbc
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2597,1
    - Dst: HMAC_Init_ex
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2601,1
    - Dst: tlsext_tick_md
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2602,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2604,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2607,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2607,1
    - Dst: memcmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2620,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2624,1
    - Dst: EVP_aes_128_cbc
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2624,1
    - Dst: HMAC_Init_ex
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2628,1
    - Dst: tlsext_tick_md
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2629,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2631,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2634,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ssl
    - keyname
    - iv
    - cipher_ctx
    - mode
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - "OPENSSL_VERSION_NUMBER < 0x30000000L\n                               HMAC_CTX
      *hmac_ctx,\n#else\n                               EVP_MAC_CTX *mac_ctx,\n#endif\n
      \                              int"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2565
    functionDepth: 1
    functionLinenumber: 2565
    functionLinenumberEnd: 2643
    functionName: ssl_callback_SessionTicket
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - myConnCtxConfig
    - ap_log_cerror
    - RAND_bytes
    - APLOGNO
    - mySrvFromConn
    - EVP_EncryptInit_ex
    - HMAC_Init_ex
    - mySrvConfig
    - EVP_MAC_CTX_set_params
    - EVP_DecryptInit_ex
    - SSL_get_app_data
    - EVP_aes_128_cbc
    - tlsext_tick_md
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ssl_callback_SessionTicket(SSL *ssl,\n                               unsigned
      char *keyname,\n                               unsigned char *iv,\n                               EVP_CIPHER_CTX
      *cipher_ctx,\n#if OPENSSL_VERSION_NUMBER < 0x30000000L\n                               HMAC_CTX
      *hmac_ctx,\n#else\n                               EVP_MAC_CTX *mac_ctx,\n#endif\n
      \                              int mode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2665,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2677,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2681,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2681,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2686,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2691,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2691,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2696,1
    - Dst: init_vhost
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2705,1
    - Dst: ap_select_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2707,1
    - Dst: ap_get_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2709,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2712,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2714,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2714,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2721,1
    - Dst: ap_get_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2721,1
    - Dst: ap_switch_protocol
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2724,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2726,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2727,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2737,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2738,1
    - Dst: ssl_is_challenge
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2743,1
    - Dst: set_challenge_creds
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2744,1
    - Dst: SSL_set_verify
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2748,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2660
    functionDepth: 2
    functionLinenumber: 2660
    functionLinenumberEnd: 2754
    functionName: ssl_callback_alpn_select
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - ap_select_protocol
    - strcmp
    - ap_log_cerror
    - myConnConfig
    - APLOGNO
    - ssl_is_challenge
    - set_challenge_creds
    - ap_get_protocol
    - SSL_get_servername
    - apr_pstrndup
    - ap_switch_protocol
    - SSL_set_verify
    - SSL_get_app_data
    - strlen
    - apr_array_make
    - init_vhost
    linkageType: ''
    returnType: int
    signature: "int ssl_callback_alpn_select(SSL *ssl,\n                             const
      unsigned char **out, unsigned char *outlen,\n                             const
      unsigned char *in, unsigned int inlen,\n                             void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2798,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2799,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_kernel.c:2802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2804
    functionName: modssl_callback_keylog
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_kernel.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - apr_file_printf
    - SSL_get_app_data
    linkageType: ''
    returnType: void
    signature: void modssl_callback_keylog(const SSL *ssl, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:26,1
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:30,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:35,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:36,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:39,1
    - Dst: modssl_ASN1_STRING_convert
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:42,1
    - Dst: AUTHORITY_INFO_ACCESS_free
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cert
    - pool
    argTypes:
    - X509*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: extract_responder_uri
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_ocsp.c
    functionUses: 0
    functionsReached:
    - AUTHORITY_INFO_ACCESS_free
    - sk_ACCESS_DESCRIPTION_value
    - modssl_ASN1_STRING_convert
    - sk_ACCESS_DESCRIPTION_num
    - STACK_OF
    - X509_get_ext_d2i
    - OBJ_obj2nid
    linkageType: ''
    returnType: char
    signature: char *extract_responder_uri(X509 *cert, apr_pool_t *pool)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:57,1
    - Dst: extract_responder_uri
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:68,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:76,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:76,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:82,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:84,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:89,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:90,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - sc
    - cert
    - c
    - p
    argTypes:
    - SSLSrvConfigRec*
    - X509*
    - conn_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 100
    functionName: determine_responder_uri
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_log_cerror
    - apr_uri_parse
    - ap_cstr_casecmp
    - APLOGNO
    - extract_responder_uri
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: apr_uri_t
    signature: "apr_uri_t *determine_responder_uri(SSLSrvConfigRec *sc, X509 *cert,\n
      \                                         conn_rec *c, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_new
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:110,1
    - Dst: OCSP_cert_to_id
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:112,1
    - Dst: X509_STORE_CTX_get0_current_issuer
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:112,1
    - Dst: OCSP_request_add0_id
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:113,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:114,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:114,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:116,1
    - Dst: OCSP_request_add1_nonce
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - cert
    - certid
    - s
    - p
    - sc
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - OCSP_CERTID**
    - server_rec*
    - apr_pool_t*
    - SSLSrvConfigRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: create_request
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_ocsp.c
    functionUses: 4
    functionsReached:
    - OCSP_request_add0_id
    - OCSP_cert_to_id
    - APLOGNO
    - OCSP_request_add1_nonce
    - X509_STORE_CTX_get0_current_issuer
    - OCSP_REQUEST_new
    - ap_log_error
    - ssl_log_ssl_error
    linkageType: ''
    returnType: OCSP_REQUEST
    signature: "OCSP_REQUEST *create_request(X509_STORE_CTX *ctx, X509 *cert,\n                                    OCSP_CERTID
      **certid,\n                                    server_rec *s, apr_pool_t *p,\n
      \                                   SSLSrvConfigRec *sc)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: determine_responder_uri
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:140,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:143,1
    - Dst: create_request
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:152,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:155,1
    - Dst: modssl_dispatch_ocsp_request
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:157,1
    - Dst: OCSP_response_status
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:165,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:168,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:168,1
    - Dst: OCSP_response_get1_basic
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:175,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:177,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:177,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:179,1
    - Dst: OCSP_check_nonce
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:186,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:187,1
    - Dst: OCSP_basic_verify
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:196,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:196,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:198,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:198,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:200,1
    - Dst: OCSP_resp_find_status
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:210,1
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:213,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:213,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:215,1
    - Dst: OCSP_check_validity
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:230,1
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:233,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:233,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:235,1
    - Dst: ssl_log_cxerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:247,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:247,1
    - Dst: OCSP_REQUEST_free
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:254,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:255,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:256,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 6
    argNames:
    - cert
    - ctx
    - c
    - sc
    - s
    - pool
    argTypes:
    - X509*
    - X509_STORE_CTX*
    - conn_rec*
    - SSLSrvConfigRec*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 260
    functionName: verify_ocsp_status
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_ocsp.c
    functionUses: 0
    functionsReached:
    - modssl_dispatch_ocsp_request
    - create_request
    - OCSP_response_get1_basic
    - determine_responder_uri
    - OCSP_REQUEST_free
    - OCSP_basic_verify
    - ap_log_cerror
    - ssl_log_cxerror
    - ssl_log_ssl_error
    - OCSP_response_status
    - OCSP_check_validity
    - apr_time_from_sec
    - OCSP_RESPONSE_free
    - ap_log_error
    - OCSP_resp_find_status
    - APLOGNO
    - OCSP_check_nonce
    - OCSP_BASICRESP_free
    - X509_STORE_CTX_get0_store
    linkageType: ''
    returnType: int
    signature: "int verify_ocsp_status(X509 *cert, X509_STORE_CTX *ctx, conn_rec *c,\n
      \                             SSLSrvConfigRec *sc, server_rec *s,\n                              apr_pool_t
      *pool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:265,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:272,1
    - Dst: X509_check_issued
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:276,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:278,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:280,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:286,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:287,1
    - Dst: verify_ocsp_status
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:289,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:291,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:297,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:301,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/httpd/modules/ssl/ssl_engine_ocsp.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - sc
    - s
    - c
    - pool
    argTypes:
    - X509_STORE_CTX*
    - SSLSrvConfigRec*
    - server_rec*
    - conn_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 311
    functionName: modssl_verify_ocsp
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_ocsp.c
    functionUses: 1
    functionsReached:
    - X509_check_issued
    - X509_STORE_CTX_set_error
    - ap_log_cerror
    - verify_ocsp_status
    - apr_pool_tag
    - apr_pool_create
    - X509_STORE_CTX_get_current_cert
    - apr_pool_destroy
    linkageType: ''
    returnType: int
    signature: "int modssl_verify_ocsp(X509_STORE_CTX *ctx, SSLSrvConfigRec *sc,\n
      \                      server_rec *s, conn_rec *c, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: SSL_CTX_set_min_proto_version
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_min_proto_version(ctx, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: SSL_CTX_set_max_proto_version
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_max_proto_version(ctx, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: BIO_set_init
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_init(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: BIO_get_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: BIO_set_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_data(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: BIO_get_shutdown
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_shutdown(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: BIO_set_shutdown
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_shutdown(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: DH_bits
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DH_bits(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: X509_up_ref
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_up_ref(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_up_ref(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_STRING_get0_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: ASN1_STRING_length
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_STRING_length(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: X509_get0_serialNumber
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_serialNumber(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: X509_get0_notBefore
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notBefore(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: X509_get0_notAfter
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notAfter(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: X509_STORE_CTX_get0_store
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_STORE_CTX_get0_store(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: X509_STORE_CTX_get0_current_issuer
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_STORE_CTX_get0_current_issuer(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: modssl_fips_is_enabled
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: modssl_fips_is_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: modssl_fips_enable
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: modssl_fips_enable(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: modssl_fips_is_enabled
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: modssl_fips_is_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: modssl_fips_enable
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: modssl_fips_enable(to)
  - 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: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: strEQ
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strEQ(s1,s2)
  - 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: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: strNE
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strNE(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: strEQn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strEQn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: strNEn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strNEn(s1,s2,n)
  - 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: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: strcEQ
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcEQ(s1,s2)
  - 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: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: strcNE
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcNE(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: strcEQn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcEQn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: strcNEn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcNEn(s1,s2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: strIsEmpty
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strIsEmpty(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: myConnConfig
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myConnConfig(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: myConnConfigSet
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myConnConfigSet(c, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - srv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: mySrvConfig
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mySrvConfig(srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: myDirConfig
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myDirConfig(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: myConnCtxConfig
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myConnCtxConfig(c, sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - srv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: myModConfig
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myModConfig(srv)
  - 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: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: mySrvFromConn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mySrvFromConn(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: myDirConfigFromConn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myDirConfigFromConn(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: mySrvConfigFromConn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mySrvConfigFromConn(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: myModConfigFromConn
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myModConfigFromConn(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: ssl_verify_error_is_optional
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_verify_error_is_optional(errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: MODSSL_SNIVH_NAME
    functionSourceFile: /src/httpd/modules/ssl/ssl_private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODSSL_SNIVH_NAME(p_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:61,1
    - Dst: myConnConfig
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: ssl_get_effective_config
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - myConnConfig
    linkageType: ''
    returnType: SSLConnRec
    signature: SSLConnRec *ssl_get_effective_config(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_effective_config
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ssl_conn_is_ssl
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 2
    functionsReached:
    - ssl_get_effective_config
    linkageType: ''
    returnType: int
    signature: int ssl_conn_is_ssl(conn_rec *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:82,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:82,1
    - Dst: PEM_write_bio_X509
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:86,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:89,1
    - Dst: BIO_f_base64
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:89,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:91,1
    - Dst: BIO_set_flags
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:94,1
    - Dst: BIO_push
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:95,1
    - Dst: i2d_X509_bio
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:96,1
    - Dst: BIO_flush
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:97,1
    - Dst: BIO_pop
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:98,1
    - Dst: BIO_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:99,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p
    - xs
    - pem
    argTypes:
    - apr_pool_t*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: ssl_var_lookup_ssl_cert_data
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - BIO_f_base64
    - BIO_set_flags
    - BIO_s_mem
    - modssl_bio_free_read
    - BIO_flush
    - BIO_pop
    - BIO_new
    - BIO_free
    - i2d_X509_bio
    - BIO_push
    - PEM_write_bio_X509
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert_data(apr_pool_t *p, X509 *xs,\n                                                int
      pem)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_effective_config
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:117,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:128,1
    - Dst: SSL_get_peer_finished
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:129,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:131,1
    - Dst: SSL_get_finished
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:132,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:134,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:135,1
    - Dst: X509_up_ref
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:138,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:140,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:141,1
    - Dst: EVP_get_digestbynid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:152,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:152,1
    - Dst: EVP_get_digestbynid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:154,1
    - Dst: X509_get_signature_nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:154,1
    - Dst: EVP_md5
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:157,1
    - Dst: EVP_sha1
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:157,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:158,1
    - Dst: X509_digest
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:160,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:168,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:174,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:175,1
    - Dst: memcpy
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - p
    - c
    - type
    - buf
    - size
    argTypes:
    - apr_pool_t*
    - conn_rec*
    - char*
    - unsigned char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 181
    functionName: ssl_get_tls_cb
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - X509_free
    - apr_palloc
    - ssl_get_effective_config
    - X509_up_ref
    - strcEQ
    - memcpy
    - EVP_get_digestbynid
    - SSL_get_certificate
    - SSL_get_peer_finished
    - X509_get_signature_nid
    - EVP_md5
    - EVP_sha1
    - SSL_get_peer_certificate
    - EVP_sha256
    - X509_digest
    - SSL_get_finished
    - OBJ_obj2nid
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ssl_get_tls_cb(apr_pool_t *p, conn_rec *c, const char
      *type,\n                                   unsigned char **buf, apr_size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ext_list
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - dummy
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: expr_peer_ext_list_fn
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - ssl_ext_list
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *expr_peer_ext_list_fn(ap_expr_eval_ctx_t *ctx,\n
      \                                                const void *dummy,\n                                                 const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_effective_config
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:197,1
    - Dst: ssl_var_lookup_ssl
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: expr_var_fn
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - ssl_get_effective_config
    - ssl_var_lookup_ssl
    linkageType: ''
    returnType: char
    signature: char *expr_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_var_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: expr_func_fn
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - ssl_var_lookup
    linkageType: ''
    returnType: char
    signature: "char *expr_func_fn(ap_expr_eval_ctx_t *ctx, const void *data,\n                                const
      char *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:218,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:227,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 242
    functionName: ssl_expr_lookup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - strcEQ
    - strcEQn
    linkageType: ''
    returnType: int
    signature: int ssl_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_ssl_conn_is_ssl
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:249,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:250,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:251,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:252,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:255,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:257,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:259,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:263,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:265,1
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: ssl_var_register
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - ap_hook_ssl_conn_is_ssl
    - strchr
    - ap_hook_expr_lookup
    - APR_REGISTER_OPTIONAL_FN
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void ssl_var_register(apr_pool_t *p)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:287,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:288,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:289,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:290,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:291,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:292,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:293,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:294,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:295,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:296,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:297,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:298,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:299,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:300,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:301,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:301,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:303,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:308,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:310,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:311,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:312,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:314,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:316,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:318,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:319,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:320,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:321,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:322,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:328,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:330,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:332,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:333,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:334,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:335,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:335,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:336,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:338,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:343,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:345,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:347,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:349,1
    - Dst: ap_document_root
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:350,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:351,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:353,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:355,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:355,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:356,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:358,1
    - Dst: ssl_get_effective_config
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:368,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:369,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:369,1
    - Dst: ssl_var_lookup_ssl
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:371,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:372,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:384,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:384,1
    - Dst: ssl_var_lookup_ssl_version
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:385,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:386,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:387,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:388,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:389,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:391,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:392,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:392,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:393,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:399,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:400,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:402,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:403,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:405,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:406,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:408,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:409,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:411,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:412,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:414,1
    - Dst: MKTIMESTR
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:415,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:417,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:418,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:418,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:419,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:425,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:425,1
    - Dst: getenv
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:426,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 117
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - var
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 431
    functionName: ssl_var_lookup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 12
    functionsReached:
    - apr_time_now
    - ap_get_useragent_host
    - ssl_var_lookup_ssl
    - getenv
    - apr_psprintf
    - apr_table_get
    - ap_get_remote_logname
    - strcEQ
    - ap_document_root
    - ap_http_scheme
    - ap_get_server_name_for_url
    - ssl_var_lookup_ssl_version
    - ssl_get_effective_config
    - apr_itoa
    - ap_get_server_banner
    - MKTIMESTR
    - ap_get_server_port
    - strlen
    - apr_time_exp_lt
    - strcEQn
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup(apr_pool_t *p, server_rec *s,\n                           conn_rec
      *c, request_rec *r,\n                           const char *var)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - tmfield
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: MKTIMESTR
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKTIMESTR(format, tmfield)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_ech_get1_status
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:444,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:445,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:464,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:465,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:467,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:468,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:471,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:472,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - p
    - var
    - ssl
    argTypes:
    - apr_pool_t*
    - char*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 474
    functionName: ssl_var_lookup_ech_status
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - SSL_ech_get1_status
    - apr_pstrdup
    - strcEQ
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ech_status(apr_pool_t *p, const char *var,\n
      \                                            SSL *ssl)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:482,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:488,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:488,1
    - Dst: ssl_var_lookup_ssl_version
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:489,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:491,1
    - Dst: SSL_get_version
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:492,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:494,1
    - Dst: SSL_get_session
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:496,1
    - Dst: SSL_SESSION_get_id
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:502,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:508,1
    - Dst: modssl_SSL_SESSION_id2sz
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:508,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:512,1
    - Dst: SSL_session_reused
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:513,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:518,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:518,1
    - Dst: ssl_var_lookup_ssl_cipher
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:519,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:521,1
    - Dst: ssl_var_lookup_ssl_handshake_rtt
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:522,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:524,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:524,1
    - Dst: ssl_var_lookup_ssl_clienthello
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:525,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:527,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:527,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:528,1
    - Dst: ssl_var_lookup_ssl_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:529,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:531,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:531,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:532,1
    - Dst: ssl_var_lookup_ssl_cert_chain
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:533,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:535,1
    - Dst: ssl_var_lookup_ssl_cert_rfc4523_cea
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:536,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:538,1
    - Dst: ssl_var_lookup_ssl_cert_verify
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:539,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:541,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:544,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:544,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:545,1
    - Dst: ssl_var_lookup_ssl_cert
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:546,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:547,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:550,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:550,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:551,1
    - Dst: ssl_var_lookup_ssl_cert
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:552,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:558,1
    - Dst: ssl_var_lookup_ssl_compress_meth
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:559,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:561,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:563,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:564,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:567,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:568,1
    - Dst: SSL_get_servername
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:568,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:572,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:575,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:580,1
    - Dst: SSL_get_srp_username
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:581,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:582,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:585,1
    - Dst: SSL_get_srp_userinfo
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:586,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:587,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:592,1
    - Dst: ssl_var_lookup_ech_status
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:593,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 83
    argCount: 4
    argNames:
    - p
    - sslconn
    - r
    - var
    argTypes:
    - apr_pool_t*
    - SSLConnRec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 598
    functionName: ssl_var_lookup_ssl
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 2
    functionsReached:
    - SSL_get_shared_ciphers
    - SSL_get_session
    - ssl_var_lookup_ssl_cipher
    - SSL_get_certificate
    - ssl_var_lookup_ssl_handshake_rtt
    - SSL_get_peer_certificate
    - SSL_get_srp_userinfo
    - SSL_session_reused
    - ssl_var_lookup_ssl_cert_chain
    - apr_pstrdup
    - strlen
    - ssl_var_lookup_ssl_compress_meth
    - SSL_get_peer_cert_chain
    - SSL_get_srp_username
    - ssl_var_lookup_ssl_clienthello
    - strcEQ
    - ssl_var_lookup_ech_status
    - STACK_OF
    - modssl_SSL_SESSION_id2sz
    - SSL_get_version
    - ssl_var_lookup_ssl_cert_rfc4523_cea
    - ssl_var_lookup_ssl_version
    - X509_free
    - ssl_var_lookup_ssl_cert
    - SSL_get_servername
    - SSL_get_secure_renegotiation_support
    - SSL_SESSION_get_id
    - ssl_var_lookup_ssl_cert_verify
    - strcEQn
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl(apr_pool_t *p, const SSLConnRec *sslconn,\n
      \                                     request_rec *r, const char *var)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myDirConfig
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:607,1
    - Dst: X509_NAME_oneline
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:611,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:612,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:613,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:619,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:619,1
    - Dst: X509_NAME_print_ex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:621,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p
    - r
    - xsname
    argTypes:
    - apr_pool_t*
    - request_rec*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 626
    functionName: ssl_var_lookup_ssl_cert_dn_oneline
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - X509_NAME_oneline
    - BIO_s_mem
    - modssl_bio_free_read
    - OPENSSL_free
    - BIO_new
    - X509_NAME_print_ex
    - myDirConfig
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert_dn_oneline(apr_pool_t *p, request_rec
      *r,\n                                                      const X509_NAME *xsname)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:637,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:638,1
    - Dst: X509_get_version
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:638,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:640,1
    - Dst: ssl_var_lookup_ssl_cert_serial
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:641,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:643,1
    - Dst: ssl_var_lookup_ssl_cert_valid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:644,1
    - Dst: X509_get0_notBefore
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:644,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:646,1
    - Dst: ssl_var_lookup_ssl_cert_valid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:647,1
    - Dst: X509_get0_notAfter
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:647,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:649,1
    - Dst: ssl_var_lookup_ssl_cert_remain
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:650,1
    - Dst: X509_get0_notAfter
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:650,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:652,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:654,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:656,1
    - Dst: ssl_var_lookup_ssl_cert_dn_oneline
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:659,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:661,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:661,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:663,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:665,1
    - Dst: ssl_var_lookup_ssl_cert_dn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:668,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:670,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:670,1
    - Dst: ssl_var_lookup_ssl_cert_san
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:671,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:673,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:675,1
    - Dst: X509_ALGOR_get0
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:678,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:678,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:679,1
    - Dst: OBJ_nid2ln
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:681,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:683,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:685,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:688,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:688,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:689,1
    - Dst: OBJ_nid2ln
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:691,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:693,1
    - Dst: ssl_var_lookup_ssl_cert_data
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:694,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:696,1
    - Dst: ssl_var_lookup_ssl_cert_data
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:697,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - p
    - r
    - xs
    - var
    argTypes:
    - apr_pool_t*
    - request_rec*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 701
    functionName: ssl_var_lookup_ssl_cert
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - ssl_var_lookup_ssl_cert_serial
    - ssl_var_lookup_ssl_cert_san
    - X509_get0_tbs_sigalg
    - X509_get_subject_name
    - X509_get_version
    - OBJ_obj2nid
    - ssl_var_lookup_ssl_cert_remain
    - X509_get_issuer_name
    - X509_get0_notAfter
    - X509_get0_notBefore
    - apr_psprintf
    - OBJ_nid2ln
    - X509_ALGOR_get0
    - strcEQ
    - ssl_var_lookup_ssl_cert_dn
    - ssl_var_lookup_ssl_cert_valid
    - X509_PUBKEY_get0_param
    - X509_get_X509_PUBKEY
    - ssl_var_lookup_ssl_cert_data
    - ssl_var_lookup_ssl_cert_dn_oneline
    - strlen
    - strcEQn
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert(apr_pool_t *p, request_rec *r, X509
      *xs,\n                                           const char *var)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:740,1
    - Dst: strcmp
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:741,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:742,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:747,1
    - Dst: strspn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:748,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:748,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:749,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:752,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:758,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:759,1
    - Dst: X509_NAME_entry_count
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:760,1
    - Dst: X509_NAME_get_entry
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:761,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:763,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:763,1
    - Dst: modssl_X509_NAME_ENTRY_to_string
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - p
    - xsname
    - var
    argTypes:
    - apr_pool_t*
    - X509_NAME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 774
    functionName: ssl_var_lookup_ssl_cert_dn
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - strcmp
    - X509_NAME_entry_count
    - atoi
    - apr_pstrmemdup
    - strlen
    - strEQn
    - modssl_X509_NAME_ENTRY_to_string
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_object
    - strspn
    - ap_strrchr_c
    - ap_strchr_c
    - OBJ_obj2nid
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert_dn(apr_pool_t *p, const X509_NAME *xsname,\n
      \                                             const char *var)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:783,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:787,1
    - Dst: strcEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:791,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:794,1
    - Dst: strEQn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:798,1
    - Dst: strspn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:809,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:810,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:813,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:813,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:815,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - p
    - xs
    - var
    argTypes:
    - apr_pool_t*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 818
    functionName: ssl_var_lookup_ssl_cert_san
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - APR_ARRAY_IDX
    - modssl_X509_getSAN
    - strEQn
    - atoi
    - strspn
    - strlen
    - strcEQn
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_cert_san(apr_pool_t *p, X509 *xs, const char
      *var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:824,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:824,1
    - Dst: ASN1_TIME_print
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:826,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - tm
    argTypes:
    - apr_pool_t*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: ssl_var_lookup_ssl_cert_valid
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - modssl_bio_free_read
    - BIO_s_mem
    - BIO_new
    - ASN1_TIME_print
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_cert_valid(apr_pool_t *p, const ASN1_TIME
      *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: INVALID_ASN1_TIME
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVALID_ASN1_TIME(asn1)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_check
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:846,1
    - Dst: ASN1_TIME_diff
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:846,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:850,1
    - Dst: INVALID_ASN1_TIME
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:857,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:862,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:866,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:866,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:870,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:871,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:872,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:873,1
    - Dst: DIGIT2NUM
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:874,1
    - Dst: apr_time_exp_gmt_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:876,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:880,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:880,1
    - Dst: apr_ltoa
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - p
    - tm
    argTypes:
    - apr_pool_t*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 884
    functionName: ssl_var_lookup_ssl_cert_remain
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - apr_time_sec
    - ASN1_TIME_check
    - INVALID_ASN1_TIME
    - apr_ltoa
    - ASN1_TIME_diff
    - apr_time_exp_gmt_get
    - DIGIT2NUM
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_cert_remain(apr_pool_t *p, const ASN1_TIME
      *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: DIGIT2NUM
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIGIT2NUM(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:890,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:890,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:892,1
    - Dst: X509_get_serialNumber
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:892,1
    - Dst: modssl_bio_free_read
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - xs
    argTypes:
    - apr_pool_t*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: ssl_var_lookup_ssl_cert_serial
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - i2a_ASN1_INTEGER
    - modssl_bio_free_read
    - BIO_s_mem
    - BIO_new
    - X509_get_serialNumber
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_cert_serial(apr_pool_t *p, X509 *xs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:906,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:906,1
    - Dst: atoi
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:907,1
    - Dst: sk_X509_num
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:908,1
    - Dst: sk_X509_value
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:909,1
    - Dst: ssl_var_lookup_ssl_cert_data
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - p
    - sk
    - var
    - pem
    argTypes:
    - apr_pool_t*
    - STACK_OF*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 915
    functionName: ssl_var_lookup_ssl_cert_chain
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - atoi
    - ssl_var_lookup_ssl_cert_data
    - strspn
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert_chain(apr_pool_t *p, STACK_OF(X509)
      *sk,\n                                                 const char *var, int
      pem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:925,1
    - Dst: X509_get_serialNumber
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:931,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:933,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:935,1
    - Dst: BN_bn2dec
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:936,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:937,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:938,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:941,1
    - Dst: modssl_X509_NAME_to_string
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:943,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:944,1
    - Dst: BN_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:945,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ssl
    argTypes:
    - apr_pool_t*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 951
    functionName: ssl_var_lookup_ssl_cert_rfc4523_cea
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - modssl_X509_NAME_to_string
    - X509_get_issuer_name
    - X509_free
    - apr_pstrcat
    - BN_free
    - BN_bn2dec
    - OPENSSL_free
    - ASN1_INTEGER_to_BN
    - X509_get_serialNumber
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_cert_rfc4523_cea(apr_pool_t *p, SSL *ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:967,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:968,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:976,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:981,1
    - Dst: X509_verify_cert_error_string
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:982,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:985,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - p
    - sslconn
    argTypes:
    - apr_pool_t*
    - SSLConnRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 987
    functionName: ssl_var_lookup_ssl_cert_verify
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - strEQ
    - X509_free
    - X509_verify_cert_error_string
    - SSL_get_verify_result
    - apr_psprintf
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cert_verify(apr_pool_t *p,\n                                                  const
      SSLConnRec *sslconn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_var_lookup_ssl_cipher_bits
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1000,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1002,1
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1003,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1006,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1006,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1009,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1011,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1012,1
    - Dst: strcEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1014,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1015,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p
    - sslconn
    - var
    argTypes:
    - apr_pool_t*
    - SSLConnRec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1019
    functionName: ssl_var_lookup_ssl_cipher
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - strEQ
    - SSL_get_current_cipher
    - apr_itoa
    - strcEQ
    - SSL_CIPHER_get_name
    - ssl_var_lookup_ssl_cipher_bits
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup_ssl_cipher(apr_pool_t *p,\n                                             const
      SSLConnRec *sslconn,\n                                             const char
      *var)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1028,1
    - Dst: SSL_CIPHER_get_bits
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ssl
    - usekeysize
    - algkeysize
    argTypes:
    - SSL*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1031
    functionName: ssl_var_lookup_ssl_cipher_bits
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - SSL_get_current_cipher
    - SSL_CIPHER_get_bits
    linkageType: ''
    returnType: void
    signature: void ssl_var_lookup_ssl_cipher_bits(SSL *ssl, int *usekeysize, int
      *algkeysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_handshake_rtt
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1037,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ssl
    argTypes:
    - apr_pool_t*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1041
    functionName: ssl_var_lookup_ssl_handshake_rtt
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - SSL_get_handshake_rtt
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_handshake_rtt(apr_pool_t *p, SSL *ssl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1055,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1056,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1058,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1059,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1060,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1063,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1064,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1066,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1070,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1071,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1072,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1075,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1076,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1077,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1080,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1081,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1082,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1085,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1086,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1087,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1090,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1091,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1092,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - p
    - sslconn
    - var
    argTypes:
    - apr_pool_t*
    - SSLConnRec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1097
    functionName: ssl_var_lookup_ssl_clienthello
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - strEQ
    - apr_palloc
    - apr_psprintf
    - ap_bin2hex
    - apr_snprintf
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_clienthello(apr_pool_t *p, const SSLConnRec
      *sslconn, const char *var)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1101,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1104,1
    - Dst: strEQ
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - var
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1111
    functionName: ssl_var_lookup_ssl_version
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 2
    functionsReached:
    - strEQ
    linkageType: ''
    returnType: char
    signature: char *ssl_var_lookup_ssl_version(const char *var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1124,1
    - Dst: X509_NAME_entry_count
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1127,1
    - Dst: X509_NAME_get_entry
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1129,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1133,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1133,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1135,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1143,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1145,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1149,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1150,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1151,1
    - Dst: modssl_X509_NAME_ENTRY_to_string
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1153,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - t
    - nids
    - pfx
    - xn
    - p
    argTypes:
    - apr_table_t*
    - apr_hash_t*
    - char*
    - X509_NAME*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1115
    functionDepth: 3
    functionLinenumber: 1115
    functionLinenumberEnd: 1157
    functionName: extract_dn
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_make
    - apr_pcalloc
    - apr_pstrcat
    - X509_NAME_entry_count
    - apr_table_setn
    - modssl_X509_NAME_ENTRY_to_string
    - apr_psprintf
    - X509_NAME_ENTRY_get_object
    - X509_NAME_get_entry
    - apr_hash_get
    - OBJ_obj2nid
    linkageType: ''
    returnType: void
    signature: "void extract_dn(apr_table_t *t, apr_hash_t *nids, const char *pfx,\n
      \                      const X509_NAME *xn, apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1167,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1170,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1178,1
    - Dst: extract_dn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1180,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1180,1
    - Dst: extract_dn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1181,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1181,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1186,1
    - Dst: extract_dn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1188,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1188,1
    - Dst: extract_dn
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1189,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1189,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - t
    - ssl
    - p
    argTypes:
    - apr_table_t*
    - SSL*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1159
    functionDepth: 4
    functionLinenumber: 1159
    functionLinenumberEnd: 1192
    functionName: modssl_var_extract_dns
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - apr_hash_set
    - SSL_get_peer_certificate
    - X509_get_issuer_name
    - apr_hash_make
    - X509_free
    - SSL_get_certificate
    - extract_dn
    - X509_get_subject_name
    linkageType: ''
    returnType: void
    signature: void modssl_var_extract_dns(apr_table_t *t, SSL *ssl, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - t
    - pfx
    - entries
    - p
    argTypes:
    - apr_table_t*
    - char*
    - apr_array_header_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1203
    functionName: extract_san_array
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void extract_san_array(apr_table_t *t, const char *pfx,\n                              apr_array_header_t
      *entries, apr_pool_t *p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1211,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1213,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1214,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1216,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1217,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1219,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1221,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1227,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1229,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1230,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1232,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1233,1
    - Dst: modssl_X509_getSAN
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1235,1
    - Dst: extract_san_array
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1236,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - t
    - ssl
    - p
    argTypes:
    - apr_table_t*
    - SSL*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1240
    functionName: modssl_var_extract_san_entries
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - X509_free
    - modssl_X509_getSAN
    - SSL_get_certificate
    - SSL_get_peer_certificate
    - extract_san_array
    linkageType: ''
    returnType: void
    signature: void modssl_var_extract_san_entries(apr_table_t *t, SSL *ssl, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1248,1
    - Dst: ASN1_STRING_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1249,1
    - Dst: d2i_DISPLAYTEXT
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1258,1
    - Dst: ASN1_STRING_length
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1258,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1259,1
    - Dst: ASN1_STRING_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1265
    functionName: dump_extn_value
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 0
    functionsReached:
    - d2i_DISPLAYTEXT
    - ASN1_STRING_free
    - ASN1_STRING_new
    - ASN1_STRING_length
    - ASN1_STRING_print_ex
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: int dump_extn_value(BIO *bio, const ASN1_OCTET_STRING *str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_effective_config
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1270,1
    - Dst: OBJ_txt2obj
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1286,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1288,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1288,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1290,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1294,1
    - Dst: SSL_get_certificate
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1294,1
    - Dst: X509_get_ext_count
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1299,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1303,1
    - Dst: X509_get_ext
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1305,1
    - Dst: OBJ_cmp
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1307,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1307,1
    - Dst: BIO_new
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1308,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1308,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1310,1
    - Dst: ASN1_OBJECT_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1311,1
    - Dst: X509V3_EXT_print
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1322,1
    - Dst: dump_extn_value
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1323,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1323,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1325,1
    - Dst: BIO_get_mem_ptr
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1326,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1327,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1329,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1329,1
    - Dst: BIO_vfree
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1333,1
    - Dst: X509_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1342,1
    - Dst: ASN1_OBJECT_free
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1345,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/ssl/ssl_engine_vars.c:1346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - p
    - c
    - peer
    - extension
    argTypes:
    - apr_pool_t*
    - conn_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1348
    functionName: ssl_ext_list
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_vars.c
    functionUses: 1
    functionsReached:
    - apr_array_push
    - dump_extn_value
    - apr_pstrmemdup
    - SSL_get_certificate
    - X509_get_ext_count
    - BIO_new
    - SSL_get_peer_certificate
    - OBJ_txt2obj
    - ap_log_cerror
    - X509_get_ext
    - BIO_vfree
    - X509_EXTENSION_get_data
    - BIO_s_mem
    - ASN1_OBJECT_free
    - X509_free
    - ssl_get_effective_config
    - X509V3_EXT_print
    - APLOGNO
    - BIO_get_mem_ptr
    - ERR_clear_error
    - OBJ_cmp
    - apr_array_make
    - X509_EXTENSION_get_object
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *ssl_ext_list(apr_pool_t *p, conn_rec *c, int peer,\n
      \                                const char *extension)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:62,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:68,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - fname
    - pool
    - mtime
    argTypes:
    - char*
    - apr_pool_t*
    - apr_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: exists_and_readable
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - apr_stat
    - apr_file_open
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t exists_and_readable(const char *fname, apr_pool_t *pool,\n
      \                                       apr_time_t *mtime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:87,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:88,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:93,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:93,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mc
    - p
    - id
    - i
    argTypes:
    - SSLModConfigRec*
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: privkey_vhost_keyid
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_pool_get
    - apr_psprintf
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *privkey_vhost_keyid(SSLModConfigRec *mc, apr_pool_t *p,\n                                       const
      char *id, int i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - idx
    argTypes:
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: pphrase_array_get
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pphrase_array_get(apr_array_header_t *arr, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:384,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:385,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:391,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:392,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - progname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: ssl_pipe_child_create
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - apr_tokenize_to_argv
    - apr_procattr_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ssl_pipe_child_create(apr_pool_t *p, const char *progname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:412,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:415,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:416,1
    - Dst: apr_file_eof
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:418,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:419,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:422,1
    - Dst: strchr
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - buf
    - length
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 432
    functionName: pipe_get_passwd_cb
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - memset
    - strchr
    - apr_file_puts
    - apr_file_gets
    - apr_file_eof
    linkageType: ''
    returnType: int
    signature: int pipe_get_passwd_cb(char *buf, int length, char *prompt, int verify)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:437,1
    - Dst: pphrase_array_get
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:447,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:449,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:450,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:464,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:465,1
    - Dst: ssl_pipe_child_create
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:468,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:472,1
    - Dst: PEMerr
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:475,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:477,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:481,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:481,1
    - Dst: PEMerr
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:486,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:487,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:496,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:498,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:498,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:511,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:513,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:514,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:518,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:519,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:530,1
    - Dst: pipe_get_passwd_cb
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:532,1
    - Dst: EVP_read_pw_string
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:535,1
    - Dst: PEMerr
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:538,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:539,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:542,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:544,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:555,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:558,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:558,1
    - Dst: ssl_util_readfilter
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:566,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:567,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:568,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:574,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 4
    argNames:
    - buf
    - bufsize
    - verify
    - srv
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 580
    functionName: ssl_pphrase_Handle_CB
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - EVP_read_pw_string
    - ssl_util_readfilter
    - memset
    - apr_palloc
    - apr_cpystrn
    - apr_file_puts
    - APLOGNO
    - pphrase_array_get
    - apr_pstrdup
    - ssl_pipe_child_create
    - pipe_get_passwd_cb
    - mySrvConfig
    - apr_file_open_stdout
    - ap_log_error
    - PEMerr
    - apr_file_printf
    - strlen
    linkageType: ''
    returnType: int
    signature: int ssl_pphrase_Handle_CB(char *buf, int bufsize, int verify, void
      *srv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UI_get0_user_data
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:590,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:591,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:604,1
    - Dst: ssl_pipe_child_create
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:607,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:610,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:611,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:617,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:622,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:622,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:633,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:635,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:635,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:648,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:650,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:655,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 662
    functionName: passphrase_ui_open
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ssl_pipe_child_create
    - mySrvConfig
    - UI_get0_user_data
    - apr_file_open_stdout
    - ap_log_error
    - apr_file_printf
    linkageType: ''
    returnType: int
    signature: int passphrase_ui_open(UI *ui)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UI_get0_user_data
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:666,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:667,1
    - Dst: UI_get0_output_string
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:674,1
    - Dst: UI_get_result_maxsize
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:682,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:683,1
    - Dst: pipe_get_passwd_cb
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:693,1
    - Dst: EVP_read_pw_string
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:696,1
    - Dst: OPENSSL_cleanse
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:699,1
    - Dst: strlen
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:702,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:704,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:706,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:718,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:721,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:721,1
    - Dst: ssl_util_readfilter
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:729,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:730,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:736,1
    - Dst: UI_set_result
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:737,1
    - Dst: OPENSSL_cleanse
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:740,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 742
    functionName: passphrase_ui_read
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - UI_get_result_maxsize
    - EVP_read_pw_string
    - ssl_util_readfilter
    - apr_pcalloc
    - apr_palloc
    - apr_cpystrn
    - apr_file_puts
    - APLOGNO
    - apr_pstrdup
    - UI_get0_output_string
    - OPENSSL_cleanse
    - pipe_get_passwd_cb
    - mySrvConfig
    - UI_get0_user_data
    - ap_log_error
    - apr_file_printf
    - strlen
    - UI_set_result
    linkageType: ''
    returnType: int
    signature: int passphrase_ui_read(UI *ui, UI_STRING *uis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_get0_user_data
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:746,1
    - Dst: mySrvConfig
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:750,1
    - Dst: UI_get0_output_string
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:754,1
    - Dst: apr_file_puts
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: passphrase_ui_write
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - mySrvConfig
    - UI_get0_user_data
    - apr_file_puts
    - UI_get0_output_string
    linkageType: ''
    returnType: int
    signature: int passphrase_ui_write(UI *ui, UI_STRING *uis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:767,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 772
    functionName: passphrase_ui_close
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: int
    signature: int passphrase_ui_close(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_destroy_method
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uip
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 781
    functionName: pp_ui_method_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pp_ui_method_cleanup(void *uip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_create_method
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:785,1
    - Dst: UI_method_set_opener
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:787,1
    - Dst: UI_method_set_reader
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:788,1
    - Dst: UI_method_set_writer
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:789,1
    - Dst: UI_method_set_closer
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:790,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 796
    functionName: get_passphrase_ui
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - UI_method_set_closer
    - UI_method_set_writer
    - UI_method_set_reader
    - UI_create_method
    - UI_method_set_opener
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *get_passphrase_ui(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - engine
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 807
    functionName: modssl_engine_cleanup
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t modssl_engine_cleanup(void *engine)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_ui
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:822,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:825,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:832,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:834,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:834,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:840,1
    - Dst: ENGINE_by_id
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:841,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:842,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:842,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:845,1
    - Dst: ENGINE_init
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:849,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:850,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:850,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:853,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:854,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:857,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:861,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:862,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:871,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:872,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:872,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:874,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:875,1
    - Dst: ENGINE_load_private_key
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:881,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:883,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:883,1
    - Dst: ssl_log_ssl_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:885,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:886,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:891,1
    - Dst: ENGINE_free
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 8
    argNames:
    - s
    - pconf
    - ptemp
    - vhostid
    - certid
    - keyid
    - pubkey
    - privkey
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - char*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 898
    functionName: modssl_load_keypair_engine
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - ssl_die
    - memset
    - get_passphrase_ui
    - ENGINE_load_private_key
    - APLOGNO
    - ENGINE_ctrl_cmd_string
    - apr_pstrmemdup
    - ENGINE_free
    - apr_pool_cleanup_register
    - ap_log_error
    - ssl_log_ssl_error
    - ENGINE_by_id
    - ap_strchr_c
    - ENGINE_init
    - APLOGdebug
    - ENGINE_ctrl_cmd
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_load_keypair_engine(server_rec *s, apr_pool_t
      *pconf,\n                                               apr_pool_t *ptemp,\n
      \                                              const char *vhostid,\n                                               const
      char *certid,\n                                               const char *keyid,\n
      \                                              X509 **pubkey,\n                                               EVP_PKEY
      **privkey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_ui
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:907,1
    - Dst: memset
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:911,1
    - Dst: OSSL_STORE_open
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:918,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:920,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:920,1
    - Dst: OSSL_STORE_eof
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:926,1
    - Dst: OSSL_STORE_load
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:927,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:931,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:934,1
    - Dst: OSSL_STORE_close
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - s
    - p
    - vhostid
    - uri
    - info_type
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 941
    functionName: modssl_load_store_uri
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - memset
    - get_passphrase_ui
    - OSSL_STORE_INFO_get_type
    - APLOGNO
    - OSSL_STORE_close
    - OSSL_STORE_open
    - OSSL_STORE_INFO_free
    - ap_log_error
    - OSSL_STORE_load
    - OSSL_STORE_eof
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *modssl_load_store_uri(server_rec *s, apr_pool_t *p,\n
      \                                             const char *vhostid,\n                                              const
      char *uri, int info_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: modssl_load_store_uri
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:955,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:957,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:957,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:960,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:963,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:964,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:966,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:966,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:969,1
    - Dst: modssl_load_store_uri
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:973,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:975,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:975,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:978,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:981,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:982,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:984,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:984,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 7
    argNames:
    - s
    - p
    - vhostid
    - certid
    - keyid
    - pubkey
    - privkey
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    - char*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 992
    functionName: modssl_load_keypair_store
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 0
    functionsReached:
    - modssl_load_store_uri
    - ssl_die
    - APLOGNO
    - OSSL_STORE_INFO_free
    - ap_log_error
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_INFO_get1_CERT
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_load_keypair_store(server_rec *s, apr_pool_t *p,\n
      \                                             const char *vhostid,\n                                              const
      char *certid,\n                                              const char *keyid,\n
      \                                             X509 **pubkey,\n                                              EVP_PKEY
      **privkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: modssl_load_keypair_engine
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:1004,1
    - Dst: ssl_die
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:1014,1
    - Dst: modssl_load_keypair_store
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:1019,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:1022,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/ssl/ssl_engine_pphrase.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - s
    - pconf
    - ptemp
    - vhostid
    - certid
    - keyid
    - pubkey
    - privkey
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - char*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 995
    functionDepth: 4
    functionLinenumber: 995
    functionLinenumberEnd: 1027
    functionName: modssl_load_engine_keypair
    functionSourceFile: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    functionUses: 1
    functionsReached:
    - ssl_die
    - APLOGNO
    - modssl_load_keypair_engine
    - ap_log_error
    - modssl_load_keypair_store
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t modssl_load_engine_keypair(server_rec *s,\n                                        apr_pool_t
      *pconf, apr_pool_t *ptemp,\n                                        const char
      *vhostid,\n                                        const char *certid, const
      char *keyid,\n                                        X509 **pubkey, EVP_PKEY
      **privkey)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - curl_code
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: curl_status
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t curl_status(unsigned int curl_code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/md/md_curl.c:74,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/md/md_curl.c:75,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/md/md_curl.c:76,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/md/md_curl.c:77,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/md/md_curl.c:82,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/md/md_curl.c:85,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_curl.c:88,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/md/md_curl.c:95,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/md/md_curl.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - data
    - len
    - nmemb
    - baton
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: req_data_cb
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - APR_STATUS_IS_EOF
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t req_data_cb(void *data, size_t len, size_t nmemb, void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/md/md_curl.c:118,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/md/md_curl.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - len
    - nmemb
    - baton
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: resp_data_cb
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - apr_brigade_write
    - apr_brigade_length
    linkageType: ''
    returnType: size_t
    signature: size_t resp_data_cb(void *data, size_t len, size_t nmemb, void *baton)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_curl.c:144,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_curl.c:150,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/md/md_curl.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - buffer
    - elen
    - nmemb
    - baton
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: header_cb
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - apr_table_add
    - apr_pstrndup
    linkageType: ''
    returnType: size_t
    signature: size_t header_cb(void *buffer, size_t elen, size_t nmemb, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/md/md_curl.c:173,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/md/md_curl.c:173,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/md/md_curl.c:174,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/md/md_curl.c:174,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_curl.c:178,1
    - Dst: curl_slist_append
      Src: /src/httpd/modules/md/md_curl.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - baton
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: curlify_headers
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - curl_slist_append
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int curlify_headers(void *baton, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/md/md_curl.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: timeout_msec
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - apr_time_as_msec
    linkageType: ''
    returnType: long
    signature: long timeout_msec(apr_time_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_curl.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: timeout_sec
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - apr_time_sec
    linkageType: ''
    returnType: long
    signature: long timeout_sec(apr_time_t timeout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:204,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_curl.c:205,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:208,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_curl.c:209,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:212,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_curl.c:213,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:216,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_curl.c:218,1
    - Dst: md_data_init
      Src: /src/httpd/modules/md/md_curl.c:221,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_curl.c:222,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:223,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:228,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_curl.c:230,1
    - Dst: md_data_init
      Src: /src/httpd/modules/md/md_curl.c:233,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_curl.c:234,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - curl
    - type
    - data
    - size
    - baton
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 243
    functionName: curl_debug_log
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - md_log_is_level
    - md_log_perror
    - md_data_init
    - md_data_to_hex
    - apr_pstrndup
    linkageType: ''
    returnType: int
    signature: int curl_debug_log(CURL *curl, curl_infotype type, char *data, size_t
      size, void *baton)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: md_http_get_impl_data
      Src: /src/httpd/modules/md/md_curl.c:253,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:255,1
    - Dst: curl_easy_init
      Src: /src/httpd/modules/md/md_curl.c:256,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:263,1
    - Dst: curl_easy_reset
      Src: /src/httpd/modules/md/md_curl.c:264,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:267,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:268,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:269,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:270,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:271,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:272,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_curl.c:274,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_curl.c:277,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/md/md_curl.c:280,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/md_curl.c:281,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:283,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_curl.c:284,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_curl.c:287,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:288,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_curl.c:290,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:291,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:294,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:296,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:297,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:298,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:301,1
    - Dst: timeout_msec
      Src: /src/httpd/modules/md/md_curl.c:301,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:304,1
    - Dst: timeout_msec
      Src: /src/httpd/modules/md/md_curl.c:304,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:307,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:308,1
    - Dst: timeout_sec
      Src: /src/httpd/modules/md/md_curl.c:308,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:311,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:330,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:335,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:336,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:340,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:343,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/md/md_curl.c:345,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/md/md_curl.c:351,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:354,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:358,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_curl.c:361,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:362,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:363,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:364,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:368,1
    - Dst: curl_easy_setopt
      Src: /src/httpd/modules/md/md_curl.c:371,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 96
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 376
    functionName: internals_setup
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - timeout_msec
    - md_http_get_impl_data
    - apr_table_do
    - md_log_is_level
    - apr_pcalloc
    - apr_cstr_casecmp
    - apr_brigade_create
    - timeout_sec
    - curl_easy_setopt
    - md_log_perror
    - apr_is_empty_table
    - curl_easy_reset
    - apr_table_make
    - curl_easy_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t internals_setup(md_http_request_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_status
      Src: /src/httpd/modules/md/md_curl.c:385,1
    - Dst: curl_easy_getinfo
      Src: /src/httpd/modules/md/md_curl.c:385,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: update_status
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - curl_status
    - md_log_perror
    - curl_easy_getinfo
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t update_status(md_http_request_t *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:403,1
    - Dst: md_http_request_t*::cb::on_response
      Src: /src/httpd/modules/md/md_curl.c:406,1
    - Dst: md_http_request_t*::cb::on_status
      Src: /src/httpd/modules/md/md_curl.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - req
    - rv
    argTypes:
    - md_http_request_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: fire_status
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - md_http_request_t*::cb::on_status
    - md_http_request_t*::cb::on_response
    - md_log_perror
    linkageType: ''
    returnType: void
    signature: void fire_status(md_http_request_t *req, apr_status_t rv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: internals_setup
      Src: /src/httpd/modules/md/md_curl.c:423,1
    - Dst: curl_easy_perform
      Src: /src/httpd/modules/md/md_curl.c:426,1
    - Dst: curl_status
      Src: /src/httpd/modules/md/md_curl.c:428,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:430,1
    - Dst: curl_easy_strerror
      Src: /src/httpd/modules/md/md_curl.c:431,1
    - Dst: curl_status
      Src: /src/httpd/modules/md/md_curl.c:435,1
    - Dst: curl_easy_getinfo
      Src: /src/httpd/modules/md/md_curl.c:435,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:439,1
    - Dst: md_http_request_t*::cb::on_response
      Src: /src/httpd/modules/md/md_curl.c:443,1
    - Dst: fire_status
      Src: /src/httpd/modules/md/md_curl.c:448,1
    - Dst: md_http_req_destroy
      Src: /src/httpd/modules/md/md_curl.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 451
    functionName: md_curl_perform
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - internals_setup
    - curl_easy_strerror
    - fire_status
    - md_http_req_destroy
    - md_http_request_t*::cb::on_response
    - md_log_perror
    - curl_easy_getinfo
    - curl_status
    - curl_easy_perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_curl_perform(md_http_request_t *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_curl.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - requests
    - curl
    argTypes:
    - apr_array_header_t*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: find_curl_request
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: md_http_request_t
    signature: md_http_request_t *find_curl_request(apr_array_header_t *requests,
      CURL *curl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:473,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:474,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:478,1
    - Dst: curl_multi_add_handle
      Src: /src/httpd/modules/md/md_curl.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - curlm
    argTypes:
    - md_http_request_t*
    - CURLM*
    assertStmts:
    - condition: (curlm)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/httpd/modules/md/md_curl.c
    - condition: (internals->curlm == curlm)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/httpd/modules/md/md_curl.c
    - condition: (internals)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/httpd/modules/md/md_curl.c
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: add_to_curlm
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - assert
    - curl_multi_add_handle
    linkageType: ''
    returnType: void
    signature: void add_to_curlm(md_http_request_t *req, CURLM *curlm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:486,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:487,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_curl.c:488,1
    - Dst: curl_multi_remove_handle
      Src: /src/httpd/modules/md/md_curl.c:489,1
    - Dst: md_http_req_destroy
      Src: /src/httpd/modules/md/md_curl.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - curlm
    argTypes:
    - md_http_request_t*
    - CURLM*
    assertStmts:
    - condition: (curlm)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/httpd/modules/md/md_curl.c
    - condition: (internals)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/httpd/modules/md/md_curl.c
    - condition: (internals->curlm == curlm)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/httpd/modules/md/md_curl.c
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: remove_from_curlm_and_destroy
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - assert
    - md_http_req_destroy
    - curl_multi_remove_handle
    linkageType: ''
    returnType: void
    signature: void remove_from_curlm_and_destroy(md_http_request_t *req, CURLM *curlm)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_curl.c:507,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_curl.c:508,1
    - Dst: curl_multi_init
      Src: /src/httpd/modules/md/md_curl.c:509,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/md/md_curl.c:521,1
    - Dst: md_http_clone
      Src: /src/httpd/modules/md/md_curl.c:524,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:526,1
    - Dst: nextreq
      Src: /src/httpd/modules/md/md_curl.c:532,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_curl.c:533,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:534,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:542,1
    - Dst: internals_setup
      Src: /src/httpd/modules/md/md_curl.c:548,1
    - Dst: md_http_request_t*::cb::on_status
      Src: /src/httpd/modules/md/md_curl.c:549,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:550,1
    - Dst: add_to_curlm
      Src: /src/httpd/modules/md/md_curl.c:557,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:558,1
    - Dst: curl_multi_perform
      Src: /src/httpd/modules/md/md_curl.c:562,1
    - Dst: curl_multi_wait
      Src: /src/httpd/modules/md/md_curl.c:564,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:569,1
    - Dst: curl_multi_strerror
      Src: /src/httpd/modules/md/md_curl.c:571,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:576,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/md/md_curl.c:578,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/md/md_curl.c:578,1
    - Dst: curl_multi_info_read
      Src: /src/httpd/modules/md/md_curl.c:584,1
    - Dst: find_curl_request
      Src: /src/httpd/modules/md/md_curl.c:587,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:589,1
    - Dst: update_status
      Src: /src/httpd/modules/md/md_curl.c:592,1
    - Dst: fire_status
      Src: /src/httpd/modules/md/md_curl.c:593,1
    - Dst: curl_status
      Src: /src/httpd/modules/md/md_curl.c:593,1
    - Dst: md_array_remove
      Src: /src/httpd/modules/md/md_curl.c:594,1
    - Dst: remove_from_curlm_and_destroy
      Src: /src/httpd/modules/md/md_curl.c:597,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:600,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:609,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_curl.c:612,1
    - Dst: fire_status
      Src: /src/httpd/modules/md/md_curl.c:613,1
    - Dst: remove_from_curlm_and_destroy
      Src: /src/httpd/modules/md/md_curl.c:616,1
    - Dst: curl_multi_cleanup
      Src: /src/httpd/modules/md/md_curl.c:618,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 4
    argNames:
    - http
    - p
    - nextreq
    - baton
    argTypes:
    - md_http_t*
    - apr_pool_t*
    - md_http_next_req*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 620
    functionName: md_curl_multi_perform
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - nextreq
    - find_curl_request
    - md_log_perror
    - curl_status
    - remove_from_curlm_and_destroy
    - update_status
    - md_http_clone
    - curl_multi_init
    - apr_time_from_msec
    - fire_status
    - curl_multi_wait
    - APR_ARRAY_IDX
    - curl_multi_info_read
    - APR_STATUS_IS_ENOENT
    - curl_multi_perform
    - add_to_curlm
    - curl_multi_cleanup
    - md_http_request_t*::cb::on_status
    - curl_multi_strerror
    - apr_sleep
    - apr_array_pop
    - md_array_remove
    - internals_setup
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_curl_multi_perform(md_http_t *http, apr_pool_t *p,\n
      \                                         md_http_next_req *nextreq, void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/httpd/modules/md/md_curl.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: md_curl_init
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - curl_global_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_curl_init(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_http_get_impl_data
      Src: /src/httpd/modules/md/md_curl.c:637,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:643,1
    - Dst: md_http_set_impl_data
      Src: /src/httpd/modules/md/md_curl.c:644,1
    - Dst: curl_easy_cleanup
      Src: /src/httpd/modules/md/md_curl.c:648,1
    - Dst: curl_slist_free_all
      Src: /src/httpd/modules/md/md_curl.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 654
    functionName: md_curl_req_cleanup
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - curl_slist_free_all
    - md_http_get_impl_data
    - curl_easy_cleanup
    - md_log_perror
    - md_http_set_impl_data
    linkageType: ''
    returnType: void
    signature: void md_curl_req_cleanup(md_http_request_t *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_get_impl_data
      Src: /src/httpd/modules/md/md_curl.c:660,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_curl.c:662,1
    - Dst: md_http_set_impl_data
      Src: /src/httpd/modules/md/md_curl.c:663,1
    - Dst: curl_easy_cleanup
      Src: /src/httpd/modules/md/md_curl.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - http
    - pool
    argTypes:
    - md_http_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: md_curl_cleanup
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - md_http_set_impl_data
    - md_http_get_impl_data
    - curl_easy_cleanup
    - md_log_perror
    linkageType: ''
    returnType: void
    signature: void md_curl_cleanup(md_http_t *http, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_curl_init
      Src: /src/httpd/modules/md/md_curl.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: md_curl_get_impl
    functionSourceFile: /src/httpd/modules/md/md_curl.c
    functionUses: 0
    functionsReached:
    - md_curl_init
    linkageType: ''
    returnType: md_http_impl_t
    signature: md_http_impl_t * md_curl_get_impl(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_ocsp.c:51,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md_ocsp.c:52,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md_ocsp.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - md_srv_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: staple_here
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_config_geti
    linkageType: ''
    returnType: int
    signature: int staple_here(md_srv_conf_t *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:64,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_ocsp.c:66,1
    - Dst: staple_here
      Src: /src/httpd/modules/md/mod_md_ocsp.c:67,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:68,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md_ocsp.c:72,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md_ocsp.c:73,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_ocsp.c:78,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_ocsp.c:79,1
    - Dst: md_cert_read_chain
      Src: /src/httpd/modules/md/mod_md_ocsp.c:80,1
    - Dst: strlen
      Src: /src/httpd/modules/md/mod_md_ocsp.c:80,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:82,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:82,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:87,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:87,1
    - Dst: md_ocsp_prime
      Src: /src/httpd/modules/md/mod_md_ocsp.c:93,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_ocsp.c:94,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_ocsp.c:95,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - s
    - p
    - id
    - id_len
    - pem
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - apr_size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 101
    functionName: md_ocsp_prime_status
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_config_get
    - md_cert_read_chain
    - APLOGNO
    - md_config_geti
    - ap_log_error
    - staple_here
    - strlen
    - md_ocsp_prime
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int md_ocsp_prime_status(server_rec *s, apr_pool_t *p,\n                         const
      char *id, apr_size_t id_len, const char *pem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_ocsp.c:116,1
    - Dst: staple_here
      Src: /src/httpd/modules/md/mod_md_ocsp.c:117,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_ocsp.c:120,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md_ocsp.c:121,1
    - Dst: md_ocsp_get_status
      Src: /src/httpd/modules/md/mod_md_ocsp.c:124,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md_ocsp.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - s
    - c
    - id
    - id_len
    - cb
    - userdata
    argTypes:
    - server_rec*
    - conn_rec*
    - char*
    - apr_size_t
    - ap_ssl_ocsp_copy_resp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: md_ocsp_provide_status
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_config_get
    - ap_log_cerror
    - APR_STATUS_IS_ENOENT
    - md_ocsp_get_status
    - staple_here
    linkageType: ''
    returnType: int
    signature: "int md_ocsp_provide_status(server_rec *s, conn_rec *c,\n                           const
      char *id, apr_size_t id_len,\n                           ap_ssl_ocsp_copy_resp
      *cb, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_ocsp.c:154,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/mod_md_ocsp.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: next_run_default
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t next_run_default(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:168,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:168,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/mod_md_ocsp.c:170,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:174,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/mod_md_ocsp.c:176,1
    - Dst: next_run_default
      Src: /src/httpd/modules/md/mod_md_ocsp.c:182,1
    - Dst: md_ocsp_renew
      Src: /src/httpd/modules/md/mod_md_ocsp.c:184,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_ocsp.c:186,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/md/mod_md_ocsp.c:187,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:188,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:188,1
    - Dst: md_duration_print
      Src: /src/httpd/modules/md/mod_md_ocsp.c:190,1
    - Dst: wd_set_interval
      Src: /src/httpd/modules/md/mod_md_ocsp.c:192,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:196,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - state
    - baton
    - ptemp
    argTypes:
    - int
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 202
    functionName: run_watchdog
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - APLOGNO
    - md_duration_print
    - wd_set_interval
    - ap_log_error
    - md_ocsp_renew
    - next_run_default
    - md_ocsp_count
    - APLOGdebug
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_watchdog(int state, void *baton, apr_pool_t *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_ocsp.c:208,1
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/mod_md_ocsp.c:210,1
    - Dst: md_ocsp_remove_responses_older_than
      Src: /src/httpd/modules/md/mod_md_ocsp.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mc
    - p
    argTypes:
    - md_mod_conf_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: ocsp_remove_old_responses
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_timeperiod_slice_before_end
    - apr_time_now
    - md_ocsp_remove_responses_older_than
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ocsp_remove_old_responses(md_mod_conf_t *mc, apr_pool_t
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_ocsp.c:222,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_ocsp.c:223,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_ocsp.c:224,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:227,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:227,1
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/md/mod_md_ocsp.c:235,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/modules/md/mod_md_ocsp.c:236,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/md/mod_md_ocsp.c:237,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:239,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:239,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/md/mod_md_ocsp.c:242,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/mod_md_ocsp.c:243,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md_ocsp.c:245,1
    - Dst: ocsp_remove_old_responses
      Src: /src/httpd/modules/md/mod_md_ocsp.c:267,1
    - Dst: wd_get_instance
      Src: /src/httpd/modules/md/mod_md_ocsp.c:269,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:271,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:271,1
    - Dst: wd_register_callback
      Src: /src/httpd/modules/md/mod_md_ocsp.c:275,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_ocsp.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_ocsp.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - mc
    - s
    - p
    argTypes:
    - md_mod_conf_t*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 279
    functionName: md_ocsp_start_watching
    functionSourceFile: /src/httpd/modules/md/mod_md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_allocator_owner_set
    - APLOGNO
    - wd_get_instance
    - apr_pool_tag
    - ocsp_remove_old_responses
    - apr_allocator_create
    - apr_allocator_max_free_set
    - apr_pool_create_ex
    - ap_log_error
    - wd_register_callback
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_ocsp_start_watching(md_mod_conf_t *mc, server_rec *s,
      apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: HTML_STATUS
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTML_STATUS(X)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_status.c:70,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:73,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md_status.c:77,1
    - Dst: md_get_by_domain
      Src: /src/httpd/modules/md/mod_md_status.c:79,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:83,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:88,1
    - Dst: md_status_get_md_json
      Src: /src/httpd/modules/md/mod_md_status.c:91,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:93,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_status.c:93,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:98,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/mod_md_status.c:99,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/mod_md_status.c:101,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:103,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/mod_md_status.c:104,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:104,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/mod_md_status.c:107,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/mod_md_status.c:108,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/mod_md_status.c:109,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/mod_md_status.c:110,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:112,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/mod_md_status.c:113,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:113,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:117,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/mod_md_status.c:118,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:118,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:121,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/mod_md_status.c:122,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:122,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/mod_md_status.c:125,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:128,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:132,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/mod_md_status.c:133,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/mod_md_status.c:134,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:137,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_status.c:138,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/mod_md_status.c:139,1
    - Dst: md_json_writeb
      Src: /src/httpd/modules/md/mod_md_status.c:140,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/md/mod_md_status.c:141,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/md/mod_md_status.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 145
    functionName: md_http_cert_status
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_status_get_md_json
    - apr_brigade_create
    - ap_get_module_config
    - md_json_writeb
    - md_pkey_spec_name
    - md_json_setj
    - md_json_sets
    - md_json_writep
    - md_get_by_domain
    - md_pkeys_spec_get
    - strcmp
    - ap_pass_brigade
    - apr_brigade_cleanup
    - md_cert_count
    - md_json_getj
    - ap_log_rerror
    - md_json_gets
    - APLOGNO
    - apr_table_set
    - md_json_has_key
    - md_json_create
    linkageType: ''
    returnType: int
    signature: int md_http_cert_status(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:176,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:178,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:179,1
    - Dst: md_json_get_time
      Src: /src/httpd/modules/md/mod_md_status.c:183,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:184,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:190,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:191,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: si_val_status
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_time_now
    - md_json_gets
    - HTML_STATUS
    - apr_psprintf
    - apr_brigade_printf
    - md_json_get_time
    - md_json_getl
    linkageType: ''
    returnType: void
    signature: void si_val_status(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:203,1
    - Dst: md_get_ca_name_from_url
      Src: /src/httpd/modules/md/mod_md_status.c:205,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:206,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:207,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:208,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:209,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:212,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: si_val_url
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_json_gets
    - HTML_STATUS
    - ap_escape_html2
    - apr_brigade_printf
    - md_get_ca_name_from_url
    linkageType: ''
    returnType: void
    signature: void si_val_url(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/modules/md/mod_md_status.c:228,1
    - Dst: apr_strftime
      Src: /src/httpd/modules/md/mod_md_status.c:229,1
    - Dst: apr_strftime
      Src: /src/httpd/modules/md/mod_md_status.c:232,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:236,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:237,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:239,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - timestamp
    - title
    argTypes:
    - status_ctx*
    - apr_time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: print_date
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - HTML_STATUS
    - ap_escape_html2
    - apr_brigade_printf
    - apr_time_exp_gmt
    - apr_strftime
    linkageType: ''
    returnType: void
    signature: void print_date(status_ctx *ctx, apr_time_t timestamp, const char *title)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/modules/md/mod_md_status.c:263,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:264,1
    - Dst: strlen
      Src: /src/httpd/modules/md/mod_md_status.c:266,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:268,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/mod_md_status.c:269,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/mod_md_status.c:278,1
    - Dst: apr_strftime
      Src: /src/httpd/modules/md/mod_md_status.c:279,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:281,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:286,1
    - Dst: md_duration_roughly
      Src: /src/httpd/modules/md/mod_md_status.c:287,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:292,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/mod_md_status.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - label
    - t
    argTypes:
    - status_ctx*
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 295
    functionName: print_time
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - HTML_STATUS
    - apr_rfc822_date
    - md_duration_roughly
    - apr_brigade_printf
    - apr_time_exp_gmt
    - strlen
    - apr_time_sec
    - apr_strftime
    linkageType: ''
    returnType: void
    signature: void print_time(status_ctx *ctx, const char *label, apr_time_t t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:303,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/mod_md_status.c:304,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:305,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/mod_md_status.c:306,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:308,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:309,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:310,1
    - Dst: print_date
      Src: /src/httpd/modules/md/mod_md_status.c:311,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:315,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:316,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:317,1
    - Dst: print_date
      Src: /src/httpd/modules/md/mod_md_status.c:318,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:322,1
    - Dst: print_date
      Src: /src/httpd/modules/md/mod_md_status.c:323,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:324,1
    - Dst: print_date
      Src: /src/httpd/modules/md/mod_md_status.c:327,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 331
    functionName: si_val_valid_time
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_time_now
    - apr_date_parse_rfc
    - md_json_gets
    - apr_pstrcat
    - HTML_STATUS
    - print_date
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: void si_val_valid_time(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:335,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:336,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - info
    argTypes:
    - status_ctx*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: si_add_header
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - ap_escape_html2
    - HTML_STATUS
    - apr_brigade_printf
    linkageType: ''
    returnType: void
    signature: void si_add_header(status_ctx *ctx, const status_info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:347,1
    - Dst: si_val_valid_time
      Src: /src/httpd/modules/md/mod_md_status.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: si_val_cert_valid_time
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_json_getj
    - si_val_valid_time
    linkageType: ''
    returnType: void
    signature: void si_val_cert_valid_time(status_ctx *ctx, md_json_t *mdj, const
      status_info *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_get_ca_name_from_url
      Src: /src/httpd/modules/md/mod_md_status.c:358,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:363,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:364,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:366,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/md/mod_md_status.c:367,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:370,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:372,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:376,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - info
    - url
    - proto
    - i
    argTypes:
    - status_ctx*
    - status_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 381
    functionName: val_url_print
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_printf
    - HTML_STATUS
    - ap_escape_html2
    - md_get_ca_name_from_url
    linkageType: ''
    returnType: void
    signature: "void val_url_print(status_ctx *ctx, const status_info *info,\n                          const
      char*url, const char *proto, int i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:390,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:395,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:396,1
    - Dst: val_url_print
      Src: /src/httpd/modules/md/mod_md_status.c:399,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_status.c:403,1
    - Dst: md_json_getsa
      Src: /src/httpd/modules/md/mod_md_status.c:404,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_status.c:406,1
    - Dst: val_url_print
      Src: /src/httpd/modules/md/mod_md_status.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 410
    functionName: si_val_ca_urls
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_json_getj
    - APR_ARRAY_IDX
    - md_json_gets
    - md_json_getsa
    - val_url_print
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void si_val_ca_urls(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_status.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - baton
    - key
    - json
    argTypes:
    - void*
    - char*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: count_certs
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int count_certs(void *baton, const char *key, md_json_t *json)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:433,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/mod_md_status.c:437,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:438,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:439,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/md/mod_md_status.c:444,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:445,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:446,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:447,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:451,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:452,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:456,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:457,1
    - Dst: md_json_iterkey
      Src: /src/httpd/modules/md/mod_md_status.c:462,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:463,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:465,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:469,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:473,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:477,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:479,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:480,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:483,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:488,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:490,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:491,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:495,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:499,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:500,1
    - Dst: md_json_get_time
      Src: /src/httpd/modules/md/mod_md_status.c:503,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:504,1
    - Dst: print_time
      Src: /src/httpd/modules/md/mod_md_status.c:505,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:506,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:510,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:511,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:514,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - mdj
    - key
    - separator
    argTypes:
    - status_ctx*
    - md_json_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 517
    functionName: print_job_summary
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_strerror
    - md_json_getb
    - apr_time_now
    - md_json_gets
    - print_time
    - HTML_STATUS
    - md_json_has_key
    - apr_psprintf
    - apr_brigade_printf
    - md_json_get_time
    - md_json_getl
    - md_json_iterkey
    linkageType: ''
    returnType: void
    signature: "void print_job_summary(status_ctx *ctx, md_json_t *mdj, const char
      *key,\n                              const char *separator)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:525,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:526,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/mod_md_status.c:529,1
    - Dst: print_job_summary
      Src: /src/httpd/modules/md/mod_md_status.c:530,1
    - Dst: md_json_get_time
      Src: /src/httpd/modules/md/mod_md_status.c:534,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_status.c:535,1
    - Dst: print_time
      Src: /src/httpd/modules/md/mod_md_status.c:536,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:539,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:540,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:543,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:546,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:547,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:548,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:551,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 557
    functionName: si_val_activity
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_time_now
    - print_time
    - apr_pstrcat
    - HTML_STATUS
    - md_json_has_key
    - print_job_summary
    - apr_brigade_printf
    - md_json_get_time
    - md_json_getl
    linkageType: ''
    returnType: void
    signature: void si_val_activity(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:564,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:566,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:567,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:573,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:577,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:581,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - baton
    - key
    - json
    argTypes:
    - void*
    - char*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 592
    functionName: cert_check_iter
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_printf
    - HTML_STATUS
    - md_json_gets
    linkageType: ''
    returnType: int
    signature: int cert_check_iter(void *baton, const char *key, md_json_t *json)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:599,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:600,1
    - Dst: md_json_iterkey
      Src: /src/httpd/modules/md/mod_md_status.c:602,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: si_val_remote_check
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_json_iterkey
    - HTML_STATUS
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void si_val_remote_check(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/mod_md_status.c:612,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:613,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:614,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: si_val_stapling
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - md_json_getb
    - HTML_STATUS
    - apr_brigade_printf
    linkageType: ''
    returnType: void
    signature: void si_val_stapling(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:625,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:626,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:629,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:629,1
    - Dst: add_json_val
      Src: /src/httpd/modules/md/mod_md_status.c:631,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - index
    - json
    argTypes:
    - void*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 636
    functionName: json_iter_val
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_pstrcat
    - HTML_STATUS
    - apr_psprintf
    - add_json_val
    linkageType: ''
    returnType: int
    signature: int json_iter_val(void *data, size_t index, md_json_t *json)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: md_json_is
      Src: /src/httpd/modules/md/mod_md_status.c:641,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/mod_md_status.c:642,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:645,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:646,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:647,1
    - Dst: md_json_is
      Src: /src/httpd/modules/md/mod_md_status.c:649,1
    - Dst: md_json_writeb
      Src: /src/httpd/modules/md/mod_md_status.c:650,1
    - Dst: md_json_is
      Src: /src/httpd/modules/md/mod_md_status.c:652,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:653,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_status.c:653,1
    - Dst: md_json_is
      Src: /src/httpd/modules/md/mod_md_status.c:655,1
    - Dst: md_json_writeb
      Src: /src/httpd/modules/md/mod_md_status.c:656,1
    - Dst: md_json_is
      Src: /src/httpd/modules/md/mod_md_status.c:658,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:659,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/mod_md_status.c:659,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:661,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - j
    argTypes:
    - status_ctx*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 664
    functionName: add_json_val
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 1
    functionsReached:
    - apr_brigade_puts
    - md_json_getb
    - md_json_gets
    - md_json_writeb
    - HTML_STATUS
    - md_json_itera
    - md_json_is
    linkageType: ''
    returnType: void
    signature: void add_json_val(status_ctx *ctx, md_json_t *j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:669,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:670,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:673,1
    - Dst: add_json_val
      Src: /src/httpd/modules/md/mod_md_status.c:675,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:675,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:676,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 682
    functionName: si_val_names
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - md_json_getj
    - apr_pstrcat
    - HTML_STATUS
    - add_json_val
    linkageType: ''
    returnType: void
    signature: void si_val_names(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: status_info*::fn
      Src: /src/httpd/modules/md/mod_md_status.c:687,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:691,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:692,1
    - Dst: add_json_val
      Src: /src/httpd/modules/md/mod_md_status.c:694,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/mod_md_status.c:694,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 699
    functionName: add_status_cell
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_json_getj
    - apr_pstrcat
    - status_info*::fn
    - HTML_STATUS
    - add_json_val
    linkageType: ''
    returnType: void
    signature: void add_status_cell(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:718,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:719,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:721,1
    - Dst: add_status_cell
      Src: /src/httpd/modules/md/mod_md_status.c:722,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:723,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:725,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:728,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:728,1
    - Dst: add_status_cell
      Src: /src/httpd/modules/md/mod_md_status.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - baton
    - index
    - mdj
    argTypes:
    - void*
    - apr_size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 734
    functionName: add_md_row
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_pstrcat
    - add_status_cell
    - HTML_STATUS
    - apr_psprintf
    - apr_brigade_printf
    linkageType: ''
    returnType: int
    signature: int add_md_row(void *baton, apr_size_t index, md_json_t *mdj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_status.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: md_name_cmp
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int md_name_cmp(const void *v1, const void *v2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:750,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md_status.c:751,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/mod_md_status.c:758,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_status.c:763,1
    - Dst: qsort
      Src: /src/httpd/modules/md/mod_md_status.c:764,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:766,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:768,1
    - Dst: md_status_take_stock
      Src: /src/httpd/modules/md/mod_md_status.c:770,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:771,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:772,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:773,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:774,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:775,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:776,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:778,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:779,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:780,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:781,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:782,1
    - Dst: md_status_get_json
      Src: /src/httpd/modules/md/mod_md_status.c:785,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:786,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:787,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:788,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:789,1
    - Dst: si_add_header
      Src: /src/httpd/modules/md/mod_md_status.c:792,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:794,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:799,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/mod_md_status.c:800,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:801,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:802,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/md/mod_md_status.c:806,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/md/mod_md_status.c:807,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 811
    functionName: md_domains_status_hook
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - si_add_header
    - ap_pass_brigade
    - ap_log_rerror
    - md_json_itera
    - apr_array_copy
    - md_status_take_stock
    - apr_brigade_create
    - HTML_STATUS
    - qsort
    - apr_brigade_cleanup
    - ap_get_module_config
    - apr_brigade_printf
    - md_status_get_json
    - md_json_getl
    linkageType: ''
    returnType: int
    signature: int md_domains_status_hook(request_rec *r, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:819,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:820,1
    - Dst: md_json_get_time
      Src: /src/httpd/modules/md/mod_md_status.c:822,1
    - Dst: print_time
      Src: /src/httpd/modules/md/mod_md_status.c:823,1
    - Dst: print_job_summary
      Src: /src/httpd/modules/md/mod_md_status.c:824,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - mdj
    - info
    argTypes:
    - status_ctx*
    - md_json_t*
    - status_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: si_val_ocsp_activity
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - print_time
    - apr_pstrcat
    - HTML_STATUS
    - print_job_summary
    - md_json_get_time
    linkageType: ''
    returnType: void
    signature: void si_val_ocsp_activity(status_ctx *ctx, md_json_t *mdj, const status_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:845,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:846,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:848,1
    - Dst: add_status_cell
      Src: /src/httpd/modules/md/mod_md_status.c:849,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:850,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:852,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_status.c:855,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_status.c:855,1
    - Dst: add_status_cell
      Src: /src/httpd/modules/md/mod_md_status.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - baton
    - index
    - mdj
    argTypes:
    - void*
    - apr_size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 861
    functionName: add_ocsp_row
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - apr_pstrcat
    - add_status_cell
    - HTML_STATUS
    - apr_psprintf
    - apr_brigade_printf
    linkageType: ''
    returnType: int
    signature: int add_ocsp_row(void *baton, apr_size_t index, md_json_t *mdj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:871,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md_status.c:872,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/mod_md_status.c:879,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:884,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:886,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/mod_md_status.c:887,1
    - Dst: md_ocsp_get_summary
      Src: /src/httpd/modules/md/mod_md_status.c:888,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:889,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:890,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:891,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:892,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/mod_md_status.c:893,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:895,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:896,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:897,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/md/mod_md_status.c:898,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/mod_md_status.c:900,1
    - Dst: md_ocsp_get_status_all
      Src: /src/httpd/modules/md/mod_md_status.c:901,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:902,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:903,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:904,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:905,1
    - Dst: si_add_header
      Src: /src/httpd/modules/md/mod_md_status.c:908,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:910,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:915,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/mod_md_status.c:916,1
    - Dst: HTML_STATUS
      Src: /src/httpd/modules/md/mod_md_status.c:917,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/md/mod_md_status.c:918,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/md/mod_md_status.c:922,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/md/mod_md_status.c:923,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 927
    functionName: md_ocsp_status_hook
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - si_add_header
    - ap_pass_brigade
    - ap_log_rerror
    - apr_brigade_create
    - HTML_STATUS
    - md_ocsp_get_summary
    - md_ocsp_get_status_all
    - apr_brigade_cleanup
    - ap_get_module_config
    - apr_brigade_printf
    - md_json_itera
    - md_json_getl
    - md_ocsp_count
    linkageType: ''
    returnType: int
    signature: int md_ocsp_status_hook(request_rec *r, int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_status.c:942,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md_status.c:946,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md_status.c:952,1
    - Dst: strrchr
      Src: /src/httpd/modules/md/mod_md_status.c:959,1
    - Dst: md_get_by_name
      Src: /src/httpd/modules/md/mod_md_status.c:960,1
    - Dst: md_get_by_domain
      Src: /src/httpd/modules/md/mod_md_status.c:961,1
    - Dst: md_status_get_md_json
      Src: /src/httpd/modules/md/mod_md_status.c:965,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_status.c:968,1
    - Dst: qsort
      Src: /src/httpd/modules/md/mod_md_status.c:969,1
    - Dst: md_status_get_json
      Src: /src/httpd/modules/md/mod_md_status.c:970,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_status.c:974,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/mod_md_status.c:975,1
    - Dst: md_json_writeb
      Src: /src/httpd/modules/md/mod_md_status.c:976,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/md/mod_md_status.c:977,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/md/mod_md_status.c:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 983
    functionName: md_status_handler
    functionSourceFile: /src/httpd/modules/md/mod_md_status.c
    functionUses: 0
    functionsReached:
    - md_status_get_md_json
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - apr_array_copy
    - md_json_writeb
    - apr_brigade_create
    - md_get_by_name
    - strrchr
    - qsort
    - apr_table_set
    - apr_brigade_cleanup
    - ap_get_module_config
    - md_status_get_json
    - md_get_by_domain
    linkageType: ''
    returnType: int
    signature: int md_status_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_IS_LEVEL
      Src: /src/httpd/modules/md/mod_md.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - baton
    - p
    - level
    argTypes:
    - void*
    - apr_pool_t*
    - md_log_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: log_is_level
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 2
    functionsReached:
    - APLOG_IS_LEVEL
    linkageType: ''
    returnType: int
    signature: int log_is_level(void *baton, apr_pool_t *p, md_log_level_t level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_is_level
      Src: /src/httpd/modules/md/mod_md.c:92,1
    - Dst: memset
      Src: /src/httpd/modules/md/mod_md.c:95,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/modules/md/mod_md.c:96,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:100,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/md/mod_md.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - file
    - line
    - level
    - rv
    - baton
    - p
    - fmt
    - ap
    argTypes:
    - char*
    - int
    - md_log_level_t
    - apr_status_t
    - void*
    - apr_pool_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: log_print
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - log_is_level
    - ap_log_perror
    - memset
    - ap_log_error
    - apr_vsnprintf
    linkageType: ''
    returnType: void
    signature: "void log_print(const char *file, int line, md_log_level_t level,\n
      \                     apr_status_t rv, void *baton, apr_pool_t *p, const char
      *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: init_ssl
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_ssl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: cleanup_setups
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_setups(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/mod_md.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - base_server
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: init_setups
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void init_setups(apr_pool_t *p, server_rec *base_server)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md.c:163,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:165,1
    - Dst: md_job_log_get_time_of_latest
      Src: /src/httpd/modules/md/mod_md.c:170,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md.c:171,1
    - Dst: md_timeperiod_length
      Src: /src/httpd/modules/md/mod_md.c:172,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/mod_md.c:175,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:175,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:181,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md.c:183,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/md/mod_md.c:184,1
    - Dst: md_util_exec
      Src: /src/httpd/modules/md/mod_md.c:185,1
    - Dst: md_result_problem_printf
      Src: /src/httpd/modules/md/mod_md.c:189,1
    - Dst: MD_RESULT_LOG_ID
      Src: /src/httpd/modules/md/mod_md.c:189,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:189,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/mod_md.c:192,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/mod_md.c:193,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/mod_md.c:197,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:197,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md.c:202,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/md/mod_md.c:203,1
    - Dst: md_util_exec
      Src: /src/httpd/modules/md/mod_md.c:204,1
    - Dst: md_result_problem_printf
      Src: /src/httpd/modules/md/mod_md.c:208,1
    - Dst: MD_RESULT_LOG_ID
      Src: /src/httpd/modules/md/mod_md.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:208,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/mod_md.c:211,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/mod_md.c:212,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/mod_md.c:217,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 5
    argNames:
    - job
    - reason
    - result
    - p
    - baton
    argTypes:
    - md_job_t*
    - char*
    - md_result_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 219
    functionName: notify
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 2
    functionsReached:
    - strcmp
    - md_util_exec
    - apr_time_now
    - md_result_log
    - APLOGNO
    - MD_RESULT_LOG_ID
    - apr_tokenize_to_argv
    - md_log_perror
    - apr_psprintf
    - md_job_log_get_time_of_latest
    - md_job_log_append
    - md_timeperiod_length
    - md_result_problem_printf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t notify(md_job_t *job, const char *reason,\n                           md_result_t
      *result, apr_pool_t *p, void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/httpd/modules/md/mod_md.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - event
    - mdomain
    - baton
    - job
    - result
    - p
    argTypes:
    - char*
    - char*
    - void*
    - md_job_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: on_event
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t on_event(const char *event, const char *mdomain, void
      *baton, \n                             md_job_t *job, md_result_t *result, apr_pool_t
      *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:240,1
    - Dst: md_make_worker_accessible
      Src: /src/httpd/modules/md/mod_md.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - baton
    - store
    - ev
    - group
    - fname
    - ftype
    - p
    argTypes:
    - void*
    - struct md_store_t*
    - md_store_fs_ev_t
    - unsigned int
    - char*
    - apr_filetype_e
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 261
    functionName: store_file_ev
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_make_worker_accessible
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_file_ev(void *baton, struct md_store_t *store,\n
      \                                   md_store_fs_ev_t ev, unsigned int group,\n
      \                                   const char *fname, apr_filetype_e ftype,\n
      \                                   apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_get_fname
      Src: /src/httpd/modules/md/mod_md.c:269,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/md/mod_md.c:270,1
    - Dst: store_file_ev
      Src: /src/httpd/modules/md/mod_md.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - store
    - group
    - p
    - s
    argTypes:
    - md_store_t*
    - md_store_group_t
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: check_group_dir
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - store_file_ev
    - apr_dir_make_recursive
    - md_store_get_fname
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t check_group_dir(md_store_t *store, md_store_group_t group,\n
      \                                   apr_pool_t *p, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/md/mod_md.c:282,1
    - Dst: md_store_fs_init
      Src: /src/httpd/modules/md/mod_md.c:284,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:285,1
    - Dst: md_store_fs_set_event_cb
      Src: /src/httpd/modules/md/mod_md.c:289,1
    - Dst: check_group_dir
      Src: /src/httpd/modules/md/mod_md.c:290,1
    - Dst: check_group_dir
      Src: /src/httpd/modules/md/mod_md.c:291,1
    - Dst: check_group_dir
      Src: /src/httpd/modules/md/mod_md.c:292,1
    - Dst: check_group_dir
      Src: /src/httpd/modules/md/mod_md.c:293,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pstore
    - mc
    - p
    - s
    argTypes:
    - md_store_t**
    - md_mod_conf_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 302
    functionName: setup_store
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - APLOGNO
    - md_store_fs_set_event_cb
    - md_store_fs_init
    - ap_log_error
    - check_group_dir
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t setup_store(md_store_t **pstore, md_mod_conf_t *mc,\n
      \                               apr_pool_t *p, server_rec *s)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md.c:316,1
    - Dst: md_config_gets
      Src: /src/httpd/modules/md/mod_md.c:319,1
    - Dst: md_config_gets
      Src: /src/httpd/modules/md/mod_md.c:322,1
    - Dst: md_config_gets
      Src: /src/httpd/modules/md/mod_md.c:324,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md.c:329,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:330,1
    - Dst: md_util_schemify
      Src: /src/httpd/modules/md/mod_md.c:331,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:334,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md.c:335,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:336,1
    - Dst: md_util_schemify
      Src: /src/httpd/modules/md/mod_md.c:337,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:340,1
    - Dst: md_config_get_timespan
      Src: /src/httpd/modules/md/mod_md.c:342,1
    - Dst: md_config_get_timespan
      Src: /src/httpd/modules/md/mod_md.c:343,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:345,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md.c:348,1
    - Dst: md_pkeys_spec_is_empty
      Src: /src/httpd/modules/md/mod_md.c:350,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:354,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:361,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:364,1
    - Dst: md_config_gets
      Src: /src/httpd/modules/md/mod_md.c:367,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:370,1
    - Dst: md_config_geti
      Src: /src/httpd/modules/md/mod_md.c:373,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 3
    argNames:
    - md
    - base_sc
    - p
    argTypes:
    - md_t*
    - md_srv_conf_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 375
    functionName: merge_srv_config
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_config_get_timespan
    - md_util_schemify
    - strcmp
    - APR_ARRAY_PUSH
    - apr_array_copy
    - apr_array_clear
    - md_config_gets
    - md_config_geti
    - md_pkeys_spec_is_empty
    linkageType: ''
    returnType: void
    signature: void merge_srv_config(md_t *md, md_srv_conf_t *base_sc, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_contains
      Src: /src/httpd/modules/md/mod_md.c:380,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:384,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/mod_md.c:384,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:389,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - md
    - domain
    - s
    - pupdates
    - p
    argTypes:
    - md_t*
    - char*
    - server_rec*
    - int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: check_coverage
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_contains
    - APR_ARRAY_PUSH
    - APLOGNO
    - ap_log_error
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t check_coverage(md_t *md, const char *domain, server_rec
      *s,\n                                   int *pupdates, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_coverage
      Src: /src/httpd/modules/md/mod_md.c:404,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:405,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:408,1
    - Dst: check_coverage
      Src: /src/httpd/modules/md/mod_md.c:409,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - md
    - s
    - pupdates
    - p
    argTypes:
    - md_t*
    - server_rec*
    - int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: md_cover_server
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - check_coverage
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cover_server(md_t *md, server_rec *s, int *pupdates,
      apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - port
    argTypes:
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: uses_port
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uses_port(server_rec *s, int port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md.c:449,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md.c:453,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:460,1
    - Dst: md_reg_set_props
      Src: /src/httpd/modules/md/mod_md.c:464,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - mc
    - s
    - p
    - log_level
    argTypes:
    - md_mod_conf_t*
    - server_rec*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 465
    functionName: detect_supported_protocols
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_reg_set_props
    - APLOGNO
    - ap_log_error
    - strncmp
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t detect_supported_protocols(md_mod_conf_t *mc, server_rec
      *s,\n                                               apr_pool_t *p, int log_level)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:477,1
    - Dst: memset
      Src: /src/httpd/modules/md/mod_md.c:479,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md.c:483,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:490,1
    - Dst: uses_port
      Src: /src/httpd/modules/md/mod_md.c:493,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:495,1
    - Dst: ap_matches_request_vhost
      Src: /src/httpd/modules/md/mod_md.c:497,1
    - Dst: ap_is_allowed_protocol
      Src: /src/httpd/modules/md/mod_md.c:504,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 3
    argNames:
    - md
    - domain
    - base_server
    argTypes:
    - md_t*
    - char*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 514
    functionName: get_public_https_server
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - memset
    - md_config_get
    - APR_ARRAY_IDX
    - ap_is_allowed_protocol
    - ap_matches_request_vhost
    - md_array_str_index
    - uses_port
    linkageType: ''
    returnType: server_rec
    signature: server_rec *get_public_https_server(md_t *md, const char *domain, server_rec
      *base_server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:524,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:528,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:530,1
    - Dst: md_cover_server
      Src: /src/httpd/modules/md/mod_md.c:531,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - md
    - base_server
    - p
    argTypes:
    - md_t*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 536
    functionName: auto_add_domains
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_cover_server
    - ap_log_error
    - APR_ARRAY_IDX
    - md_config_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t auto_add_domains(md_t *md, server_rec *base_server, apr_pool_t
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:549,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md.c:551,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:553,1
    - Dst: get_public_https_server
      Src: /src/httpd/modules/md/mod_md.c:554,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:559,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:559,1
    - Dst: ap_is_allowed_protocol
      Src: /src/httpd/modules/md/mod_md.c:563,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:564,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:564,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - md
    - base_server
    argTypes:
    - md_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 571
    functionName: init_acme_tls_1_domains
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    - md_config_get
    - ap_is_allowed_protocol
    - apr_array_clear
    - APLOGNO
    - ap_log_error
    - get_public_https_server
    linkageType: ''
    returnType: void
    signature: void init_acme_tls_1_domains(md_t *md, server_rec *base_server)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:582,1
    - Dst: memset
      Src: /src/httpd/modules/md/mod_md.c:587,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:596,1
    - Dst: ap_matches_request_vhost
      Src: /src/httpd/modules/md/mod_md.c:599,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/mod_md.c:600,1
    - Dst: md_dns_matches
      Src: /src/httpd/modules/md/mod_md.c:601,1
    - Dst: md_config_get_unique
      Src: /src/httpd/modules/md/mod_md.c:603,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md.c:604,1
    - Dst: md_is_wild_match
      Src: /src/httpd/modules/md/mod_md.c:608,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:609,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/mod_md.c:611,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/mod_md.c:613,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:616,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:617,1
    - Dst: md_util_schemify
      Src: /src/httpd/modules/md/mod_md.c:627,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md.c:628,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:629,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:630,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:630,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:634,1
    - Dst: md_util_schemify
      Src: /src/httpd/modules/md/mod_md.c:635,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md.c:636,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:637,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:638,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:638,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 4
    argNames:
    - mc
    - md
    - base_server
    - p
    argTypes:
    - md_mod_conf_t*
    - md_t*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 647
    functionName: link_md_to_servers
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_util_schemify
    - strcmp
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    - memset
    - md_config_get
    - md_config_get_unique
    - md_is_wild_match
    - APLOGNO
    - md_dns_matches
    - ap_matches_request_vhost
    - ap_log_error
    - md_array_str_index
    - md_dns_is_wildcard
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t link_md_to_servers(md_mod_conf_t *mc, md_t *md, server_rec
      *base_server,\n                                       apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md.c:655,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:657,1
    - Dst: link_md_to_servers
      Src: /src/httpd/modules/md/mod_md.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - mc
    - s
    - p
    argTypes:
    - md_mod_conf_t*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: link_mds_to_servers
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_array_clear
    - APR_ARRAY_IDX
    - link_md_to_servers
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t link_mds_to_servers(md_mod_conf_t *mc, server_rec *s,
      apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:681,1
    - Dst: md_config_get_timespan
      Src: /src/httpd/modules/md/mod_md.c:682,1
    - Dst: md_reg_set_renew_window_default
      Src: /src/httpd/modules/md/mod_md.c:683,1
    - Dst: md_config_get_timespan
      Src: /src/httpd/modules/md/mod_md.c:684,1
    - Dst: md_reg_set_warn_window_default
      Src: /src/httpd/modules/md/mod_md.c:685,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:691,1
    - Dst: merge_srv_config
      Src: /src/httpd/modules/md/mod_md.c:692,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:697,1
    - Dst: md_common_name
      Src: /src/httpd/modules/md/mod_md.c:698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:699,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:699,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:711,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:711,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:720,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:720,1
    - Dst: APLOG_IS_LEVEL
      Src: /src/httpd/modules/md/mod_md.c:727,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:728,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:728,1
    - Dst: md_timeslice_format
      Src: /src/httpd/modules/md/mod_md.c:732,1
    - Dst: md_timeslice_format
      Src: /src/httpd/modules/md/mod_md.c:733,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - mc
    - p
    - base_server
    - log_level
    argTypes:
    - md_mod_conf_t*
    - apr_pool_t*
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 737
    functionName: merge_mds_with_conf
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_config_get_timespan
    - APR_ARRAY_IDX
    - md_config_get
    - APLOGNO
    - APLOG_IS_LEVEL
    - md_timeslice_format
    - md_reg_set_warn_window_default
    - md_common_name
    - ap_log_error
    - merge_srv_config
    - md_reg_set_renew_window_default
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t merge_mds_with_conf(md_mod_conf_t *mc, apr_pool_t *p,\n
      \                                       server_rec *base_server, int log_level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:744,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:747,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - base_server
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 759
    functionName: check_invalid_duplicates
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - md_config_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_invalid_duplicates(server_rec *base_server)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md.c:771,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:774,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:777,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:786,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:786,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/mod_md.c:790,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:793,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:793,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md.c:795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - mc
    - md
    - base_server
    - p
    - ptemp
    argTypes:
    - md_mod_conf_t*
    - md_t*
    - server_rec*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 799
    functionName: check_usage
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    - md_config_get
    - APLOGNO
    - ap_log_error
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t check_usage(md_mod_conf_t *mc, md_t *md, server_rec *base_server,\n
      \                               apr_pool_t *p, apr_pool_t *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_result_make
      Src: /src/httpd/modules/md/mod_md.c:812,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:814,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/mod_md.c:815,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/mod_md.c:818,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md.c:826,1
    - Dst: md_will_renew_cert
      Src: /src/httpd/modules/md/mod_md.c:831,1
    - Dst: md_reg_test_init
      Src: /src/httpd/modules/md/mod_md.c:833,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/mod_md.c:835,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/mod_md.c:835,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:836,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:836,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - mc
    - p
    - ptemp
    - s
    argTypes:
    - md_mod_conf_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 845
    functionName: init_cert_watch_status
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - APR_ARRAY_IDX
    - md_reg_test_init
    - md_result_set
    - apr_pstrdup
    - APLOGNO
    - ap_log_error
    - md_array_str_index
    - md_result_make
    - md_will_renew_cert
    linkageType: ''
    returnType: int
    signature: int init_cert_watch_status(md_mod_conf_t *mc, apr_pool_t *p, apr_pool_t
      *ptemp, server_rec *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/md/mod_md.c:861,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:873,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:873,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/md/mod_md.c:875,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:879,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:879,1
    - Dst: init_setups
      Src: /src/httpd/modules/md/mod_md.c:884,1
    - Dst: md_log_set
      Src: /src/httpd/modules/md/mod_md.c:885,1
    - Dst: md_config_post_config
      Src: /src/httpd/modules/md/mod_md.c:887,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:888,1
    - Dst: md_event_init
      Src: /src/httpd/modules/md/mod_md.c:892,1
    - Dst: md_event_subscribe
      Src: /src/httpd/modules/md/mod_md.c:893,1
    - Dst: setup_store
      Src: /src/httpd/modules/md/mod_md.c:895,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/mod_md.c:898,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/mod_md.c:899,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/mod_md.c:900,1
    - Dst: md_reg_create
      Src: /src/httpd/modules/md/mod_md.c:902,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:906,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:906,1
    - Dst: md_ocsp_reg_make
      Src: /src/httpd/modules/md/mod_md.c:911,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:915,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:915,1
    - Dst: init_ssl
      Src: /src/httpd/modules/md/mod_md.c:919,1
    - Dst: detect_supported_protocols
      Src: /src/httpd/modules/md/mod_md.c:941,1
    - Dst: merge_mds_with_conf
      Src: /src/httpd/modules/md/mod_md.c:943,1
    - Dst: link_mds_to_servers
      Src: /src/httpd/modules/md/mod_md.c:945,1
    - Dst: md_reg_lock_global
      Src: /src/httpd/modules/md/mod_md.c:947,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:948,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:948,1
    - Dst: md_reg_sync_start
      Src: /src/httpd/modules/md/mod_md.c:956,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:957,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:957,1
    - Dst: md_reg_load_stagings
      Src: /src/httpd/modules/md/mod_md.c:962,1
    - Dst: md_reg_unlock_global
      Src: /src/httpd/modules/md/mod_md.c:965,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 967
    functionName: md_post_config_before_ssl
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_reg_sync_start
    - detect_supported_protocols
    - init_setups
    - setup_store
    - md_reg_load_stagings
    - md_event_subscribe
    - md_config_post_config
    - init_ssl
    - apr_table_get
    - md_reg_lock_global
    - md_ocsp_reg_make
    - merge_mds_with_conf
    - apr_pool_userdata_get
    - md_log_set
    - md_reg_create
    - ap_log_error
    - link_mds_to_servers
    - md_event_init
    - md_reg_unlock_global
    - apr_pool_userdata_set
    - APLOGNO
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_post_config_before_ssl(apr_pool_t *p, apr_pool_t *plog,\n
      \                                             apr_pool_t *ptemp, server_rec
      *s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:980,1
    - Dst: check_invalid_duplicates
      Src: /src/httpd/modules/md/mod_md.c:987,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md.c:990,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:992,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:994,1
    - Dst: auto_add_domains
      Src: /src/httpd/modules/md/mod_md.c:995,1
    - Dst: init_acme_tls_1_domains
      Src: /src/httpd/modules/md/mod_md.c:998,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:999,1
    - Dst: check_usage
      Src: /src/httpd/modules/md/mod_md.c:1000,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1003,1
    - Dst: md_reg_sync_finish
      Src: /src/httpd/modules/md/mod_md.c:1004,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1005,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1005,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1011,1
    - Dst: init_cert_watch_status
      Src: /src/httpd/modules/md/mod_md.c:1012,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1014,1
    - Dst: md_reg_cleanup_challenges
      Src: /src/httpd/modules/md/mod_md.c:1015,1
    - Dst: md_reg_freeze_domains
      Src: /src/httpd/modules/md/mod_md.c:1019,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1023,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1023,1
    - Dst: md_http_use_implementation
      Src: /src/httpd/modules/md/mod_md.c:1026,1
    - Dst: md_curl_get_impl
      Src: /src/httpd/modules/md/mod_md.c:1026,1
    - Dst: md_renew_start_watching
      Src: /src/httpd/modules/md/mod_md.c:1027,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1030,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1030,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/mod_md.c:1033,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1034,1
    - Dst: md_http_use_implementation
      Src: /src/httpd/modules/md/mod_md.c:1038,1
    - Dst: md_curl_get_impl
      Src: /src/httpd/modules/md/mod_md.c:1038,1
    - Dst: md_ocsp_start_watching
      Src: /src/httpd/modules/md/mod_md.c:1039,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1042,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 969
    functionDepth: 4
    functionLinenumber: 969
    functionLinenumberEnd: 1044
    functionName: md_post_config_after_ssl
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_renew_start_watching
    - APR_ARRAY_IDX
    - md_config_get
    - auto_add_domains
    - init_acme_tls_1_domains
    - md_http_use_implementation
    - apr_array_clear
    - APLOGNO
    - md_ocsp_start_watching
    - md_reg_freeze_domains
    - init_cert_watch_status
    - check_usage
    - ap_log_error
    - md_reg_cleanup_challenges
    - md_curl_get_impl
    - md_ocsp_count
    - check_invalid_duplicates
    - md_reg_sync_finish
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_post_config_after_ssl(apr_pool_t *p, apr_pool_t *plog,\n
      \                                            apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: md_protocol_get
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *md_protocol_get(const conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/md/mod_md.c:1070,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/md/mod_md.c:1071,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - c
    - r
    - s
    - offers
    - proposals
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1078
    functionName: md_protocol_propose
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_ssl_conn_is_ssl
    - ap_log_cerror
    - ap_array_str_contains
    linkageType: ''
    returnType: int
    signature: "int md_protocol_propose(conn_rec *c, request_rec *r,\n                               server_rec
      *s,\n                               const apr_array_header_t *offers,\n                               apr_array_header_t
      *proposals)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/md/mod_md.c:1086,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:1086,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1087,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md.c:1089,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/md/mod_md.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - c
    - r
    - s
    - protocol
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1097
    functionName: md_protocol_switch
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_ssl_conn_is_ssl
    - strcmp
    - apr_pcalloc
    - ap_log_cerror
    - ap_set_module_config
    linkageType: ''
    returnType: int
    signature: "int md_protocol_switch(conn_rec *c, request_rec *r, server_rec *s,\n
      \                             const char *protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md.c:1105,1
    - Dst: md_pkey_filename
      Src: /src/httpd/modules/md/mod_md.c:1105,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md.c:1106,1
    - Dst: md_chain_filename
      Src: /src/httpd/modules/md/mod_md.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - kspec
    - keyfn
    - certfn
    argTypes:
    - apr_pool_t*
    - md_pkey_spec_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: fallback_fnames
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_pkey_filename
    - md_chain_filename
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void fallback_fnames(apr_pool_t *p, md_pkey_spec_t *kspec, char **keyfn,
      char **certfn )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_gen
      Src: /src/httpd/modules/md/mod_md.c:1116,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/mod_md.c:1117,1
    - Dst: md_cert_self_sign
      Src: /src/httpd/modules/md/mod_md.c:1119,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/mod_md.c:1120,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/mod_md.c:1121,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1123,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/mod_md.c:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 7
    argNames:
    - store
    - md
    - kspec
    - s
    - p
    - keyfn
    - crtfn
    argTypes:
    - md_store_t*
    - md_t*
    - md_pkey_spec_t*
    - server_rec*
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1127
    functionName: make_fallback_cert
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_store_save
    - md_pkey_gen
    - apr_time_from_sec
    - APLOGNO
    - md_cert_self_sign
    - md_pkey_spec_name
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t make_fallback_cert(md_store_t *store, const md_t *md,
      md_pkey_spec_t *kspec,\n                                       server_rec *s,
      apr_pool_t *p, char *keyfn, char *crtfn)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md.c:1143,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md.c:1144,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1146,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:1149,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1151,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md.c:1157,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md.c:1159,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1170,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md.c:1177,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1180,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1181,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/mod_md.c:1187,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/mod_md.c:1188,1
    - Dst: md_reg_get_cred_files
      Src: /src/httpd/modules/md/mod_md.c:1189,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md.c:1194,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md.c:1200,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1201,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1201,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/mod_md.c:1203,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/mod_md.c:1208,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md.c:1215,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md.c:1216,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/mod_md.c:1218,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/mod_md.c:1219,1
    - Dst: fallback_fnames
      Src: /src/httpd/modules/md/mod_md.c:1220,1
    - Dst: md_store_get_fname
      Src: /src/httpd/modules/md/mod_md.c:1222,1
    - Dst: md_store_get_fname
      Src: /src/httpd/modules/md/mod_md.c:1223,1
    - Dst: md_file_exists
      Src: /src/httpd/modules/md/mod_md.c:1224,1
    - Dst: md_file_exists
      Src: /src/httpd/modules/md/mod_md.c:1224,1
    - Dst: make_fallback_cert
      Src: /src/httpd/modules/md/mod_md.c:1225,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1229,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1229,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/mod_md.c:1231,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1240,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1240,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/mod_md.c:1244,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/mod_md.c:1244,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 5
    argNames:
    - s
    - p
    - fallback
    - pcert_files
    - pkey_files
    argTypes:
    - server_rec*
    - apr_pool_t*
    - int
    - apr_array_header_t**
    - apr_array_header_t**
    assertStmts:
    - condition: (sc->mc)
      pos:
        line_end: 1156
        line_start: 1156
        source_file: /src/httpd/modules/md/mod_md.c
    - condition: (reg)
      pos:
        line_end: 1158
        line_start: 1158
        source_file: /src/httpd/modules/md/mod_md.c
    - condition: (store)
      pos:
        line_end: 1215
        line_start: 1215
        source_file: /src/httpd/modules/md/mod_md.c
    constantsTouched: []
    func_position:
      end: 1252
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1252
    functionName: get_certificates
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_reg_store_get
    - apr_array_cat
    - md_pkeys_spec_get
    - fallback_fnames
    - APR_ARRAY_IDX
    - md_config_get
    - md_store_get_fname
    - APLOGNO
    - md_array_is_empty
    - md_reg_get_cred_files
    - md_pkey_spec_name
    - APR_STATUS_IS_ENOENT
    - ap_log_error
    - md_cert_count
    - assert
    - md_file_exists
    - apr_array_make
    - make_fallback_cert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_certificates(server_rec *s, apr_pool_t *p, int fallback,\n
      \                                    apr_array_header_t **pcert_files,\n                                     apr_array_header_t
      **pkey_files)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1262,1
    - Dst: get_certificates
      Src: /src/httpd/modules/md/mod_md.c:1264,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/mod_md.c:1266,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1269,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1275,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1279,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - s
    - p
    - cert_files
    - key_files
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1284
    functionName: md_add_cert_files
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_array_cat
    - get_certificates
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int md_add_cert_files(server_rec *s, apr_pool_t *p,\n                             apr_array_header_t
      *cert_files,\n                             apr_array_header_t *key_files)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md.c:1294,1
    - Dst: get_certificates
      Src: /src/httpd/modules/md/mod_md.c:1296,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1298,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/mod_md.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - s
    - p
    - cert_files
    - key_files
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1303
    functionName: md_add_fallback_cert_files
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - get_certificates
    - ap_log_error
    - apr_array_cat
    linkageType: ''
    returnType: int
    signature: "int md_add_fallback_cert_files(server_rec *s, apr_pool_t *p,\n                                      apr_array_header_t
      *cert_files,\n                                      apr_array_header_t *key_files)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md.c:1315,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/mod_md.c:1318,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/mod_md.c:1319,1
    - Dst: tls_alpn01_fnames
      Src: /src/httpd/modules/md/mod_md.c:1323,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/mod_md.c:1325,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1327,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md.c:1329,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/mod_md.c:1332,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1334,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md.c:1336,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - c
    - servername
    - sc
    - key_type
    - pcert_pem
    - pkey_pem
    argTypes:
    - conn_rec*
    - char*
    - md_srv_conf_t*
    - md_pkey_type_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1348
    functionName: md_get_challenge_cert
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_reg_store_get
    - md_pkeys_spec_get
    - ap_log_cerror
    - md_store_load
    - APR_STATUS_IS_ENOENT
    - md_pkeys_spec_count
    - tls_alpn01_fnames
    linkageType: ''
    returnType: int
    signature: "int md_get_challenge_cert(conn_rec *c, const char *servername,\n                                 md_srv_conf_t
      *sc,\n                                 md_pkey_type_t key_type,\n                                 const
      char **pcert_pem,\n                                 const char **pkey_pem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_protocol_get
      Src: /src/httpd/modules/md/mod_md.c:1360,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md.c:1361,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md.c:1364,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1367,1
    - Dst: md_get_challenge_cert
      Src: /src/httpd/modules/md/mod_md.c:1383,1
    - Dst: md_get_challenge_cert
      Src: /src/httpd/modules/md/mod_md.c:1386,1
    - Dst: md_get_challenge_cert
      Src: /src/httpd/modules/md/mod_md.c:1389,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/md/mod_md.c:1393,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - c
    - servername
    - pcert_pem
    - pkey_pem
    argTypes:
    - conn_rec*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1399
    functionName: md_answer_challenge
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_cerror
    - md_config_get
    - APLOGNO
    - md_protocol_get
    - md_get_challenge_cert
    linkageType: ''
    returnType: int
    signature: "int md_answer_challenge(conn_rec *c, const char *servername,\n                               const
      char **pcert_pem, const char **pkey_pem)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md.c:1418,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md.c:1419,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md.c:1421,1
    - Dst: md_get_by_domain
      Src: /src/httpd/modules/md/mod_md.c:1424,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md.c:1429,1
    - Dst: strlen
      Src: /src/httpd/modules/md/mod_md.c:1437,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/md/mod_md.c:1437,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md.c:1438,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/mod_md.c:1440,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md.c:1442,1
    - Dst: strlen
      Src: /src/httpd/modules/md/mod_md.c:1445,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/md/mod_md.c:1453,1
    - Dst: apr_ltoa
      Src: /src/httpd/modules/md/mod_md.c:1453,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/mod_md.c:1455,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/md/mod_md.c:1456,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/md/mod_md.c:1457,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/md/mod_md.c:1458,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md.c:1473,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/md/mod_md.c:1476,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md.c:1476,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1483
    functionName: md_http_challenge_pr
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - md_reg_store_get
    - ap_pass_brigade
    - apr_brigade_write
    - ap_log_rerror
    - md_store_load
    - APLOGNO
    - apr_brigade_create
    - apr_table_setn
    - apr_ltoa
    - APR_STATUS_IS_ENOENT
    - apr_brigade_cleanup
    - md_array_str_index
    - ap_get_module_config
    - ap_strchr_c
    - strlen
    - md_get_by_domain
    - strncmp
    linkageType: ''
    returnType: int
    signature: int md_http_challenge_pr(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md.c:1499,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md.c:1501,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/md/mod_md.c:1505,1
    - Dst: md_get_for_domain
      Src: /src/httpd/modules/md/mod_md.c:1506,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/md/mod_md.c:1509,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/mod_md.c:1513,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/md/mod_md.c:1514,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/md/mod_md.c:1531,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/md/mod_md.c:1532,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/md/mod_md.c:1538,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/md/mod_md.c:1540,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1548
    functionName: md_require_https_maybe
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - ap_ssl_conn_is_ssl
    - apr_uri_parse
    - apr_table_setn
    - ap_construct_url
    - ap_get_module_config
    - apr_table_get
    - md_get_for_domain
    - ap_get_server_name_for_url
    - strncmp
    linkageType: ''
    returnType: int
    signature: int md_require_https_maybe(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1557
    functionName: md_child_init
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_child_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_init
      Src: /src/httpd/modules/md/mod_md.c:1567,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/md/mod_md.c:1569,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/md/mod_md.c:1574,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/md/mod_md.c:1575,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/md/mod_md.c:1579,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/md/mod_md.c:1582,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/md/mod_md.c:1583,1
    - Dst: ap_hook_protocol_propose
      Src: /src/httpd/modules/md/mod_md.c:1585,1
    - Dst: ap_hook_protocol_switch
      Src: /src/httpd/modules/md/mod_md.c:1586,1
    - Dst: ap_hook_protocol_get
      Src: /src/httpd/modules/md/mod_md.c:1587,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/md/mod_md.c:1590,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/md/mod_md.c:1591,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/md/mod_md.c:1592,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/md/mod_md.c:1593,1
    - Dst: ap_hook_ssl_answer_challenge
      Src: /src/httpd/modules/md/mod_md.c:1595,1
    - Dst: ap_hook_ssl_add_cert_files
      Src: /src/httpd/modules/md/mod_md.c:1596,1
    - Dst: ap_hook_ssl_add_fallback_cert_files
      Src: /src/httpd/modules/md/mod_md.c:1597,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/md/mod_md.c:1599,1
    - Dst: ap_hook_ssl_ocsp_prime_hook
      Src: /src/httpd/modules/md/mod_md.c:1600,1
    - Dst: ap_hook_ssl_ocsp_get_resp_hook
      Src: /src/httpd/modules/md/mod_md.c:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1605
    functionName: md_hooks
    functionSourceFile: /src/httpd/modules/md/mod_md.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - ap_hook_protocol_switch
    - md_acme_init
    - ap_hook_protocol_propose
    - ap_hook_protocol_get
    - ap_hook_ssl_ocsp_prime_hook
    - ap_hook_ssl_ocsp_get_resp_hook
    - ap_hook_ssl_answer_challenge
    - APR_OPTIONAL_HOOK
    - ap_hook_ssl_add_fallback_cert_files
    - ap_hook_handler
    - ap_hook_ssl_add_cert_files
    - ap_hook_post_config
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_hook_child_init
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void md_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4random_buf
      Src: /src/httpd/modules/md/md_crypt.c:90,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/md/md_crypt.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: seed_RAND
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - arc4random_buf
    - RAND_seed
    linkageType: ''
    returnType: void
    signature: void seed_RAND(int pid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/md/md_crypt.c:101,1
    - Dst: rand
      Src: /src/httpd/modules/md/md_crypt.c:102,1
    - Dst: atoi
      Src: /src/httpd/modules/md/md_crypt.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: rand_choosenum
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - rand
    - atoi
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int rand_choosenum(int l, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/httpd/modules/md/md_crypt.c:122,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/md/md_crypt.c:129,1
    - Dst: rand_choosenum
      Src: /src/httpd/modules/md/md_crypt.c:134,1
    - Dst: RAND_seed
      Src: /src/httpd/modules/md/md_crypt.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: seed_RAND
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - time
    - RAND_seed
    - rand_choosenum
    linkageType: ''
    returnType: void
    signature: void seed_RAND(int pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/modules/md/md_crypt.c:146,1
    - Dst: ERR_load_crypto_strings
      Src: /src/httpd/modules/md/md_crypt.c:148,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/httpd/modules/md/md_crypt.c:149,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:151,1
    - Dst: RAND_status
      Src: /src/httpd/modules/md/md_crypt.c:152,1
    - Dst: seed_RAND
      Src: /src/httpd/modules/md/md_crypt.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: md_crypt_init
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OpenSSL_add_all_algorithms
    - getpid
    - RAND_status
    - seed_RAND
    - md_log_perror
    - ERR_load_crypto_strings
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_crypt_init(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/md/md_crypt.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - baton
    - f
    - p
    argTypes:
    - void*
    - apr_file_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: fwrite_buffer
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fwrite_buffer(void *baton, apr_file_t *f, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_crypt_init
      Src: /src/httpd/modules/md/md_crypt.c:177,1
    - Dst: RAND_bytes
      Src: /src/httpd/modules/md/md_crypt.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - p
    argTypes:
    - unsigned char*
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: md_rand_bytes
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_crypt_init
    - RAND_bytes
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_rand_bytes(unsigned char *buf, apr_size_t len, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_crypt.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - baton
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: pem_passwd
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pem_passwd(char *buf, int size, int rwflag, void *baton)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_crypt.c:227,1
    - Dst: apr_time_exp_gmt_get
      Src: /src/httpd/modules/md/md_crypt.c:253,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_crypt.c:259,1
    - Dst: ASN1_TIME_diff
      Src: /src/httpd/modules/md/md_crypt.c:261,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_crypt.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - time
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 266
    functionName: md_asn1_time_get
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - memset
    - ASN1_TIME_diff
    - apr_time_exp_gmt_get
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_asn1_time_get(const ASN1_TIME* time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_asn1_time_get
      Src: /src/httpd/modules/md/md_crypt.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - asn1_gtime
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: md_asn1_generalized_time_get
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_asn1_time_get
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_asn1_generalized_time_get(void *asn1_gtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/md/md_crypt.c:281,1
    - Dst: OBJ_create
      Src: /src/httpd/modules/md/md_crypt.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - num
    - sname
    - lname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: get_nid
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_create
    linkageType: ''
    returnType: int
    signature: int get_nid(const char *num, const char *sname, const char *lname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: MD_GET_NID
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_GET_NID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:297,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_crypt.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: md_pkeys_spec_make
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: md_pkeys_spec_t
    signature: md_pkeys_spec_t *md_pkeys_spec_make(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_crypt.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pks
    - spec
    argTypes:
    - md_pkeys_spec_t*
    - md_pkey_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: md_pkeys_spec_add
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    linkageType: ''
    returnType: void
    signature: void md_pkeys_spec_add(md_pkeys_spec_t *pks, md_pkey_spec_t *spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:312,1
    - Dst: md_pkeys_spec_add
      Src: /src/httpd/modules/md/md_crypt.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pks
    argTypes:
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: md_pkeys_spec_add_default
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_add
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void md_pkeys_spec_add_default(md_pkeys_spec_t *pks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pks
    argTypes:
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: md_pkeys_spec_contains_rsa
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_pkeys_spec_contains_rsa(md_pkeys_spec_t *pks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:332,1
    - Dst: md_pkeys_spec_add
      Src: /src/httpd/modules/md/md_crypt.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pks
    - bits
    argTypes:
    - md_pkeys_spec_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: md_pkeys_spec_add_rsa
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_add
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void md_pkeys_spec_add_rsa(md_pkeys_spec_t *pks, unsigned int bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:343,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pks
    - curve
    argTypes:
    - md_pkeys_spec_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: md_pkeys_spec_contains_ec
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - apr_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int md_pkeys_spec_contains_ec(md_pkeys_spec_t *pks, const char *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:354,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:356,1
    - Dst: md_pkeys_spec_add
      Src: /src/httpd/modules/md/md_crypt.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pks
    - curve
    argTypes:
    - md_pkeys_spec_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: md_pkeys_spec_add_ec
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_add
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void md_pkeys_spec_add_ec(md_pkeys_spec_t *pks, const char *curve)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:367,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - spec
    - p
    argTypes:
    - md_pkey_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: md_pkey_spec_to_str
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *md_pkey_spec_to_str(const md_pkey_spec_t *spec, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_crypt.c:380,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_crypt.c:384,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_crypt.c:387,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_crypt.c:389,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_crypt.c:393,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_crypt.c:395,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_crypt.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - spec
    - p
    argTypes:
    - md_pkey_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 404
    functionName: md_pkey_spec_to_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_json_setl
    - md_json_sets
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_pkey_spec_to_json(const md_pkey_spec_t *spec, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_spec_to_json
      Src: /src/httpd/modules/md/md_crypt.c:411,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_crypt.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - value
    - json
    - p
    - baton
    argTypes:
    - void*
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: spec_to_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - md_json_setj
    - md_pkey_spec_to_json
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t spec_to_json(void *value, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_spec_to_json
      Src: /src/httpd/modules/md/md_crypt.c:420,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_crypt.c:420,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_crypt.c:422,1
    - Dst: md_json_seta
      Src: /src/httpd/modules/md/md_crypt.c:423,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/md_crypt.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pks
    - p
    argTypes:
    - md_pkeys_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: md_pkeys_spec_to_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_get
    - md_json_getj
    - md_json_create
    - md_pkey_spec_to_json
    - md_json_seta
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_pkeys_spec_to_json(const md_pkeys_spec_t *pks, apr_pool_t
      *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:429,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_crypt.c:434,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:435,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:438,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_crypt.c:440,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:448,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_crypt.c:450,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - struct md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 460
    functionName: md_pkey_spec_from_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - md_json_gets
    - apr_cstr_casecmp
    - md_json_getl
    - apr_pstrdup
    linkageType: ''
    returnType: md_pkey_spec_t
    signature: md_pkey_spec_t *md_pkey_spec_from_json(struct md_json_t *json, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_spec_from_json
      Src: /src/httpd/modules/md/md_crypt.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pvalue
    - json
    - p
    - baton
    argTypes:
    - void**
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: spec_from_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - md_pkey_spec_from_json
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t spec_from_json(void **pvalue, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_make
      Src: /src/httpd/modules/md/md_crypt.c:474,1
    - Dst: md_json_is
      Src: /src/httpd/modules/md/md_crypt.c:475,1
    - Dst: md_json_geta
      Src: /src/httpd/modules/md/md_crypt.c:476,1
    - Dst: md_pkey_spec_from_json
      Src: /src/httpd/modules/md/md_crypt.c:479,1
    - Dst: md_pkeys_spec_add
      Src: /src/httpd/modules/md/md_crypt.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - struct md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: md_pkeys_spec_from_json
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_add
    - md_json_geta
    - md_pkeys_spec_make
    - md_pkey_spec_from_json
    - md_json_is
    linkageType: ''
    returnType: md_pkeys_spec_t
    signature: md_pkeys_spec_t *md_pkeys_spec_from_json(struct md_json_t *json, apr_pool_t
      *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_crypt.c:506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - md_pkey_spec_t*
    - md_pkey_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 510
    functionName: md_pkey_spec_eq
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int md_pkey_spec_eq(const md_pkey_spec_t *s1, const md_pkey_spec_t
      *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_spec_eq
      Src: /src/httpd/modules/md/md_crypt.c:521,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:521,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pks1
    - pks2
    argTypes:
    - md_pkeys_spec_t*
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: md_pkeys_spec_eq
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_pkey_spec_eq
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_pkeys_spec_eq(md_pkeys_spec_t *pks1, md_pkeys_spec_t *pks2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:535,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - spec
    argTypes:
    - apr_pool_t*
    - md_pkey_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 548
    functionName: pkey_spec_clone
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: md_pkey_spec_t
    signature: md_pkey_spec_t *pkey_spec_clone(apr_pool_t *p, md_pkey_spec_t *spec)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - spec
    argTypes:
    - md_pkey_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: md_pkey_spec_name
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_pkey_spec_name(const md_pkey_spec_t *spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pks
    argTypes:
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: md_pkeys_spec_is_empty
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_pkeys_spec_is_empty(const md_pkeys_spec_t *pks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:575,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_crypt.c:576,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:578,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_crypt.c:579,1
    - Dst: pkey_spec_clone
      Src: /src/httpd/modules/md/md_crypt.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pks
    argTypes:
    - apr_pool_t*
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: md_pkeys_spec_clone
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    - apr_pcalloc
    - pkey_spec_clone
    - apr_array_make
    linkageType: ''
    returnType: md_pkeys_spec_t
    signature: md_pkeys_spec_t *md_pkeys_spec_clone(apr_pool_t *p, const md_pkeys_spec_t
      *pks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_is_empty
      Src: /src/httpd/modules/md/md_crypt.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pks
    argTypes:
    - md_pkeys_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: md_pkeys_spec_count
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - md_pkeys_spec_is_empty
    linkageType: ''
    returnType: int
    signature: int md_pkeys_spec_count(const md_pkeys_spec_t *pks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_is_empty
      Src: /src/httpd/modules/md/md_crypt.c:594,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pks
    - index
    argTypes:
    - md_pkeys_spec_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: md_pkeys_spec_get
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 4
    functionsReached:
    - md_pkeys_spec_is_empty
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: md_pkey_spec_t
    signature: md_pkey_spec_t *md_pkeys_spec_get(const md_pkeys_spec_t *pks, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: make_pkey
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: md_pkey_t
    signature: md_pkey_t *make_pkey(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/httpd/modules/md/md_crypt.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: pkey_cleanup
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pkey_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_cleanup
      Src: /src/httpd/modules/md/md_crypt.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: md_pkey_free
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - pkey_cleanup
    linkageType: ''
    returnType: void
    signature: void md_pkey_free(md_pkey_t *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - struct md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: md_pkey_get_EVP_PKEY
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *md_pkey_get_EVP_PKEY(struct md_pkey_t *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_pkey
      Src: /src/httpd/modules/md/md_crypt.c:639,1
    - Dst: BIO_new_file
      Src: /src/httpd/modules/md/md_crypt.c:640,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:644,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/httpd/modules/md/md_crypt.c:645,1
    - Dst: BIO_free
      Src: /src/httpd/modules/md/md_crypt.c:646,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_crypt.c:650,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:653,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:655,1
    - Dst: ERR_error_string
      Src: /src/httpd/modules/md/md_crypt.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - ppkey
    - p
    - key
    - key_len
    - fname
    argTypes:
    - md_pkey_t**
    - apr_pool_t*
    - char*
    - apr_size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 662
    functionName: md_pkey_fload
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - make_pkey
    - ERR_error_string
    - ERR_get_error
    - md_log_perror
    - ERR_clear_error
    - BIO_free
    - PEM_read_bio_PrivateKey
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pkey_fload(md_pkey_t **ppkey, apr_pool_t *p, \n                           const
      char *key, apr_size_t key_len,\n                           const char *fname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkey_to_buffer
      Src: /src/httpd/modules/md/md_crypt.c:728,1
    - Dst: md_util_freplace
      Src: /src/httpd/modules/md/md_crypt.c:729,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - pkey
    - p
    - pass_phrase
    - pass_len
    - fname
    - perms
    argTypes:
    - md_pkey_t*
    - apr_pool_t*
    - char*
    - apr_size_t
    - char*
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 734
    functionName: md_pkey_fsave
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_util_freplace
    - pkey_to_buffer
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pkey_fsave(md_pkey_t *pkey, apr_pool_t *p, \n                           const
      char *pass_phrase, apr_size_t pass_len,\n                           const char
      *fname, apr_fileperms_t perms)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/md/md_crypt.c:747,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/md/md_crypt.c:753,1
    - Dst: BIO_new_mem_buf
      Src: /src/httpd/modules/md/md_crypt.c:756,1
    - Dst: make_pkey
      Src: /src/httpd/modules/md/md_crypt.c:760,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:763,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/httpd/modules/md/md_crypt.c:764,1
    - Dst: BIO_free
      Src: /src/httpd/modules/md/md_crypt.c:765,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:768,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:770,1
    - Dst: ERR_error_string
      Src: /src/httpd/modules/md/md_crypt.c:772,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_crypt.c:776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ppkey
    - pool
    - res
    argTypes:
    - md_pkey_t**
    - apr_pool_t*
    - struct md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 781
    functionName: md_pkey_read_http
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - make_pkey
    - ERR_error_string
    - ERR_get_error
    - md_log_perror
    - ERR_clear_error
    - apr_brigade_length
    - BIO_free
    - apr_brigade_pflatten
    - PEM_read_bio_PrivateKey
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pkey_read_http(md_pkey_t **ppkey, apr_pool_t *pool,\n
      \                              const struct md_http_response_t *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/httpd/modules/md/md_crypt.c:787,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/md/md_crypt.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 799
    functionName: pkey_get_MD
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_PKEY_id
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *pkey_get_MD(md_pkey_t *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_pkey
      Src: /src/httpd/modules/md/md_crypt.c:806,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/httpd/modules/md/md_crypt.c:807,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/httpd/modules/md/md_crypt.c:809,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/httpd/modules/md/md_crypt.c:810,1
    - Dst: EVP_PKEY_keygen
      Src: /src/httpd/modules/md/md_crypt.c:811,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:815,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/httpd/modules/md/md_crypt.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ppkey
    - p
    - bits
    argTypes:
    - md_pkey_t**
    - apr_pool_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 824
    functionName: gen_rsa
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_free
    - make_pkey
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - md_log_perror
    - EVP_PKEY_CTX_new_id
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t gen_rsa(md_pkey_t **ppkey, apr_pool_t *p, unsigned int
      bits)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EC_curve_nist2nid
      Src: /src/httpd/modules/md/md_crypt.c:865,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:868,1
    - Dst: EC_curve_nid2nist
      Src: /src/httpd/modules/md/md_crypt.c:870,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:874,1
    - Dst: EC_curve_nid2nist
      Src: /src/httpd/modules/md/md_crypt.c:876,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:880,1
    - Dst: EC_curve_nid2nist
      Src: /src/httpd/modules/md/md_crypt.c:882,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_crypt.c:887,1
    - Dst: EC_curve_nid2nist
      Src: /src/httpd/modules/md/md_crypt.c:889,1
    - Dst: OBJ_sn2nid
      Src: /src/httpd/modules/md/md_crypt.c:894,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:897,1
    - Dst: make_pkey
      Src: /src/httpd/modules/md/md_crypt.c:901,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/httpd/modules/md/md_crypt.c:908,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/httpd/modules/md/md_crypt.c:909,1
    - Dst: EVP_PKEY_keygen
      Src: /src/httpd/modules/md/md_crypt.c:910,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:911,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/httpd/modules/md/md_crypt.c:922,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/httpd/modules/md/md_crypt.c:923,1
    - Dst: EVP_PKEY_keygen
      Src: /src/httpd/modules/md/md_crypt.c:924,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:925,1
    - Dst: check_EC_curve
      Src: /src/httpd/modules/md/md_crypt.c:935,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/httpd/modules/md/md_crypt.c:936,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/httpd/modules/md/md_crypt.c:937,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/httpd/modules/md/md_crypt.c:938,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/httpd/modules/md/md_crypt.c:939,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/httpd/modules/md/md_crypt.c:940,1
    - Dst: EVP_PKEY_keygen
      Src: /src/httpd/modules/md/md_crypt.c:941,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:942,1
    - Dst: check_EC_curve
      Src: /src/httpd/modules/md/md_crypt.c:947,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/httpd/modules/md/md_crypt.c:948,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/httpd/modules/md/md_crypt.c:949,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/httpd/modules/md/md_crypt.c:950,1
    - Dst: EVP_PKEY_keygen
      Src: /src/httpd/modules/md/md_crypt.c:951,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:952,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/httpd/modules/md/md_crypt.c:963,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 75
    argCount: 3
    argNames:
    - ppkey
    - p
    - curve
    argTypes:
    - md_pkey_t**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 965
    functionName: gen_ec
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_free
    - make_pkey
    - OBJ_sn2nid
    - apr_cstr_casecmp
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_ctrl_str
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_set_ec_param_enc
    - md_log_perror
    - EVP_PKEY_paramgen_init
    - EC_curve_nist2nid
    - EC_curve_nid2nist
    - check_EC_curve
    - EVP_PKEY_CTX_new_id
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t gen_ec(md_pkey_t **ppkey, apr_pool_t *p, const char *curve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gen_rsa
      Src: /src/httpd/modules/md/md_crypt.c:972,1
    - Dst: gen_rsa
      Src: /src/httpd/modules/md/md_crypt.c:974,1
    - Dst: gen_ec
      Src: /src/httpd/modules/md/md_crypt.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ppkey
    - p
    - spec
    argTypes:
    - md_pkey_t**
    - apr_pool_t*
    - md_pkey_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 980
    functionName: md_pkey_gen
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - gen_rsa
    - gen_ec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_pkey_gen(md_pkey_t **ppkey, apr_pool_t *p, md_pkey_spec_t
      *spec)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 995
    functionName: RSA_get0_key
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RSA_get0_key(const RSA *r,\n                         const BIGNUM
      **n, const BIGNUM **e, const BIGNUM **d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_data_pinit
      Src: /src/httpd/modules/md/md_crypt.c:1004,1
    - Dst: BN_num_bytes
      Src: /src/httpd/modules/md/md_crypt.c:1004,1
    - Dst: BN_bn2bin
      Src: /src/httpd/modules/md/md_crypt.c:1006,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - p
    argTypes:
    - BIGNUM*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1011
    functionName: bn64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_data_pinit
    - BN_num_bytes
    - md_util_base64url_encode
    - BN_bn2bin
    linkageType: ''
    returnType: char
    signature: char *bn64(const BIGNUM *b, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/httpd/modules/md/md_crypt.c:1020,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/httpd/modules/md/md_crypt.c:1022,1
    - Dst: RSA_get0_key
      Src: /src/httpd/modules/md/md_crypt.c:1026,1
    - Dst: bn64
      Src: /src/httpd/modules/md/md_crypt.c:1027,1
    - Dst: RSA_free
      Src: /src/httpd/modules/md/md_crypt.c:1029,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/httpd/modules/md/md_crypt.c:1035,1
    - Dst: bn64
      Src: /src/httpd/modules/md/md_crypt.c:1036,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_crypt.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - p
    argTypes:
    - md_pkey_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1042
    functionName: md_pkey_get_rsa_e64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - bn64
    - EVP_PKEY_get1_RSA
    - BN_free
    - RSA_get0_key
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_bn_param
    linkageType: ''
    returnType: char
    signature: char *md_pkey_get_rsa_e64(md_pkey_t *pkey, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/httpd/modules/md/md_crypt.c:1051,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/httpd/modules/md/md_crypt.c:1053,1
    - Dst: RSA_get0_key
      Src: /src/httpd/modules/md/md_crypt.c:1057,1
    - Dst: bn64
      Src: /src/httpd/modules/md/md_crypt.c:1058,1
    - Dst: RSA_free
      Src: /src/httpd/modules/md/md_crypt.c:1060,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/httpd/modules/md/md_crypt.c:1066,1
    - Dst: bn64
      Src: /src/httpd/modules/md/md_crypt.c:1067,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_crypt.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - p
    argTypes:
    - md_pkey_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1073
    functionName: md_pkey_get_rsa_n64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - bn64
    - EVP_PKEY_get1_RSA
    - BN_free
    - RSA_get0_key
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_bn_param
    linkageType: ''
    returnType: char
    signature: char *md_pkey_get_rsa_n64(md_pkey_t *pkey, apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: md_data_pinit
      Src: /src/httpd/modules/md/md_crypt.c:1084,1
    - Dst: EVP_PKEY_size
      Src: /src/httpd/modules/md/md_crypt.c:1084,1
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/md/md_crypt.c:1086,1
    - Dst: EVP_SignInit_ex
      Src: /src/httpd/modules/md/md_crypt.c:1089,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/md/md_crypt.c:1089,1
    - Dst: EVP_SignUpdate
      Src: /src/httpd/modules/md/md_crypt.c:1091,1
    - Dst: EVP_SignFinal
      Src: /src/httpd/modules/md/md_crypt.c:1092,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1094,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/md/md_crypt.c:1104,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - psign64
    - pkey
    - p
    - d
    - dlen
    argTypes:
    - char**
    - md_pkey_t*
    - apr_pool_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1114
    functionName: md_crypt_sign64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_SignFinal
    - EVP_SignUpdate
    - EVP_MD_CTX_destroy
    - md_log_perror
    - md_util_base64url_encode
    - EVP_PKEY_size
    - md_data_pinit
    - EVP_sha256
    - EVP_SignInit_ex
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_crypt_sign64(const char **psign64, md_pkey_t *pkey,
      apr_pool_t *p, \n                             const char *d, size_t dlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_data_pmake
      Src: /src/httpd/modules/md/md_crypt.c:1123,1
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/md/md_crypt.c:1124,1
    - Dst: EVP_DigestInit_ex
      Src: /src/httpd/modules/md/md_crypt.c:1127,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/md/md_crypt.c:1127,1
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/md/md_crypt.c:1129,1
    - Dst: EVP_DigestFinal
      Src: /src/httpd/modules/md/md_crypt.c:1130,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/md/md_crypt.c:1138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pdigest
    - p
    - buf
    argTypes:
    - md_data_t**
    - apr_pool_t*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1142
    functionName: sha256_digest
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_DigestInit_ex
    - EVP_MD_CTX_destroy
    - md_data_pmake
    - EVP_sha256
    - EVP_DigestUpdate
    - EVP_DigestFinal
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sha256_digest(md_data_t **pdigest, apr_pool_t *p, const
      md_data_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_digest
      Src: /src/httpd/modules/md/md_crypt.c:1150,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pdigest64
    - p
    - d
    argTypes:
    - char**
    - apr_pool_t*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1157
    functionName: md_crypt_sha256_digest64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_util_base64url_encode
    - sha256_digest
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_crypt_sha256_digest64(const char **pdigest64, apr_pool_t
      *p, const md_data_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_digest
      Src: /src/httpd/modules/md/md_crypt.c:1165,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_crypt.c:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdigesthex
    - p
    - data
    argTypes:
    - char**
    - apr_pool_t*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1170
    functionName: md_crypt_sha256_digest_hex
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_data_to_hex
    - sha256_digest
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_crypt_sha256_digest_hex(const char **pdigesthex, apr_pool_t
      *p, \n                                        const md_data_t *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_data_pmake
      Src: /src/httpd/modules/md/md_crypt.c:1181,1
    - Dst: HMAC
      Src: /src/httpd/modules/md/md_crypt.c:1182,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/md/md_crypt.c:1182,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - pmac64
    - hmac_key
    - p
    - d
    - dlen
    argTypes:
    - char**
    - md_data_t*
    - apr_pool_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1195
    functionName: md_crypt_hmac64
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_data_pmake
    - EVP_sha256
    - md_util_base64url_encode
    - HMAC
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_crypt_hmac64(const char **pmac64, const md_data_t
      *hmac_key,\n                             apr_pool_t *p, const char *d, size_t
      dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/httpd/modules/md/md_crypt.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    functionName: cert_cleanup
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cert_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - x509
    argTypes:
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1222
    functionName: md_cert_wrap
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: md_cert_t
    signature: md_cert_t *md_cert_wrap(apr_pool_t *p, void *x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_wrap
      Src: /src/httpd/modules/md/md_crypt.c:1226,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_crypt.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - x509
    argTypes:
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1229
    functionName: md_cert_make
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_wrap
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: md_cert_t
    signature: md_cert_t *md_cert_make(apr_pool_t *p, void *x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: md_cert_get_X509
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *md_cert_get_X509(const md_cert_t *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_serialNumber
      Src: /src/httpd/modules/md/md_crypt.c:1241,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/httpd/modules/md/md_crypt.c:1243,1
    - Dst: BN_bn2hex
      Src: /src/httpd/modules/md/md_crypt.c:1244,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:1245,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_crypt.c:1246,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_crypt.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - p
    argTypes:
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1250
    functionName: md_cert_get_serial_number
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_bn2hex
    - OPENSSL_free
    - ASN1_INTEGER_to_BN
    - X509_get_serialNumber
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *md_cert_get_serial_number(const md_cert_t *cert, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp
      Src: /src/httpd/modules/md/md_crypt.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - md_cert_t*
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: md_certs_are_equal
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_cmp
    linkageType: ''
    returnType: int
    signature: int md_certs_are_equal(const md_cert_t *a, const md_cert_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_current_time
      Src: /src/httpd/modules/md/md_crypt.c:1259,1
    - Dst: X509_get_notBefore
      Src: /src/httpd/modules/md/md_crypt.c:1259,1
    - Dst: X509_cmp_current_time
      Src: /src/httpd/modules/md/md_crypt.c:1260,1
    - Dst: X509_get_notAfter
      Src: /src/httpd/modules/md/md_crypt.c:1260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: md_cert_is_valid_now
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_cmp_current_time
    - X509_get_notAfter
    - X509_get_notBefore
    linkageType: ''
    returnType: int
    signature: int md_cert_is_valid_now(const md_cert_t *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_current_time
      Src: /src/httpd/modules/md/md_crypt.c:1265,1
    - Dst: X509_get_notAfter
      Src: /src/httpd/modules/md/md_crypt.c:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: md_cert_has_expired
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_cmp_current_time
    - X509_get_notAfter
    linkageType: ''
    returnType: int
    signature: int md_cert_has_expired(const md_cert_t *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_asn1_time_get
      Src: /src/httpd/modules/md/md_crypt.c:1270,1
    - Dst: X509_get_notAfter
      Src: /src/httpd/modules/md/md_crypt.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1271
    functionName: md_cert_get_not_after
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_asn1_time_get
    - X509_get_notAfter
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_cert_get_not_after(const md_cert_t *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_asn1_time_get
      Src: /src/httpd/modules/md/md_crypt.c:1275,1
    - Dst: X509_get_notBefore
      Src: /src/httpd/modules/md/md_crypt.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1276
    functionName: md_cert_get_not_before
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_asn1_time_get
    - X509_get_notBefore
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_cert_get_not_before(const md_cert_t *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_get_not_before
      Src: /src/httpd/modules/md/md_crypt.c:1281,1
    - Dst: md_cert_get_not_after
      Src: /src/httpd/modules/md/md_crypt.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: md_cert_get_valid
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_get_not_before
    - md_cert_get_not_after
    linkageType: ''
    returnType: md_timeperiod_t
    signature: md_timeperiod_t md_cert_get_valid(const md_cert_t *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_get_alt_names
      Src: /src/httpd/modules/md/md_crypt.c:1290,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_crypt.c:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - domain_name
    argTypes:
    - md_cert_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1295
    functionName: md_cert_covers_domain
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_get_alt_names
    - md_array_str_index
    linkageType: ''
    returnType: int
    signature: int md_cert_covers_domain(md_cert_t *cert, const char *domain_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_get_alt_names
      Src: /src/httpd/modules/md/md_crypt.c:1303,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1306,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:1309,1
    - Dst: md_dns_domains_match
      Src: /src/httpd/modules/md/md_crypt.c:1310,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1311,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cert
    - md
    argTypes:
    - md_cert_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1322
    functionName: md_cert_covers_md
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_get_alt_names
    - APR_ARRAY_IDX
    - md_dns_domains_match
    - md_log_perror
    linkageType: ''
    returnType: int
    signature: int md_cert_covers_md(md_cert_t *cert, const md_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/httpd/modules/md/md_crypt.c:1326,1
    - Dst: X509_NAME_oneline
      Src: /src/httpd/modules/md/md_crypt.c:1328,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:1329,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_crypt.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - p
    argTypes:
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1334
    functionName: md_cert_get_issuer_name
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_NAME_oneline
    - apr_pstrdup
    - X509_get_issuer_name
    linkageType: ''
    returnType: char
    signature: char *md_cert_get_issuer_name(const md_cert_t *cert, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/md/md_crypt.c:1339,1
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/md/md_crypt.c:1344,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/httpd/modules/md/md_crypt.c:1346,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/httpd/modules/md/md_crypt.c:1347,1
    - Dst: OBJ_obj2nid
      Src: /src/httpd/modules/md/md_crypt.c:1348,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/httpd/modules/md/md_crypt.c:1350,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:1351,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_crypt.c:1352,1
    - Dst: sk_ACCESS_DESCRIPTION_pop_free
      Src: /src/httpd/modules/md/md_crypt.c:1357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - puri
    - cert
    - p
    argTypes:
    - char**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1361
    functionName: md_cert_get_issuers_uri
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_to_UTF8
    - sk_ACCESS_DESCRIPTION_pop_free
    - sk_ACCESS_DESCRIPTION_value
    - sk_ACCESS_DESCRIPTION_num
    - OPENSSL_free
    - STACK_OF
    - X509_get_ext_d2i
    - apr_pstrdup
    - OBJ_obj2nid
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_get_issuers_uri(const char **puri, const md_cert_t
      *cert, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/md/md_crypt.c:1367,1
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/md/md_crypt.c:1371,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_crypt.c:1377,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/httpd/modules/md/md_crypt.c:1377,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/httpd/modules/md/md_crypt.c:1378,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/httpd/modules/md/md_crypt.c:1379,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/httpd/modules/md/md_crypt.c:1383,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_crypt.c:1384,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:1384,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_crypt.c:1385,1
    - Dst: ASN1_STRING_length
      Src: /src/httpd/modules/md/md_crypt.c:1388,1
    - Dst: ASN1_STRING_data
      Src: /src/httpd/modules/md/md_crypt.c:1390,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/httpd/modules/md/md_crypt.c:1392,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_crypt.c:1395,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:1395,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_crypt.c:1398,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:1398,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/httpd/modules/md/md_crypt.c:1414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pnames
    - cert
    - p
    argTypes:
    - apr_array_header_t**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1419
    functionName: md_cert_get_alt_names
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 2
    functionsReached:
    - APR_ARRAY_PUSH
    - ASN1_STRING_to_UTF8
    - ASN1_STRING_length
    - sk_GENERAL_NAME_value
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_pop_free
    - OPENSSL_free
    - STACK_OF
    - ASN1_STRING_data
    - apr_psprintf
    - X509_get_ext_d2i
    - apr_pstrdup
    - sk_GENERAL_NAME_num
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_get_alt_names(apr_array_header_t **pnames, const
      md_cert_t *cert, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_util_fopen
      Src: /src/httpd/modules/md/md_crypt.c:1428,1
    - Dst: PEM_read_X509
      Src: /src/httpd/modules/md/md_crypt.c:1431,1
    - Dst: fclose
      Src: /src/httpd/modules/md/md_crypt.c:1432,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pcert
    - p
    - fname
    argTypes:
    - md_cert_t**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1443
    functionName: md_cert_fload
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - PEM_read_X509
    - fclose
    - md_cert_make
    - md_util_fopen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_fload(md_cert_t **pcert, apr_pool_t *p, const
      char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/httpd/modules/md/md_crypt.c:1447,1
    - Dst: BIO_s_mem
      Src: /src/httpd/modules/md/md_crypt.c:1447,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1454,1
    - Dst: PEM_write_bio_X509
      Src: /src/httpd/modules/md/md_crypt.c:1455,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:1456,1
    - Dst: BIO_free
      Src: /src/httpd/modules/md/md_crypt.c:1457,1
    - Dst: BIO_pending
      Src: /src/httpd/modules/md/md_crypt.c:1461,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/md/md_crypt.c:1463,1
    - Dst: BIO_read
      Src: /src/httpd/modules/md/md_crypt.c:1464,1
    - Dst: BIO_free
      Src: /src/httpd/modules/md/md_crypt.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - buffer
    - cert
    - p
    argTypes:
    - md_data_t*
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1469
    functionName: cert_to_buffer
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_s_mem
    - apr_palloc
    - ERR_get_error
    - ERR_clear_error
    - BIO_pending
    - BIO_new
    - BIO_free
    - PEM_write_bio_X509
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cert_to_buffer(md_data_t *buffer, const md_cert_t *cert,
      apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_crypt.c:1477,1
    - Dst: cert_to_buffer
      Src: /src/httpd/modules/md/md_crypt.c:1478,1
    - Dst: md_util_freplace
      Src: /src/httpd/modules/md/md_crypt.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cert
    - p
    - fname
    - perms
    argTypes:
    - md_cert_t*
    - apr_pool_t*
    - char*
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1482
    functionName: md_cert_fsave
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_util_freplace
    - cert_to_buffer
    - md_data_null
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_fsave(md_cert_t *cert, apr_pool_t *p, \n                           const
      char *fname, apr_fileperms_t perms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_crypt.c:1489,1
    - Dst: cert_to_buffer
      Src: /src/httpd/modules/md/md_crypt.c:1490,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ps64
    - cert
    - p
    argTypes:
    - char**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1496
    functionName: md_cert_to_base64url
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_util_base64url_encode
    - cert_to_buffer
    - md_data_null
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_to_base64url(const char **ps64, const md_cert_t
      *cert, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_data_pmake
      Src: /src/httpd/modules/md/md_crypt.c:1503,1
    - Dst: X509_digest
      Src: /src/httpd/modules/md/md_crypt.c:1504,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/md/md_crypt.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pdigest
    - cert
    - p
    argTypes:
    - md_data_t**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1509
    functionName: md_cert_to_sha256_digest
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_data_pmake
    - EVP_sha256
    - X509_digest
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_to_sha256_digest(md_data_t **pdigest, const md_cert_t
      *cert, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_to_sha256_digest
      Src: /src/httpd/modules/md/md_crypt.c:1516,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_crypt.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfinger
    - cert
    - p
    argTypes:
    - char**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1522
    functionName: md_cert_to_sha256_fingerprint
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_data_to_hex
    - md_cert_to_sha256_digest
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_to_sha256_fingerprint(const char **pfinger, const
      md_cert_t *cert, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1530,1
    - Dst: PEM_read_bio_X509
      Src: /src/httpd/modules/md/md_crypt.c:1531,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bf
    - p
    - pcert
    argTypes:
    - BIO*
    - apr_pool_t*
    - md_cert_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1538
    functionName: md_cert_read_pem
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_make
    - ERR_clear_error
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int md_cert_read_pem(BIO *bf, apr_pool_t *p, md_cert_t **pcert)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_crypt.c:1580,1
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_crypt.c:1581,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_crypt.c:1582,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/md/md_crypt.c:1587,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/md/md_crypt.c:1591,1
    - Dst: d2i_X509
      Src: /src/httpd/modules/md/md_crypt.c:1595,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:1600,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pcert
    - p
    - res
    argTypes:
    - md_cert_t**
    - apr_pool_t*
    - md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1570
    functionDepth: 2
    functionLinenumber: 1570
    functionLinenumberEnd: 1610
    functionName: md_cert_read_http
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_util_parse_ct
    - md_log_perror
    - md_cert_make
    - apr_brigade_length
    - apr_table_get
    - apr_brigade_pflatten
    - d2i_X509
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_read_http(md_cert_t **pcert, apr_pool_t *p, \n
      \                              const md_http_response_t *res)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1622,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/md/md_crypt.c:1624,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_crypt.c:1631,1
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_crypt.c:1633,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_crypt.c:1634,1
    - Dst: md_cert_read_http
      Src: /src/httpd/modules/md/md_crypt.c:1635,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_crypt.c:1639,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/md_crypt.c:1640,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/md/md_crypt.c:1642,1
    - Dst: md_cert_read_chain
      Src: /src/httpd/modules/md/md_crypt.c:1644,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1647,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/md/md_crypt.c:1649,1
    - Dst: md_cert_read_chain
      Src: /src/httpd/modules/md/md_crypt.c:1651,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1653,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1660,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - chain
    - p
    - res
    argTypes:
    - struct apr_array_header_t*
    - apr_pool_t*
    - struct md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1612
    functionDepth: 3
    functionLinenumber: 1612
    functionLinenumberEnd: 1663
    functionName: md_cert_chain_read_http
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_cert_read_chain
    - md_util_parse_ct
    - md_log_perror
    - md_cert_read_http
    - apr_brigade_length
    - apr_table_get
    - apr_brigade_pflatten
    - strncmp
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_chain_read_http(struct apr_array_header_t *chain,\n
      \                                    apr_pool_t *p, const struct md_http_response_t
      *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_is_valid_now
      Src: /src/httpd/modules/md/md_crypt.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1671
    functionName: md_cert_state_get
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_is_valid_now
    linkageType: ''
    returnType: md_cert_state_t
    signature: md_cert_state_t md_cert_state_get(const md_cert_t *cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_util_fopen
      Src: /src/httpd/modules/md/md_crypt.c:1681,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1683,1
    - Dst: PEM_read_X509
      Src: /src/httpd/modules/md/md_crypt.c:1684,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:1685,1
    - Dst: fclose
      Src: /src/httpd/modules/md/md_crypt.c:1688,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:1690,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/md/md_crypt.c:1691,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/md/md_crypt.c:1691,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_crypt.c:1702,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1705,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1712,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - certs
    - p
    - fname
    argTypes:
    - struct apr_array_header_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1715
    functionName: md_chain_fappend
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_get_error
    - md_util_fopen
    - md_log_perror
    - md_cert_make
    - ERR_clear_error
    - PEM_read_X509
    - fclose
    - apr_stat
    - ERR_GET_REASON
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_chain_fappend(struct apr_array_header_t *certs, apr_pool_t
      *p, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_crypt.c:1722,1
    - Dst: md_chain_fappend
      Src: /src/httpd/modules/md/md_crypt.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pcerts
    - p
    - fname
    argTypes:
    - apr_array_header_t**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1717
    functionDepth: 3
    functionLinenumber: 1717
    functionLinenumberEnd: 1726
    functionName: md_chain_fload
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_chain_fappend
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_chain_fload(apr_array_header_t **pcerts, apr_pool_t
      *p, const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_util_fopen
      Src: /src/httpd/modules/md/md_crypt.c:1738,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/md/md_crypt.c:1740,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1741,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:1743,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_crypt.c:1744,1
    - Dst: PEM_write_X509
      Src: /src/httpd/modules/md/md_crypt.c:1746,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:1748,1
    - Dst: fclose
      Src: /src/httpd/modules/md/md_crypt.c:1753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - certs
    - p
    - fname
    - perms
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    - char*
    - apr_fileperms_t
    assertStmts:
    - condition: (cert->x509)
      pos:
        line_end: 1743
        line_start: 1743
        source_file: /src/httpd/modules/md/md_crypt.c
    constantsTouched: []
    func_position:
      end: 1759
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1759
    functionName: md_chain_fsave
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - APR_ARRAY_IDX
    - PEM_write_X509
    - ERR_get_error
    - md_util_fopen
    - ERR_clear_error
    - assert
    - fclose
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_chain_fsave(apr_array_header_t *certs, apr_pool_t
      *p, \n                            const char *fname, apr_fileperms_t perms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:1770,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:1771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - domains
    - p
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1775
    functionName: alt_names
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 2
    functionsReached:
    - APR_ARRAY_IDX
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *alt_names(apr_array_header_t *domains, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1783,1
    - Dst: X509V3_set_ctx_nodb
      Src: /src/httpd/modules/md/md_crypt.c:1784,1
    - Dst: X509V3_set_ctx
      Src: /src/httpd/modules/md/md_crypt.c:1785,1
    - Dst: X509V3_EXT_conf_nid
      Src: /src/httpd/modules/md/md_crypt.c:1786,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:1787,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1788,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/md/md_crypt.c:1789,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/md/md_crypt.c:1789,1
    - Dst: ERR_clear_error
      Src: /src/httpd/modules/md/md_crypt.c:1793,1
    - Dst: X509_add_ext
      Src: /src/httpd/modules/md/md_crypt.c:1794,1
    - Dst: ERR_get_error
      Src: /src/httpd/modules/md/md_crypt.c:1796,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1797,1
    - Dst: ERR_GET_LIB
      Src: /src/httpd/modules/md/md_crypt.c:1798,1
    - Dst: ERR_GET_REASON
      Src: /src/httpd/modules/md/md_crypt.c:1798,1
    - Dst: X509_EXTENSION_free
      Src: /src/httpd/modules/md/md_crypt.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - x
    - nid
    - value
    - p
    argTypes:
    - X509*
    - int
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1802
    functionName: add_ext
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 2
    functionsReached:
    - X509V3_EXT_conf_nid
    - X509_add_ext
    - X509V3_set_ctx
    - X509V3_set_ctx_nodb
    - ERR_GET_LIB
    - ERR_get_error
    - X509_EXTENSION_free
    - md_log_perror
    - ERR_clear_error
    - ERR_GET_REASON
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t add_ext(X509 *x, int nid, const char *value, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD_GET_NID
      Src: /src/httpd/modules/md/md_crypt.c:1826,1
    - Dst: X509_get_ext_by_NID
      Src: /src/httpd/modules/md/md_crypt.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    functionName: md_cert_must_staple
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    - MD_GET_NID
    linkageType: ''
    returnType: int
    signature: int md_cert_must_staple(const md_cert_t *cert)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/md/md_crypt.c:1859,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_crypt.c:1864,1
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_crypt.c:1865,1
    - Dst: X509_REQ_new
      Src: /src/httpd/modules/md/md_crypt.c:1867,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/httpd/modules/md/md_crypt.c:1868,1
    - Dst: X509_NAME_new
      Src: /src/httpd/modules/md/md_crypt.c:1869,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1871,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:1876,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_crypt.c:1886,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/httpd/modules/md/md_crypt.c:1887,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/httpd/modules/md/md_crypt.c:1888,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1889,1
    - Dst: sk_add_alt_names
      Src: /src/httpd/modules/md/md_crypt.c:1893,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1894,1
    - Dst: add_must_staple
      Src: /src/httpd/modules/md/md_crypt.c:1897,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1898,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/httpd/modules/md/md_crypt.c:1906,1
    - Dst: X509_REQ_add_extensions
      Src: /src/httpd/modules/md/md_crypt.c:1906,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1907,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/httpd/modules/md/md_crypt.c:1911,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1912,1
    - Dst: X509_REQ_sign
      Src: /src/httpd/modules/md/md_crypt.c:1916,1
    - Dst: pkey_get_MD
      Src: /src/httpd/modules/md/md_crypt.c:1916,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1917,1
    - Dst: i2d_X509_REQ
      Src: /src/httpd/modules/md/md_crypt.c:1920,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1921,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:1925,1
    - Dst: i2d_X509_REQ
      Src: /src/httpd/modules/md/md_crypt.c:1926,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1927,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:1930,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/httpd/modules/md/md_crypt.c:1935,1
    - Dst: X509_REQ_free
      Src: /src/httpd/modules/md/md_crypt.c:1938,1
    - Dst: X509_NAME_free
      Src: /src/httpd/modules/md/md_crypt.c:1941,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 6
    argNames:
    - pcsr_der_64
    - name
    - domains
    - must_staple
    - pkey
    - p
    argTypes:
    - char**
    - char*
    - apr_array_header_t*
    - int
    - md_pkey_t*
    - apr_pool_t*
    assertStmts:
    - condition: (domains->nelts > 0)
      pos:
        line_end: 1863
        line_start: 1863
        source_file: /src/httpd/modules/md/md_crypt.c
    constantsTouched: []
    func_position:
      end: 1945
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1945
    functionName: md_cert_req_create
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_REQ_new
    - X509_REQ_add_extensions
    - sk_X509_EXTENSION_new_null
    - md_log_perror
    - md_util_base64url_encode
    - X509_NAME_free
    - sk_X509_EXTENSION_num
    - X509_REQ_free
    - i2d_X509_REQ
    - X509_NAME_add_entry_by_txt
    - X509_REQ_sign
    - sk_add_alt_names
    - md_data_null
    - sk_X509_EXTENSION_pop_free
    - pkey_get_MD
    - APR_ARRAY_IDX
    - X509_REQ_set_subject_name
    - X509_NAME_new
    - STACK_OF
    - assert
    - apr_pcalloc
    - add_must_staple
    - X509_REQ_set_pubkey
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_req_create(const char **pcsr_der_64, const char
      *name,\n                                apr_array_header_t *domains, int must_staple,
      \n                                md_pkey_t *pkey, apr_pool_t *p)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/httpd/modules/md/md_crypt.c:1958,1
    - Dst: X509_NAME_new
      Src: /src/httpd/modules/md/md_crypt.c:1959,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1961,1
    - Dst: md_rand_bytes
      Src: /src/httpd/modules/md/md_crypt.c:1965,1
    - Dst: BN_bin2bn
      Src: /src/httpd/modules/md/md_crypt.c:1966,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/httpd/modules/md/md_crypt.c:1967,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1968,1
    - Dst: X509_set_serialNumber
      Src: /src/httpd/modules/md/md_crypt.c:1971,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1972,1
    - Dst: X509_set_version
      Src: /src/httpd/modules/md/md_crypt.c:1975,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1976,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/httpd/modules/md/md_crypt.c:1980,1
    - Dst: X509_set_subject_name
      Src: /src/httpd/modules/md/md_crypt.c:1981,1
    - Dst: X509_set_issuer_name
      Src: /src/httpd/modules/md/md_crypt.c:1982,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1983,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:1987,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1988,1
    - Dst: X509_set_pubkey
      Src: /src/httpd/modules/md/md_crypt.c:1992,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:1993,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_crypt.c:1997,1
    - Dst: X509_set_notBefore
      Src: /src/httpd/modules/md/md_crypt.c:1998,1
    - Dst: ASN1_TIME_set
      Src: /src/httpd/modules/md/md_crypt.c:1998,1
    - Dst: time
      Src: /src/httpd/modules/md/md_crypt.c:1998,1
    - Dst: X509_set_notAfter
      Src: /src/httpd/modules/md/md_crypt.c:2001,1
    - Dst: ASN1_TIME_adj
      Src: /src/httpd/modules/md/md_crypt.c:2001,1
    - Dst: time
      Src: /src/httpd/modules/md/md_crypt.c:2001,1
    - Dst: X509_free
      Src: /src/httpd/modules/md/md_crypt.c:2007,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_crypt.c:2008,1
    - Dst: ASN1_INTEGER_free
      Src: /src/httpd/modules/md/md_crypt.c:2009,1
    - Dst: X509_NAME_free
      Src: /src/httpd/modules/md/md_crypt.c:2010,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 5
    argNames:
    - px
    - pkey
    - cn
    - valid_for
    - p
    argTypes:
    - X509**
    - md_pkey_t*
    - char*
    - apr_interval_time_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1947
    functionDepth: 3
    functionLinenumber: 1947
    functionLinenumberEnd: 2012
    functionName: mk_x509
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_set_subject_name
    - md_log_perror
    - X509_set_notAfter
    - ASN1_TIME_set
    - X509_NAME_free
    - X509_set_version
    - X509_NAME_add_entry_by_txt
    - time
    - BN_free
    - BN_bin2bn
    - BN_to_ASN1_INTEGER
    - apr_time_sec
    - ASN1_INTEGER_free
    - X509_set_notBefore
    - X509_set_pubkey
    - X509_set_serialNumber
    - X509_NAME_new
    - X509_free
    - md_rand_bytes
    - add_ext
    - ASN1_TIME_adj
    - X509_set_issuer_name
    - X509_new
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mk_x509(X509 **px, md_pkey_t *pkey, const char *cn,\n
      \                           apr_interval_time_t valid_for, apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_crypt.c:2022,1
    - Dst: mk_x509
      Src: /src/httpd/modules/md/md_crypt.c:2024,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:2027,1
    - Dst: alt_names
      Src: /src/httpd/modules/md/md_crypt.c:2027,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2028,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:2034,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2035,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:2038,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2039,1
    - Dst: X509_sign
      Src: /src/httpd/modules/md/md_crypt.c:2044,1
    - Dst: pkey_get_MD
      Src: /src/httpd/modules/md/md_crypt.c:2044,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2045,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:2049,1
    - Dst: X509_free
      Src: /src/httpd/modules/md/md_crypt.c:2054,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - pcert
    - cn
    - domains
    - pkey
    - valid_for
    - p
    argTypes:
    - md_cert_t**
    - char*
    - apr_array_header_t*
    - md_pkey_t*
    - apr_interval_time_t
    - apr_pool_t*
    assertStmts:
    - condition: (domains)
      pos:
        line_end: 2021
        line_start: 2021
        source_file: /src/httpd/modules/md/md_crypt.c
    constantsTouched: []
    func_position:
      end: 2056
      start: 2014
    functionDepth: 4
    functionLinenumber: 2014
    functionLinenumberEnd: 2056
    functionName: md_cert_self_sign
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 1
    functionsReached:
    - X509_free
    - md_log_perror
    - add_ext
    - X509_sign
    - md_cert_make
    - alt_names
    - assert
    - mk_x509
    - pkey_get_MD
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_self_sign(md_cert_t **pcert, const char *cn,
      \n                               apr_array_header_t *domains, md_pkey_t *pkey,\n
      \                              apr_interval_time_t valid_for, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/md/md_crypt.c:2064,1
    - Dst: OBJ_create
      Src: /src/httpd/modules/md/md_crypt.c:2066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2070
    functionName: get_acme_validation_nid
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_create
    linkageType: ''
    returnType: int
    signature: int get_acme_validation_nid(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mk_x509
      Src: /src/httpd/modules/md/md_crypt.c:2081,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:2084,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:2085,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2086,1
    - Dst: add_ext
      Src: /src/httpd/modules/md/md_crypt.c:2090,1
    - Dst: get_acme_validation_nid
      Src: /src/httpd/modules/md/md_crypt.c:2090,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2091,1
    - Dst: X509_sign
      Src: /src/httpd/modules/md/md_crypt.c:2096,1
    - Dst: pkey_get_MD
      Src: /src/httpd/modules/md/md_crypt.c:2096,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2097,1
    - Dst: md_cert_make
      Src: /src/httpd/modules/md/md_crypt.c:2101,1
    - Dst: X509_free
      Src: /src/httpd/modules/md/md_crypt.c:2106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 6
    argNames:
    - pcert
    - domain
    - acme_id
    - pkey
    - valid_for
    - p
    argTypes:
    - md_cert_t**
    - char*
    - char*
    - md_pkey_t*
    - apr_interval_time_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2072
    functionDepth: 4
    functionLinenumber: 2072
    functionLinenumberEnd: 2110
    functionName: md_cert_make_tls_alpn_01
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - get_acme_validation_nid
    - X509_free
    - md_log_perror
    - add_ext
    - X509_sign
    - md_cert_make
    - apr_psprintf
    - mk_x509
    - pkey_get_MD
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_make_tls_alpn_01(md_cert_t **pcert, const char
      *domain, \n                                      const char *acme_id, md_pkey_t
      *pkey, \n                                      apr_interval_time_t valid_for,
      apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/httpd/modules/md/md_crypt.c:2118,1
    - Dst: OBJ_create
      Src: /src/httpd/modules/md/md_crypt.c:2120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2124
    functionName: get_ct_scts_nid
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_create
    linkageType: ''
    returnType: int
    signature: int get_ct_scts_nid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/httpd/modules/md/md_crypt.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: md_nid_get_sname
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    linkageType: ''
    returnType: char
    signature: char *md_nid_get_sname(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/httpd/modules/md/md_crypt.c:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2135
    functionName: md_nid_get_lname
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    linkageType: ''
    returnType: char
    signature: char *md_nid_get_lname(int nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/md/md_crypt.c:2141,1
    - Dst: get_ct_scts_nid
      Src: /src/httpd/modules/md/md_crypt.c:2147,1
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/md/md_crypt.c:2152,1
    - Dst: sk_SCT_num
      Src: /src/httpd/modules/md/md_crypt.c:2154,1
    - Dst: sk_SCT_value
      Src: /src/httpd/modules/md/md_crypt.c:2155,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:2157,1
    - Dst: SCT_get_version
      Src: /src/httpd/modules/md/md_crypt.c:2158,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/md/md_crypt.c:2159,1
    - Dst: SCT_get_timestamp
      Src: /src/httpd/modules/md/md_crypt.c:2159,1
    - Dst: SCT_get0_log_id
      Src: /src/httpd/modules/md/md_crypt.c:2160,1
    - Dst: md_data_make_pcopy
      Src: /src/httpd/modules/md/md_crypt.c:2161,1
    - Dst: SCT_get_signature_nid
      Src: /src/httpd/modules/md/md_crypt.c:2162,1
    - Dst: SCT_get0_signature
      Src: /src/httpd/modules/md/md_crypt.c:2163,1
    - Dst: md_data_make_pcopy
      Src: /src/httpd/modules/md/md_crypt.c:2164,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - scts
    - p
    - cert
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2180
    functionName: md_cert_get_ct_scts
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - get_ct_scts_nid
    - apr_pcalloc
    - SCT_get_timestamp
    - SCT_get_signature_nid
    - md_log_perror
    - apr_time_from_msec
    - SCT_get0_log_id
    - STACK_OF
    - SCT_get_version
    - md_data_make_pcopy
    - X509_get_ext_d2i
    - sk_SCT_num
    - sk_SCT_value
    - SCT_get0_signature
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_get_ct_scts(apr_array_header_t *scts, apr_pool_t
      *p, const md_cert_t *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/httpd/modules/md/md_crypt.c:2184,1
    - Dst: X509_get1_ocsp
      Src: /src/httpd/modules/md/md_crypt.c:2188,1
    - Dst: md_cert_get_X509
      Src: /src/httpd/modules/md/md_crypt.c:2188,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_crypt.c:2193,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/httpd/modules/md/md_crypt.c:2193,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2194,1
    - Dst: X509_email_free
      Src: /src/httpd/modules/md/md_crypt.c:2197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - purl
    - p
    - cert
    argTypes:
    - char**
    - apr_pool_t*
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2200
    functionName: md_cert_get_ocsp_responder_url
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - md_cert_get_X509
    - sk_OPENSSL_STRING_value
    - md_log_perror
    - STACK_OF
    - apr_pstrdup
    - X509_email_free
    - X509_get1_ocsp
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_cert_get_ocsp_responder_url(const char **purl, apr_pool_t
      *p, const md_cert_t *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_crypt.c:2210,1
    - Dst: X509_check_private_key
      Src: /src/httpd/modules/md/md_crypt.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - certs
    - pkey
    argTypes:
    - struct apr_array_header_t*
    - md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2217
    functionName: md_check_cert_and_pkey
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - X509_check_private_key
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_check_cert_and_pkey(struct apr_array_header_t *certs,
      md_pkey_t *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/httpd/modules/md/md_crypt.c:2232,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2234,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2240,1
    - Dst: ASN1_STRING_length
      Src: /src/httpd/modules/md/md_crypt.c:2244,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/httpd/modules/md/md_crypt.c:2245,1
    - Dst: X509_get0_serialNumber
      Src: /src/httpd/modules/md/md_crypt.c:2248,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_crypt.c:2250,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_crypt.c:2254,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/httpd/modules/md/md_crypt.c:2255,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_crypt.c:2259,1
    - Dst: BN_num_bytes
      Src: /src/httpd/modules/md/md_crypt.c:2259,1
    - Dst: BN_bn2bin
      Src: /src/httpd/modules/md/md_crypt.c:2260,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_crypt.c:2261,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_crypt.c:2268,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:2269,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_crypt.c:2270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - pari_cert_id
    - cert
    - p
    argTypes:
    - char**
    - md_cert_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2278
    functionName: md_cert_get_ari_cert_id
    functionSourceFile: /src/httpd/modules/md/md_crypt.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - memset
    - apr_pcalloc
    - ASN1_STRING_length
    - BN_free
    - ASN1_STRING_get0_data
    - md_log_perror
    - BN_bn2bin
    - md_util_base64url_encode
    - ASN1_INTEGER_to_BN
    - apr_psprintf
    - X509_get_ext_d2i
    - X509_get0_serialNumber
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_cert_get_ari_cert_id(const char **pari_cert_id,\n
      \                                    const md_cert_t *cert, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_core.c:37,1
    - Dst: md_dns_domains_match
      Src: /src/httpd/modules/md/md_core.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - md
    - domain
    - case_sensitive
    argTypes:
    - md_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: md_contains
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 1
    functionsReached:
    - md_array_str_index
    - md_dns_domains_match
    linkageType: ''
    returnType: int
    signature: int md_contains(const md_t *md, const char *domain, int case_sensitive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:53,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_core.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - md1
    - md2
    argTypes:
    - md_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: md_common_name
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 1
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: char
    signature: char *md_common_name(const md_t *md1, const md_t *md2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_common_name
      Src: /src/httpd/modules/md/md_core.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md1
    - md2
    argTypes:
    - md_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: md_domains_overlap
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_common_name
    linkageType: ''
    returnType: int
    signature: int md_domains_overlap(const md_t *md1, const md_t *md2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:78,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_core.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - md1
    - md2
    argTypes:
    - md_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: md_common_name_count
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t md_common_name_count(const md_t *md1, const md_t *md2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:93,1
    - Dst: md_dns_domains_match
      Src: /src/httpd/modules/md/md_core.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - md
    - alt_names
    argTypes:
    - md_t*
    - struct apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: md_is_covered_by_alt_names
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_dns_domains_match
    linkageType: ''
    returnType: int
    signature: int md_is_covered_by_alt_names(const md_t *md, const struct apr_array_header_t*
      alt_names)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_core.c:105,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:107,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:108,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: md_create_empty
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: md_t
    signature: md_t *md_create_empty(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:128,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_core.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - md1
    - md2
    - case_sensitive
    argTypes:
    - md_t*
    - md_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: md_equal_domains
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_equal_domains(const md_t *md1, const md_t *md2, int case_sensitive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:143,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_core.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - md1
    - md2
    argTypes:
    - md_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: md_contains_domains
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_contains_domains(const md_t *md1, const md_t *md2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:157,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_core.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mds
    - name
    argTypes:
    - struct apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: md_get_by_name
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 1
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: md_t
    signature: md_t *md_get_by_name(struct apr_array_header_t *mds, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:169,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_core.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mds
    - domain
    argTypes:
    - struct apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: md_get_by_domain
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 3
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: md_t
    signature: md_t *md_get_by_domain(struct apr_array_header_t *mds, const char *domain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:181,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_core.c:182,1
    - Dst: md_common_name
      Src: /src/httpd/modules/md/md_core.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mds
    - md
    argTypes:
    - struct apr_array_header_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: md_get_by_dns_overlap
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_common_name
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: md_t
    signature: md_t *md_get_by_dns_overlap(struct apr_array_header_t *mds, const md_t
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_core.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: md_cert_count
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 2
    functionsReached:
    - md_pkeys_spec_count
    linkageType: ''
    returnType: int
    signature: int md_cert_count(const md_t *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_create_empty
      Src: /src/httpd/modules/md/md_core.c:202,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:203,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_core.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - domains
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: md_create
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_array_str_compact
    - md_create_empty
    linkageType: ''
    returnType: md_t
    signature: md_t *md_create(apr_pool_t *p, apr_array_header_t *domains)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_core.c:216,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_core.c:218,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_core.c:219,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_core.c:220,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_core.c:222,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_core.c:224,1
    - Dst: md_pkeys_spec_clone
      Src: /src/httpd/modules/md/md_core.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p
    - src
    argTypes:
    - apr_pool_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: md_copy
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - apr_array_copy
    - apr_pcalloc
    - md_pkeys_spec_clone
    - memcpy
    linkageType: ''
    returnType: md_t
    signature: md_t *md_copy(apr_pool_t *p, const md_t *src)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_core.c:234,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:237,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:241,1
    - Dst: md_pkeys_spec_clone
      Src: /src/httpd/modules/md/md_core.c:242,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_core.c:245,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:246,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_core.c:248,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:250,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:251,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:252,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:253,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_core.c:256,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:258,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:260,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:261,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:262,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:263,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_core.c:264,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_core.c:265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - p
    - src
    argTypes:
    - apr_pool_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: md_clone
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_array_str_compact
    - apr_pcalloc
    - md_pkeys_spec_clone
    - apr_pstrdup
    - md_array_str_clone
    linkageType: ''
    returnType: md_t
    signature: md_t *md_clone(apr_pool_t *p, const md_t *src)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_core.c:275,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:277,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:278,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:279,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:280,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_core.c:281,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:282,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:283,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:284,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_core.c:285,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:286,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:288,1
    - Dst: md_pkeys_spec_is_empty
      Src: /src/httpd/modules/md/md_core.c:289,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_core.c:290,1
    - Dst: md_pkeys_spec_to_json
      Src: /src/httpd/modules/md/md_core.c:290,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_core.c:292,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:294,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_core.c:295,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:297,1
    - Dst: md_timeslice_format
      Src: /src/httpd/modules/md/md_core.c:297,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:299,1
    - Dst: md_timeslice_format
      Src: /src/httpd/modules/md/md_core.c:299,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:302,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:303,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:307,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:310,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_core.c:315,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:316,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:317,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_core.c:318,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_core.c:319,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:320,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:321,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:322,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:323,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_core.c:324,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:325,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:326,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:328,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_core.c:329,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_core.c:330,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - md
    - p
    argTypes:
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 334
    functionName: md_to_json
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - strcmp
    - md_array_str_compact
    - md_json_setl
    - md_json_setb
    - md_timeslice_format
    - md_pkeys_spec_to_json
    - md_pkeys_spec_is_empty
    - md_json_setsa
    - md_json_setj
    - md_json_sets
    - md_json_create
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_to_json(const md_t *md, apr_pool_t *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: md_create_empty
      Src: /src/httpd/modules/md/md_core.c:339,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:341,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:342,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:343,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:344,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:345,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:346,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:347,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:348,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:349,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:353,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_core.c:354,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:356,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:357,1
    - Dst: md_pkeys_spec_from_json
      Src: /src/httpd/modules/md/md_core.c:358,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/md_core.c:358,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_core.c:360,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:361,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_core.c:363,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_core.c:364,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_core.c:365,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_core.c:366,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/md_core.c:367,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_core.c:368,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/md_core.c:369,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:370,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:371,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:372,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_core.c:375,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_core.c:376,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_core.c:379,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_core.c:382,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:383,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:385,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:386,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:387,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:388,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_core.c:389,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_core.c:391,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:392,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:393,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:394,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:395,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:396,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:397,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:398,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_core.c:401,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:402,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_core.c:403,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_core.c:404,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 408
    functionName: md_from_json
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_json_getj
    - md_array_str_compact
    - APR_ARRAY_PUSH
    - md_timeslice_parse
    - md_json_gets
    - md_pkeys_spec_from_json
    - strcmp
    - md_json_getb
    - apr_array_make
    - md_json_has_key
    - md_json_dups
    - md_json_dupsa
    - md_json_getl
    - md_create_empty
    linkageType: ''
    returnType: md_t
    signature: md_t *md_from_json(md_json_t *json, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_to_json
      Src: /src/httpd/modules/md/md_core.c:412,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_core.c:413,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_core.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - md
    - p
    argTypes:
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: md_to_public_json
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - md_json_has_key
    - md_json_sets
    - md_to_json
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_to_public_json(const md_t *md, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_core.c:442,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/md/md_core.c:446,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_core.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - url
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 450
    functionName: md_get_ca_name_from_url
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 2
    functionsReached:
    - apr_pstrdup
    - apr_cstr_casecmp
    - apr_uri_parse
    linkageType: ''
    returnType: char
    signature: char *md_get_ca_name_from_url(apr_pool_t *p, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_core.c:460,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_core.c:466,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_core.c:470,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_core.c:474,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_core.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - purl
    - p
    - name
    argTypes:
    - char**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 481
    functionName: md_get_ca_url_from_name
    functionSourceFile: /src/httpd/modules/md/md_core.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    - apr_array_pstrcat
    - apr_psprintf
    - md_util_abs_uri_check
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_get_ca_url_from_name(const char **purl, apr_pool_t
      *p, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - md_http_impl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: md_http_use_implementation
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_use_implementation(md_http_impl_t *impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_t*::impl::cleanup
      Src: /src/httpd/modules/md/md_http.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: http_cleanup
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_t*::impl::cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t http_cleanup(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/httpd/modules/md/md_http.c:74,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_http.c:82,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_http.c:85,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_http.c:86,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/md/md_http.c:87,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_http.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - phttp
    - p
    - user_agent
    - proxy_url
    argTypes:
    - md_http_t**
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 94
    functionName: md_http_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_bucket_alloc_create
    - init
    - apr_pstrdup
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_create(md_http_t **phttp, apr_pool_t *p, const
      char *user_agent,\n                            const char *proxy_url)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_http_create
      Src: /src/httpd/modules/md/md_http.c:101,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_http.c:106,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_http.c:109,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_http.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - phttp
    - p
    - source_http
    argTypes:
    - md_http_t**
    - apr_pool_t*
    - md_http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: md_http_clone
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 1
    functionsReached:
    - md_http_create
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_clone(md_http_t **phttp,\n                           apr_pool_t
      *p, md_http_t *source_http)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - data
    argTypes:
    - md_http_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: md_http_set_impl_data
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_impl_data(md_http_t *http, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - md_http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: md_http_get_impl_data
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *md_http_get_impl_data(md_http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - resp_limit
    argTypes:
    - md_http_t*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: md_http_set_response_limit
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_response_limit(md_http_t *http, apr_off_t resp_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - timeout
    argTypes:
    - md_http_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: md_http_set_timeout_default
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_timeout_default(md_http_t *http, apr_time_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - timeout
    argTypes:
    - md_http_request_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: md_http_set_timeout
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_timeout(md_http_request_t *req, apr_time_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - timeout
    argTypes:
    - md_http_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: md_http_set_connect_timeout_default
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_connect_timeout_default(md_http_t *http, apr_time_t
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - timeout
    argTypes:
    - md_http_request_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: md_http_set_connect_timeout
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_connect_timeout(md_http_request_t *req, apr_time_t
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - http
    - bytes_per_sec
    - timeout
    argTypes:
    - md_http_t*
    - long
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: md_http_set_stalling_default
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_stalling_default(md_http_t *http, long bytes_per_sec,
      apr_time_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - bytes_per_sec
    - timeout
    argTypes:
    - md_http_request_t*
    - long
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: md_http_set_stalling
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_stalling(md_http_request_t *req, long bytes_per_sec,
      apr_time_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - ca_file
    argTypes:
    - md_http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: md_http_set_ca_file
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_ca_file(md_http_t *http, const char *ca_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - ca_file
    argTypes:
    - md_http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: md_http_set_proxy_ca_file
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_proxy_ca_file(md_http_t *http, const char *ca_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - path
    argTypes:
    - md_http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: md_http_set_unix_socket_path
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_unix_socket_path(md_http_t *http, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/md/md_http.c:187,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/md_http.c:196,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/md/md_http.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - req
    - content_type
    - body
    - body_len
    - detect_len
    argTypes:
    - md_http_request_t*
    - char*
    - apr_bucket_brigade*
    - apr_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: req_set_body
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_table_unset
    - apr_brigade_length
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t req_set_body(md_http_request_t *req, const char *content_type,\n
      \                                apr_bucket_brigade *body, apr_off_t body_len,\n
      \                                int detect_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/md/md_http.c:211,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/md/md_http.c:212,1
    - Dst: req_set_body
      Src: /src/httpd/modules/md/md_http.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - req
    - content_type
    - body
    argTypes:
    - md_http_request_t*
    - char*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: req_set_body_data
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - apr_brigade_write
    - apr_brigade_create
    - req_set_body
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t req_set_body_data(md_http_request_t *req, const char
      *content_type,\n                                      const md_data_t *body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/md/md_http.c:228,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/md_http.c:232,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_http.c:234,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/md/md_http.c:241,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/md/md_http.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 5
    argNames:
    - preq
    - http
    - method
    - url
    - headers
    argTypes:
    - md_http_request_t**
    - md_http_t*
    - char*
    - char*
    - struct apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: req_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - apr_table_copy
    - apr_table_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t req_create(md_http_request_t **preq, md_http_t *http,
      \n                               const char *method, const char *url, \n                               struct
      apr_table_t *headers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_http_request_t*::http::impl::req_cleanup
      Src: /src/httpd/modules/md/md_http.c:257,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/md_http.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: md_http_req_destroy
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 2
    functionsReached:
    - apr_pool_destroy
    - md_http_request_t*::http::impl::req_cleanup
    linkageType: ''
    returnType: void
    signature: void md_http_req_destroy(md_http_request_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - cb
    - baton
    argTypes:
    - md_http_request_t*
    - md_http_status_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: md_http_set_on_status_cb
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_on_status_cb(md_http_request_t *req, md_http_status_cb
      *cb, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - cb
    - baton
    argTypes:
    - md_http_request_t*
    - md_http_response_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: md_http_set_on_response_cb
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_http_set_on_response_cb(md_http_request_t *req, md_http_response_cb
      *cb, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_http_request_t*::http::impl::perform
      Src: /src/httpd/modules/md/md_http.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - md_http_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: md_http_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_request_t*::http::impl::perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_http_perform(md_http_request_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextreq_proxy_t*::nextreq
      Src: /src/httpd/modules/md/md_http.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - preq
    - baton
    - http
    - in_flight
    argTypes:
    - md_http_request_t**
    - void*
    - md_http_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: proxy_nextreq
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - nextreq_proxy_t*::nextreq
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t proxy_nextreq(md_http_request_t **preq, void *baton,
      \n                                      md_http_t *http, int in_flight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_http_t*::impl::multi_perform
      Src: /src/httpd/modules/md/md_http.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - http
    - nextreq
    - baton
    argTypes:
    - md_http_t*
    - md_http_next_req*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: md_http_multi_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_t*::impl::multi_perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_http_multi_perform(md_http_t *http, md_http_next_req
      *nextreq, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_create
      Src: /src/httpd/modules/md/md_http.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - preq
    - http
    - url
    - headers
    argTypes:
    - md_http_request_t**
    - md_http_t*
    - char*
    - struct apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: md_http_GET_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - req_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_GET_create(md_http_request_t **preq, md_http_t
      *http, const char *url, \n                                struct apr_table_t
      *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_create
      Src: /src/httpd/modules/md/md_http.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - preq
    - http
    - url
    - headers
    argTypes:
    - md_http_request_t**
    - md_http_t*
    - char*
    - struct apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: md_http_HEAD_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - req_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_HEAD_create(md_http_request_t **preq, md_http_t
      *http, const char *url, \n                                 struct apr_table_t
      *headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_create
      Src: /src/httpd/modules/md/md_http.c:332,1
    - Dst: req_set_body
      Src: /src/httpd/modules/md/md_http.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - preq
    - http
    - url
    - headers
    - content_type
    - body
    - detect_len
    argTypes:
    - md_http_request_t**
    - md_http_t*
    - char*
    - struct apr_table_t*
    - char*
    - struct apr_bucket_brigade*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: md_http_POST_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - req_set_body
    - req_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_POST_create(md_http_request_t **preq, md_http_t
      *http, const char *url, \n                                 struct apr_table_t
      *headers, const char *content_type, \n                                 struct
      apr_bucket_brigade *body, int detect_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_create
      Src: /src/httpd/modules/md/md_http.c:347,1
    - Dst: req_set_body_data
      Src: /src/httpd/modules/md/md_http.c:349,1
    - Dst: md_http_req_destroy
      Src: /src/httpd/modules/md/md_http.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - preq
    - http
    - url
    - headers
    - content_type
    - body
    argTypes:
    - md_http_request_t**
    - md_http_t*
    - char*
    - struct apr_table_t*
    - char*
    - struct md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: md_http_POSTd_create
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - req_set_body_data
    - md_http_req_destroy
    - req_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_POSTd_create(md_http_request_t **preq, md_http_t
      *http, const char *url, \n                                  struct apr_table_t
      *headers, const char *content_type, \n                                  const
      struct md_data_t *body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_GET_create
      Src: /src/httpd/modules/md/md_http.c:368,1
    - Dst: md_http_set_on_response_cb
      Src: /src/httpd/modules/md/md_http.c:369,1
    - Dst: md_http_perform
      Src: /src/httpd/modules/md/md_http.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - http
    - url
    - headers
    - cb
    - baton
    argTypes:
    - struct md_http_t*
    - char*
    - struct apr_table_t*
    - md_http_response_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: md_http_GET_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_set_on_response_cb
    - md_http_perform
    - md_http_GET_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_GET_perform(struct md_http_t *http, \n                                 const
      char *url, struct apr_table_t *headers,\n                                 md_http_response_cb
      *cb, void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_HEAD_create
      Src: /src/httpd/modules/md/md_http.c:380,1
    - Dst: md_http_set_on_response_cb
      Src: /src/httpd/modules/md/md_http.c:381,1
    - Dst: md_http_perform
      Src: /src/httpd/modules/md/md_http.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - http
    - url
    - headers
    - cb
    - baton
    argTypes:
    - struct md_http_t*
    - char*
    - struct apr_table_t*
    - md_http_response_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: md_http_HEAD_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_set_on_response_cb
    - md_http_HEAD_create
    - md_http_perform
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_HEAD_perform(struct md_http_t *http, \n                                  const
      char *url, struct apr_table_t *headers,\n                                  md_http_response_cb
      *cb, void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_POST_create
      Src: /src/httpd/modules/md/md_http.c:393,1
    - Dst: md_http_set_on_response_cb
      Src: /src/httpd/modules/md/md_http.c:394,1
    - Dst: md_http_perform
      Src: /src/httpd/modules/md/md_http.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - http
    - url
    - headers
    - content_type
    - body
    - detect_len
    - cb
    - baton
    argTypes:
    - struct md_http_t*
    - char*
    - struct apr_table_t*
    - char*
    - apr_bucket_brigade*
    - int
    - md_http_response_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: md_http_POST_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_set_on_response_cb
    - md_http_POST_create
    - md_http_perform
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_POST_perform(struct md_http_t *http, const char
      *url, \n                                  struct apr_table_t *headers, const
      char *content_type, \n                                  apr_bucket_brigade *body,
      int detect_len, \n                                  md_http_response_cb *cb,
      void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_http_POSTd_create
      Src: /src/httpd/modules/md/md_http.c:406,1
    - Dst: md_http_set_on_response_cb
      Src: /src/httpd/modules/md/md_http.c:407,1
    - Dst: md_http_perform
      Src: /src/httpd/modules/md/md_http.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - http
    - url
    - headers
    - content_type
    - body
    - cb
    - baton
    argTypes:
    - md_http_t*
    - char*
    - struct apr_table_t*
    - char*
    - md_data_t*
    - md_http_response_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: md_http_POSTd_perform
    functionSourceFile: /src/httpd/modules/md/md_http.c
    functionUses: 0
    functionsReached:
    - md_http_POSTd_create
    - md_http_perform
    - md_http_set_on_response_cb
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_http_POSTd_perform(md_http_t *http, const char *url,
      \n                                   struct apr_table_t *headers, const char
      *content_type, \n                                   const md_data_t *body, \n
      \                                  md_http_response_cb *cb, void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_acct.c:45,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_acme_acct.c:47,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_acct.c:48,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_acme_acct.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pacct
    - p
    - ca_url
    - contacts
    argTypes:
    - md_acme_acct_t**
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: acct_make
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_array_make
    - apr_pcalloc
    - apr_array_copy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acct_make(md_acme_acct_t **pacct, apr_pool_t *p, \n                              const
      char *ca_url, apr_array_header_t *contacts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_acct.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - acme
    - i
    argTypes:
    - apr_pool_t*
    - md_acme_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: mk_acct_id
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *mk_acct_id(apr_pool_t *p, md_acme_t *acme, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_acct.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - acme
    argTypes:
    - apr_pool_t*
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mk_acct_pattern
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *mk_acct_pattern(apr_pool_t *p, md_acme_t *acme)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:75,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:78,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: acct_st_from_str
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: md_acme_acct_st
    signature: md_acme_acct_st acct_st_from_str(const char *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_acct.c:93,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_acct.c:94,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:109,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:110,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:111,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_acme_acct.c:112,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_acme_acct.c:113,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:114,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:115,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:116,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - acct
    - p
    argTypes:
    - md_acme_acct_t*
    - apr_pool_t*
    assertStmts:
    - condition: (acct)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/httpd/modules/md/md_acme_acct.c
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: md_acme_acct_to_json
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_json_setsa
    - md_json_setj
    - md_json_sets
    - assert
    - md_json_create
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_acme_acct_to_json(md_acme_acct_t *acct, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:130,1
    - Dst: acct_st_from_str
      Src: /src/httpd/modules/md/md_acme_acct.c:131,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:131,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:134,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:136,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:140,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:142,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_acct.c:146,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:147,1
    - Dst: md_json_getsa
      Src: /src/httpd/modules/md/md_acme_acct.c:148,1
    - Dst: md_json_getsa
      Src: /src/httpd/modules/md/md_acme_acct.c:151,1
    - Dst: acct_make
      Src: /src/httpd/modules/md/md_acme_acct.c:153,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:158,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:161,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:163,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:164,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:165,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:166,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - pacct
    - json
    - p
    argTypes:
    - md_acme_acct_t**
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 173
    functionName: md_acme_acct_from_json
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_json_gets
    - acct_st_from_str
    - md_log_perror
    - acct_make
    - md_json_has_key
    - md_json_getsa
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_acct_from_json(md_acme_acct_t **pacct, md_json_t
      *json, apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_to_json
      Src: /src/httpd/modules/md/md_acme_acct.c:183,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_acct.c:185,1
    - Dst: mk_acct_id
      Src: /src/httpd/modules/md/md_acme_acct.c:190,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_acct.c:191,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_acct.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - store
    - p
    - acme
    - pid
    - acct
    - acct_key
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_acme_t*
    - char**
    - md_acme_acct_t*
    - md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: md_acme_acct_save
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_store_save
    - mk_acct_id
    - md_acme_acct_to_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_acct_save(md_store_t *store, apr_pool_t *p, md_acme_t
      *acme, \n                               const char **pid, md_acme_acct_t *acct,
      md_pkey_t *acct_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_acme_acct.c:208,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_acct.c:209,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:213,1
    - Dst: md_acme_acct_from_json
      Src: /src/httpd/modules/md/md_acme_acct.c:217,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_acme_acct.c:219,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - pacct
    - ppkey
    - store
    - group
    - name
    - p
    argTypes:
    - md_acme_acct_t**
    - md_pkey_t**
    - md_store_t*
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: md_acme_acct_load
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_from_json
    - md_store_load
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_store_load_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_acct_load(md_acme_acct_t **pacct, md_pkey_t **ppkey,\n
      \                              md_store_t *store, md_store_group_t group, \n
      \                              const char *name, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - acct
    - url
    argTypes:
    - md_acme_acct_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: md_acme_acct_matches_url
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int md_acme_acct_matches_url(md_acme_acct_t *acct, const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_matches_url
      Src: /src/httpd/modules/md/md_acme_acct.c:245,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:259,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - acct
    - md
    argTypes:
    - md_acme_acct_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: md_acme_acct_matches_md
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_acme_acct_matches_url
    linkageType: ''
    returnType: int
    signature: int md_acme_acct_matches_md(md_acme_acct_t *acct, const md_t *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:278,1
    - Dst: md_acme_acct_from_json
      Src: /src/httpd/modules/md/md_acme_acct.c:280,1
    - Dst: md_acme_acct_matches_md
      Src: /src/httpd/modules/md/md_acme_acct.c:284,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:285,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_acct.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - baton
    - name
    - aspect
    - vtype
    - value
    - ptemp
    argTypes:
    - void*
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 294
    functionName: find_acct
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - md_acme_acct_matches_md
    - md_acme_acct_from_json
    - md_log_perror
    linkageType: ''
    returnType: int
    signature: "int find_acct(void *baton, const char *name, const char *aspect,\n
      \                    md_store_vtype_t vtype, void *value, apr_pool_t *ptemp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:304,1
    - Dst: md_store_iter
      Src: /src/httpd/modules/md/md_acme_acct.c:308,1
    - Dst: md_acme_acct_load
      Src: /src/httpd/modules/md/md_acme_acct.c:311,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:312,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - pid
    - pacct
    - ppkey
    - store
    - group
    - name_pattern
    - md
    - p
    argTypes:
    - char**
    - md_acme_acct_t**
    - md_pkey_t**
    - md_store_t*
    - md_store_group_t
    - char*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 320
    functionName: acct_find
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_load
    - md_store_iter
    - memset
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acct_find(const char **pid, md_acme_acct_t **pacct, md_pkey_t
      **ppkey, \n                              md_store_t *store, md_store_group_t
      group,\n                              const char *name_pattern,\n                              const
      md_t *md, apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acct_find
      Src: /src/httpd/modules/md/md_acme_acct.c:332,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:334,1
    - Dst: md_acme_acct_validate
      Src: /src/httpd/modules/md/md_acme_acct.c:339,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:340,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_acct.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - store
    - group
    - name_pattern
    - acme
    - md
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - md_acme_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 355
    functionName: acct_find_and_verify
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - acct_find
    - md_acme_acct_validate
    - APR_STATUS_IS_ENOENT
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acct_find_and_verify(md_store_t *store, md_store_group_t
      group, \n                                         const char *name_pattern,\n
      \                                        md_acme_t *acme, const md_t *md,\n
      \                                        apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acct_find_and_verify
      Src: /src/httpd/modules/md/md_acme_acct.c:361,1
    - Dst: mk_acct_pattern
      Src: /src/httpd/modules/md/md_acme_acct.c:362,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_acct.c:367,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:370,1
    - Dst: acct_find_and_verify
      Src: /src/httpd/modules/md/md_acme_acct.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - acme
    - store
    - md
    argTypes:
    - md_acme_t*
    - md_store_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: md_acme_find_acct_for_md
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - acct_find_and_verify
    - APR_STATUS_IS_ENOENT
    - md_log_perror
    - mk_acct_pattern
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_find_acct_for_md(md_acme_t *acme, md_store_t *store,
      const md_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:387,1
    - Dst: md_store_iter
      Src: /src/httpd/modules/md/md_acme_acct.c:391,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pid
    - store
    - group
    - md
    - p
    argTypes:
    - char**
    - md_store_t*
    - md_store_group_t
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: md_acme_acct_id_for_md
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_store_iter
    - memset
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_acct_id_for_md(const char **pid, md_store_t *store,\n
      \                                   md_store_group_t group, const md_t *md,\n
      \                                   apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_acct.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: on_init_acct_upd
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_req_body_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_acct_upd(md_acme_req_t *req, void *baton)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme_acct.c:426,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:427,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme_acct.c:428,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_acct.c:432,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:434,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_acct.c:437,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/md_acme_acct.c:440,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_acme_acct.c:441,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:442,1
    - Dst: acct_st_from_str
      Src: /src/httpd/modules/md/md_acme_acct.c:443,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_acct.c:443,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:445,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_acct.c:446,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_acct.c:448,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_acct.c:449,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_acme_acct.c:455,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - acme
    - p
    - hdrs
    - body
    - baton
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - apr_table_t*
    - md_json_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 459
    functionName: acct_upd
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_log_is_level
    - md_json_gets
    - apr_array_clear
    - md_json_clone
    - acct_st_from_str
    - md_log_perror
    - md_json_has_key
    - md_json_dups
    - apr_table_get
    - md_json_writep
    - md_json_dupsa
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acct_upd(md_acme_t *acme, apr_pool_t *p, \n                             const
      apr_table_t *hdrs, md_json_t *body, void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:465,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:469,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_acct.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - acme
    argTypes:
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: md_acme_acct_update
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_POST
    - memset
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_acct_update(md_acme_t *acme)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_update
      Src: /src/httpd/modules/md/md_acme_acct.c:479,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:480,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:485,1
    - Dst: md_acme_agree
      Src: /src/httpd/modules/md/md_acme_acct.c:487,1
    - Dst: md_acme_acct_save
      Src: /src/httpd/modules/md/md_acme_acct.c:493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - acme
    - store
    - p
    argTypes:
    - md_acme_t*
    - md_store_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 502
    functionName: md_acme_acct_validate
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 1
    functionsReached:
    - md_log_perror
    - md_acme_agree
    - md_acme_acct_save
    - md_acme_acct_update
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_acct_validate(md_acme_t *acme, md_store_t *store,
      apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_acct.c:515,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:516,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:517,1
    - Dst: md_jws_get_jwk
      Src: /src/httpd/modules/md/md_acme_acct.c:519,1
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_acme_acct.c:522,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme_acct.c:523,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme_acct.c:528,1
    - Dst: md_util_base64url_decode
      Src: /src/httpd/modules/md/md_acme_acct.c:530,1
    - Dst: md_result_problem_set
      Src: /src/httpd/modules/md/md_acme_acct.c:533,1
    - Dst: md_jws_hmac
      Src: /src/httpd/modules/md/md_acme_acct.c:538,1
    - Dst: md_result_problem_set
      Src: /src/httpd/modules/md/md_acme_acct.c:540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - peab
    - req
    - kid
    - hmac64
    - account_key
    - url
    argTypes:
    - md_json_t**
    - md_acme_req_t*
    - char*
    - char*
    - md_pkey_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 547
    functionName: get_eab
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_result_problem_set
    - md_jws_hmac
    - md_json_sets
    - md_json_writep
    - md_data_null
    - md_util_base64url_decode
    - md_json_create
    - strlen
    - md_jws_get_jwk
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_eab(md_json_t **peab, md_acme_req_t *req, const char
      *kid,\n                            const char *hmac64, md_pkey_t *account_key,\n
      \                           const char *url)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_acct.c:555,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_acme_acct.c:556,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_acme_acct.c:558,1
    - Dst: get_eab
      Src: /src/httpd/modules/md/md_acme_acct.c:561,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_acme_acct.c:564,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_acct.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 570
    functionName: on_init_acct_new
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - get_eab
    - md_json_setb
    - md_json_setsa
    - md_json_setj
    - md_json_create
    - md_acme_req_body_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_acct_new(md_acme_req_t *req, void *baton)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:582,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:584,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:592,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_acme_acct.c:597,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:598,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_acct.c:607,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_acme_acct.c:608,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:609,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:625,1
    - Dst: md_store_iter
      Src: /src/httpd/modules/md/md_acme_acct.c:629,1
    - Dst: mk_acct_pattern
      Src: /src/httpd/modules/md/md_acme_acct.c:630,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_acme_acct.c:632,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:635,1
    - Dst: md_pkey_gen
      Src: /src/httpd/modules/md/md_acme_acct.c:649,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:651,1
    - Dst: acct_make
      Src: /src/httpd/modules/md/md_acme_acct.c:654,1
    - Dst: md_acme_POST_new_account
      Src: /src/httpd/modules/md/md_acme_acct.c:655,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:657,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - acme
    - store
    - md
    - p
    argTypes:
    - md_acme_t*
    - md_store_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 572
    functionDepth: 3
    functionLinenumber: 572
    functionLinenumberEnd: 666
    functionName: md_acme_acct_register
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_pkey_gen
    - strcmp
    - md_acme_POST_new_account
    - APR_ARRAY_IDX
    - memset
    - md_store_load
    - md_log_perror
    - mk_acct_pattern
    - acct_make
    - md_util_abs_uri_check
    - md_store_iter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_acct_register(md_acme_t *acme, md_store_t *store,\n
      \                                  const md_t *md, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_acct.c:676,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_acct.c:677,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_acct.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: on_init_acct_del
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_acme_req_body_init
    - md_json_sets
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_acct_del(md_acme_req_t *req, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_acct.c:690,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:692,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_acct.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - acme
    - p
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 696
    functionName: md_acme_acct_deactivate
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_POST
    - memset
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_acct_deactivate(md_acme_t *acme, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_acct.c:706,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_acme_acct.c:708,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_acct.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: on_init_agree_tos
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_json_setb
    - md_json_create
    - md_acme_req_body_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_agree_tos(md_acme_req_t *req, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_acct.c:718,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_acct.c:722,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_acct.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - acme
    - p
    - agreement
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 726
    functionName: md_acme_agree
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 1
    functionsReached:
    - strcmp
    - memset
    - md_acme_POST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_agree(md_acme_t *acme, apr_pool_t *p, const char
      *agreement)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_agree
      Src: /src/httpd/modules/md/md_acme_acct.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - acme
    - p
    - agreement
    - prequired
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 748
    functionName: md_acme_check_agreement
    functionSourceFile: /src/httpd/modules/md/md_acme_acct.c
    functionUses: 0
    functionsReached:
    - md_acme_agree
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_check_agreement(md_acme_t *acme, apr_pool_t *p,
      \n                                     const char *agreement, const char **prequired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_ocsp.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: md_openssl_free
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void md_openssl_free(void *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stat
    argTypes:
    - md_ocsp_cert_stat_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: md_ocsp_cert_stat_name
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_ocsp_cert_stat_name(md_ocsp_cert_stat_t stat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_ocsp.c:126,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_ocsp.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: md_ocsp_cert_stat_value
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: md_ocsp_cert_stat_t
    signature: md_ocsp_cert_stat_t md_ocsp_cert_stat_value(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_get_X509
      Src: /src/httpd/modules/md/md_ocsp.c:134,1
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_ocsp.c:137,1
    - Dst: X509_digest
      Src: /src/httpd/modules/md/md_ocsp.c:138,1
    - Dst: EVP_sha1
      Src: /src/httpd/modules/md/md_ocsp.c:138,1
    - Dst: md_data_assign_pcopy
      Src: /src/httpd/modules/md/md_ocsp.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - id
    - p
    - cert
    argTypes:
    - md_data_t*
    - apr_pool_t*
    - md_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: md_ocsp_init_id
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_cert_get_X509
    - md_data_assign_pcopy
    - EVP_sha1
    - md_data_null
    - X509_digest
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_ocsp_init_id(md_data_t *id, apr_pool_t *p, const md_cert_t
      *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_free
      Src: /src/httpd/modules/md/md_ocsp.c:148,1
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_ocsp.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ostat
    argTypes:
    - md_ocsp_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: ostat_req_cleanup
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - OCSP_REQUEST_free
    - md_data_clear
    linkageType: ''
    returnType: void
    signature: void ostat_req_cleanup(md_ocsp_status_t *ostat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostat_req_cleanup
      Src: /src/httpd/modules/md/md_ocsp.c:162,1
    - Dst: OCSP_CERTID_free
      Src: /src/httpd/modules/md/md_ocsp.c:164,1
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_ocsp.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: ostat_cleanup
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - ostat_req_cleanup
    - OCSP_CERTID_free
    - md_data_clear
    linkageType: ''
    returnType: int
    signature: int ostat_cleanup(void *ctx, const void *key, apr_ssize_t klen, const
      void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/md_ocsp.c:175,1
    - Dst: md_timeperiod_has_started
      Src: /src/httpd/modules/md/md_ocsp.c:176,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ostat
    argTypes:
    - md_ocsp_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: ostat_should_renew
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_timeperiod_slice_before_end
    - apr_time_now
    - md_timeperiod_has_started
    linkageType: ''
    returnType: int
    signature: int ostat_should_renew(md_ocsp_status_t *ostat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_data_assign_copy
      Src: /src/httpd/modules/md/md_ocsp.c:184,1
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/md_ocsp.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ostat
    - stat
    - der
    - valid
    - mtime
    argTypes:
    - md_ocsp_status_t*
    - md_ocsp_cert_stat_t
    - md_data_t*
    - md_timeperiod_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: ostat_set
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_timeperiod_slice_before_end
    - md_data_assign_copy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ostat_set(md_ocsp_status_t *ostat, md_ocsp_cert_stat_t
      stat,\n                              md_data_t *der, md_timeperiod_t *valid,
      apr_time_t mtime)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:207,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:208,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:209,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_ocsp.c:210,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_ocsp.c:211,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_ocsp.c:212,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_ocsp.c:213,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_ocsp.c:214,1
    - Dst: md_util_base64url_decode
      Src: /src/httpd/modules/md/md_ocsp.c:216,1
    - Dst: md_ocsp_cert_stat_value
      Src: /src/httpd/modules/md/md_ocsp.c:217,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_ocsp.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - pstat
    - resp_der
    - resp_valid
    - json
    - p
    argTypes:
    - md_ocsp_cert_stat_t*
    - md_data_t*
    - md_timeperiod_t*
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: ostat_from_json
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - memset
    - apr_date_parse_rfc
    - md_json_gets
    - md_ocsp_cert_stat_value
    - md_json_dups
    - md_util_base64url_decode
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ostat_from_json(md_ocsp_cert_stat_t *pstat, \n                                    md_data_t
      *resp_der, md_timeperiod_t *resp_valid, \n                                    md_json_t
      *json, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:231,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_ocsp.c:231,1
    - Dst: md_ocsp_cert_stat_name
      Src: /src/httpd/modules/md/md_ocsp.c:232,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:233,1
    - Dst: md_json_set_timeperiod
      Src: /src/httpd/modules/md/md_ocsp.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - json
    - stat
    - resp_der
    - resp_valid
    - p
    argTypes:
    - md_json_t*
    - md_ocsp_cert_stat_t
    - md_data_t*
    - md_timeperiod_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: ostat_to_json
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_ocsp_cert_stat_name
    - md_util_base64url_encode
    - md_json_sets
    - md_json_set_timeperiod
    linkageType: ''
    returnType: void
    signature: "void ostat_to_json(md_json_t *json, md_ocsp_cert_stat_t stat,\n                          const
      md_data_t *resp_der, const md_timeperiod_t *resp_valid, \n                          apr_pool_t
      *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_store_get_modified
      Src: /src/httpd/modules/md/md_ocsp.c:248,1
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_ocsp.c:250,1
    - Dst: ostat_from_json
      Src: /src/httpd/modules/md/md_ocsp.c:252,1
    - Dst: ostat_set
      Src: /src/httpd/modules/md/md_ocsp.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ostat
    - ptemp
    argTypes:
    - md_ocsp_status_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: ocsp_status_refresh
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - ostat_from_json
    - md_store_load_json
    - ostat_set
    - md_store_get_modified
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ocsp_status_refresh(md_ocsp_status_t *ostat, apr_pool_t
      *ptemp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_ocsp.c:270,1
    - Dst: ostat_to_json
      Src: /src/httpd/modules/md/md_ocsp.c:271,1
    - Dst: md_store_save_json
      Src: /src/httpd/modules/md/md_ocsp.c:272,1
    - Dst: md_store_get_modified
      Src: /src/httpd/modules/md/md_ocsp.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - stat
    - resp_der
    - resp_valid
    - ostat
    - ptemp
    argTypes:
    - md_ocsp_cert_stat_t
    - md_data_t*
    - md_timeperiod_t*
    - md_ocsp_status_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: ocsp_status_save
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_store_save_json
    - md_store_get_modified
    - ostat_to_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ocsp_status_save(md_ocsp_cert_stat_t stat, const md_data_t
      *resp_der, \n                                     const md_timeperiod_t *resp_valid,\n
      \                                    md_ocsp_status_t *ostat, apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_do
      Src: /src/httpd/modules/md/md_ocsp.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: ocsp_reg_cleanup
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_hash_do
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ocsp_reg_cleanup(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/md/md_ocsp.c:297,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/md/md_ocsp.c:306,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/md/md_ocsp.c:307,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/md/md_ocsp.c:311,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_ocsp.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 7
    argNames:
    - preg
    - p
    - store
    - renew_window
    - user_agent
    - proxy_url
    - min_delay
    argTypes:
    - md_ocsp_reg_t**
    - apr_pool_t*
    - md_store_t*
    - md_timeslice_t*
    - char*
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 318
    functionName: md_ocsp_reg_make
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_create
    - apr_hash_make
    - apr_palloc
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_ocsp_reg_make(md_ocsp_reg_t **preg, apr_pool_t *p,
      md_store_t *store, \n                              const md_timeslice_t *renew_window,\n
      \                             const char *user_agent, const char *proxy_url,\n
      \                             apr_time_t min_delay)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:330,1
    - Dst: md_ocsp_init_id
      Src: /src/httpd/modules/md/md_ocsp.c:333,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_ocsp.c:336,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_ocsp.c:339,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_ocsp.c:343,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:344,1
    - Dst: md_cert_to_sha256_fingerprint
      Src: /src/httpd/modules/md/md_ocsp.c:345,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:348,1
    - Dst: md_cert_get_ocsp_responder_url
      Src: /src/httpd/modules/md/md_ocsp.c:350,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:352,1
    - Dst: md_cert_get_serial_number
      Src: /src/httpd/modules/md/md_ocsp.c:354,1
    - Dst: OCSP_cert_to_id
      Src: /src/httpd/modules/md/md_ocsp.c:358,1
    - Dst: md_cert_get_X509
      Src: /src/httpd/modules/md/md_ocsp.c:358,1
    - Dst: md_cert_get_X509
      Src: /src/httpd/modules/md/md_ocsp.c:358,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:361,1
    - Dst: md_cert_get_serial_number
      Src: /src/httpd/modules/md/md_ocsp.c:363,1
    - Dst: ocsp_status_refresh
      Src: /src/httpd/modules/md/md_ocsp.c:368,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:369,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/md_ocsp.c:372,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_ocsp.c:376,1
    - Dst: md_data_assign_pcopy
      Src: /src/httpd/modules/md/md_ocsp.c:378,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/md_ocsp.c:380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 6
    argNames:
    - reg
    - ext_id
    - ext_id_len
    - cert
    - issuer
    - md
    argTypes:
    - md_ocsp_reg_t*
    - char*
    - apr_size_t
    - md_cert_t*
    - md_cert_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 386
    functionName: md_ocsp_prime
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - md_cert_get_X509
    - apr_hash_set
    - md_cert_get_ocsp_responder_url
    - OCSP_cert_to_id
    - apr_pcalloc
    - md_cert_to_sha256_fingerprint
    - ocsp_status_refresh
    - md_ocsp_init_id
    - md_cert_get_serial_number
    - md_log_perror
    - md_data_assign_pcopy
    - md_data_to_hex
    - apr_psprintf
    - apr_hash_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_ocsp_prime(md_ocsp_reg_t *reg, const char *ext_id,
      apr_size_t ext_id_len,\n                           md_cert_t *cert, md_cert_t
      *issuer, const md_t *md)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:403,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_ocsp.c:406,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_ocsp.c:409,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/md/md_ocsp.c:417,1
    - Dst: ocsp_status_refresh
      Src: /src/httpd/modules/md/md_ocsp.c:422,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:424,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_ocsp.c:426,1
    - Dst: ostat_should_renew
      Src: /src/httpd/modules/md/md_ocsp.c:431,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_ocsp.c:436,1
    - Dst: md_timeperiod_remaining
      Src: /src/httpd/modules/md/md_ocsp.c:436,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:436,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:441,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:442,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:442,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:443,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:444,1
    - Dst: ocsp_status_refresh
      Src: /src/httpd/modules/md/md_ocsp.c:445,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_ocsp.c:449,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:450,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/md/md_ocsp.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - cb
    - userdata
    - reg
    - ext_id
    - ext_id_len
    - p
    - md
    argTypes:
    - md_ocsp_copy_der*
    - void*
    - md_ocsp_reg_t*
    - char*
    - apr_size_t
    - apr_pool_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 456
    functionName: md_ocsp_get_status
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_lock
    - md_timeperiod_remaining
    - apr_time_now
    - apr_time_from_sec
    - apr_thread_mutex_unlock
    - apr_time_sec
    - ocsp_status_refresh
    - md_log_perror
    - cb
    - apr_hash_get
    - ostat_should_renew
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_ocsp_get_status(md_ocsp_copy_der *cb, void *userdata,
      md_ocsp_reg_t *reg,\n                                const char *ext_id, apr_size_t
      ext_id_len,\n                                apr_pool_t *p, const md_t *md)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/md/md_ocsp.c:461,1
    - Dst: ocsp_status_refresh
      Src: /src/httpd/modules/md/md_ocsp.c:465,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/md/md_ocsp.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pstat
    - pvalid
    - reg
    - ostat
    - p
    argTypes:
    - md_ocsp_cert_stat_t*
    - md_timeperiod_t*
    - md_ocsp_reg_t*
    - md_ocsp_status_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: ocsp_get_meta
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ocsp_status_refresh
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void ocsp_get_meta(md_ocsp_cert_stat_t *pstat, md_timeperiod_t *pvalid,
      \n                          md_ocsp_reg_t *reg, md_ocsp_status_t *ostat, apr_pool_t
      *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:486,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:488,1
    - Dst: md_ocsp_init_id
      Src: /src/httpd/modules/md/md_ocsp.c:491,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_ocsp.c:494,1
    - Dst: ocsp_get_meta
      Src: /src/httpd/modules/md/md_ocsp.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - pstat
    - pvalid
    - reg
    - cert
    - p
    - md
    argTypes:
    - md_ocsp_cert_stat_t*
    - md_timeperiod_t*
    - md_ocsp_reg_t*
    - md_cert_t*
    - apr_pool_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 504
    functionName: md_ocsp_get_meta
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - memset
    - ocsp_get_meta
    - md_ocsp_init_id
    - md_log_perror
    - apr_hash_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_ocsp_get_meta(md_ocsp_cert_stat_t *pstat, md_timeperiod_t
      *pvalid,\n                              md_ocsp_reg_t *reg, const md_cert_t
      *cert,\n                              apr_pool_t *p, const md_t *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_count
      Src: /src/httpd/modules/md/md_ocsp.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reg
    argTypes:
    - md_ocsp_reg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: md_ocsp_count
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 3
    functionsReached:
    - apr_hash_count
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t md_ocsp_count(md_ocsp_reg_t *reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:516,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/httpd/modules/md/md_ocsp.c:517,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_ocsp.c:519,1
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_ocsp.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - certid
    - p
    argTypes:
    - OCSP_CERTID*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: certid_as_hex
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - i2d_OCSP_CERTID
    - md_data_to_hex
    - memset
    - md_data_clear
    linkageType: ''
    returnType: char
    signature: char *certid_as_hex(const OCSP_CERTID *certid, apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_id_get0_info
      Src: /src/httpd/modules/md/md_ocsp.c:534,1
    - Dst: ASN1_STRING_length
      Src: /src/httpd/modules/md/md_ocsp.c:540,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/httpd/modules/md/md_ocsp.c:541,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_ocsp.c:543,1
    - Dst: ASN1_STRING_length
      Src: /src/httpd/modules/md/md_ocsp.c:550,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/httpd/modules/md/md_ocsp.c:551,1
    - Dst: md_data_to_hex
      Src: /src/httpd/modules/md/md_ocsp.c:553,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/httpd/modules/md/md_ocsp.c:556,1
    - Dst: BN_bn2hex
      Src: /src/httpd/modules/md/md_ocsp.c:557,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_ocsp.c:558,1
    - Dst: BN_free
      Src: /src/httpd/modules/md/md_ocsp.c:559,1
    - Dst: OPENSSL_free
      Src: /src/httpd/modules/md/md_ocsp.c:560,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:562,1
    - Dst: certid_as_hex
      Src: /src/httpd/modules/md/md_ocsp.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - certid
    - p
    argTypes:
    - OCSP_CERTID*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 564
    functionName: certid_summary
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - BN_free
    - certid_as_hex
    - ASN1_STRING_get0_data
    - BN_bn2hex
    - OCSP_id_get0_info
    - md_data_to_hex
    - OPENSSL_free
    - ASN1_INTEGER_to_BN
    - apr_psprintf
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *certid_summary(const OCSP_CERTID *certid, apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: certstatus_string
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *certstatus_string(int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/httpd/modules/md/md_ocsp.c:589,1
    - Dst: OCSP_single_get0_status
      Src: /src/httpd/modules/md/md_ocsp.c:591,1
    - Dst: md_asn1_generalized_time_get
      Src: /src/httpd/modules/md/md_ocsp.c:592,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:592,1
    - Dst: md_asn1_generalized_time_get
      Src: /src/httpd/modules/md/md_ocsp.c:593,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:595,1
    - Dst: certid_summary
      Src: /src/httpd/modules/md/md_ocsp.c:596,1
    - Dst: certstatus_string
      Src: /src/httpd/modules/md/md_ocsp.c:597,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_ocsp.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - resp
    - p
    argTypes:
    - OCSP_SINGLERESP*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: single_resp_summary
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_asn1_generalized_time_get
    - apr_time_now
    - OCSP_SINGLERESP_get0_id
    - certid_summary
    - certstatus_string
    - md_timeperiod_print
    - apr_psprintf
    - OCSP_single_get0_status
    linkageType: ''
    returnType: char
    signature: char *single_resp_summary(OCSP_SINGLERESP* resp, apr_pool_t *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_ocsp.c:626,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/md/md_ocsp.c:628,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/httpd/modules/md/md_ocsp.c:632,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_ocsp.c:636,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:637,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:640,1
    - Dst: OCSP_response_status
      Src: /src/httpd/modules/md/md_ocsp.c:644,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_ocsp.c:647,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:648,1
    - Dst: OCSP_response_get1_basic
      Src: /src/httpd/modules/md/md_ocsp.c:651,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_ocsp.c:654,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:655,1
    - Dst: OCSP_check_nonce
      Src: /src/httpd/modules/md/md_ocsp.c:663,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:665,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_ocsp.c:670,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:671,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:675,1
    - Dst: OCSP_resp_find_status
      Src: /src/httpd/modules/md/md_ocsp.c:682,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:688,1
    - Dst: certid_summary
      Src: /src/httpd/modules/md/md_ocsp.c:689,1
    - Dst: OCSP_resp_count
      Src: /src/httpd/modules/md/md_ocsp.c:690,1
    - Dst: OCSP_resp_get0
      Src: /src/httpd/modules/md/md_ocsp.c:691,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_ocsp.c:692,1
    - Dst: single_resp_summary
      Src: /src/httpd/modules/md/md_ocsp.c:693,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_ocsp.c:696,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:697,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_ocsp.c:702,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:703,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/httpd/modules/md/md_ocsp.c:709,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_ocsp.c:712,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:713,1
    - Dst: md_asn1_generalized_time_get
      Src: /src/httpd/modules/md/md_ocsp.c:719,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:719,1
    - Dst: md_asn1_generalized_time_get
      Src: /src/httpd/modules/md/md_ocsp.c:721,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:726,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/md/md_ocsp.c:730,1
    - Dst: ostat_set
      Src: /src/httpd/modules/md/md_ocsp.c:731,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:731,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/md/md_ocsp.c:732,1
    - Dst: ocsp_status_save
      Src: /src/httpd/modules/md/md_ocsp.c:735,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_ocsp.c:737,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:738,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_ocsp.c:742,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_ocsp.c:744,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:745,1
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_ocsp.c:748,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/httpd/modules/md/md_ocsp.c:749,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/httpd/modules/md/md_ocsp.c:750,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 104
    argCount: 2
    argNames:
    - resp
    - baton
    argTypes:
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 752
    functionName: ostat_on_resp
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - OCSP_response_get1_basic
    - apr_time_now
    - apr_thread_mutex_unlock
    - single_resp_summary
    - md_log_perror
    - md_data_clear
    - d2i_OCSP_RESPONSE
    - md_result_set
    - OCSP_resp_get0
    - ocsp_status_save
    - apr_psprintf
    - OCSP_response_status
    - ostat_set
    - md_asn1_generalized_time_get
    - apr_time_from_sec
    - md_result_log
    - OCSP_RESPONSE_free
    - OCSP_resp_count
    - apr_brigade_pflatten
    - i2d_OCSP_RESPONSE
    - md_result_printf
    - OCSP_resp_find_status
    - apr_thread_mutex_lock
    - OCSP_check_nonce
    - certid_summary
    - md_timeperiod_print
    - md_result_activity_printf
    - OCSP_BASICRESP_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ostat_on_resp(const md_http_response_t *resp, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_job_end_run
      Src: /src/httpd/modules/md/md_ocsp.c:761,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:764,1
    - Dst: md_job_delay_on_errors
      Src: /src/httpd/modules/md/md_ocsp.c:764,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_ocsp.c:765,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_ocsp.c:767,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/md_ocsp.c:768,1
    - Dst: md_event_holler
      Src: /src/httpd/modules/md/md_ocsp.c:770,1
    - Dst: md_event_holler
      Src: /src/httpd/modules/md/md_ocsp.c:773,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/md_ocsp.c:776,1
    - Dst: ostat_req_cleanup
      Src: /src/httpd/modules/md/md_ocsp.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - req
    - status
    - baton
    argTypes:
    - md_http_request_t*
    - apr_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 779
    functionName: ostat_on_req_status
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - md_event_holler
    - md_result_log
    - md_job_delay_on_errors
    - md_job_save
    - md_job_end_run
    - ostat_req_cleanup
    - md_job_log_append
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ostat_on_req_status(const md_http_request_t *req, apr_status_t
      status, \n                                        void *baton)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_new
      Src: /src/httpd/modules/md/md_ocsp.c:795,1
    - Dst: OCSP_CERTID_dup
      Src: /src/httpd/modules/md/md_ocsp.c:797,1
    - Dst: OCSP_request_add0_id
      Src: /src/httpd/modules/md/md_ocsp.c:799,1
    - Dst: OCSP_request_add1_nonce
      Src: /src/httpd/modules/md/md_ocsp.c:801,1
    - Dst: OCSP_CERTID_free
      Src: /src/httpd/modules/md/md_ocsp.c:804,1
    - Dst: OCSP_REQUEST_free
      Src: /src/httpd/modules/md/md_ocsp.c:806,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pocsp_req
    - certid
    argTypes:
    - OCSP_REQUEST**
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 811
    functionName: ocsp_req_make
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - OCSP_request_add0_id
    - OCSP_CERTID_free
    - OCSP_CERTID_dup
    - OCSP_request_add1_nonce
    - OCSP_REQUEST_new
    - OCSP_REQUEST_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ocsp_req_make(OCSP_REQUEST **pocsp_req, OCSP_CERTID *certid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_ocsp.c:817,1
    - Dst: i2d_OCSP_REQUEST
      Src: /src/httpd/modules/md/md_ocsp.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - d
    - ocsp_req
    argTypes:
    - md_data_t*
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: ocsp_req_assign_der
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - i2d_OCSP_REQUEST
    - md_data_clear
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ocsp_req_assign_der(md_data_t *d, OCSP_REQUEST *ocsp_req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_pop
      Src: /src/httpd/modules/md/md_ocsp.c:836,1
    - Dst: md_ocsp_job_make
      Src: /src/httpd/modules/md/md_ocsp.c:841,1
    - Dst: md_job_load
      Src: /src/httpd/modules/md/md_ocsp.c:842,1
    - Dst: md_job_start_run
      Src: /src/httpd/modules/md/md_ocsp.c:843,1
    - Dst: ocsp_req_make
      Src: /src/httpd/modules/md/md_ocsp.c:846,1
    - Dst: ocsp_req_assign_der
      Src: /src/httpd/modules/md/md_ocsp.c:850,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_ocsp.c:853,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/md/md_ocsp.c:855,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/md_ocsp.c:856,1
    - Dst: md_http_POSTd_create
      Src: /src/httpd/modules/md/md_ocsp.c:857,1
    - Dst: md_http_set_on_status_cb
      Src: /src/httpd/modules/md/md_ocsp.c:860,1
    - Dst: md_http_set_on_response_cb
      Src: /src/httpd/modules/md/md_ocsp.c:861,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:863,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - preq
    - baton
    - http
    - in_flight
    argTypes:
    - md_http_request_t**
    - void*
    - md_http_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 871
    functionName: next_todo
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_job_load
    - md_http_set_on_response_cb
    - ocsp_req_assign_der
    - md_http_set_on_status_cb
    - md_log_perror
    - apr_table_set
    - apr_array_pop
    - md_result_activity_printf
    - md_job_start_run
    - md_ocsp_job_make
    - ocsp_req_make
    - apr_table_make
    - md_http_POSTd_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t next_todo(md_http_request_t **preq, void *baton, \n                              md_http_t
      *http, int in_flight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_ocsp.c:882,1
    - Dst: md_result_md_make
      Src: /src/httpd/modules/md/md_ocsp.c:885,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_ocsp.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - baton
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: select_updates
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - md_result_md_make
    - apr_pcalloc
    linkageType: ''
    returnType: int
    signature: int select_updates(void *baton, const void *key, apr_ssize_t klen,
      const void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - baton
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: select_next_run
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    linkageType: ''
    returnType: int
    signature: int select_next_run(void *baton, const void *key, apr_ssize_t klen,
      const void *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_ocsp.c:916,1
    - Dst: md_ocsp_count
      Src: /src/httpd/modules/md/md_ocsp.c:916,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:920,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:920,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/md/md_ocsp.c:921,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:922,1
    - Dst: md_http_create
      Src: /src/httpd/modules/md/md_ocsp.c:926,1
    - Dst: md_http_set_response_limit
      Src: /src/httpd/modules/md/md_ocsp.c:929,1
    - Dst: md_http_set_timeout_default
      Src: /src/httpd/modules/md/md_ocsp.c:930,1
    - Dst: md_http_set_connect_timeout_default
      Src: /src/httpd/modules/md/md_ocsp.c:931,1
    - Dst: md_http_set_stalling_default
      Src: /src/httpd/modules/md/md_ocsp.c:932,1
    - Dst: md_http_multi_perform
      Src: /src/httpd/modules/md/md_ocsp.c:935,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/md/md_ocsp.c:941,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:944,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:944,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_ocsp.c:944,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_ocsp.c:948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - reg
    - p
    - ptemp
    - pnext_run
    argTypes:
    - md_ocsp_reg_t*
    - apr_pool_t*
    - apr_pool_t*
    - apr_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 951
    functionName: md_ocsp_renew
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - md_http_multi_perform
    - apr_time_from_sec
    - apr_time_now
    - apr_hash_do
    - md_log_perror
    - md_http_set_response_limit
    - md_http_set_timeout_default
    - md_http_set_stalling_default
    - md_http_create
    - md_http_set_connect_timeout_default
    - md_ocsp_count
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void md_ocsp_renew(md_ocsp_reg_t *reg, apr_pool_t *p, apr_pool_t *ptemp,
      apr_time_t *pnext_run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_remove_not_modified_since
      Src: /src/httpd/modules/md/md_ocsp.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reg
    - p
    - timestamp
    argTypes:
    - md_ocsp_reg_t*
    - apr_pool_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: md_ocsp_remove_responses_older_than
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - md_store_remove_not_modified_since
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_ocsp_remove_responses_older_than(md_ocsp_reg_t *reg,
      apr_pool_t *p, \n                                                 apr_time_t
      timestamp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_get_meta
      Src: /src/httpd/modules/md/md_ocsp.c:977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - baton
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 984
    functionName: add_to_summary
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - ocsp_get_meta
    linkageType: ''
    returnType: int
    signature: int add_to_summary(void *baton, const void *key, apr_ssize_t klen,
      const void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:991,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/md/md_ocsp.c:994,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_ocsp.c:996,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_ocsp.c:997,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_ocsp.c:998,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_ocsp.c:999,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_ocsp.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pjson
    - reg
    - p
    argTypes:
    - md_json_t**
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1002
    functionName: md_ocsp_get_summary
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - apr_hash_do
    - md_json_setl
    - memset
    - md_json_create
    linkageType: ''
    returnType: void
    signature: void md_ocsp_get_summary(md_json_t **pjson, md_ocsp_reg_t *reg, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_ocsp.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pjson
    - name
    - reg
    - p
    argTypes:
    - md_json_t**
    - char*
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: job_loadj
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - md_store_load_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t job_loadj(md_json_t **pjson, const char *name, \n                              md_ocsp_reg_t
      *reg, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_ocsp.c:1023,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:1024,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:1025,1
    - Dst: ocsp_get_meta
      Src: /src/httpd/modules/md/md_ocsp.c:1026,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:1027,1
    - Dst: md_ocsp_cert_stat_name
      Src: /src/httpd/modules/md/md_ocsp.c:1027,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:1028,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_ocsp.c:1029,1
    - Dst: md_json_set_timeperiod
      Src: /src/httpd/modules/md/md_ocsp.c:1030,1
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/md_ocsp.c:1031,1
    - Dst: md_json_set_time
      Src: /src/httpd/modules/md/md_ocsp.c:1032,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_ocsp.c:1033,1
    - Dst: job_loadj
      Src: /src/httpd/modules/md/md_ocsp.c:1035,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_ocsp.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ostat
    - reg
    - p
    argTypes:
    - md_ocsp_status_t*
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1016
    functionDepth: 4
    functionLinenumber: 1016
    functionLinenumberEnd: 1041
    functionName: mk_jstat
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ocsp_get_meta
    - md_ocsp_cert_stat_name
    - md_json_set_time
    - md_json_setj
    - md_json_sets
    - job_loadj
    - md_json_set_timeperiod
    - md_json_create
    - md_timeperiod_slice_before_end
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *mk_jstat(md_ocsp_status_t *ostat, md_ocsp_reg_t *reg, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_ocsp.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - baton
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1052
    functionName: add_ostat
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    linkageType: ''
    returnType: int
    signature: int add_ostat(void *baton, const void *key, apr_ssize_t klen, const
      void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_ocsp.c:1057,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_ocsp.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: md_ostat_cmp
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int md_ostat_cmp(const void *v1, const void *v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_ocsp.c:1071,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_ocsp.c:1074,1
    - Dst: apr_hash_count
      Src: /src/httpd/modules/md/md_ocsp.c:1074,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_ocsp.c:1075,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/md/md_ocsp.c:1077,1
    - Dst: qsort
      Src: /src/httpd/modules/md/md_ocsp.c:1078,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_ocsp.c:1081,1
    - Dst: md_json_addj
      Src: /src/httpd/modules/md/md_ocsp.c:1082,1
    - Dst: mk_jstat
      Src: /src/httpd/modules/md/md_ocsp.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pjson
    - reg
    - p
    argTypes:
    - md_json_t**
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1064
    functionDepth: 5
    functionLinenumber: 1064
    functionLinenumberEnd: 1085
    functionName: md_ocsp_get_status_all
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - memset
    - APR_ARRAY_IDX
    - apr_hash_do
    - apr_hash_count
    - md_json_addj
    - qsort
    - mk_jstat
    - md_json_create
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void md_ocsp_get_status_all(md_json_t **pjson, md_ocsp_reg_t *reg,
      apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_job_make
      Src: /src/httpd/modules/md/md_ocsp.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ocsp
    - mdomain
    - p
    argTypes:
    - md_ocsp_reg_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: md_ocsp_job_make
    functionSourceFile: /src/httpd/modules/md/md_ocsp.c
    functionUses: 1
    functionsReached:
    - md_job_make
    linkageType: ''
    returnType: md_job_t
    signature: md_job_t *md_ocsp_job_make(md_ocsp_reg_t *ocsp, const char *mdomain,
      apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - logno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MD_RESULT_LOG_ID
    functionSourceFile: /src/httpd/modules/md/md_result.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_RESULT_LOG_ID(logno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:34,1
    - Dst: apr_collapse_spaces
      Src: /src/httpd/modules/md/md_result.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: dup_trim
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_collapse_spaces
    linkageType: ''
    returnType: char
    signature: char *dup_trim(apr_pool_t *p, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_result.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - status
    argTypes:
    - apr_pool_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: md_result_make
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: md_result_t
    signature: md_result_t *md_result_make(apr_pool_t *p, apr_status_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_result_make
      Src: /src/httpd/modules/md/md_result.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - md_name
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: md_result_md_make
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - md_result_make
    linkageType: ''
    returnType: md_result_t
    signature: md_result_t *md_result_md_make(apr_pool_t *p, const char *md_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_result.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: md_result_reset
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void md_result_reset(md_result_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_t*::on_change
      Src: /src/httpd/modules/md/md_result.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: on_change
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - md_result_t*::on_change
    linkageType: ''
    returnType: void
    signature: void on_change(md_result_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_result.c:71,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - activity
    argTypes:
    - md_result_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: md_result_activity_set
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - md_result_activity_setn
    linkageType: ''
    returnType: void
    signature: void md_result_activity_set(md_result_t *result, const char *activity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - activity
    argTypes:
    - md_result_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: md_result_activity_setn
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - on_change
    linkageType: ''
    returnType: void
    signature: void md_result_activity_setn(md_result_t *result, const char *activity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_result.c:86,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_result.c:87,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/md/md_result.c:87,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_result.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - result
    - fmt
    argTypes:
    - md_result_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: md_result_activity_printf
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 2
    functionsReached:
    - va_end
    - apr_pvsprintf
    - md_result_activity_setn
    - va_start
    linkageType: ''
    returnType: void
    signature: void md_result_activity_printf(md_result_t *result, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:95,1
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - result
    - status
    - detail
    argTypes:
    - md_result_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: md_result_set
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 2
    functionsReached:
    - on_change
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void md_result_set(md_result_t *result, apr_status_t status, const
      char *detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup_trim
      Src: /src/httpd/modules/md/md_result.c:105,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:106,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_result.c:107,1
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - result
    - status
    - problem
    - detail
    - subproblems
    argTypes:
    - md_result_t*
    - apr_status_t
    - char*
    - char*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: md_result_problem_set
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - apr_pstrdup
    - dup_trim
    - md_json_clone
    - on_change
    linkageType: ''
    returnType: void
    signature: "void md_result_problem_set(md_result_t *result, apr_status_t status,\n
      \                          const char *problem, const char *detail, \n                           const
      md_json_t *subproblems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup_trim
      Src: /src/httpd/modules/md/md_result.c:117,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_result.c:119,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/md/md_result.c:120,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_result.c:121,1
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - result
    - status
    - problem
    - fmt
    argTypes:
    - md_result_t*
    - apr_status_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: md_result_problem_printf
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 1
    functionsReached:
    - on_change
    - dup_trim
    - va_end
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: "void md_result_problem_printf(md_result_t *result, apr_status_t status,\n
      \                             const char *problem, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_result.c:131,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/md/md_result.c:132,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_result.c:133,1
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - result
    - status
    - fmt
    argTypes:
    - md_result_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: md_result_printf
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 2
    functionsReached:
    - va_end
    - on_change
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void md_result_printf(md_result_t *result, apr_status_t status, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ready_at
    argTypes:
    - md_result_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: md_result_delay_set
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - on_change
    linkageType: ''
    returnType: void
    signature: void md_result_delay_set(md_result_t *result, apr_time_t ready_at)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_make
      Src: /src/httpd/modules/md/md_result.c:149,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_result.c:150,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_result.c:151,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_result.c:152,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_result.c:153,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_result.c:154,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_result.c:155,1
    - Dst: md_json_dupj
      Src: /src/httpd/modules/md/md_result.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - struct md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: md_result_from_json
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - apr_date_parse_rfc
    - md_json_dups
    - md_result_make
    - md_json_getl
    - md_json_dupj
    linkageType: ''
    returnType: md_result_t
    signature: md_result_t *md_result_from_json(const struct md_json_t *json, apr_pool_t
      *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_result.c:165,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_result.c:166,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/md/md_result.c:169,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_result.c:170,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_result.c:172,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_result.c:173,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_result.c:174,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_result.c:176,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_result.c:177,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_result.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - result
    - p
    argTypes:
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: md_result_to_json
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - apr_strerror
    - md_json_setl
    - apr_rfc822_date
    - md_json_setj
    - md_json_sets
    - md_json_create
    linkageType: ''
    returnType: struct md_json_t
    signature: struct md_json_t *md_result_to_json(const md_result_t *result, apr_pool_t
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_result.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: str_cmp
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int str_cmp(const char *s1, const char *s2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: str_cmp
      Src: /src/httpd/modules/md/md_result.c:200,1
    - Dst: str_cmp
      Src: /src/httpd/modules/md/md_result.c:201,1
    - Dst: str_cmp
      Src: /src/httpd/modules/md/md_result.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - md_result_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: md_result_cmp
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - str_cmp
    linkageType: ''
    returnType: int
    signature: int md_result_cmp(const md_result_t *r1, const md_result_t *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - md_result_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: md_result_assign
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_result_assign(md_result_t *dest, const md_result_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup_trim
      Src: /src/httpd/modules/md/md_result.c:219,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:220,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_result.c:221,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_result.c:223,1
    - Dst: on_change
      Src: /src/httpd/modules/md/md_result.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - md_result_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: md_result_dup
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - dup_trim
    - md_json_clone
    - on_change
    linkageType: ''
    returnType: void
    signature: void md_result_dup(md_result_t *dest, const md_result_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_result.c:229,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_result.c:234,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_result.c:238,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_result.c:242,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_result.c:246,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_result.c:250,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_result.c:251,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_result.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - result
    - level
    argTypes:
    - md_result_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: md_result_log
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 3
    functionsReached:
    - md_log_is_level
    - apr_psprintf
    - md_json_writep
    - md_log_perror
    linkageType: ''
    returnType: void
    signature: void md_result_log(md_result_t *result, unsigned int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - cb
    - data
    argTypes:
    - md_result_t*
    - md_result_change_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: md_result_on_change
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_result_on_change(md_result_t *result, md_result_change_cb *cb,
      void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_t*::on_raise
      Src: /src/httpd/modules/md/md_result.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - event
    - p
    argTypes:
    - md_result_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: md_result_raise
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - md_result_t*::on_raise
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_result_raise(md_result_t *result, const char *event,
      apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_t*::on_holler
      Src: /src/httpd/modules/md/md_result.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - result
    - event
    - p
    argTypes:
    - md_result_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: md_result_holler
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached:
    - md_result_t*::on_holler
    linkageType: ''
    returnType: void
    signature: void md_result_holler(md_result_t *result, const char *event, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - cb
    - data
    argTypes:
    - md_result_t*
    - md_result_raise_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: md_result_on_raise
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_result_on_raise(md_result_t *result, md_result_raise_cb *cb,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - cb
    - data
    argTypes:
    - md_result_t*
    - md_result_holler_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: md_result_on_holler
    functionSourceFile: /src/httpd/modules/md/md_result.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_result_on_holler(md_result_t *result, md_result_holler_cb *cb,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_event.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: cleanup_setup
    functionSourceFile: /src/httpd/modules/md/md_event.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_setup(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_event.c:45,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_event.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: md_event_init
    functionSourceFile: /src/httpd/modules/md/md_event.c
    functionUses: 1
    functionsReached:
    - memset
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void md_event_init(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_event.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cb
    - baton
    argTypes:
    - md_event_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: md_event_subscribe
    functionSourceFile: /src/httpd/modules/md/md_event.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void md_event_subscribe(md_event_cb *cb, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_subscription*::cb
      Src: /src/httpd/modules/md/md_event.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - event
    - mdomain
    - job
    - result
    - p
    argTypes:
    - char*
    - char*
    - struct md_job_t*
    - struct md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: md_event_raise
    functionSourceFile: /src/httpd/modules/md/md_event.c
    functionUses: 0
    functionsReached:
    - md_subscription*::cb
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_event_raise(const char *event, \n                            const
      char *mdomain, \n                            struct md_job_t *job, \n                            struct
      md_result_t *result, \n                            apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_subscription*::cb
      Src: /src/httpd/modules/md/md_event.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - event
    - mdomain
    - job
    - result
    - p
    argTypes:
    - char*
    - char*
    - struct md_job_t*
    - struct md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: md_event_holler
    functionSourceFile: /src/httpd/modules/md/md_event.c
    functionUses: 1
    functionsReached:
    - md_subscription*::cb
    linkageType: ''
    returnType: void
    signature: "void md_event_holler(const char *event, \n                     const
      char *mdomain, \n                     struct md_job_t *job, \n                     struct
      md_result_t *result, \n                     apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: APLOGNO
    functionSourceFile: /src/httpd/modules/md/md_log.h
    functionUses: 374
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGNO(n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_reg.c:71,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_reg.c:74,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_reg.c:75,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_reg.c:77,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_reg.c:78,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:81,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:86,1
    - Dst: md_store_remove
      Src: /src/httpd/modules/md/md_reg.c:88,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - reg
    - p
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 97
    functionName: load_props
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_json_getb
    - md_store_load
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_json_has_key
    - md_store_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t load_props(md_reg_t *reg, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_reg.c:108,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/md/md_reg.c:111,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/md/md_reg.c:112,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:115,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_reg.c:116,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:117,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_reg.c:118,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:119,1
    - Dst: md_timeslice_create
      Src: /src/httpd/modules/md/md_reg.c:125,1
    - Dst: md_timeslice_create
      Src: /src/httpd/modules/md/md_reg.c:126,1
    - Dst: md_acme_protos_add
      Src: /src/httpd/modules/md/md_reg.c:128,1
    - Dst: load_props
      Src: /src/httpd/modules/md/md_reg.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 10
    argNames:
    - preg
    - p
    - store
    - proxy_url
    - ca_certs
    - proxy_ca_certs
    - min_delay
    - retry_failover
    - use_store_locks
    - lock_wait_timeout
    argTypes:
    - md_reg_t**
    - apr_pool_t*
    - struct md_store_t*
    - char*
    - char*
    - char*
    - apr_time_t
    - int
    - int
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: md_reg_create
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    - apr_cstr_casecmp
    - md_acme_protos_add
    - load_props
    - apr_pstrdup
    - md_timeslice_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_create(md_reg_t **preg, apr_pool_t *p, struct
      md_store_t *store,\n                           const char *proxy_url, const
      char *ca_certs,\n                           const char *proxy_ca_certs, apr_time_t
      min_delay,\n                           int retry_failover, int use_store_locks,\n
      \                          apr_time_t lock_wait_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reg
    argTypes:
    - md_reg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: md_reg_store_get
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct md_store_t
    signature: struct md_store_t *md_reg_store_get(md_reg_t *reg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:155,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:161,1
    - Dst: md_dns_is_name
      Src: /src/httpd/modules/md/md_reg.c:162,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/md_reg.c:162,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:163,1
    - Dst: md_reg_find_overlap
      Src: /src/httpd/modules/md/md_reg.c:169,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:170,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:182,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_reg.c:183,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:186,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:197,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_reg.c:198,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:200,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_reg.c:216,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_reg.c:217,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:219,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 4
    argNames:
    - reg
    - p
    - md
    - fields
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - md_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 226
    functionName: check_values
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_dns_is_name
    - strcmp
    - APR_ARRAY_IDX
    - md_log_perror
    - md_reg_find_overlap
    - md_util_abs_uri_check
    - md_dns_is_wildcard
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_values(md_reg_t *reg, apr_pool_t *p, const md_t
      *md, int fields)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:250,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_reg.c:254,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_reg.c:255,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:256,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_reg.c:257,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:258,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:260,1
    - Dst: md_is_covered_by_alt_names
      Src: /src/httpd/modules/md/md_reg.c:261,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_reg.c:263,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_reg.c:264,1
    - Dst: md_cert_must_staple
      Src: /src/httpd/modules/md/md_reg.c:267,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_reg.c:269,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_reg.c:272,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:276,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:279,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_reg.c:281,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_reg.c:282,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:289,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - reg
    - p
    - md
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 300
    functionName: state_init
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_cert_must_staple
    - md_pkeys_spec_get
    - md_is_covered_by_alt_names
    - APR_ARRAY_IDX
    - md_reg_get_pubcert
    - md_log_perror
    - md_pkey_spec_name
    - APR_STATUS_IS_ENOENT
    - apr_psprintf
    - md_cert_count
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t state_init(md_reg_t *reg, apr_pool_t *p, md_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_reg.c:318,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:319,1
    - Dst: reg_do_ctx*::cb
      Src: /src/httpd/modules/md/md_reg.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - baton
    - store
    - md
    - ptemp
    argTypes:
    - void*
    - md_store_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: reg_md_iter
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - strcmp
    - state_init
    - reg_do_ctx*::cb
    linkageType: ''
    returnType: int
    signature: int reg_md_iter(void *baton, md_store_t *store, md_t *md, apr_pool_t
      *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_md_iter
      Src: /src/httpd/modules/md/md_reg.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cb
    - baton
    - reg
    - p
    - exclude
    argTypes:
    - md_reg_do_cb*
    - void*
    - md_reg_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: reg_do
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_store_md_iter
    linkageType: ''
    returnType: int
    signature: int reg_do(md_reg_do_cb *cb, void *baton, md_reg_t *reg, apr_pool_t
      *p, const char *exclude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reg_do
      Src: /src/httpd/modules/md/md_reg.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - baton
    - reg
    - p
    argTypes:
    - md_reg_do_cb*
    - void*
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: md_reg_do
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - reg_do
    linkageType: ''
    returnType: int
    signature: int md_reg_do(md_reg_do_cb *cb, void *baton, md_reg_t *reg, apr_pool_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_load
      Src: /src/httpd/modules/md/md_reg.c:349,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - reg
    - name
    - p
    argTypes:
    - md_reg_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: md_reg_get
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_load
    - state_init
    linkageType: ''
    returnType: md_t
    signature: md_t *md_reg_get(md_reg_t *reg, const char *name, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_contains
      Src: /src/httpd/modules/md/md_reg.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - baton
    - reg
    - md
    argTypes:
    - void*
    - md_reg_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: find_domain
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_contains
    linkageType: ''
    returnType: int
    signature: int find_domain(void *baton, md_reg_t *reg, md_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_reg_do
      Src: /src/httpd/modules/md/md_reg.c:380,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - reg
    - domain
    - p
    argTypes:
    - md_reg_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: md_reg_find
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_reg_do
    - state_init
    linkageType: ''
    returnType: md_t
    signature: md_t *md_reg_find(md_reg_t *reg, const char *domain, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_common_name
      Src: /src/httpd/modules/md/md_reg.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - baton
    - reg
    - md
    argTypes:
    - void*
    - md_reg_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: find_overlap
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_common_name
    linkageType: ''
    returnType: int
    signature: int find_overlap(void *baton, md_reg_t *reg, md_t *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reg_do
      Src: /src/httpd/modules/md/md_reg.c:415,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - reg
    - md
    - pdomain
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: md_reg_find_overlap
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - reg_do
    - state_init
    linkageType: ''
    returnType: md_t
    signature: md_t *md_reg_find_overlap(md_reg_t *reg, const md_t *md, const char
      **pdomain, apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:435,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:436,1
    - Dst: md_clone
      Src: /src/httpd/modules/md/md_reg.c:439,1
    - Dst: check_values
      Src: /src/httpd/modules/md/md_reg.c:440,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:441,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_reg.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: p_md_add
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_save
    - va_arg
    - state_init
    - md_clone
    - check_values
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_md_add(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - reg
    - md
    - p
    - do_checks
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: add_md
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t add_md(md_reg_t *reg, md_t *md, apr_pool_t *p, int do_checks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_md
      Src: /src/httpd/modules/md/md_reg.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reg
    - md
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: md_reg_add
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - add_md
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_add(md_reg_t *reg, md_t *md, apr_pool_t *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:466,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:467,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:468,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:469,1
    - Dst: md_reg_get
      Src: /src/httpd/modules/md/md_reg.c:471,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:472,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:476,1
    - Dst: check_values
      Src: /src/httpd/modules/md/md_reg.c:478,1
    - Dst: md_copy
      Src: /src/httpd/modules/md/md_reg.c:483,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:486,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_reg.c:490,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:491,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:495,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:499,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:503,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:506,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:510,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:514,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:518,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:522,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/md_reg.c:524,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:527,1
    - Dst: md_pkeys_spec_clone
      Src: /src/httpd/modules/md/md_reg.c:528,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:531,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:535,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:539,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:543,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:547,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_reg.c:551,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:552,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 555
    functionName: p_md_update
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_save
    - md_pkeys_spec_clone
    - va_arg
    - apr_array_copy
    - md_copy
    - md_reg_get
    - md_log_perror
    - state_init
    - check_values
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_md_update(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reg
    - p
    - name
    - md
    - fields
    - do_checks
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - char*
    - md_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: md_reg_update
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_update(md_reg_t *reg, apr_pool_t *p, \n                           const
      char *name, const md_t *md, int fields, \n                           int do_checks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_remove
      Src: /src/httpd/modules/md/md_reg.c:568,1
    - Dst: md_store_remove
      Src: /src/httpd/modules/md/md_reg.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - reg
    - p
    - acct_id
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: md_reg_delete_acct
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_store_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_delete_acct(md_reg_t *reg, apr_pool_t *p, const
      char *acct_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:590,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:591,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:592,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:593,1
    - Dst: md_chain_fload
      Src: /src/httpd/modules/md/md_reg.c:596,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:596,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_reg.c:599,1
    - Dst: md_pubcert_load
      Src: /src/httpd/modules/md/md_reg.c:600,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_reg.c:608,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:610,1
    - Dst: md_cert_get_alt_names
      Src: /src/httpd/modules/md/md_reg.c:611,1
    - Dst: md_cert_state_get
      Src: /src/httpd/modules/md/md_reg.c:612,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:617,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 625
    functionName: pubcert_load
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_cert_get_alt_names
    - md_pkeys_spec_get
    - APR_ARRAY_IDX
    - apr_pcalloc
    - va_arg
    - md_chain_fload
    - md_log_perror
    - md_pubcert_load
    - md_cert_state_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pubcert_load(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_reg.c:634,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_reg.c:635,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_reg.c:635,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:637,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:638,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_reg.c:640,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:643,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/md_reg.c:644,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_reg.c:644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - ppubcert
    - reg
    - md
    - i
    - p
    argTypes:
    - md_pubcert_t**
    - md_reg_t*
    - md_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 652
    functionName: md_reg_get_pubcert
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_util_pool_vdo
    - apr_hash_set
    - apr_pcalloc
    - apr_pstrdup
    - APR_STATUS_IS_ENOENT
    - apr_psprintf
    - strlen
    - apr_hash_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_get_pubcert(const md_pubcert_t **ppubcert, md_reg_t
      *reg, \n                                const md_t *md, int i, apr_pool_t *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_store_get_fname
      Src: /src/httpd/modules/md/md_reg.c:660,1
    - Dst: md_pkey_filename
      Src: /src/httpd/modules/md/md_reg.c:660,1
    - Dst: md_file_exists
      Src: /src/httpd/modules/md/md_reg.c:662,1
    - Dst: md_store_get_fname
      Src: /src/httpd/modules/md/md_reg.c:663,1
    - Dst: md_chain_filename
      Src: /src/httpd/modules/md/md_reg.c:663,1
    - Dst: md_file_exists
      Src: /src/httpd/modules/md/md_reg.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 7
    argNames:
    - pkeyfile
    - pcertfile
    - reg
    - group
    - md
    - spec
    - p
    argTypes:
    - char**
    - char**
    - md_reg_t*
    - md_store_group_t
    - md_t*
    - md_pkey_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: md_reg_get_cred_files
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_pkey_filename
    - md_file_exists
    - md_chain_filename
    - md_store_get_fname
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_get_cred_files(const char **pkeyfile, const char
      **pcertfile,\n                                   md_reg_t *reg, md_store_group_t
      group, \n                                   const md_t *md, md_pkey_spec_t *spec,
      apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_reg.c:677,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:678,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:680,1
    - Dst: md_cert_get_not_after
      Src: /src/httpd/modules/md/md_reg.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - reg
    - md
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 688
    functionName: md_reg_valid_until
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_reg_get_pubcert
    - APR_ARRAY_IDX
    - md_cert_get_not_after
    - md_cert_count
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_reg_valid_until(md_reg_t *reg, const md_t *md, apr_pool_t
      *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_reg.c:696,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_reg.c:700,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:701,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:702,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:703,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:709,1
    - Dst: md_cert_get_not_before
      Src: /src/httpd/modules/md/md_reg.c:710,1
    - Dst: md_cert_get_not_after
      Src: /src/httpd/modules/md/md_reg.c:711,1
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/md_reg.c:713,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_reg.c:714,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:715,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_reg.c:718,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_reg.c:719,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - reg
    - md
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 728
    functionName: md_reg_renew_at
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_cert_get_not_before
    - apr_time_now
    - APR_ARRAY_IDX
    - md_log_is_level
    - md_reg_get_pubcert
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_timeperiod_print
    - md_cert_count
    - md_timeperiod_slice_before_end
    - md_cert_get_not_after
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_reg_renew_at(md_reg_t *reg, const md_t *md, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_reg_renew_at
      Src: /src/httpd/modules/md/md_reg.c:734,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_reg.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - reg
    - md
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: md_reg_should_renew
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_reg_renew_at
    - apr_time_now
    linkageType: ''
    returnType: int
    signature: int md_reg_should_renew(md_reg_t *reg, const md_t *md, apr_pool_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_reg.c:747,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:748,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:749,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:751,1
    - Dst: md_cert_get_not_before
      Src: /src/httpd/modules/md/md_reg.c:752,1
    - Dst: md_cert_get_not_after
      Src: /src/httpd/modules/md/md_reg.c:753,1
    - Dst: md_timeperiod_slice_before_end
      Src: /src/httpd/modules/md/md_reg.c:755,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_reg.c:756,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:757,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_reg.c:760,1
    - Dst: md_timeperiod_print
      Src: /src/httpd/modules/md/md_reg.c:761,1
    - Dst: md_timeperiod_has_started
      Src: /src/httpd/modules/md/md_reg.c:763,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_reg.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - reg
    - md
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 769
    functionName: md_reg_should_warn
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_cert_get_not_before
    - md_log_is_level
    - APR_ARRAY_IDX
    - apr_time_now
    - md_reg_get_pubcert
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_timeperiod_print
    - md_cert_count
    - md_timeperiod_slice_before_end
    - md_timeperiod_has_started
    - md_cert_get_not_after
    linkageType: ''
    returnType: int
    signature: int md_reg_should_warn(md_reg_t *reg, const md_t *md, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_reg.c:783,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_reg.c:784,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_reg.c:785,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_reg.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - reg
    - p
    - can_http
    - can_https
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: md_reg_set_props
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_store_save
    - md_json_setb
    - md_json_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_set_props(md_reg_t *reg, apr_pool_t *p, int can_http,
      int can_https)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_get_by_name
      Src: /src/httpd/modules/md/md_reg.c:798,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:802,1
    - Dst: md_contains_domains
      Src: /src/httpd/modules/md/md_reg.c:803,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:813,1
    - Dst: md_common_name_count
      Src: /src/httpd/modules/md/md_reg.c:814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - mds
    - md
    argTypes:
    - apr_array_header_t*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 822
    functionName: find_closest_match
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_get_by_name
    - md_contains_domains
    - APR_ARRAY_IDX
    - md_common_name_count
    linkageType: ''
    returnType: md_t
    signature: md_t *find_closest_match(apr_array_header_t *mds, const md_t *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_reg.c:842,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - baton
    - dir
    - name
    - vtype
    - value
    - ptemp
    argTypes:
    - void*
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: iter_add_name
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - APR_ARRAY_PUSH
    linkageType: ''
    returnType: int
    signature: "int iter_add_name(void *baton, const char *dir, const char *name,
      \n                         md_store_vtype_t vtype, void *value, apr_pool_t *ptemp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:866,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_reg.c:870,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_reg.c:871,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_reg.c:872,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_reg.c:873,1
    - Dst: md_store_iter_names
      Src: /src/httpd/modules/md/md_reg.c:875,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:877,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:883,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_reg.c:884,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_reg.c:886,1
    - Dst: md_array_remove_at
      Src: /src/httpd/modules/md/md_reg.c:889,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:900,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_reg.c:901,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:906,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:911,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_reg.c:912,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_reg.c:913,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:917,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:920,1
    - Dst: find_closest_match
      Src: /src/httpd/modules/md/md_reg.c:921,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:924,1
    - Dst: md_store_rename
      Src: /src/httpd/modules/md/md_reg.c:926,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:928,1
    - Dst: md_store_rename
      Src: /src/httpd/modules/md/md_reg.c:932,1
    - Dst: md_array_remove
      Src: /src/httpd/modules/md/md_reg.c:933,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_reg.c:936,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:941,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - reg
    - master_mds
    - p
    argTypes:
    - md_reg_t*
    - apr_array_header_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 947
    functionName: md_reg_sync_start
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    - find_closest_match
    - md_load
    - md_log_perror
    - md_array_remove_at
    - apr_array_make
    - md_array_str_index
    - md_array_remove
    - md_store_rename
    - md_store_iter_names
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_sync_start(md_reg_t *reg, apr_array_header_t *master_mds,
      apr_pool_t *p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_reg.c:964,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_reg.c:964,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:967,1
    - Dst: md_proto_t*::complete_md
      Src: /src/httpd/modules/md/md_reg.c:972,1
    - Dst: state_init
      Src: /src/httpd/modules/md/md_reg.c:975,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:978,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_reg.c:979,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:980,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_reg.c:982,1
    - Dst: md_array_str_clone
      Src: /src/httpd/modules/md/md_reg.c:983,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:986,1
    - Dst: md_array_str_compact
      Src: /src/httpd/modules/md/md_reg.c:987,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:991,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_reg.c:994,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:998,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:999,1
    - Dst: MD_SVAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1000,1
    - Dst: MD_SVAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1001,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1002,1
    - Dst: md_equal_domains
      Src: /src/httpd/modules/md/md_reg.c:1003,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1004,1
    - Dst: md_timeslice_eq
      Src: /src/httpd/modules/md/md_reg.c:1005,1
    - Dst: md_timeslice_eq
      Src: /src/httpd/modules/md/md_reg.c:1006,1
    - Dst: md_pkeys_spec_eq
      Src: /src/httpd/modules/md/md_reg.c:1007,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1008,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1009,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:1010,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1011,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1012,1
    - Dst: MD_VAL_UPDATE
      Src: /src/httpd/modules/md/md_reg.c:1013,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:1014,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:1015,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:1016,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_reg.c:1017,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1022,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_reg.c:1023,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1026,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 48
    argCount: 4
    argNames:
    - reg
    - md
    - p
    - ptemp
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 954
    functionDepth: 4
    functionLinenumber: 954
    functionLinenumberEnd: 1028
    functionName: md_reg_sync_finish
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - apr_is_empty_array
    - md_save
    - md_array_str_compact
    - md_load
    - apr_pstrdup
    - md_log_perror
    - MD_VAL_UPDATE
    - md_array_str_eq
    - md_proto_t*::complete_md
    - state_init
    - md_equal_domains
    - md_timeslice_eq
    - md_pkeys_spec_eq
    - strlen
    - apr_hash_get
    - md_array_str_clone
    - MD_SVAL_UPDATE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_sync_finish(md_reg_t *reg, md_t *md, apr_pool_t
      *p, apr_pool_t *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_move
      Src: /src/httpd/modules/md/md_reg.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - reg
    - p
    - name
    - archive
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: md_reg_remove
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_store_move
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_remove(md_reg_t *reg, apr_pool_t *p, const char
      *name, int archive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:1055,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_reg.c:1056,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1059,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_reg.c:1061,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - baton
    - dir
    - name
    - vtype
    - value
    - ptemp
    argTypes:
    - void*
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1068
    functionName: cleanup_challenge_inspector
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_store_purge
    - strcmp
    - APR_ARRAY_IDX
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cleanup_challenge_inspector(void *baton, const char *dir,
      const char *name, \n                                                md_store_vtype_t
      vtype, void *value, \n                                                apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_iter_names
      Src: /src/httpd/modules/md/md_reg.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - reg
    - p
    - ptemp
    - mds
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1083
    functionName: md_reg_cleanup_challenges
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_store_iter_names
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_cleanup_challenges(md_reg_t *reg, apr_pool_t *p,
      apr_pool_t *ptemp, \n                                       apr_array_header_t
      *mds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_reg.c:1101,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1102,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1103,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1104,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1105,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1106,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_reg.c:1107,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_reg.c:1109,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/md/md_reg.c:1112,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/md/md_reg.c:1112,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/md_reg.c:1114,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_reg.c:1122,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/md_reg.c:1123,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_reg.c:1128,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1129,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/md/md_reg.c:1133,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_reg.c:1133,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_reg.c:1135,1
    - Dst: md_proto_driver_t*::proto::init_preload
      Src: /src/httpd/modules/md/md_reg.c:1140,1
    - Dst: md_proto_driver_t*::proto::init
      Src: /src/httpd/modules/md/md_reg.c:1143,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1148,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - baton
    - p
    argTypes:
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1155
    functionName: run_init
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_reg_store_get
    - md_proto_driver_t*::proto::init
    - apr_hash_get
    - apr_pcalloc
    - va_arg
    - md_log_perror
    - md_result_printf
    - apr_table_copy
    - apr_table_get
    - md_proto_driver_t*::proto::init_preload
    - va_end
    - md_duration_parse
    - strlen
    - apr_table_make
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_init(void *baton, apr_pool_t *p, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1165,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1166,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1167,1
    - Dst: run_init
      Src: /src/httpd/modules/md/md_reg.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1157
    functionDepth: 4
    functionLinenumber: 1157
    functionLinenumberEnd: 1170
    functionName: run_test_init
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - run_init
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_test_init(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reg
    - md
    - env
    - result
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - struct apr_table_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: md_reg_test_init
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_test_init(md_reg_t *reg, const md_t *md, struct
      apr_table_t *env, \n                              md_result_t *result, apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1189,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1190,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1191,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1192,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1193,1
    - Dst: run_init
      Src: /src/httpd/modules/md/md_reg.c:1195,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1197,1
    - Dst: md_proto_driver_t*::proto::renew
      Src: /src/httpd/modules/md/md_reg.c:1201,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1178
    functionDepth: 4
    functionLinenumber: 1178
    functionLinenumberEnd: 1205
    functionName: run_renew
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - run_init
    - md_proto_driver_t*::proto::renew
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_renew(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - reg
    - md
    - env
    - reset
    - attempt
    - result
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_table_t*
    - int
    - int
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1212
    functionName: md_reg_renew
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_renew(md_reg_t *reg, const md_t *md, apr_table_t
      *env, \n                          int reset, int attempt,\n                          md_result_t
      *result, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1226,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1227,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1228,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1229,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1230,1
    - Dst: run_init
      Src: /src/httpd/modules/md/md_reg.c:1232,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1235,1
    - Dst: md_proto_driver_t*::proto::get_ari
      Src: /src/httpd/modules/md/md_reg.c:1237,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1214
    functionDepth: 4
    functionLinenumber: 1214
    functionLinenumberEnd: 1248
    functionName: run_get_ari
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_proto_driver_t*::proto::get_ari
    - run_init
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_get_ari(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - purl
    - reg
    - md
    - env
    - result
    - p
    argTypes:
    - char**
    - md_reg_t*
    - md_t*
    - struct apr_table_t*
    - struct md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1259
    functionName: md_reg_ari_renew_at
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_time_t
    signature: "apr_time_t md_reg_ari_renew_at(const char **purl, md_reg_t *reg,\n
      \                              const md_t *md, struct apr_table_t *env,\n                               struct
      md_result_t *result, apr_pool_t *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1278,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1279,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_reg.c:1280,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:1282,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_reg.c:1282,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1283,1
    - Dst: run_init
      Src: /src/httpd/modules/md/md_reg.c:1287,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/md_reg.c:1290,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_reg.c:1290,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_reg.c:1291,1
    - Dst: md_proto_driver_t*::proto::preload
      Src: /src/httpd/modules/md/md_reg.c:1292,1
    - Dst: md_reg_job_make
      Src: /src/httpd/modules/md/md_reg.c:1296,1
    - Dst: md_job_load
      Src: /src/httpd/modules/md/md_reg.c:1297,1
    - Dst: md_job_set_group
      Src: /src/httpd/modules/md/md_reg.c:1298,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/md_reg.c:1299,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_reg.c:1303,1
    - Dst: md_store_move
      Src: /src/httpd/modules/md/md_reg.c:1304,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_reg.c:1306,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_reg.c:1310,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_reg.c:1311,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_reg.c:1312,1
    - Dst: md_event_holler
      Src: /src/httpd/modules/md/md_reg.c:1313,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/md_reg.c:1314,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:1317,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1261
    functionDepth: 4
    functionLinenumber: 1261
    functionLinenumberEnd: 1321
    functionName: run_load_staging
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - md_job_load
    - md_reg_job_make
    - md_event_holler
    - va_arg
    - md_proto_driver_t*::proto::preload
    - md_load
    - md_job_save
    - md_result_activity_setn
    - md_result_set
    - md_log_perror
    - md_store_purge
    - APR_STATUS_IS_ENOENT
    - md_store_move
    - run_init
    - md_job_set_group
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_load_staging(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_reg.c:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - reg
    - md
    - env
    - result
    - p
    argTypes:
    - md_reg_t*
    - md_t*
    - apr_table_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1328
    functionName: md_reg_load_staging
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_load_staging(md_reg_t *reg, const md_t *md, apr_table_t
      *env, \n                                 md_result_t *result, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:1339,1
    - Dst: md_result_md_make
      Src: /src/httpd/modules/md/md_reg.c:1340,1
    - Dst: md_reg_load_staging
      Src: /src/httpd/modules/md/md_reg.c:1341,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/md_reg.c:1343,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:1346,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1347,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/md_reg.c:1347,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_reg.c:1349,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_reg.c:1350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - reg
    - mds
    - env
    - p
    argTypes:
    - md_reg_t*
    - apr_array_header_t*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1355
    functionName: md_reg_load_stagings
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_result_md_make
    - APR_ARRAY_IDX
    - APLOGNO
    - md_log_perror
    - md_store_purge
    - APR_STATUS_IS_ENOENT
    - md_reg_load_staging
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_reg_load_stagings(md_reg_t *reg, apr_array_header_t
      *mds,\n                                  apr_table_t *env, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_store_lock_global
      Src: /src/httpd/modules/md/md_reg.c:1362,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_reg.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - reg
    - p
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1369
    functionName: md_reg_lock_global
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_store_lock_global
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_lock_global(md_reg_t *reg, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_unlock_global
      Src: /src/httpd/modules/md/md_reg.c:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - reg
    - p
    argTypes:
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1376
    functionName: md_reg_unlock_global
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_store_unlock_global
    linkageType: ''
    returnType: void
    signature: void md_reg_unlock_global(md_reg_t *reg, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_reg.c:1385,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:1388,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_reg.c:1389,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:1390,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_reg.c:1391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - reg
    - mds
    argTypes:
    - md_reg_t*
    - apr_array_header_t*
    assertStmts:
    - condition: (!reg->domains_frozen)
      pos:
        line_end: 1384
        line_start: 1384
        source_file: /src/httpd/modules/md/md_reg.c
    constantsTouched: []
    func_position:
      end: 1397
      start: 1378
    functionDepth: 3
    functionLinenumber: 1378
    functionLinenumberEnd: 1397
    functionName: md_reg_freeze_domains
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - APR_ARRAY_IDX
    - md_reg_get_pubcert
    - APR_STATUS_IS_ENOENT
    - md_cert_count
    - assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_reg_freeze_domains(md_reg_t *reg, apr_array_header_t
      *mds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - renew_window
    argTypes:
    - md_reg_t*
    - md_timeslice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1402
    functionName: md_reg_set_renew_window_default
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_reg_set_renew_window_default(md_reg_t *reg, md_timeslice_t
      *renew_window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - warn_window
    argTypes:
    - md_reg_t*
    - md_timeslice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1407
    functionName: md_reg_set_warn_window_default
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_reg_set_warn_window_default(md_reg_t *reg, md_timeslice_t *warn_window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_job_make
      Src: /src/httpd/modules/md/md_reg.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reg
    - mdomain
    - p
    argTypes:
    - md_reg_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1412
    functionName: md_reg_job_make
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 1
    functionsReached:
    - md_job_make
    linkageType: ''
    returnType: md_job_t
    signature: md_job_t *md_reg_job_make(md_reg_t *reg, const char *mdomain, apr_pool_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_reg.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1420
    functionName: get_cert_count
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_count
    linkageType: ''
    returnType: int
    signature: int get_cert_count(const md_t *md)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_count
      Src: /src/httpd/modules/md/md_reg.c:1435,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_reg.c:1436,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_reg.c:1438,1
    - Dst: md_ocsp_get_meta
      Src: /src/httpd/modules/md/md_reg.c:1441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - reg
    - ocsp
    - md
    - p
    argTypes:
    - md_reg_t*
    - struct md_ocsp_reg_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1422
    functionDepth: 5
    functionLinenumber: 1422
    functionLinenumberEnd: 1447
    functionName: md_reg_has_revoked_certs
    functionSourceFile: /src/httpd/modules/md/md_reg.c
    functionUses: 0
    functionsReached:
    - get_cert_count
    - md_reg_get_pubcert
    - APR_ARRAY_IDX
    - md_ocsp_get_meta
    linkageType: ''
    returnType: int
    signature: "int md_reg_has_revoked_certs(md_reg_t *reg, struct md_ocsp_reg_t *ocsp,\n
      \                            const md_t *md, apr_pool_t *p)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acmev2_drive.c:62,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acmev2_drive.c:63,1
    - Dst: md_acme_order_load
      Src: /src/httpd/modules/md/md_acmev2_drive.c:71,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acmev2_drive.c:73,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acmev2_drive.c:76,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:77,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acmev2_drive.c:78,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acmev2_drive.c:85,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_acmev2_drive.c:86,1
    - Dst: md_pkey_spec_eq
      Src: /src/httpd/modules/md/md_acmev2_drive.c:89,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_acmev2_drive.c:90,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acmev2_drive.c:92,1
    - Dst: md_cert_get_ari_cert_id
      Src: /src/httpd/modules/md/md_acmev2_drive.c:94,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acmev2_drive.c:102,1
    - Dst: md_pkey_spec_to_str
      Src: /src/httpd/modules/md/md_acmev2_drive.c:104,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acmev2_drive.c:112,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acmev2_drive.c:113,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:118,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:121,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:128,1
    - Dst: md_acme_order_register
      Src: /src/httpd/modules/md/md_acmev2_drive.c:134,1
    - Dst: md_acme_order_save
      Src: /src/httpd/modules/md/md_acmev2_drive.c:137,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:139,1
    - Dst: md_acme_report_result
      Src: /src/httpd/modules/md/md_acmev2_drive.c:144,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 3
    argNames:
    - d
    - result
    - pis_new
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    - int*
    assertStmts:
    - condition: (ad->acme)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/httpd/modules/md/md_acmev2_drive.c
    - condition: (ad->md)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/httpd/modules/md/md_acmev2_drive.c
    constantsTouched: []
    func_position:
      end: 146
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 146
    functionName: ad_setup_order
    functionSourceFile: /src/httpd/modules/md/md_acmev2_drive.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    - md_log_perror
    - md_pkey_spec_to_str
    - md_acme_order_register
    - md_pkeys_spec_count
    - md_pkey_spec_eq
    - md_result_set
    - md_pkeys_spec_get
    - APR_ARRAY_IDX
    - md_reg_get_pubcert
    - md_cert_get_ari_cert_id
    - md_acme_report_result
    - APR_STATUS_IS_ENOENT
    - assert
    - md_acme_order_save
    - md_result_activity_setn
    - md_result_activity_printf
    - md_acme_order_purge
    - md_acme_order_load
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ad_setup_order(md_proto_driver_t *d, md_result_t *result,
      int *pis_new)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:156,1
    - Dst: md_acme_drive_set_acct
      Src: /src/httpd/modules/md/md_acmev2_drive.c:159,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acmev2_drive.c:162,1
    - Dst: ad_setup_order
      Src: /src/httpd/modules/md/md_acmev2_drive.c:176,1
    - Dst: md_acme_order_update
      Src: /src/httpd/modules/md/md_acmev2_drive.c:180,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acmev2_drive.c:181,1
    - Dst: APR_STATUS_IS_EACCES
      Src: /src/httpd/modules/md/md_acmev2_drive.c:182,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acmev2_drive.c:186,1
    - Dst: ad_setup_order
      Src: /src/httpd/modules/md/md_acmev2_drive.c:194,1
    - Dst: md_acme_order_start_challenges
      Src: /src/httpd/modules/md/md_acmev2_drive.c:198,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/md/md_acmev2_drive.c:200,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acmev2_drive.c:203,1
    - Dst: md_acme_order_monitor_authzs
      Src: /src/httpd/modules/md/md_acmev2_drive.c:208,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:211,1
    - Dst: md_acme_order_await_ready
      Src: /src/httpd/modules/md/md_acmev2_drive.c:215,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:218,1
    - Dst: md_acme_drive_setup_cred_chain
      Src: /src/httpd/modules/md/md_acmev2_drive.c:223,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acmev2_drive.c:225,1
    - Dst: md_acme_order_await_valid
      Src: /src/httpd/modules/md/md_acmev2_drive.c:228,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:231,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:236,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acmev2_drive.c:239,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acmev2_drive.c:242,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 3
    argNames:
    - ad
    - d
    - result
    argTypes:
    - md_acme_driver_t*
    - md_proto_driver_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 244
    functionName: md_acmev2_drive_renew
    functionSourceFile: /src/httpd/modules/md/md_acmev2_drive.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EACCES
    - md_result_log
    - md_acme_order_monitor_authzs
    - md_acme_drive_set_acct
    - md_result_set
    - md_acme_order_await_valid
    - md_array_is_empty
    - md_log_perror
    - md_acme_order_await_ready
    - APR_STATUS_IS_ENOENT
    - md_acme_drive_setup_cred_chain
    - ad_setup_order
    - APR_STATUS_IS_EINVAL
    - md_acme_order_purge
    - md_acme_order_update
    - md_acme_order_start_challenges
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acmev2_drive_renew(md_acme_driver_t *ad, md_proto_driver_t
      *d, md_result_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_jws.c:34,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:35,1
    - Dst: md_pkey_get_rsa_e64
      Src: /src/httpd/modules/md/md_jws.c:35,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:36,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:37,1
    - Dst: md_pkey_get_rsa_n64
      Src: /src/httpd/modules/md/md_jws.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pjwk
    - p
    - pkey
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - struct md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: md_jws_get_jwk
    functionSourceFile: /src/httpd/modules/md/md_jws.c
    functionUses: 1
    functionsReached:
    - md_json_create
    - md_pkey_get_rsa_e64
    - md_json_sets
    - md_pkey_get_rsa_n64
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_jws_get_jwk(md_json_t **pjwk, apr_pool_t *p, struct
      md_pkey_t *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_jws.c:51,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_jws.c:52,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:53,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:55,1
    - Dst: md_jws_get_jwk
      Src: /src/httpd/modules/md/md_jws.c:58,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_jws.c:60,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_jws.c:63,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_jws.c:66,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_jws.c:69,1
    - Dst: md_data_init
      Src: /src/httpd/modules/md/md_jws.c:73,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_jws.c:73,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_jws.c:74,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:75,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_jws.c:77,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:78,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_jws.c:79,1
    - Dst: md_crypt_sign64
      Src: /src/httpd/modules/md/md_jws.c:81,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_jws.c:81,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_jws.c:83,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 6
    argNames:
    - pmsg
    - p
    - payload
    - prot_fields
    - pkey
    - key_id
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - md_data_t*
    - md_json_t*
    - struct md_pkey_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 91
    functionName: md_jws_sign
    functionSourceFile: /src/httpd/modules/md/md_jws.c
    functionUses: 0
    functionsReached:
    - md_json_clone
    - md_log_perror
    - md_data_init
    - md_json_setj
    - md_util_base64url_encode
    - md_json_sets
    - md_json_writep
    - apr_psprintf
    - md_crypt_sign64
    - md_json_create
    - strlen
    - md_jws_get_jwk
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_jws_sign(md_json_t **pmsg, apr_pool_t *p,\n                         md_data_t
      *payload, md_json_t *prot_fields,\n                         struct md_pkey_t
      *pkey, const char *key_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_get_rsa_e64
      Src: /src/httpd/modules/md/md_jws.c:99,1
    - Dst: md_pkey_get_rsa_n64
      Src: /src/httpd/modules/md/md_jws.c:100,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_jws.c:106,1
    - Dst: md_data_init_str
      Src: /src/httpd/modules/md/md_jws.c:107,1
    - Dst: md_crypt_sha256_digest64
      Src: /src/httpd/modules/md/md_jws.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pthumb
    - p
    - pkey
    argTypes:
    - char**
    - apr_pool_t*
    - struct md_pkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: md_jws_pkey_thumb
    functionSourceFile: /src/httpd/modules/md/md_jws.c
    functionUses: 0
    functionsReached:
    - md_pkey_get_rsa_e64
    - md_data_init_str
    - apr_psprintf
    - md_crypt_sha256_digest64
    - md_pkey_get_rsa_n64
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_jws_pkey_thumb(const char **pthumb, apr_pool_t *p,
      struct md_pkey_t *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_jws.c:121,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_jws.c:122,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:123,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_jws.c:124,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_jws.c:127,1
    - Dst: md_data_init
      Src: /src/httpd/modules/md/md_jws.c:131,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_jws.c:131,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_jws.c:132,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:133,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_jws.c:135,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:136,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_jws.c:137,1
    - Dst: md_crypt_hmac64
      Src: /src/httpd/modules/md/md_jws.c:139,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_jws.c:139,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_jws.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pmsg
    - p
    - payload
    - prot_fields
    - hmac_key
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - md_data_t*
    - md_json_t*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: md_jws_hmac
    functionSourceFile: /src/httpd/modules/md/md_jws.c
    functionUses: 1
    functionsReached:
    - md_json_clone
    - md_log_perror
    - md_data_init
    - md_crypt_hmac64
    - md_util_base64url_encode
    - md_json_sets
    - md_json_writep
    - apr_psprintf
    - md_json_create
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_jws_hmac(md_json_t **pmsg, apr_pool_t *p,\n                         md_data_t
      *payload, md_json_t *prot_fields,\n                         const md_data_t
      *hmac_key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/httpd/modules/md/mod_md_os.c:42,1
    - Dst: chown
      Src: /src/httpd/modules/md/mod_md_os.c:43,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/md/mod_md_os.c:44,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/mod_md_os.c:45,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/md/mod_md_os.c:46,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_os.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - fname
    - uid
    - gid
    - p
    argTypes:
    - char*
    - unsigned int
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: md_try_chown
    functionSourceFile: /src/httpd/modules/md/mod_md_os.c
    functionUses: 0
    functionsReached:
    - geteuid
    - ap_log_perror
    - APLOGNO
    - chown
    - APR_STATUS_IS_ENOENT
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_try_chown(const char *fname, unsigned int uid, int
      gid, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_try_chown
      Src: /src/httpd/modules/md/mod_md_os.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fname
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: md_make_worker_accessible
    functionSourceFile: /src/httpd/modules/md/mod_md_os.c
    functionUses: 1
    functionsReached:
    - md_try_chown
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_make_worker_accessible(const char *fname, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: md_server_graceful
    functionSourceFile: /src/httpd/modules/md/mod_md_os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_server_graceful(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/httpd/modules/md/mod_md_os.c:82,1
    - Dst: getppid
      Src: /src/httpd/modules/md/mod_md_os.c:82,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_os.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: md_server_graceful
    functionSourceFile: /src/httpd/modules/md/mod_md_os.c
    functionUses: 0
    functionsReached:
    - kill
    - getppid
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_server_graceful(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: md_store_group_name
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_store_group_name(unsigned int group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::load
      Src: /src/httpd/modules/md/md_store.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - store
    - group
    - name
    - aspect
    - vtype
    - pdata
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    - void**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: md_store_load
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 5
    functionsReached:
    - md_store_t*::load
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_load(md_store_t *store, md_store_group_t group,
      \n                           const char *name, const char *aspect, \n                           md_store_vtype_t
      vtype, void **pdata, \n                           apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::save
      Src: /src/httpd/modules/md/md_store.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - store
    - p
    - group
    - name
    - aspect
    - vtype
    - data
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: md_store_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_store_t*::save
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_save(md_store_t *store, apr_pool_t *p, md_store_group_t
      group, \n                           const char *name, const char *aspect, \n
      \                          md_store_vtype_t vtype, void *data, \n                           int
      create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::remove
      Src: /src/httpd/modules/md/md_store.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group
    - name
    - aspect
    - p
    - force
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: md_store_remove
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_store_t*::remove
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_remove(md_store_t *store, md_store_group_t group,
      \n                             const char *name, const char *aspect, \n                             apr_pool_t
      *p, int force)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::purge
      Src: /src/httpd/modules/md/md_store.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - store
    - p
    - group
    - name
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: md_store_purge
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_store_t*::purge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_purge(md_store_t *store, apr_pool_t *p, md_store_group_t
      group, \n                             const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::iterate
      Src: /src/httpd/modules/md/md_store.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - inspect
    - baton
    - store
    - p
    - group
    - pattern
    - aspect
    - vtype
    argTypes:
    - md_store_inspect*
    - void*
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: md_store_iter
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_store_t*::iterate
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_iter(md_store_inspect *inspect, void *baton,
      md_store_t *store, \n                           apr_pool_t *p, md_store_group_t
      group, const char *pattern, \n                           const char *aspect,
      md_store_vtype_t vtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_store.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group
    - name
    - aspect
    - pdata
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - struct md_json_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: md_store_load_json
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_store_load
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_load_json(md_store_t *store, md_store_group_t
      group, \n                                const char *name, const char *aspect,
      \n                                struct md_json_t **pdata, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_store.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - store
    - p
    - group
    - name
    - aspect
    - data
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    - struct md_json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: md_store_save_json
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_save
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_save_json(md_store_t *store, apr_pool_t *p,
      md_store_group_t group, \n                                const char *name,
      const char *aspect, \n                                struct md_json_t *data,
      int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::move
      Src: /src/httpd/modules/md/md_store.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - p
    - from
    - to
    - name
    - archive
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - md_store_group_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: md_store_move
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_store_t*::move
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_move(md_store_t *store, apr_pool_t *p, \n                           md_store_group_t
      from, md_store_group_t to,\n                           const char *name, int
      archive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::get_fname
      Src: /src/httpd/modules/md/md_store.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pfname
    - store
    - group
    - name
    - aspect
    - p
    argTypes:
    - char**
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: md_store_get_fname
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_store_t*::get_fname
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_get_fname(const char **pfname, \n                                md_store_t
      *store, md_store_group_t group, \n                                const char
      *name, const char *aspect, \n                                apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::is_newer
      Src: /src/httpd/modules/md/md_store.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group1
    - group2
    - name
    - aspect
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: md_store_is_newer
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_store_t*::is_newer
    linkageType: ''
    returnType: int
    signature: "int md_store_is_newer(md_store_t *store, md_store_group_t group1,
      md_store_group_t group2,  \n                      const char *name, const char
      *aspect, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::get_modified
      Src: /src/httpd/modules/md/md_store.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - store
    - group
    - name
    - aspect
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: md_store_get_modified
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_store_t*::get_modified
    linkageType: ''
    returnType: apr_time_t
    signature: "apr_time_t md_store_get_modified(md_store_t *store, md_store_group_t
      group,  \n                                 const char *name, const char *aspect,
      apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::iterate_names
      Src: /src/httpd/modules/md/md_store.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - inspect
    - baton
    - store
    - p
    - group
    - pattern
    argTypes:
    - md_store_inspect*
    - void*
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: md_store_iter_names
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_store_t*::iterate_names
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_iter_names(md_store_inspect *inspect, void *baton,
      md_store_t *store, \n                                 apr_pool_t *p, md_store_group_t
      group, const char *pattern)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::remove_nms
      Src: /src/httpd/modules/md/md_store.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - p
    - modified
    - group
    - name
    - aspect
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - apr_time_t
    - md_store_group_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: md_store_remove_not_modified_since
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_t*::remove_nms
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_remove_not_modified_since(md_store_t *store,
      apr_pool_t *p, \n                                                apr_time_t
      modified,\n                                                md_store_group_t
      group, \n                                                const char *name, \n
      \                                               const char *aspect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::rename
      Src: /src/httpd/modules/md/md_store.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - store
    - p
    - group
    - name
    - to
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: md_store_rename
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_t*::rename
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_rename(md_store_t *store, apr_pool_t *p,\n                             md_store_group_t
      group, const char *name, const char *to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_store.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - store
    - group
    - name
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: md_exists
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_store_load_json
    linkageType: ''
    returnType: int
    signature: "int md_exists(md_store_t *store, md_store_group_t group,\n              const
      char *name, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_store.c:191,1
    - Dst: md_from_json
      Src: /src/httpd/modules/md/md_store.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - store
    - group
    - name
    - pmd
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - md_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: md_load
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 4
    functionsReached:
    - md_store_load_json
    - md_from_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_load(md_store_t *store, md_store_group_t group, \n
      \                    const char *name, md_t **pmd, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store.c:208,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store.c:209,1
    - Dst: md_to_json
      Src: /src/httpd/modules/md/md_store.c:211,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_store.c:212,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_store.c:213,1
    - Dst: md_store_save_json
      Src: /src/httpd/modules/md/md_store.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts:
    - condition: (json)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/httpd/modules/md/md_store.c
    - condition: (md->name)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/httpd/modules/md/md_store.c
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: p_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - assert
    - md_to_json
    - md_store_save_json
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_save(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - store
    - p
    - group
    - md
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - md_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: md_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 3
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_save(md_store_t *store, apr_pool_t *p, \n                     md_store_group_t
      group, md_t *md, int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store.c:234,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store.c:235,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_store.c:237,1
    - Dst: md_store_remove
      Src: /src/httpd/modules/md/md_store.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts:
    - condition: (name)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/httpd/modules/md/md_store.c
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: p_remove
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - assert
    - md_store_remove
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_remove(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - store
    - p
    - group
    - name
    - force
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: md_remove
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_remove(md_store_t *store, apr_pool_t *p, \n                       md_store_group_t
      group, const char *name, int force)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_is_newer
      Src: /src/httpd/modules/md/md_store.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - store
    - group1
    - group2
    - name
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: md_is_newer
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_store_is_newer
    linkageType: ''
    returnType: int
    signature: "int md_is_newer(md_store_t *store, md_store_group_t group1, md_store_group_t
      group2,  \n                      const char *name, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_store.c:269,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/md_store.c:270,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/md_store.c:271,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/md/md_store.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - keyname
    - base
    - p
    argTypes:
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: pk_filename
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - apr_tolower
    - apr_pstrcat
    - apr_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *pk_filename(const char *keyname, const char *base, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pk_filename
      Src: /src/httpd/modules/md/md_store.c:279,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_store.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - spec
    - p
    argTypes:
    - md_pkey_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: md_pkey_filename
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_pkey_spec_name
    - pk_filename
    linkageType: ''
    returnType: char
    signature: char *md_pkey_filename(md_pkey_spec_t *spec, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pk_filename
      Src: /src/httpd/modules/md/md_store.c:284,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_store.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - spec
    - p
    argTypes:
    - md_pkey_spec_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: md_chain_filename
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 2
    functionsReached:
    - md_pkey_spec_name
    - pk_filename
    linkageType: ''
    returnType: char
    signature: char *md_chain_filename(md_pkey_spec_t *spec, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_filename
      Src: /src/httpd/modules/md/md_store.c:290,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_store.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group
    - name
    - spec
    - ppkey
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - md_pkey_spec_t*
    - md_pkey_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: md_pkey_load
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_pkey_filename
    - md_store_load
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pkey_load(md_store_t *store, md_store_group_t group,
      const char *name, \n                          md_pkey_spec_t *spec, md_pkey_t
      **ppkey, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_filename
      Src: /src/httpd/modules/md/md_store.c:297,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_store.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - store
    - p
    - group
    - name
    - spec
    - pkey
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - md_pkey_spec_t*
    - struct md_pkey_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: md_pkey_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_pkey_filename
    - md_store_save
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pkey_save(md_store_t *store, apr_pool_t *p, md_store_group_t
      group, const char *name, \n                          md_pkey_spec_t *spec, struct
      md_pkey_t *pkey, int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_chain_filename
      Src: /src/httpd/modules/md/md_store.c:305,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_store.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group
    - name
    - spec
    - ppubcert
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - md_pkey_spec_t*
    - struct apr_array_header_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: md_pubcert_load
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_chain_filename
    - md_store_load
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pubcert_load(md_store_t *store, md_store_group_t group,
      const char *name, \n                             md_pkey_spec_t *spec, struct
      apr_array_header_t **ppubcert, \n                             apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_chain_filename
      Src: /src/httpd/modules/md/md_store.c:313,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_store.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - store
    - p
    - group
    - name
    - spec
    - pubcert
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - md_pkey_spec_t*
    - struct apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: md_pubcert_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_chain_filename
    - md_store_save
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_pubcert_save(md_store_t *store, apr_pool_t *p, \n
      \                            md_store_group_t group, const char *name, \n                             md_pkey_spec_t
      *spec, struct apr_array_header_t *pubcert, int create)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_store.c:320,1
    - Dst: md_pkey_load
      Src: /src/httpd/modules/md/md_store.c:324,1
    - Dst: md_pubcert_load
      Src: /src/httpd/modules/md/md_store.c:328,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - store
    - group
    - name
    - spec
    - pcreds
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - md_pkey_spec_t*
    - md_credentials_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: md_creds_load
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_pubcert_load
    - APR_STATUS_IS_ENOENT
    - md_pkey_load
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_creds_load(md_store_t *store, md_store_group_t group,
      const char *name, \n                           md_pkey_spec_t *spec, md_credentials_t
      **pcreds, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkey_save
      Src: /src/httpd/modules/md/md_store.c:340,1
    - Dst: md_pubcert_save
      Src: /src/httpd/modules/md/md_store.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - store
    - p
    - group
    - name
    - creds
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - md_credentials_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: md_creds_save
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - md_pkey_save
    - md_pubcert_save
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_creds_save(md_store_t *store, apr_pool_t *p, md_store_group_t
      group, \n                           const char *name, md_credentials_t *creds,
      int create)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_store.c:362,1
    - Dst: md_from_json
      Src: /src/httpd/modules/md/md_store.c:363,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store.c:364,1
    - Dst: inspect_md_ctx*::inspect
      Src: /src/httpd/modules/md/md_store.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - baton
    - name
    - aspect
    - vtype
    - value
    - ptemp
    argTypes:
    - void*
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 368
    functionName: insp_md
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 0
    functionsReached:
    - inspect_md_ctx*::inspect
    - strcmp
    - md_from_json
    - md_log_perror
    linkageType: ''
    returnType: int
    signature: "int insp_md(void *baton, const char *name, const char *aspect, \n
      \                  md_store_vtype_t vtype, void *value, apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_iter
      Src: /src/httpd/modules/md/md_store.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - inspect
    - baton
    - store
    - p
    - group
    - pattern
    argTypes:
    - md_store_md_inspect*
    - void*
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 381
    functionName: md_store_md_iter
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_iter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_md_iter(md_store_md_inspect *inspect, void *baton,
      md_store_t *store, \n                              apr_pool_t *p, md_store_group_t
      group, const char *pattern)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::lock_global
      Src: /src/httpd/modules/md/md_store.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - store
    - p
    - max_wait
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: md_store_lock_global
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_t*::lock_global
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_store_lock_global(md_store_t *store, apr_pool_t *p,
      apr_time_t max_wait)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_t*::unlock_global
      Src: /src/httpd/modules/md/md_store.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store
    - p
    argTypes:
    - md_store_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: md_store_unlock_global
    functionSourceFile: /src/httpd/modules/md/md_store.c
    functionUses: 1
    functionsReached:
    - md_store_t*::unlock_global
    linkageType: ''
    returnType: void
    signature: void md_store_unlock_global(md_store_t *store, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - o
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: MD_VAL_UPDATE
    functionSourceFile: /src/httpd/modules/md/md.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_VAL_UPDATE(n,o,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - o
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: MD_SVAL_UPDATE
    functionSourceFile: /src/httpd/modules/md/md.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_SVAL_UPDATE(n,o,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: MD_OK
    functionSourceFile: /src/httpd/modules/md/md.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_OK(c)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: md_job_load
      Src: /src/httpd/modules/md/mod_md_drive.c:77,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:79,1
    - Dst: md_get_by_name
      Src: /src/httpd/modules/md/mod_md_drive.c:87,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/md/mod_md_drive.c:88,1
    - Dst: md_result_md_make
      Src: /src/httpd/modules/md/mod_md_drive.c:90,1
    - Dst: md_result_assign
      Src: /src/httpd/modules/md/mod_md_drive.c:91,1
    - Dst: md_will_renew_cert
      Src: /src/httpd/modules/md/mod_md_drive.c:101,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:110,1
    - Dst: md_reg_renew_at
      Src: /src/httpd/modules/md/mod_md_drive.c:113,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:114,1
    - Dst: md_reg_has_revoked_certs
      Src: /src/httpd/modules/md/mod_md_drive.c:117,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:118,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:118,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:123,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:130,1
    - Dst: md_reg_ari_renew_at
      Src: /src/httpd/modules/md/mod_md_drive.c:134,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:137,1
    - Dst: md_duration_print
      Src: /src/httpd/modules/md/mod_md_drive.c:141,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/mod_md_drive.c:145,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/mod_md_drive.c:146,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:148,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:148,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:154,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:164,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:164,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:170,1
    - Dst: md_event_raise
      Src: /src/httpd/modules/md/mod_md_drive.c:176,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:178,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:178,1
    - Dst: md_job_start_run
      Src: /src/httpd/modules/md/mod_md_drive.c:184,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md_drive.c:184,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/mod_md_drive.c:186,1
    - Dst: md_reg_renew
      Src: /src/httpd/modules/md/mod_md_drive.c:189,1
    - Dst: md_job_end_run
      Src: /src/httpd/modules/md/mod_md_drive.c:190,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:195,1
    - Dst: md_job_retry_at
      Src: /src/httpd/modules/md/mod_md_drive.c:196,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/mod_md_drive.c:201,1
    - Dst: md_job_notify
      Src: /src/httpd/modules/md/mod_md_drive.c:202,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:206,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:206,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/mod_md_drive.c:208,1
    - Dst: md_event_holler
      Src: /src/httpd/modules/md/mod_md_drive.c:209,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:210,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:210,1
    - Dst: md_duration_print
      Src: /src/httpd/modules/md/mod_md_drive.c:213,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:213,1
    - Dst: md_reg_should_warn
      Src: /src/httpd/modules/md/mod_md_drive.c:218,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:219,1
    - Dst: md_job_start_run
      Src: /src/httpd/modules/md/mod_md_drive.c:221,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md_drive.c:221,1
    - Dst: md_job_notify
      Src: /src/httpd/modules/md/mod_md_drive.c:222,1
    - Dst: md_job_end_run
      Src: /src/httpd/modules/md/mod_md_drive.c:223,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/mod_md_drive.c:228,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:229,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 97
    argCount: 3
    argNames:
    - dctx
    - job
    - ptemp
    argTypes:
    - md_renew_ctx_t*
    - md_job_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 231
    functionName: process_drive_job
    functionSourceFile: /src/httpd/modules/md/mod_md_drive.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - md_reg_renew
    - md_reg_store_get
    - md_event_holler
    - md_result_assign
    - apr_rfc822_date
    - md_reg_ari_renew_at
    - md_reg_renew_at
    - md_will_renew_cert
    - apr_time_sec
    - md_job_notify
    - md_result_md_make
    - md_get_by_name
    - md_job_retry_at
    - ap_log_error
    - md_result_printf
    - md_event_raise
    - md_job_load
    - md_reg_should_warn
    - md_reg_has_revoked_certs
    - AP_DEBUG_ASSERT
    - APLOGNO
    - md_duration_print
    - md_job_save
    - md_job_end_run
    - md_job_start_run
    - md_job_log_append
    linkageType: ''
    returnType: void
    signature: void process_drive_job(md_renew_ctx_t *dctx, md_job_t *job, apr_pool_t
      *ptemp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - md
    argTypes:
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: md_will_renew_cert
    functionSourceFile: /src/httpd/modules/md/mod_md_drive.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_will_renew_cert(const md_t *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_rand_bytes
      Src: /src/httpd/modules/md/mod_md_drive.c:249,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - md_renew_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: next_run_default
    functionSourceFile: /src/httpd/modules/md/mod_md_drive.c
    functionUses: 1
    functionsReached:
    - md_rand_bytes
    - apr_time_now
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t next_run_default(md_renew_ctx_t *dctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:266,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:271,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:271,1
    - Dst: next_run_default
      Src: /src/httpd/modules/md/mod_md_drive.c:278,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_drive.c:280,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:282,1
    - Dst: process_drive_job
      Src: /src/httpd/modules/md/mod_md_drive.c:283,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/mod_md_drive.c:291,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/md/mod_md_drive.c:292,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:293,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:293,1
    - Dst: md_duration_print
      Src: /src/httpd/modules/md/mod_md_drive.c:294,1
    - Dst: wd_set_interval
      Src: /src/httpd/modules/md/mod_md_drive.c:296,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:300,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - state
    - baton
    - ptemp
    argTypes:
    - int
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 253
    functionDepth: 7
    functionLinenumber: 253
    functionLinenumberEnd: 306
    functionName: run_watchdog
    functionSourceFile: /src/httpd/modules/md/mod_md_drive.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - APR_ARRAY_IDX
    - process_drive_job
    - APLOGNO
    - md_duration_print
    - wd_set_interval
    - ap_log_error
    - next_run_default
    - APLOGdebug
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_watchdog(int state, void *baton, apr_pool_t *ptemp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_drive.c:339,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_drive.c:340,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/md/mod_md_drive.c:341,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:344,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:344,1
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/md/mod_md_drive.c:351,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/modules/md/mod_md_drive.c:352,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/md/mod_md_drive.c:353,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:355,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:355,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/md/mod_md_drive.c:358,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/mod_md_drive.c:359,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md_drive.c:361,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_drive.c:366,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_drive.c:368,1
    - Dst: md_reg_job_make
      Src: /src/httpd/modules/md/mod_md_drive.c:371,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_drive.c:372,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:373,1
    - Dst: md_job_load
      Src: /src/httpd/modules/md/mod_md_drive.c:376,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:384,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:384,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/mod_md_drive.c:387,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md_drive.c:387,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/mod_md_drive.c:388,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/mod_md_drive.c:388,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:394,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:394,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/mod_md_drive.c:396,1
    - Dst: wd_get_instance
      Src: /src/httpd/modules/md/mod_md_drive.c:400,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:401,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:401,1
    - Dst: wd_register_callback
      Src: /src/httpd/modules/md/mod_md_drive.c:405,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/md/mod_md_drive.c:406,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/md/mod_md_drive.c:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - mc
    - s
    - p
    argTypes:
    - md_mod_conf_t*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 409
    functionName: md_renew_start_watching
    functionSourceFile: /src/httpd/modules/md/mod_md_drive.c
    functionUses: 1
    functionsReached:
    - md_reg_store_get
    - md_reg_job_make
    - apr_allocator_create
    - apr_pool_create_ex
    - APR_RETRIEVE_OPTIONAL_FN
    - APR_ARRAY_IDX
    - md_store_purge
    - ap_log_error
    - wd_register_callback
    - apr_pool_destroy
    - md_job_load
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - apr_allocator_owner_set
    - APLOGNO
    - wd_get_instance
    - apr_pool_tag
    - apr_allocator_max_free_set
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_renew_start_watching(md_mod_conf_t *mc, server_rec
      *s, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - store
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: FS_STORE
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS_STORE(store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_store_fs.c:112,1
    - Dst: md_json_setn
      Src: /src/httpd/modules/md/md_store_fs.c:116,1
    - Dst: md_data_pinit
      Src: /src/httpd/modules/md/md_store_fs.c:118,1
    - Dst: md_rand_bytes
      Src: /src/httpd/modules/md/md_store_fs.c:119,1
    - Dst: md_util_base64url_encode
      Src: /src/httpd/modules/md/md_store_fs.c:123,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_store_fs.c:124,1
    - Dst: md_json_fcreatex
      Src: /src/httpd/modules/md/md_store_fs.c:125,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_store_fs.c:126,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_store_fs.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - s_fs
    - fname
    - p
    - ptemp
    argTypes:
    - md_store_fs_t*
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: init_store_file
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_json_setn
    - memset
    - md_rand_bytes
    - md_util_base64url_encode
    - md_json_sets
    - md_data_pinit
    - md_json_fcreatex
    - md_json_create
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t init_store_file(md_store_fs_t *s_fs, const char *fname,
      \n                                    apr_pool_t *p, apr_pool_t *ptemp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:140,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:140,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:141,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:141,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:142,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: rename_pkey
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - MD_OK
    - apr_file_rename
    - md_util_path_merge
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rename_pkey(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      \n                                const char *dir, const char *name, \n                                apr_filetype_e
      ftype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:161,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:161,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:162,1
    - Dst: md_chain_fload
      Src: /src/httpd/modules/md/md_store_fs.c:162,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:163,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:163,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:164,1
    - Dst: md_cert_fload
      Src: /src/httpd/modules/md/md_store_fs.c:164,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:165,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:165,1
    - Dst: md_chain_fload
      Src: /src/httpd/modules/md/md_store_fs.c:167,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:168,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_store_fs.c:169,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_store_fs.c:173,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/md_store_fs.c:175,1
    - Dst: md_chain_fsave
      Src: /src/httpd/modules/md/md_store_fs.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 180
    functionName: mk_pubcert
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - apr_array_cat
    - md_chain_fload
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - md_chain_fsave
    - md_cert_fload
    - md_util_path_merge
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mk_pubcert(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      \n                               const char *dir, const char *name, \n                               apr_filetype_e
      ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:190,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:191,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:194,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:195,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:196,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s_fs
    - p
    - ptemp
    argTypes:
    - md_store_fs_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: upgrade_from_1_0
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_store_group_name
    - md_util_files_do
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t upgrade_from_1_0(md_store_fs_t *s_fs, apr_pool_t *p, apr_pool_t
      *ptemp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:210,1
    - Dst: md_json_readf
      Src: /src/httpd/modules/md/md_store_fs.c:210,1
    - Dst: md_json_getn
      Src: /src/httpd/modules/md/md_store_fs.c:211,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:217,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_store_fs.c:221,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:223,1
    - Dst: md_util_base64url_decode
      Src: /src/httpd/modules/md/md_store_fs.c:227,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:229,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:237,1
    - Dst: upgrade_from_1_0
      Src: /src/httpd/modules/md/md_store_fs.c:238,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:241,1
    - Dst: md_json_del
      Src: /src/httpd/modules/md/md_store_fs.c:242,1
    - Dst: md_json_setn
      Src: /src/httpd/modules/md/md_store_fs.c:246,1
    - Dst: md_json_freplace
      Src: /src/httpd/modules/md/md_store_fs.c:247,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - s_fs
    - fname
    - p
    - ptemp
    argTypes:
    - md_store_fs_t*
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: read_store_file
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_json_setn
    - md_json_readf
    - md_json_getn
    - md_json_freplace
    - md_log_perror
    - MD_OK
    - upgrade_from_1_0
    - md_json_del
    - md_json_dups
    - md_util_base64url_decode
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_store_file(md_store_fs_t *s_fs, const char *fname,
      \n                                    apr_pool_t *p, apr_pool_t *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:270,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:270,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:275,1
    - Dst: md_util_is_file
      Src: /src/httpd/modules/md/md_store_fs.c:275,1
    - Dst: read_store_file
      Src: /src/httpd/modules/md/md_store_fs.c:276,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:278,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:287,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/md/md_store_fs.c:288,1
    - Dst: init_store_file
      Src: /src/httpd/modules/md/md_store_fs.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: setup_store_file
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_is_file
    - md_log_perror
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - APR_STATUS_IS_EEXIST
    - init_store_file
    - read_store_file
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t setup_store_file(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, va_list ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_store_fs.c:299,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_store_fs.c:333,1
    - Dst: md_util_is_dir
      Src: /src/httpd/modules/md/md_store_fs.c:335,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:336,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:337,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/md/md_store_fs.c:339,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/md/md_store_fs.c:341,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/md/md_store_fs.c:342,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:348,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:352,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 3
    argNames:
    - pstore
    - p
    - path
    argTypes:
    - md_store_t**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 359
    functionName: md_store_fs_init
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 1
    functionsReached:
    - md_util_pool_vdo
    - apr_file_perms_set
    - APR_STATUS_IS_ENOTIMPL
    - apr_pcalloc
    - md_util_is_dir
    - apr_dir_make_recursive
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_store_fs_init(md_store_t **pstore, apr_pool_t *p, const
      char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - store
    - file_perms
    - dir_perms
    argTypes:
    - md_store_t*
    - apr_fileperms_t
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: md_store_fs_default_perms_set
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_fs_default_perms_set(md_store_t *store, \n                                           apr_fileperms_t
      file_perms,\n                                           apr_fileperms_t dir_perms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - store
    - group
    - file_perms
    - dir_perms
    argTypes:
    - md_store_t*
    - md_store_group_t
    - apr_fileperms_t
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: md_store_fs_group_perms_set
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_store_fs_group_perms_set(md_store_t *store, md_store_group_t
      group, \n                                         apr_fileperms_t file_perms,\n
      \                                        apr_fileperms_t dir_perms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - store
    - cb
    - baton
    argTypes:
    - struct md_store_t*
    - md_store_fs_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: md_store_fs_set_event_cb
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 1
    functionsReached:
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_store_fs_set_event_cb(struct md_store_t *store, md_store_fs_cb
      *cb, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s_fs
    - group
    argTypes:
    - md_store_fs_t*
    - md_store_group_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: gperms
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: perms_t
    signature: perms_t *gperms(md_store_fs_t *s_fs, md_store_group_t group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:409,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:411,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:413,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pfname
    - store
    - group
    - name
    - aspect
    - p
    argTypes:
    - char**
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: fs_get_fname
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_path_merge
    - md_store_group_name
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_get_fname(const char **pfname, \n                                 md_store_t
      *store, md_store_group_t group, \n                                 const char
      *name, const char *aspect, \n                                 apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:421,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:426,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pdname
    - store
    - group
    - name
    - p
    argTypes:
    - char**
    - md_store_t*
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: fs_get_dname
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_path_merge
    - md_store_group_name
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_get_dname(const char **pdname, \n                                 md_store_t
      *store, md_store_group_t group, \n                                 const char
      *name, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ppass
    - plen
    - s_fs
    - group
    argTypes:
    - char**
    - apr_size_t*
    - md_store_fs_t*
    - md_store_group_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: get_pass
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_pass(const char **ppass, apr_size_t *plen, \n                     md_store_fs_t
      *s_fs, md_store_group_t group)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_text_fread8k
      Src: /src/httpd/modules/md/md_store_fs.c:453,1
    - Dst: md_json_readf
      Src: /src/httpd/modules/md/md_store_fs.c:456,1
    - Dst: md_cert_fload
      Src: /src/httpd/modules/md/md_store_fs.c:459,1
    - Dst: get_pass
      Src: /src/httpd/modules/md/md_store_fs.c:462,1
    - Dst: md_pkey_fload
      Src: /src/httpd/modules/md/md_store_fs.c:463,1
    - Dst: md_chain_fload
      Src: /src/httpd/modules/md/md_store_fs.c:466,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:472,1
    - Dst: md_util_is_file
      Src: /src/httpd/modules/md/md_store_fs.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 7
    argNames:
    - pvalue
    - s_fs
    - fpath
    - group
    - vtype
    - p
    - ptemp
    argTypes:
    - void**
    - md_store_fs_t*
    - char*
    - md_store_group_t
    - md_store_vtype_t
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 479
    functionName: fs_fload
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_is_file
    - md_text_fread8k
    - md_json_readf
    - get_pass
    - md_chain_fload
    - md_log_perror
    - md_cert_fload
    - md_pkey_fload
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_fload(void **pvalue, md_store_fs_t *s_fs, const char
      *fpath, \n                             md_store_group_t group, md_store_vtype_t
      vtype, \n                             apr_pool_t *p, apr_pool_t *ptemp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:490,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:491,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:492,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:493,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:494,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:496,1
    - Dst: fs_get_fname
      Src: /src/httpd/modules/md/md_store_fs.c:496,1
    - Dst: fs_fload
      Src: /src/httpd/modules/md/md_store_fs.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 500
    functionName: pfs_load
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - MD_OK
    - fs_get_fname
    - fs_fload
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_load(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_fs_t*::event_cb
      Src: /src/httpd/modules/md/md_store_fs.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s_fs
    - ev
    - group
    - fname
    - ftype
    - p
    argTypes:
    - md_store_fs_t*
    - md_store_fs_ev_t
    - unsigned int
    - char*
    - apr_filetype_e
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: dispatch
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_store_fs_t*::event_cb
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dispatch(md_store_fs_t *s_fs, md_store_fs_ev_t ev, unsigned
      int group, \n                             const char *fname, apr_filetype_e
      ftype, apr_pool_t *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gperms
      Src: /src/httpd/modules/md/md_store_fs.c:520,1
    - Dst: fs_get_dname
      Src: /src/httpd/modules/md/md_store_fs.c:522,1
    - Dst: md_util_is_dir
      Src: /src/httpd/modules/md/md_store_fs.c:525,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:526,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:527,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/md/md_store_fs.c:528,1
    - Dst: dispatch
      Src: /src/httpd/modules/md/md_store_fs.c:530,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/md/md_store_fs.c:533,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:534,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/md/md_store_fs.c:535,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - pdir
    - s_fs
    - group
    - name
    - p
    argTypes:
    - char**
    - md_store_fs_t*
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 544
    functionName: mk_group_dir
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - APR_STATUS_IS_ENOTIMPL
    - apr_dir_make_recursive
    - md_util_is_dir
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - dispatch
    - gperms
    - fs_get_dname
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mk_group_dir(const char **pdir, md_store_fs_t *s_fs,
      \n                                 md_store_group_t group, const char *name,\n
      \                                apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:556,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:557,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:558,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:559,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:560,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:563,1
    - Dst: fs_get_fname
      Src: /src/httpd/modules/md/md_store_fs.c:563,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:564,1
    - Dst: fs_get_fname
      Src: /src/httpd/modules/md/md_store_fs.c:564,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:565,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_store_fs.c:565,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:566,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_store_fs.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 571
    functionName: pfs_is_newer
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - MD_OK
    - fs_get_fname
    - apr_stat
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_is_newer(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:576,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - store
    - group1
    - group2
    - name
    - aspect
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: fs_is_newer
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: int
    signature: "int fs_is_newer(md_store_t *store, md_store_group_t group1, md_store_group_t
      group2,  \n                       const char *name, const char *aspect, apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:597,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:598,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:599,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:600,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:603,1
    - Dst: fs_get_fname
      Src: /src/httpd/modules/md/md_store_fs.c:603,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:604,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_store_fs.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 609
    functionName: pfs_get_modified
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - MD_OK
    - fs_get_fname
    - apr_stat
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_get_modified(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:614,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - store
    - group
    - name
    - aspect
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 623
    functionName: fs_get_modified
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_time_t
    signature: "apr_time_t fs_get_modified(md_store_t *store, md_store_group_t group,
      \ \n                                  const char *name, const char *aspect,
      apr_pool_t *p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:638,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:639,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:640,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:641,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:642,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:643,1
    - Dst: gperms
      Src: /src/httpd/modules/md/md_store_fs.c:645,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:647,1
    - Dst: mk_group_dir
      Src: /src/httpd/modules/md/md_store_fs.c:647,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:648,1
    - Dst: mk_group_dir
      Src: /src/httpd/modules/md/md_store_fs.c:648,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:649,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:649,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:651,1
    - Dst: md_text_fcreatex
      Src: /src/httpd/modules/md/md_store_fs.c:654,1
    - Dst: md_text_freplace
      Src: /src/httpd/modules/md/md_store_fs.c:655,1
    - Dst: md_json_fcreatex
      Src: /src/httpd/modules/md/md_store_fs.c:658,1
    - Dst: md_json_freplace
      Src: /src/httpd/modules/md/md_store_fs.c:660,1
    - Dst: md_cert_fsave
      Src: /src/httpd/modules/md/md_store_fs.c:664,1
    - Dst: get_pass
      Src: /src/httpd/modules/md/md_store_fs.c:669,1
    - Dst: md_pkey_fsave
      Src: /src/httpd/modules/md/md_store_fs.c:670,1
    - Dst: md_chain_fsave
      Src: /src/httpd/modules/md/md_store_fs.c:674,1
    - Dst: dispatch
      Src: /src/httpd/modules/md/md_store_fs.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 684
    functionName: pfs_save
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_pkey_fsave
    - md_cert_fsave
    - va_arg
    - md_json_fcreatex
    - md_text_freplace
    - md_json_freplace
    - get_pass
    - md_log_perror
    - MD_OK
    - md_chain_fsave
    - dispatch
    - gperms
    - md_util_path_merge
    - mk_group_dir
    - md_text_fcreatex
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_save(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:696,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:697,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:698,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:699,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:701,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:703,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:703,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:704,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:704,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:705,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:708,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_store_fs.c:708,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_store_fs.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 721
    functionName: pfs_remove
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - va_arg
    - md_log_perror
    - MD_OK
    - apr_file_remove
    - md_store_group_name
    - apr_stat
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_remove(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:727,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - store
    - group
    - name
    - aspect
    - vtype
    - pvalue
    - p
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    - void**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: fs_load
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_load(md_store_t *store, md_store_group_t group, \n
      \                           const char *name, const char *aspect,  \n                            md_store_vtype_t
      vtype, void **pvalue, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:735,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - store
    - p
    - group
    - name
    - aspect
    - vtype
    - value
    - create
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: fs_save
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_save(md_store_t *store, apr_pool_t *p, md_store_group_t
      group, \n                            const char *name, const char *aspect,  \n
      \                           md_store_vtype_t vtype, void *value, int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:744,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - group
    - name
    - aspect
    - p
    - force
    argTypes:
    - md_store_t*
    - md_store_group_t
    - char*
    - char*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: fs_remove
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_remove(md_store_t *store, md_store_group_t group,
      \n                              const char *name, const char *aspect, \n                              apr_pool_t
      *p, int force)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:756,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:757,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:759,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:761,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:761,1
    - Dst: md_util_rm_recursive
      Src: /src/httpd/modules/md/md_store_fs.c:763,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:765,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 769
    functionName: pfs_purge
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - va_arg
    - md_log_perror
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - md_util_rm_recursive
    - md_store_group_name
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_purge(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:774,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - store
    - p
    - group
    - name
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: fs_purge
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_purge(md_store_t *store, apr_pool_t *p, \n                             md_store_group_t
      group, const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:802,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:803,1
    - Dst: fs_fload
      Src: /src/httpd/modules/md/md_store_fs.c:804,1
    - Dst: inspect_ctx*::inspect
      Src: /src/httpd/modules/md/md_store_fs.c:806,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 814
    functionName: insp
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - fs_fload
    - inspect_ctx*::inspect
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t insp(void *baton, apr_pool_t *p, apr_pool_t *ptemp, \n
      \                        const char *dir, const char *name, apr_filetype_e ftype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:824,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:825,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:825,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:827,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 833
    functionName: insp_dir
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_files_do
    - md_log_perror
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t insp_dir(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      \n                             const char *dir, const char *name, apr_filetype_e
      ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:843,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:850,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - inspect
    - baton
    - store
    - p
    - group
    - pattern
    - aspect
    - vtype
    argTypes:
    - md_store_inspect*
    - void*
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    - md_store_vtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 855
    functionName: fs_iterate
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_store_group_name
    - md_util_files_do
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_iterate(md_store_inspect *inspect, void *baton, md_store_t
      *store, \n                               apr_pool_t *p, md_store_group_t group,
      const char *pattern, \n                               const char *aspect, md_store_vtype_t
      vtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:864,1
    - Dst: inspect_ctx*::inspect
      Src: /src/httpd/modules/md/md_store_fs.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: insp_name
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - inspect_ctx*::inspect
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t insp_name(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      \n                              const char *dir, const char *name, apr_filetype_e
      ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:875,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:880,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - inspect
    - baton
    - store
    - p
    - group
    - pattern
    argTypes:
    - md_store_inspect*
    - void*
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 885
    functionName: fs_iterate_names
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_store_group_name
    - md_util_files_do
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_iterate_names(md_store_inspect *inspect, void *baton,
      md_store_t *store, \n                                     apr_pool_t *p, md_store_group_t
      group, const char *pattern)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:897,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_store_fs.c:898,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:901,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_store_fs.c:902,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 906
    functionName: remove_nms_file
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    - apr_stat
    - md_util_path_merge
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t remove_nms_file(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, \n                                    const char *dir, const char *name,
      apr_filetype_e ftype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:916,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:917,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:917,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:919,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - dir
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 925
    functionName: remove_nms_dir
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_files_do
    - md_log_perror
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t remove_nms_dir(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, \n                                   const char *dir, const char *name,
      apr_filetype_e ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:935,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:940,1
    - Dst: md_util_files_do
      Src: /src/httpd/modules/md/md_store_fs.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - store
    - p
    - modified
    - group
    - name
    - aspect
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - apr_time_t
    - md_store_group_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 945
    functionName: fs_remove_nms
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_store_group_name
    - md_util_files_do
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_remove_nms(md_store_t *store, apr_pool_t *p, \n                                  apr_time_t
      modified, md_store_group_t group, \n                                  const
      char *name, const char *aspect)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:959,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:960,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:961,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:962,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:964,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:965,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_store_fs.c:966,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:970,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:970,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:971,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:971,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:975,1
    - Dst: md_util_is_dir
      Src: /src/httpd/modules/md/md_store_fs.c:975,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:976,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:980,1
    - Dst: md_util_is_dir
      Src: /src/httpd/modules/md/md_store_fs.c:980,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:984,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:984,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:985,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:986,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/md/md_store_fs.c:986,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:987,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:987,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_store_fs.c:995,1
    - Dst: md_util_is_dir
      Src: /src/httpd/modules/md/md_store_fs.c:996,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:997,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:998,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_store_fs.c:1011,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1012,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/md/md_store_fs.c:1012,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1013,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1022,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1031,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1039,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:1039,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1040,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1044,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:1044,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1045,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:1047,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1050,1
    - Dst: dispatch
      Src: /src/httpd/modules/md/md_store_fs.c:1050,1
    - Dst: dispatch
      Src: /src/httpd/modules/md/md_store_fs.c:1051,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:1054,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:1055,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1056,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1062,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 1068
    functionName: pfs_move
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_dir_make_recursive
    - md_util_is_dir
    - va_arg
    - apr_file_rename
    - md_log_perror
    - MD_OK
    - apr_dir_make
    - APR_STATUS_IS_ENOENT
    - apr_psprintf
    - dispatch
    - md_store_group_name
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_move(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:1074,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - p
    - from
    - to
    - name
    - archive
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - md_store_group_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1076
    functionName: fs_move
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_move(md_store_t *store, apr_pool_t *p, \n                            md_store_group_t
      from, md_store_group_t to, \n                            const char *name, int
      archive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:1087,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:1088,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_store_fs.c:1089,1
    - Dst: md_store_group_name
      Src: /src/httpd/modules/md/md_store_fs.c:1091,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1092,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:1092,1
    - Dst: MD_OK
      Src: /src/httpd/modules/md/md_store_fs.c:1093,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:1093,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_store_fs.c:1097,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_store_fs.c:1098,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1105
    functionName: pfs_rename
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - va_arg
    - apr_file_rename
    - md_log_perror
    - MD_OK
    - APR_STATUS_IS_ENOENT
    - md_store_group_name
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pfs_rename(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:1110,1
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_store_fs.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - store
    - p
    - group
    - from
    - to
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1112
    functionName: fs_rename
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - md_util_pool_vdo
    - FS_STORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fs_rename(md_store_t *store, apr_pool_t *p, \n                            md_store_group_t
      group, const char *from, const char *to)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:1116,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1123,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_store_fs.c:1127,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_store_fs.c:1129,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1131,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_store_fs.c:1133,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/md/md_store_fs.c:1134,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1138,1
    - Dst: apr_file_lock
      Src: /src/httpd/modules/md/md_store_fs.c:1143,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1148,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_store_fs.c:1154,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/md/md_store_fs.c:1157,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/md/md_store_fs.c:1157,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_store_fs.c:1160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - store
    - p
    - max_wait
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1165
    functionName: fs_lock_global
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_file_lock
    - apr_file_close
    - md_log_perror
    - apr_sleep
    - apr_time_from_msec
    - FS_STORE
    - apr_file_open
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fs_lock_global(md_store_t *store, apr_pool_t *p, apr_time_t
      max_wait)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FS_STORE
      Src: /src/httpd/modules/md/md_store_fs.c:1169,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_store_fs.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - store
    - p
    argTypes:
    - md_store_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1176
    functionName: fs_unlock_global
    functionSourceFile: /src/httpd/modules/md/md_store_fs.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - FS_STORE
    linkageType: ''
    returnType: void
    signature: void fs_unlock_global(md_store_t *store, apr_pool_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_status.c:109,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_status.c:110,1
    - Dst: md_exists
      Src: /src/httpd/modules/md/md_status.c:113,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_status.c:115,1
    - Dst: md_cert_count
      Src: /src/httpd/modules/md/md_status.c:117,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_status.c:118,1
    - Dst: md_pubcert_load
      Src: /src/httpd/modules/md/md_status.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - json
    - store
    - group
    - name
    - p
    argTypes:
    - md_json_t*
    - md_store_t*
    - md_store_group_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: md_job_json_seems_valid
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_get
    - md_json_getb
    - md_load
    - md_pubcert_load
    - md_exists
    - md_cert_count
    linkageType: ''
    returnType: int
    signature: "int md_job_json_seems_valid(md_json_t *json, md_store_t *store,\n
      \                                  md_store_group_t group, const char *name,\n
      \                                  apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/md_status.c:132,1
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_status.c:133,1
    - Dst: md_job_json_seems_valid
      Src: /src/httpd/modules/md/md_status.c:135,1
    - Dst: md_json_del
      Src: /src/httpd/modules/md/md_status.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - pjson
    - group
    - name
    - reg
    - with_log
    - p
    argTypes:
    - md_json_t**
    - md_store_group_t
    - char*
    - struct md_reg_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: job_loadj
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached:
    - md_reg_store_get
    - md_store_load_json
    - md_job_json_seems_valid
    - md_json_del
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t job_loadj(md_json_t **pjson, md_store_group_t group,
      const char *name,\n                              struct md_reg_t *reg, int with_log,
      apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: status_get_cert_json
      Src: /src/httpd/modules/md/md_status.c:159,1
    - Dst: md_cert_get_ari_cert_id
      Src: /src/httpd/modules/md/md_status.c:161,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:162,1
    - Dst: md_ocsp_get_meta
      Src: /src/httpd/modules/md/md_status.c:165,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:167,1
    - Dst: md_ocsp_cert_stat_name
      Src: /src/httpd/modules/md/md_status.c:167,1
    - Dst: md_json_set_timeperiod
      Src: /src/httpd/modules/md/md_status.c:168,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_status.c:170,1
    - Dst: job_loadj
      Src: /src/httpd/modules/md/md_status.c:172,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - pjson
    - cert
    - md
    - reg
    - ocsp
    - with_logs
    - p
    argTypes:
    - md_json_t**
    - md_cert_t*
    - md_t*
    - md_reg_t*
    - md_ocsp_reg_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 180
    functionName: status_get_cert_json_ex
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_cert_get_ari_cert_id
    - status_get_cert_json
    - md_ocsp_cert_stat_name
    - md_ocsp_get_meta
    - APR_STATUS_IS_ENOENT
    - md_json_setj
    - md_json_sets
    - job_loadj
    - md_json_set_timeperiod
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t status_get_cert_json_ex(\n    md_json_t **pjson,\n    const
      md_cert_t *cert,\n    const md_t *md,\n    md_reg_t *reg,\n    md_ocsp_reg_t
      *ocsp,\n    int with_logs,\n    apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_status.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - md
    - from_staging
    argTypes:
    - md_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: get_cert_count
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached:
    - md_pkeys_spec_count
    linkageType: ''
    returnType: int
    signature: int get_cert_count(const md_t *md, int from_staging)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_status.c:194,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_status.c:196,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_status.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - md
    - i
    - from_staging
    - p
    argTypes:
    - md_t*
    - int
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: get_cert_name
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_get
    - md_pkey_spec_name
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *get_cert_name(const md_t *md, int i, int from_staging, apr_pool_t
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:211,1
    - Dst: get_cert_count
      Src: /src/httpd/modules/md/md_status.c:212,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_status.c:213,1
    - Dst: status_get_cert_json_ex
      Src: /src/httpd/modules/md/md_status.c:216,1
    - Dst: md_cert_get_valid
      Src: /src/httpd/modules/md/md_status.c:218,1
    - Dst: md_timeperiod_common
      Src: /src/httpd/modules/md/md_status.c:219,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:220,1
    - Dst: get_cert_name
      Src: /src/httpd/modules/md/md_status.c:220,1
    - Dst: md_json_set_timeperiod
      Src: /src/httpd/modules/md/md_status.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 8
    argNames:
    - pjson
    - certs
    - from_staging
    - md
    - reg
    - ocsp
    - with_logs
    - p
    argTypes:
    - md_json_t**
    - apr_array_header_t*
    - int
    - md_t*
    - md_reg_t*
    - md_ocsp_reg_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: status_get_certs_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - get_cert_name
    - status_get_cert_json_ex
    - APR_ARRAY_IDX
    - md_timeperiod_common
    - md_cert_get_valid
    - md_json_setj
    - md_json_set_timeperiod
    - get_cert_count
    - md_json_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t status_get_certs_json(md_json_t **pjson, apr_array_header_t
      *certs,\n                                          int from_staging,\n                                          const
      md_t *md, md_reg_t *reg,  \n                                          md_ocsp_reg_t
      *ocsp, int with_logs,\n                                          apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_status.c:240,1
    - Dst: get_cert_count
      Src: /src/httpd/modules/md/md_status.c:241,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_status.c:242,1
    - Dst: md_pubcert_load
      Src: /src/httpd/modules/md/md_status.c:244,1
    - Dst: md_reg_store_get
      Src: /src/httpd/modules/md/md_status.c:244,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_status.c:246,1
    - Dst: status_get_certs_json
      Src: /src/httpd/modules/md/md_status.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pjson
    - md
    - reg
    - p
    argTypes:
    - md_json_t**
    - md_t*
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 7
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: get_staging_certs_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_reg_store_get
    - md_pkeys_spec_get
    - status_get_certs_json
    - APR_ARRAY_IDX
    - md_pubcert_load
    - get_cert_count
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_staging_certs_json(md_json_t **pjson, const md_t
      *md, \n                                           md_reg_t *reg, apr_pool_t
      *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: md_to_public_json
      Src: /src/httpd/modules/md/md_status.c:266,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_status.c:267,1
    - Dst: get_cert_count
      Src: /src/httpd/modules/md/md_status.c:268,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_status.c:270,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_status.c:271,1
    - Dst: status_get_certs_json
      Src: /src/httpd/modules/md/md_status.c:276,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:278,1
    - Dst: md_reg_renew_at
      Src: /src/httpd/modules/md/md_status.c:280,1
    - Dst: md_json_set_time
      Src: /src/httpd/modules/md/md_status.c:282,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:285,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:286,1
    - Dst: job_loadj
      Src: /src/httpd/modules/md/md_status.c:289,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_status.c:292,1
    - Dst: md_reg_should_renew
      Src: /src/httpd/modules/md/md_status.c:294,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:300,1
    - Dst: get_staging_certs_json
      Src: /src/httpd/modules/md/md_status.c:302,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:303,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:305,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 6
    argNames:
    - pjson
    - md
    - reg
    - ocsp
    - with_logs
    - p
    argTypes:
    - md_json_t**
    - md_t*
    - md_reg_t*
    - md_ocsp_reg_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 253
    functionDepth: 8
    functionLinenumber: 253
    functionLinenumberEnd: 315
    functionName: status_get_md_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - status_get_certs_json
    - APR_ARRAY_IDX
    - md_json_setl
    - md_reg_get_pubcert
    - md_json_setb
    - md_to_public_json
    - md_json_setj
    - md_reg_renew_at
    - md_json_set_time
    - APR_STATUS_IS_ENOENT
    - job_loadj
    - md_reg_should_renew
    - get_cert_count
    - get_staging_certs_json
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t status_get_md_json(md_json_t **pjson, const md_t *md,
      \n                                       md_reg_t *reg, md_ocsp_reg_t *ocsp,
      \n                                       int with_logs, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_get_md_json
      Src: /src/httpd/modules/md/md_status.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pjson
    - md
    - reg
    - ocsp
    - p
    argTypes:
    - md_json_t**
    - md_t*
    - md_reg_t*
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 9
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: md_status_get_md_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - status_get_md_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_status_get_md_json(md_json_t **pjson, const md_t *md,
      \n                                   md_reg_t *reg, md_ocsp_reg_t *ocsp, apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:330,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:331,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_status.c:333,1
    - Dst: status_get_md_json
      Src: /src/httpd/modules/md/md_status.c:334,1
    - Dst: md_json_addj
      Src: /src/httpd/modules/md/md_status.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - pjson
    - mds
    - reg
    - ocsp
    - p
    argTypes:
    - md_json_t**
    - apr_array_header_t*
    - md_reg_t*
    - md_ocsp_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 9
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: md_status_get_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - APR_ARRAY_IDX
    - md_json_addj
    - status_get_md_json
    - md_json_sets
    - md_json_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_status_get_json(md_json_t **pjson, apr_array_header_t
      *mds, \n                                md_reg_t *reg, md_ocsp_reg_t *ocsp,
      apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_status.c:348,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_status.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p
    - store
    - group
    - name
    - min_delay
    argTypes:
    - apr_pool_t*
    - md_store_t*
    - md_store_group_t
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: md_job_make
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: md_job_t
    signature: "md_job_t *md_job_make(apr_pool_t *p, md_store_t *store,\n                      md_store_group_t
      group, const char *name,\n                      apr_time_t min_delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - job
    - group
    argTypes:
    - md_job_t*
    - md_store_group_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: md_job_set_group
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_job_set_group(md_job_t *job, md_store_group_t group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_status.c:369,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_status.c:370,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_status.c:371,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_status.c:372,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_status.c:373,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_status.c:374,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_status.c:375,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_status.c:376,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_status.c:377,1
    - Dst: md_json_getl
      Src: /src/httpd/modules/md/md_status.c:378,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_status.c:379,1
    - Dst: md_result_from_json
      Src: /src/httpd/modules/md/md_status.c:380,1
    - Dst: md_json_getcj
      Src: /src/httpd/modules/md/md_status.c:380,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/md_status.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - job
    - json
    - p
    argTypes:
    - md_job_t*
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: md_job_from_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_json_getj
    - md_json_getb
    - apr_date_parse_rfc
    - md_json_getcj
    - md_json_has_key
    - md_json_dups
    - md_result_from_json
    - md_json_getl
    linkageType: ''
    returnType: void
    signature: void md_job_from_json(md_job_t *job, md_json_t *json, apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:390,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:391,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:392,1
    - Dst: md_json_setb
      Src: /src/httpd/modules/md/md_status.c:393,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_status.c:395,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:396,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_status.c:399,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:400,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_status.c:403,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:404,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:406,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:409,1
    - Dst: md_result_to_json
      Src: /src/httpd/modules/md/md_status.c:409,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_status.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - json
    - job
    - result
    - p
    argTypes:
    - md_json_t*
    - md_job_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 412
    functionName: job_to_json
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_json_setl
    - md_json_setb
    - apr_rfc822_date
    - md_json_setj
    - md_json_sets
    - md_result_to_json
    linkageType: ''
    returnType: void
    signature: "void job_to_json(md_json_t *json, const md_job_t *job, \n                        md_result_t
      *result, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_status.c:419,1
    - Dst: md_job_json_seems_valid
      Src: /src/httpd/modules/md/md_status.c:421,1
    - Dst: md_job_from_json
      Src: /src/httpd/modules/md/md_status.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - job
    argTypes:
    - md_job_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: md_job_load
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 4
    functionsReached:
    - md_store_load_json
    - md_job_json_seems_valid
    - md_job_from_json
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_job_load(md_job_t *job)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:432,1
    - Dst: job_to_json
      Src: /src/httpd/modules/md/md_status.c:433,1
    - Dst: md_store_save_json
      Src: /src/httpd/modules/md/md_status.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - job
    - result
    - p
    argTypes:
    - md_job_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: md_job_save
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 3
    functionsReached:
    - md_store_save_json
    - md_json_create
    - job_to_json
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_job_save(md_job_t *job, md_result_t *result, apr_pool_t
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:445,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_status.c:446,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_status.c:446,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:447,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:448,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:449,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_status.c:450,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:451,1
    - Dst: md_json_insertj
      Src: /src/httpd/modules/md/md_status.c:452,1
    - Dst: md_json_limita
      Src: /src/httpd/modules/md/md_status.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - job
    - type
    - status
    - detail
    argTypes:
    - md_job_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: md_job_log_append
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 3
    functionsReached:
    - apr_time_now
    - md_json_insertj
    - md_json_limita
    - apr_rfc822_date
    - md_json_sets
    - md_json_create
    linkageType: ''
    returnType: void
    signature: "void md_job_log_append(md_job_t *job, const char *type, \n                       const
      char *status, const char *detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_status.c:469,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_status.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - baton
    - index
    - entry
    argTypes:
    - void*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 476
    functionName: find_first_log_entry
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_json_gets
    linkageType: ''
    returnType: int
    signature: int find_first_log_entry(void *baton, size_t index, md_json_t *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_status.c:483,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/md_status.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - job
    - type
    argTypes:
    - md_job_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: md_job_log_get_latest
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_json_itera
    - memset
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_job_log_get_latest(md_job_t *job, const char *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_job_log_get_latest
      Src: /src/httpd/modules/md/md_status.c:495,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_status.c:497,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_status.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - job
    - type
    argTypes:
    - md_job_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: md_job_log_get_time_of_latest
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached:
    - md_job_log_get_latest
    - apr_date_parse_rfc
    - md_json_gets
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_job_log_get_time_of_latest(md_job_t *job, const char
      *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_status.c:511,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_status.c:514,1
    - Dst: md_reg_should_renew
      Src: /src/httpd/modules/md/md_status.c:519,1
    - Dst: md_reg_job_make
      Src: /src/httpd/modules/md/md_status.c:521,1
    - Dst: md_job_load
      Src: /src/httpd/modules/md/md_status.c:522,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:536,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:537,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:538,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:539,1
    - Dst: md_json_setl
      Src: /src/httpd/modules/md/md_status.c:540,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - pjson
    - mds
    - reg
    - p
    argTypes:
    - md_json_t**
    - apr_array_header_t*
    - md_reg_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 503
    functionDepth: 7
    functionLinenumber: 503
    functionLinenumberEnd: 542
    functionName: md_status_take_stock
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached:
    - md_job_load
    - md_reg_job_make
    - APR_ARRAY_IDX
    - md_json_setl
    - md_reg_should_renew
    - md_json_create
    linkageType: ''
    returnType: void
    signature: "void md_status_take_stock(md_json_t **pjson, apr_array_header_t *mds,
      \n                           md_reg_t *reg, apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_result_cmp
      Src: /src/httpd/modules/md/md_status.c:558,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_status.c:559,1
    - Dst: md_result_assign
      Src: /src/httpd/modules/md/md_status.c:560,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_status.c:564,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_status.c:568,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_status.c:572,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/md_status.c:575,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/md/md_status.c:577,1
    - Dst: md_job_save
      Src: /src/httpd/modules/md/md_status.c:578,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - result
    - data
    argTypes:
    - md_result_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 583
    functionName: job_result_update
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_time_as_msec
    - md_result_assign
    - md_job_save
    - md_result_cmp
    - apr_psprintf
    - md_job_log_append
    linkageType: ''
    returnType: void
    signature: void job_result_update(md_result_t *result, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_job_notify
      Src: /src/httpd/modules/md/md_status.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - result
    - data
    - event
    - p
    argTypes:
    - md_result_t*
    - void*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: job_result_raise
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_job_notify
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t job_result_raise(md_result_t *result, void *data, const
      char *event, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_event_holler
      Src: /src/httpd/modules/md/md_status.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - result
    - data
    - event
    - p
    argTypes:
    - md_result_t*
    - void*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: job_result_holler
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_event_holler
    linkageType: ''
    returnType: void
    signature: void job_result_holler(md_result_t *result, void *data, const char
      *event, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_on_change
      Src: /src/httpd/modules/md/md_status.c:607,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_status.c:610,1
    - Dst: md_result_md_make
      Src: /src/httpd/modules/md/md_status.c:614,1
    - Dst: md_result_assign
      Src: /src/httpd/modules/md/md_status.c:615,1
    - Dst: md_result_on_change
      Src: /src/httpd/modules/md/md_status.c:616,1
    - Dst: md_result_on_raise
      Src: /src/httpd/modules/md/md_status.c:617,1
    - Dst: md_result_on_holler
      Src: /src/httpd/modules/md/md_status.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - job
    - result
    - store
    argTypes:
    - md_job_t*
    - md_result_t*
    - md_store_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 619
    functionName: job_observation_start
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_result_on_holler
    - md_result_md_make
    - apr_pcalloc
    - md_result_assign
    - md_result_on_raise
    - md_result_on_change
    linkageType: ''
    returnType: void
    signature: void job_observation_start(md_job_t *job, md_result_t *result, md_store_t
      *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_on_change
      Src: /src/httpd/modules/md/md_status.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - job
    argTypes:
    - md_job_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: job_observation_end
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 0
    functionsReached:
    - md_result_on_change
    linkageType: ''
    returnType: void
    signature: void job_observation_end(md_job_t *job)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_status.c:630,1
    - Dst: job_observation_start
      Src: /src/httpd/modules/md/md_status.c:631,1
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/md_status.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - job
    - result
    - store
    argTypes:
    - md_job_t*
    - md_result_t*
    - md_store_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: md_job_start_run
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - job_observation_start
    - md_job_log_append
    - apr_time_now
    linkageType: ''
    returnType: void
    signature: void md_job_start_run(md_job_t *job, md_result_t *result, md_store_t
      *store)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_status.c:637,1
    - Dst: md_acme_problem_is_input_related
      Src: /src/httpd/modules/md/md_status.c:640,1
    - Dst: md_rand_bytes
      Src: /src/httpd/modules/md/md_status.c:668,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_status.c:669,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_status.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - job
    - err_count
    - last_problem
    argTypes:
    - md_job_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 672
    functionName: md_job_delay_on_errors
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached:
    - md_rand_bytes
    - apr_time_from_sec
    - md_acme_problem_is_input_related
    - apr_time_sec
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_job_delay_on_errors(md_job_t *job, int err_count, const
      char *last_problem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_job_log_append
      Src: /src/httpd/modules/md/md_status.c:681,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_status.c:686,1
    - Dst: md_job_delay_on_errors
      Src: /src/httpd/modules/md/md_status.c:686,1
    - Dst: job_observation_end
      Src: /src/httpd/modules/md/md_status.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - job
    - result
    argTypes:
    - md_job_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 689
    functionName: md_job_end_run
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - md_job_log_append
    - apr_time_now
    - job_observation_end
    - md_job_delay_on_errors
    linkageType: ''
    returnType: void
    signature: void md_job_end_run(md_job_t *job, md_result_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - job
    - later
    argTypes:
    - md_job_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: md_job_retry_at
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_job_retry_at(md_job_t *job, apr_time_t later)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_status.c:701,1
    - Dst: md_event_raise
      Src: /src/httpd/modules/md/md_status.c:702,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_status.c:706,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_status.c:712,1
    - Dst: md_job_delay_on_errors
      Src: /src/httpd/modules/md/md_status.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - job
    - reason
    - result
    argTypes:
    - md_job_t*
    - char*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 715
    functionName: md_job_notify
    functionSourceFile: /src/httpd/modules/md/md_status.c
    functionUses: 2
    functionsReached:
    - md_event_raise
    - strcmp
    - apr_time_now
    - md_job_delay_on_errors
    - md_result_set
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_job_notify(md_job_t *job, const char *reason, md_result_t
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_destroy
      Src: /src/httpd/modules/md/md_json.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: json_pool_cleanup
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t json_pool_cleanup(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_abort_get
      Src: /src/httpd/modules/md/md_json.c:78,1
    - Dst: abfn
      Src: /src/httpd/modules/md/md_json.c:80,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_json.c:82,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_json.c:84,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/md_json.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - j
    argTypes:
    - apr_pool_t*
    - json_t*
    assertStmts:
    - condition: (j != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/httpd/modules/md/md_json.c
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: json_create
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 24
    functionsReached:
    - abfn
    - apr_pcalloc
    - apr_pool_abort_get
    - assert
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *json_create(apr_pool_t *pool, json_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:94,1
    - Dst: json_object
      Src: /src/httpd/modules/md/md_json.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: md_json_create
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 24
    functionsReached:
    - json_create
    - json_object
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_create(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:99,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: md_json_create_s
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_create
    - json_string
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_create_s(apr_pool_t *pool, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_json.c:105,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts:
    - condition: (json->j->refcount > 0)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/httpd/modules/md/md_json.c
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: md_json_destroy
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - assert
    - json_decref
    linkageType: ''
    returnType: void
    signature: void md_json_destroy(md_json_t *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:113,1
    - Dst: json_copy
      Src: /src/httpd/modules/md/md_json.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - json
    argTypes:
    - apr_pool_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: md_json_copy
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_copy
    - json_create
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_copy(apr_pool_t *pool, const md_json_t *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:118,1
    - Dst: json_deep_copy
      Src: /src/httpd/modules/md/md_json.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - json
    argTypes:
    - apr_pool_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: md_json_clone
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 5
    functionsReached:
    - json_deep_copy
    - json_create
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_clone(apr_pool_t *pool, const md_json_t *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_json.c:131,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:133,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_json.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - json
    - ap
    argTypes:
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: jselect
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_object_get
    - va_arg
    linkageType: ''
    returnType: json_t
    signature: json_t *jselect(const md_json_t *json, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_json.c:146,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_json.c:148,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:150,1
    - Dst: json_object
      Src: /src/httpd/modules/md/md_json.c:152,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - child_key
    - create
    - json
    - ap
    argTypes:
    - char**
    - int
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: jselect_parent
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_object_get
    - json_object_set_new
    - json_object
    - va_arg
    linkageType: ''
    returnType: json_t
    signature: json_t *jselect_parent(const char **child_key, int create, md_json_t
      *json, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:170,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:172,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:176,1
    - Dst: json_array
      Src: /src/httpd/modules/md/md_json.c:178,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:179,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:182,1
    - Dst: json_array_append
      Src: /src/httpd/modules/md/md_json.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - val
    - json
    - ap
    argTypes:
    - json_t*
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: jselect_add
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - json_is_array
    - json_array
    - json_is_object
    - json_object_get
    - jselect_parent
    - json_array_append
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t jselect_add(json_t *val, md_json_t *json, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:195,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:197,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:198,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:202,1
    - Dst: json_array
      Src: /src/httpd/modules/md/md_json.c:204,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:205,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:208,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:209,1
    - Dst: json_array_size
      Src: /src/httpd/modules/md/md_json.c:213,1
    - Dst: json_array_append
      Src: /src/httpd/modules/md/md_json.c:214,1
    - Dst: json_array_insert
      Src: /src/httpd/modules/md/md_json.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - val
    - index
    - json
    - ap
    argTypes:
    - json_t*
    - size_t
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: jselect_insert
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_decref
    - json_object_set_new
    - json_is_array
    - json_array
    - json_array_insert
    - json_array_size
    - json_is_object
    - json_object_get
    - jselect_parent
    - json_array_append
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t jselect_insert(json_t *val, size_t index, md_json_t *json,
      va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:227,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:234,1
    - Dst: json_object_set
      Src: /src/httpd/modules/md/md_json.c:237,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:242,1
    - Dst: json_incref
      Src: /src/httpd/modules/md/md_json.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - val
    - json
    - ap
    argTypes:
    - json_t*
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: jselect_set
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_decref
    - json_is_object
    - json_object_set
    - json_incref
    - jselect_parent
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t jselect_set(json_t *val, md_json_t *json, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:255,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:258,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:263,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:264,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:267,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - val
    - json
    - ap
    argTypes:
    - json_t*
    - md_json_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 277
    functionName: jselect_set_new
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_object
    - json_object_set_new
    - jselect_parent
    - json_decref
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t jselect_set_new(json_t *val, md_json_t *json, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:284,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:285,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: md_json_has_key
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 9
    functionsReached:
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: int
    signature: int md_json_has_key(const md_json_t *json, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:299,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:300,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:301,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:303,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:304,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:305,1
    - Dst: json_is_real
      Src: /src/httpd/modules/md/md_json.c:306,1
    - Dst: json_is_integer
      Src: /src/httpd/modules/md/md_json.c:307,1
    - Dst: json_is_true
      Src: /src/httpd/modules/md/md_json.c:308,1
    - Dst: json_is_false
      Src: /src/httpd/modules/md/md_json.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - jtype
    - json
    argTypes:
    - md_json_type_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 312
    functionName: md_json_is
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_is_string
    - json_is_real
    - json_is_array
    - json_is_integer
    - json_is_false
    - json_is_object
    - va_end
    - json_is_true
    - jselect
    - va_start
    linkageType: ''
    returnType: int
    signature: int md_json_is(const md_json_type_t jtype, md_json_t *json, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:317,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:318,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:319,1
    - Dst: json_is_real
      Src: /src/httpd/modules/md/md_json.c:320,1
    - Dst: json_is_integer
      Src: /src/httpd/modules/md/md_json.c:321,1
    - Dst: json_is_true
      Src: /src/httpd/modules/md/md_json.c:322,1
    - Dst: json_is_false
      Src: /src/httpd/modules/md/md_json.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: md_json_type_name
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - json_is_integer
    - json_is_array
    - json_is_false
    - json_is_object
    - json_is_true
    - json_is_real
    linkageType: ''
    returnType: char
    signature: char *md_json_type_name(const md_json_t *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:335,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:336,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:337,1
    - Dst: json_is_true
      Src: /src/httpd/modules/md/md_json.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: md_json_getb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 7
    functionsReached:
    - va_end
    - json_is_true
    - jselect
    - va_start
    linkageType: ''
    returnType: int
    signature: int md_json_getb(const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:347,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:348,1
    - Dst: json_boolean
      Src: /src/httpd/modules/md/md_json.c:348,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - int
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: md_json_setb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 6
    functionsReached:
    - va_end
    - json_boolean
    - jselect_set_new
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_setb(int value, md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:361,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:362,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:363,1
    - Dst: json_is_number
      Src: /src/httpd/modules/md/md_json.c:364,1
    - Dst: json_number_value
      Src: /src/httpd/modules/md/md_json.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: md_json_getn
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_number_value
    - json_is_number
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: double
    signature: double md_json_getn(const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:372,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:373,1
    - Dst: json_real
      Src: /src/httpd/modules/md/md_json.c:373,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - double
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: md_json_setn
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - va_end
    - json_real
    - jselect_set_new
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_setn(double value, md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:386,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:387,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:388,1
    - Dst: json_is_number
      Src: /src/httpd/modules/md/md_json.c:389,1
    - Dst: json_integer_value
      Src: /src/httpd/modules/md/md_json.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: md_json_getl
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 9
    functionsReached:
    - jselect
    - json_is_number
    - va_end
    - json_integer_value
    - va_start
    linkageType: ''
    returnType: long
    signature: long md_json_getl(const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:397,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:398,1
    - Dst: json_integer
      Src: /src/httpd/modules/md/md_json.c:398,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - long
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: md_json_setl
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 7
    functionsReached:
    - json_integer
    - va_end
    - jselect_set_new
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_setl(long value, md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:411,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:412,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:413,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:415,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: md_json_gets
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 15
    functionsReached:
    - json_is_string
    - json_string_value
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: char
    signature: char *md_json_gets(const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:423,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:424,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:425,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:427,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_json.c:427,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - json
    argTypes:
    - apr_pool_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: md_json_dups
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 6
    functionsReached:
    - json_is_string
    - json_string_value
    - va_end
    - apr_pstrdup
    - jselect
    - va_start
    linkageType: ''
    returnType: char
    signature: char *md_json_dups(apr_pool_t *p, const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:435,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:436,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:436,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - char*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: md_json_sets
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 18
    functionsReached:
    - va_end
    - json_string
    - jselect_set_new
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_sets(const char *value, md_json_t *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:449,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:450,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:451,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:453,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_json.c:454,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: md_json_get_time
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 4
    functionsReached:
    - json_is_string
    - apr_date_parse_rfc
    - json_string_value
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_json_get_time(const md_json_t *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_json.c:463,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:464,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:465,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:465,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - apr_time_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: md_json_set_time
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_string
    - apr_rfc822_date
    - jselect_set_new
    - va_end
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_set_time(apr_time_t value, md_json_t *json, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:478,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:479,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:480,1
    - Dst: json_incref
      Src: /src/httpd/modules/md/md_json.c:486,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: md_json_getj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 8
    functionsReached:
    - json_create
    - json_incref
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_getj(md_json_t *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:497,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:498,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:499,1
    - Dst: json_incref
      Src: /src/httpd/modules/md/md_json.c:502,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - json
    argTypes:
    - apr_pool_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 506
    functionName: md_json_dupj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_create
    - json_incref
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_dupj(apr_pool_t *p, const md_json_t *json, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:513,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:514,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:515,1
    - Dst: json_incref
      Src: /src/httpd/modules/md/md_json.c:521,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 525
    functionName: md_json_getcj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_create
    - json_incref
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_json_getcj(const md_json_t *json, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:535,1
    - Dst: jselect_set
      Src: /src/httpd/modules/md/md_json.c:536,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:537,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:540,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:541,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:542,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:544,1
    - Dst: json_object_del
      Src: /src/httpd/modules/md/md_json.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - md_json_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 553
    functionName: md_json_setj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 12
    functionsReached:
    - json_object_del
    - json_is_object
    - jselect_set
    - va_end
    - jselect_parent
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_setj(const md_json_t *value, md_json_t *json,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:560,1
    - Dst: jselect_add
      Src: /src/httpd/modules/md/md_json.c:561,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - json
    argTypes:
    - md_json_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: md_json_addj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - va_end
    - jselect_add
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_addj(const md_json_t *value, md_json_t *json,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:571,1
    - Dst: jselect_insert
      Src: /src/httpd/modules/md/md_json.c:572,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - value
    - index
    - json
    argTypes:
    - md_json_t*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: md_json_insertj
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - va_end
    - jselect_insert
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_insertj(md_json_t *value, size_t index, md_json_t
      *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:583,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:584,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:585,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:587,1
    - Dst: json_array_size
      Src: /src/httpd/modules/md/md_json.c:588,1
    - Dst: json_array_remove
      Src: /src/httpd/modules/md/md_json.c:590,1
    - Dst: json_array_size
      Src: /src/httpd/modules/md/md_json.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - max_elements
    - json
    argTypes:
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 595
    functionName: md_json_limita
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_array_remove
    - json_is_array
    - json_array_size
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t md_json_limita(size_t max_elements, md_json_t *json, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:605,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:606,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:607,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:609,1
    - Dst: json_object_clear
      Src: /src/httpd/modules/md/md_json.c:610,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:612,1
    - Dst: json_array_clear
      Src: /src/httpd/modules/md/md_json.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 616
    functionName: md_json_clr
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_array
    - json_is_object
    - json_array_clear
    - json_object_clear
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_clr(md_json_t *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:624,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:625,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:626,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:628,1
    - Dst: json_object_del
      Src: /src/httpd/modules/md/md_json.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - json
    argTypes:
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: md_json_del
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_object_del
    - json_is_object
    - va_end
    - jselect_parent
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_del(md_json_t *json, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:642,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:643,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:644,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:646,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:651,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/md_json.c:652,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dict
    - json
    argTypes:
    - apr_table_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 658
    functionName: md_json_gets_dict
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - json_string_value
    - json_is_object
    - apr_table_set
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_gets_dict(apr_table_t *dict, const md_json_t *json,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:651,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/md_json.c:652,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: json_object_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - json_is_string
    - json_string_value
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(j, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:662,1
    - Dst: json_object_set
      Src: /src/httpd/modules/md/md_json.c:663,1
    - Dst: json_decref
      Src: /src/httpd/modules/md/md_json.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: object_set
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_object_set
    - json_string
    - json_decref
    linkageType: ''
    returnType: int
    signature: int object_set(void *data, const char *key, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:673,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:674,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:675,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:677,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:680,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:681,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:682,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:684,1
    - Dst: json_object
      Src: /src/httpd/modules/md/md_json.c:687,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:688,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/md/md_json.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dict
    - json
    argTypes:
    - apr_table_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 694
    functionName: md_json_sets_dict
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - json_object_set_new
    - json_is_object
    - va_end
    - jselect_parent
    - json_object
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_sets_dict(apr_table_t *dict, md_json_t *json,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_json.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - value
    - json
    - p
    - baton
    argTypes:
    - void*
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 3
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: md_json_pass_to
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_setj
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_pass_to(void *value, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pvalue
    - json
    - p
    - baton
    argTypes:
    - void**
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: md_json_pass_from
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_pass_from(void **pvalue, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_json.c:717,1
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_json.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - value
    - json
    - p
    - baton
    argTypes:
    - void*
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: md_json_clone_to
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_setj
    - md_json_clone
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_clone_to(void *value, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_json.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pvalue
    - json
    - p
    - baton
    argTypes:
    - void**
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: md_json_clone_from
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_clone
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_clone_from(void **pvalue, const md_json_t *json,
      apr_pool_t *p, void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:741,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:742,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:743,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:745,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - a
    - cb
    - baton
    - json
    argTypes:
    - apr_array_header_t*
    - md_json_from_cb*
    - void*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 765
    functionName: md_json_geta
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_is_array
    - cb
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_json_geta(apr_array_header_t *a, md_json_from_cb *cb,
      void *baton,\n                          const md_json_t *json, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 763
    functionName: json_array_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(j, index, val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:776,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:777,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:778,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:780,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:783,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:784,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:785,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:787,1
    - Dst: json_array
      Src: /src/httpd/modules/md/md_json.c:790,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:791,1
    - Dst: json_array_clear
      Src: /src/httpd/modules/md/md_json.c:795,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:801,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:802,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_json.c:802,1
    - Dst: json_array_append_new
      Src: /src/httpd/modules/md/md_json.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - a
    - cb
    - baton
    - json
    argTypes:
    - apr_array_header_t*
    - md_json_to_cb*
    - void*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 807
    functionName: md_json_seta
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - json_object_set_new
    - APR_ARRAY_IDX
    - json_is_array
    - json_array
    - json_string
    - json_is_object
    - json_array_clear
    - cb
    - json_array_append_new
    - va_end
    - jselect_parent
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_json_seta(apr_array_header_t *a, md_json_to_cb *cb,
      void *baton, \n                          md_json_t *json, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:817,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:818,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:819,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:821,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cb
    - baton
    - json
    argTypes:
    - md_json_itera_cb*
    - void*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 833
    functionName: md_json_itera
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 4
    functionsReached:
    - json_is_array
    - cb
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: int
    signature: int md_json_itera(md_json_itera_cb *cb, void *baton, md_json_t *json,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 831
    functionName: json_array_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(j, index, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:843,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:844,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:845,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:847,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cb
    - baton
    - json
    argTypes:
    - md_json_iterkey_cb*
    - void*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 859
    functionName: md_json_iterkey
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_is_object
    - cb
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: int
    signature: int md_json_iterkey(md_json_iterkey_cb *cb, void *baton, md_json_t
      *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/httpd/modules/md/md_json.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: json_object_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(j, key, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:869,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:870,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:871,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:873,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:878,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - json
    argTypes:
    - apr_array_header_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: md_json_getsa
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_is_string
    - json_is_array
    - json_string_value
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_getsa(apr_array_header_t *a, const md_json_t *json,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:878,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: json_array_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - json_string_value
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(j, index, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:892,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:893,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:894,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:896,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/md_json.c:900,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:902,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_json.c:903,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - a
    - p
    - json
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 909
    functionName: md_json_dupsa
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - json_is_string
    - json_is_array
    - apr_array_clear
    - json_string_value
    - va_end
    - apr_pstrdup
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_dupsa(apr_array_header_t *a, apr_pool_t *p, md_json_t
      *json, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:902,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_json.c:903,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: json_array_foreach
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - apr_pstrdup
    - json_string_value
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(j, index, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:917,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:918,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:919,1
    - Dst: json_is_array
      Src: /src/httpd/modules/md/md_json.c:921,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:924,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:925,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:926,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:928,1
    - Dst: json_array
      Src: /src/httpd/modules/md/md_json.c:931,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:932,1
    - Dst: json_array_clear
      Src: /src/httpd/modules/md/md_json.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - a
    - json
    argTypes:
    - apr_array_header_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 941
    functionName: md_json_setsa
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 3
    functionsReached:
    - json_object_set_new
    - json_is_array
    - json_array
    - json_is_object
    - json_array_clear
    - va_end
    - jselect_parent
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_setsa(apr_array_header_t *a, md_json_t *json,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_INDENT
      Src: /src/httpd/modules/md/md_json.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - md_json_fmt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: fmt_to_flags
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - JSON_INDENT
    linkageType: ''
    returnType: size_t
    signature: size_t fmt_to_flags(md_json_fmt_t fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/md/md_json.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - len
    - baton
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: dump_cb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_brigade_write
    linkageType: ''
    returnType: int
    signature: int dump_cb(const char *buffer, size_t len, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/httpd/modules/md/md_json.c:974,1
    - Dst: fmt_to_flags
      Src: /src/httpd/modules/md/md_json.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - fmt
    - bb
    argTypes:
    - md_json_t*
    - md_json_fmt_t
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: md_json_writeb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 3
    functionsReached:
    - fmt_to_flags
    - json_dump_callback
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_writeb(const md_json_t *json, md_json_fmt_t fmt,
      apr_bucket_brigade *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/md/md_json.c:984,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_json.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - len
    - baton
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 990
    functionName: chunk_cb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int chunk_cb(const char *buffer, size_t len, void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_json.c:997,1
    - Dst: json_dump_callback
      Src: /src/httpd/modules/md/md_json.c:998,1
    - Dst: fmt_to_flags
      Src: /src/httpd/modules/md/md_json.c:998,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1000,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_json.c:1009,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_json.c:1011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - json
    - p
    - fmt
    argTypes:
    - md_json_t*
    - apr_pool_t*
    - md_json_fmt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1013
    functionName: md_json_writep
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 6
    functionsReached:
    - APR_ARRAY_IDX
    - json_dump_callback
    - apr_array_pstrcat
    - md_log_perror
    - fmt_to_flags
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *md_json_writep(const md_json_t *json, apr_pool_t *p, md_json_fmt_t
      fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_json.c:1020,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/md/md_json.c:1021,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_json.c:1021,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1023,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1028,1
    - Dst: md_json_dump_state
      Src: /src/httpd/modules/md/md_json.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - json
    - p
    - fmt
    - f
    argTypes:
    - md_json_t*
    - apr_pool_t*
    - md_json_fmt_t
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1032
    functionName: md_json_writef
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - md_log_perror
    - md_json_dump_state
    - md_json_writep
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_writef(const md_json_t *json, apr_pool_t *p, md_json_fmt_t
      fmt, apr_file_t *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_util_fcreatex
      Src: /src/httpd/modules/md/md_json.c:1040,1
    - Dst: md_json_writef
      Src: /src/httpd/modules/md/md_json.c:1042,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_json.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - json
    - p
    - fmt
    - fpath
    - perms
    argTypes:
    - md_json_t*
    - apr_pool_t*
    - md_json_fmt_t
    - char*
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1046
    functionName: md_json_fcreatex
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - apr_file_close
    - md_util_fcreatex
    - md_json_writef
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_json_fcreatex(const md_json_t *json, apr_pool_t *p,
      md_json_fmt_t fmt, \n                              const char *fpath, apr_fileperms_t
      perms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_writef
      Src: /src/httpd/modules/md/md_json.c:1051,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - baton
    - f
    - p
    argTypes:
    - void*
    - apr_file_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: write_json
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_writef
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t write_json(void *baton, apr_file_t *f, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_freplace
      Src: /src/httpd/modules/md/md_json.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - json
    - p
    - fmt
    - fpath
    - perms
    argTypes:
    - md_json_t*
    - apr_pool_t*
    - md_json_fmt_t
    - char*
    - apr_fileperms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1066
    functionName: md_json_freplace
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - md_util_freplace
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_json_freplace(const md_json_t *json, apr_pool_t *p,
      md_json_fmt_t fmt, \n                              const char *fpath, apr_fileperms_t
      perms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loadb
      Src: /src/httpd/modules/md/md_json.c:1073,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pjson
    - pool
    - data
    - data_len
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1079
    functionName: md_json_readd
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_loadb
    - json_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_readd(md_json_t **pjson, apr_pool_t *pool, const
      char *data, size_t data_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/md/md_json.c:1090,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/md/md_json.c:1091,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/md/md_json.c:1092,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/md/md_json.c:1093,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/md/md_json.c:1098,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/md/md_json.c:1101,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_json.c:1104,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/md/md_json.c:1111,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/md/md_json.c:1117,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/md/md_json.c:1118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - data
    - max_len
    - baton
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1122
    functionName: load_cb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - APR_STATUS_IS_EOF
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t load_cb(void *data, size_t max_len, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_load_callback
      Src: /src/httpd/modules/md/md_json.c:1129,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:1131,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pjson
    - pool
    - bb
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1138
    functionName: md_json_readb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_create
    - json_load_callback
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_readb(md_json_t **pjson, apr_pool_t *pool, apr_bucket_brigade
      *bb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/md/md_json.c:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - max_len
    - baton
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1154
    functionName: load_file_cb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    linkageType: ''
    returnType: size_t
    signature: size_t load_file_cb(void *data, size_t max_len, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/md/md_json.c:1163,1
    - Dst: json_load_callback
      Src: /src/httpd/modules/md/md_json.c:1168,1
    - Dst: json_create
      Src: /src/httpd/modules/md/md_json.c:1170,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_json.c:1173,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_json.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pjson
    - p
    - fpath
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1180
    functionName: md_json_readf
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 2
    functionsReached:
    - apr_file_close
    - json_create
    - json_load_callback
    - md_log_perror
    - apr_file_open
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_readf(md_json_t **pjson, apr_pool_t *p, const
      char *fpath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_json.c:1193,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_json.c:1193,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_json.c:1195,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_json.c:1198,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_json.c:1199,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_json.c:1200,1
    - Dst: md_json_readb
      Src: /src/httpd/modules/md/md_json.c:1201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pjson
    - pool
    - res
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1205
    functionName: md_json_read_http
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_util_parse_ct
    - apr_table_get
    - md_json_readb
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_read_http(md_json_t **pjson, apr_pool_t *pool,
      const md_http_response_t *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_read_http
      Src: /src/httpd/modules/md/md_json.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - data
    argTypes:
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 3
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: json_resp_cb
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_json_read_http
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t json_resp_cb(const md_http_response_t *res, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_json.c:1225,1
    - Dst: md_http_GET_perform
      Src: /src/httpd/modules/md/md_json.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pjson
    - pool
    - http
    - url
    argTypes:
    - md_json_t**
    - apr_pool_t*
    - struct md_http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1236
    functionName: md_json_http_get
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - md_http_GET_perform
    - memset
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_json_http_get(md_json_t **pjson, apr_pool_t *pool,\n
      \                             struct md_http_t *http, const char *url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:1245,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:1246,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:1247,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:1250,1
    - Dst: jselect_set
      Src: /src/httpd/modules/md/md_json.c:1251,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:1252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - md_json_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1255
    functionName: md_json_copy_to
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - va_end
    - jselect_set
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_copy_to(md_json_t *dest, const md_json_t *src,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_json.c:1260,1
    - Dst: md_json_type_name
      Src: /src/httpd/modules/md/md_json.c:1260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: md_json_dump_state
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 1
    functionsReached:
    - apr_psprintf
    - md_json_type_name
    linkageType: ''
    returnType: char
    signature: char *md_json_dump_state(const md_json_t *json, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/httpd/modules/md/md_json.c:1272,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_json.c:1273,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:1274,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:1274,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_json.c:1275,1
    - Dst: json_object_set_new
      Src: /src/httpd/modules/md/md_json.c:1276,1
    - Dst: json_string
      Src: /src/httpd/modules/md/md_json.c:1276,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:1278,1
    - Dst: jselect_set_new
      Src: /src/httpd/modules/md/md_json.c:1279,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:1280,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:1284,1
    - Dst: jselect_parent
      Src: /src/httpd/modules/md/md_json.c:1285,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:1286,1
    - Dst: json_is_object
      Src: /src/httpd/modules/md/md_json.c:1288,1
    - Dst: json_object_del
      Src: /src/httpd/modules/md/md_json.c:1289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - tp
    - json
    argTypes:
    - md_timeperiod_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1293
    functionName: md_json_set_timeperiod
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 4
    functionsReached:
    - json_object_set_new
    - json_string
    - apr_rfc822_date
    - jselect_set_new
    - json_object_del
    - json_is_object
    - va_end
    - jselect_parent
    - json_object
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_set_timeperiod(const md_timeperiod_t *tp, md_json_t
      *json, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_json.c:1300,1
    - Dst: jselect
      Src: /src/httpd/modules/md/md_json.c:1301,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_json.c:1302,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_json.c:1304,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:1306,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:1307,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_json.c:1308,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:1308,1
    - Dst: json_object_get
      Src: /src/httpd/modules/md/md_json.c:1309,1
    - Dst: json_is_string
      Src: /src/httpd/modules/md/md_json.c:1310,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/modules/md/md_json.c:1311,1
    - Dst: json_string_value
      Src: /src/httpd/modules/md/md_json.c:1311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - tp
    - json
    argTypes:
    - md_timeperiod_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1315
    functionName: md_json_get_timeperiod
    functionSourceFile: /src/httpd/modules/md/md_json.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - memset
    - apr_date_parse_rfc
    - json_string_value
    - json_object_get
    - va_end
    - jselect
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_json_get_timeperiod(md_timeperiod_t *tp, md_json_t
      *json, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_authz.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: md_acme_authz_create
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: md_acme_authz_t
    signature: md_acme_authz_t *md_acme_authz_create(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_acme_authz.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - acme
    - domain
    - authz
    - p
    argTypes:
    - authz_req_ctx*
    - md_acme_t*
    - char*
    - md_acme_authz_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: authz_req_ctx_init
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void authz_req_ctx_init(authz_req_ctx *ctx, md_acme_t *acme, \n                               const
      char *domain, md_acme_authz_t *authz, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_authz.c:88,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_authz.c:89,1
    - Dst: md_acme_authz_update
      Src: /src/httpd/modules/md/md_acme_authz.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - acme
    - p
    - url
    - pauthz
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - char*
    - md_acme_authz_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: md_acme_authz_retrieve
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    - md_acme_authz_update
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_authz_retrieve(md_acme_t *acme, apr_pool_t *p,
      const char *url, \n                                    md_acme_authz_t **pauthz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_authz.c:106,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:107,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:108,1
    - Dst: md_json_dupj
      Src: /src/httpd/modules/md/md_acme_authz.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - baton
    - index
    - json
    argTypes:
    - void*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: copy_challenge_error
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_json_has_key
    - md_json_dups
    - md_json_dupj
    linkageType: ''
    returnType: int
    signature: int copy_challenge_error(void *baton, size_t index, md_json_t *json)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:122,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:123,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:124,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:125,1
    - Dst: md_acme_get_json
      Src: /src/httpd/modules/md/md_acme_authz.c:134,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_authz.c:135,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_authz.c:137,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:139,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:144,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:149,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/md_acme_authz.c:153,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme_authz.c:163,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:164,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme_authz.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - authz
    - acme
    - p
    argTypes:
    - md_acme_authz_t*
    - md_acme_t*
    - apr_pool_t*
    assertStmts:
    - condition: (acme)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (acme->http)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (authz)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (authz->url)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/httpd/modules/md/md_acme_authz.c
    constantsTouched: []
    func_position:
      end: 170
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 170
    functionName: md_acme_authz_update
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 1
    functionsReached:
    - strcmp
    - md_log_is_level
    - md_json_itera
    - md_json_gets
    - md_log_perror
    - md_json_writep
    - assert
    - md_acme_get_json
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_authz_update(md_acme_authz_t *authz, md_acme_t
      *acme, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_authz.c:179,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:181,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_authz.c:182,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:183,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:186,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:188,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_authz.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - p
    - index
    - json
    argTypes:
    - apr_pool_t*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: cha_from_json
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_json_has_key
    - md_json_dups
    - apr_pcalloc
    linkageType: ''
    returnType: md_acme_authz_cha_t
    signature: md_acme_authz_cha_t *cha_from_json(apr_pool_t *p, size_t index, md_json_t
      *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_authz.c:199,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_authz.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: on_init_authz_resp
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_acme_req_body_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_authz_resp(md_acme_req_t *req, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - acme
    - p
    - hdrs
    - body
    - baton
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - apr_table_t*
    - md_json_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: authz_http_set
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t authz_http_set(md_acme_t *acme, apr_pool_t *p, const
      apr_table_t *hdrs, \n                                   md_json_t *body, void
      *baton)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:223,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:224,1
    - Dst: md_jws_pkey_thumb
      Src: /src/httpd/modules/md/md_acme_authz.c:227,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:228,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - cha
    - authz
    - acme
    - p
    - pchanged
    argTypes:
    - md_acme_authz_cha_t*
    - md_acme_authz_t*
    - md_acme_t*
    - apr_pool_t*
    - int*
    assertStmts:
    - condition: (cha)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (cha->token)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/httpd/modules/md/md_acme_authz.c
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: setup_key_authz
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    - apr_psprintf
    - md_jws_pkey_thumb
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t setup_key_authz(md_acme_authz_cha_t *cha, md_acme_authz_t
      *authz,\n                                    md_acme_t *acme, apr_pool_t *p,
      int *pchanged)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup_key_authz
      Src: /src/httpd/modules/md/md_acme_authz.c:259,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_acme_authz.c:263,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:265,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_authz.c:265,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_authz.c:266,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:277,1
    - Dst: md_result_raise
      Src: /src/httpd/modules/md/md_acme_authz.c:278,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:280,1
    - Dst: authz_req_ctx_init
      Src: /src/httpd/modules/md/md_acme_authz.c:287,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_authz.c:289,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 11
    argNames:
    - cha
    - authz
    - acme
    - store
    - key_specs
    - acme_tls_1_domains
    - md
    - env
    - result
    - psetup_token
    - p
    argTypes:
    - md_acme_authz_cha_t*
    - md_acme_authz_t*
    - md_acme_t*
    - md_store_t*
    - md_pkeys_spec_t*
    - apr_array_header_t*
    - md_t*
    - apr_table_t*
    - md_result_t*
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 295
    functionName: cha_http_01_setup
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_store_save
    - strcmp
    - md_store_load
    - setup_key_authz
    - authz_req_ctx_init
    - md_log_perror
    - md_acme_POST
    - APR_STATUS_IS_ENOENT
    - md_result_raise
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cha_http_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t
      *authz,\n                                      md_acme_t *acme, md_store_t *store,
      \n                                      md_pkeys_spec_t *key_specs,\n                                      apr_array_header_t
      *acme_tls_1_domains, const md_t *md,\n                                      apr_table_t
      *env, md_result_t *result,\n                                      const char
      **psetup_token, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:299,1
    - Dst: md_pkey_filename
      Src: /src/httpd/modules/md/md_acme_authz.c:299,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:300,1
    - Dst: md_chain_filename
      Src: /src/httpd/modules/md/md_acme_authz.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - kspec
    - keyfn
    - certfn
    argTypes:
    - apr_pool_t*
    - md_pkey_spec_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tls_alpn01_fnames
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 1
    functionsReached:
    - md_pkey_filename
    - md_chain_filename
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void tls_alpn01_fnames(apr_pool_t *p, md_pkey_spec_t *kspec, char **keyfn,
      char **certfn )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_authz.c:318,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:321,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:327,1
    - Dst: setup_key_authz
      Src: /src/httpd/modules/md/md_acme_authz.c:334,1
    - Dst: md_data_init_str
      Src: /src/httpd/modules/md/md_acme_authz.c:342,1
    - Dst: md_crypt_sha256_digest_hex
      Src: /src/httpd/modules/md/md_acme_authz.c:343,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:345,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:349,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acme_authz.c:357,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_acme_authz.c:363,1
    - Dst: tls_alpn01_fnames
      Src: /src/httpd/modules/md/md_acme_authz.c:364,1
    - Dst: md_store_load
      Src: /src/httpd/modules/md/md_acme_authz.c:366,1
    - Dst: md_cert_covers_domain
      Src: /src/httpd/modules/md/md_acme_authz.c:368,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_authz.c:369,1
    - Dst: md_pkey_gen
      Src: /src/httpd/modules/md/md_acme_authz.c:370,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:371,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_authz.c:372,1
    - Dst: md_cert_make_tls_alpn_01
      Src: /src/httpd/modules/md/md_acme_authz.c:376,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme_authz.c:377,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:378,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_authz.c:379,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_authz.c:383,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_authz.c:385,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:398,1
    - Dst: md_result_raise
      Src: /src/httpd/modules/md/md_acme_authz.c:399,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:401,1
    - Dst: authz_req_ctx_init
      Src: /src/httpd/modules/md/md_acme_authz.c:408,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_authz.c:410,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 11
    argNames:
    - cha
    - authz
    - acme
    - store
    - key_specs
    - acme_tls_1_domains
    - md
    - env
    - result
    - psetup_token
    - p
    argTypes:
    - md_acme_authz_cha_t*
    - md_acme_authz_t*
    - md_acme_t*
    - md_store_t*
    - md_pkeys_spec_t*
    - apr_array_header_t*
    - md_t*
    - apr_table_t*
    - md_result_t*
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 416
    functionName: cha_tls_alpn_01_setup
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_pkey_gen
    - md_store_load
    - md_log_perror
    - md_pkeys_spec_count
    - authz_req_ctx_init
    - md_acme_POST
    - md_crypt_sha256_digest_hex
    - md_pkey_spec_name
    - apr_psprintf
    - md_cert_covers_domain
    - md_pkeys_spec_get
    - md_store_save
    - apr_time_from_sec
    - APR_STATUS_IS_ENOENT
    - md_array_str_index
    - tls_alpn01_fnames
    - setup_key_authz
    - md_data_init_str
    - md_result_raise
    - md_cert_make_tls_alpn_01
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cha_tls_alpn_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t
      *authz, \n                                          md_acme_t *acme, md_store_t
      *store, \n                                          md_pkeys_spec_t *key_specs,\n
      \                                         apr_array_header_t *acme_tls_1_domains,
      const md_t *md,\n                                          apr_table_t *env,
      md_result_t *result,\n                                          const char **psetup_token,
      apr_pool_t *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_authz.c:440,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:443,1
    - Dst: setup_key_authz
      Src: /src/httpd/modules/md/md_acme_authz.c:448,1
    - Dst: md_data_init_str
      Src: /src/httpd/modules/md/md_acme_authz.c:452,1
    - Dst: md_crypt_sha256_digest64
      Src: /src/httpd/modules/md/md_acme_authz.c:453,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:455,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:460,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:461,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/md/md_acme_authz.c:464,1
    - Dst: md_util_exec
      Src: /src/httpd/modules/md/md_acme_authz.c:465,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:466,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:472,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:479,1
    - Dst: md_result_raise
      Src: /src/httpd/modules/md/md_acme_authz.c:480,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:482,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:488,1
    - Dst: authz_req_ctx_init
      Src: /src/httpd/modules/md/md_acme_authz.c:490,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_authz.c:492,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 11
    argNames:
    - cha
    - authz
    - acme
    - store
    - key_specs
    - acme_tls_1_domains
    - md
    - env
    - result
    - psetup_token
    - p
    argTypes:
    - md_acme_authz_cha_t*
    - md_acme_authz_t*
    - md_acme_t*
    - md_store_t*
    - md_pkeys_spec_t*
    - apr_array_header_t*
    - md_t*
    - apr_table_t*
    - md_result_t*
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 498
    functionName: cha_dns_01_setup
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_util_exec
    - md_data_init_str
    - setup_key_authz
    - apr_tokenize_to_argv
    - authz_req_ctx_init
    - md_log_perror
    - md_acme_POST
    - md_result_raise
    - apr_psprintf
    - apr_table_get
    - md_crypt_sha256_digest64
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cha_dns_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t
      *authz, \n                                     md_acme_t *acme, md_store_t *store,
      \n                                     md_pkeys_spec_t *key_specs,\n                                     apr_array_header_t
      *acme_tls_1_domains, const md_t *md,\n                                     apr_table_t
      *env, md_result_t *result,\n                                     const char
      **psetup_token, apr_pool_t *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_authz.c:513,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:516,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_authz.c:520,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_authz.c:521,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_authz.c:523,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_acme_authz.c:524,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_authz.c:531,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/md/md_acme_authz.c:532,1
    - Dst: md_util_exec
      Src: /src/httpd/modules/md/md_acme_authz.c:533,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:534,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - store
    - domain
    - md
    - env
    - p
    argTypes:
    - md_store_t*
    - char*
    - md_t*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 540
    functionName: cha_dns_01_teardown
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_util_exec
    - strchr
    - apr_tokenize_to_argv
    - md_log_perror
    - apr_psprintf
    - apr_table_get
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cha_dns_01_teardown(md_store_t *store, const char *domain,
      const md_t *md,\n                                        apr_table_t *env, apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_acme_authz.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - store
    - domain
    - md
    - env
    - p
    argTypes:
    - md_store_t*
    - char*
    - md_t*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: cha_teardown_dir
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - md_store_purge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cha_teardown_dir(md_store_t *store, const char *domain,
      const md_t *md,\n                                     apr_table_t *env, apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_authz.c:586,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_authz.c:587,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_authz.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - baton
    - index
    - json
    argTypes:
    - void*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: collect_offered
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - APR_ARRAY_PUSH
    - md_json_gets
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t collect_offered(void *baton, size_t index, md_json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_authz.c:596,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acme_authz.c:597,1
    - Dst: cha_from_json
      Src: /src/httpd/modules/md/md_acme_authz.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - baton
    - index
    - json
    argTypes:
    - void*
    - size_t
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: find_type
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - cha_from_json
    - md_json_gets
    - apr_cstr_casecmp
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t find_type(void *baton, size_t index, md_json_t *json)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:614,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:615,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_authz.c:616,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_authz.c:631,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:633,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_authz.c:637,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/md_acme_authz.c:639,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:640,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acme_authz.c:647,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_authz.c:648,1
    - Dst: setup
      Src: /src/httpd/modules/md/md_acme_authz.c:650,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_authz.c:654,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_authz.c:659,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_authz.c:662,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_authz.c:671,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/md_acme_authz.c:672,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_authz.c:673,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:676,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:677,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_authz.c:679,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_authz.c:682,1
    - Dst: md_json_itera
      Src: /src/httpd/modules/md/md_acme_authz.c:683,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_authz.c:684,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_authz.c:687,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_authz.c:689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 11
    argNames:
    - authz
    - acme
    - store
    - challenges
    - key_specs
    - acme_tls_1_domains
    - md
    - env
    - p
    - psetup_token
    - result
    argTypes:
    - md_acme_authz_t*
    - md_acme_t*
    - md_store_t*
    - apr_array_header_t*
    - md_pkeys_spec_t*
    - apr_array_header_t*
    - md_t*
    - apr_table_t*
    - apr_pool_t*
    - char**
    - md_result_t*
    assertStmts:
    - condition: (authz->resource)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (authz)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - condition: (acme)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/httpd/modules/md/md_acme_authz.c
    constantsTouched: []
    func_position:
      end: 692
      start: 604
    functionDepth: 4
    functionLinenumber: 604
    functionLinenumberEnd: 692
    functionName: md_acme_authz_respond
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - setup
    - APR_ARRAY_IDX
    - md_json_itera
    - apr_cstr_casecmp
    - md_result_log
    - apr_array_pstrcat
    - md_log_perror
    - apr_array_make
    - md_result_activity_printf
    - assert
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_authz_respond(md_acme_authz_t *authz, md_acme_t
      *acme, md_store_t *store, \n                                   apr_array_header_t
      *challenges, md_pkeys_spec_t *key_specs,\n                                   apr_array_header_t
      *acme_tls_1_domains, const md_t *md,\n                                   apr_table_t
      *env, apr_pool_t *p, const char **psetup_token,\n                                   md_result_t
      *result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/md/md_acme_authz.c:700,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_authz.c:701,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_acme_authz.c:702,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acme_authz.c:705,1
    - Dst: teardown
      Src: /src/httpd/modules/md/md_acme_authz.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - store
    - token
    - md
    - env
    - p
    argTypes:
    - struct md_store_t*
    - char*
    - md_t*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 714
    functionName: md_acme_authz_teardown
    functionSourceFile: /src/httpd/modules/md/md_acme_authz.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - teardown
    - apr_cstr_casecmp
    - strchr
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_authz_teardown(struct md_store_t *store, const
      char *token,\n                                    const md_t *md, apr_table_t
      *env, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_order.c:48,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_order.c:50,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_order.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: md_acme_order_create
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: md_acme_order_t
    signature: md_acme_order_t *md_acme_order_create(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_order.c:64,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_order.c:67,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_order.c:70,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_order.c:73,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_order.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: order_st_from_str
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: md_acme_order_st
    signature: md_acme_order_st order_st_from_str(const char *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - status
    argTypes:
    - md_acme_order_st
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: order_st_to_str
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *order_st_to_str(md_acme_order_st status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_order.c:103,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:106,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:108,1
    - Dst: order_st_to_str
      Src: /src/httpd/modules/md/md_acme_order.c:108,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_acme_order.c:109,1
    - Dst: md_json_setsa
      Src: /src/httpd/modules/md/md_acme_order.c:110,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:112,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - order
    - p
    argTypes:
    - md_acme_order_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: md_acme_order_to_json
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_json_setsa
    - md_json_create
    - order_st_to_str
    - md_json_sets
    linkageType: ''
    returnType: md_json_t
    signature: md_json_t *md_acme_order_to_json(md_acme_order_t *order, apr_pool_t
      *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_order.c:122,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_order.c:123,1
    - Dst: order_st_from_str
      Src: /src/httpd/modules/md/md_acme_order.c:125,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_order.c:125,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_order.c:126,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_acme_order.c:127,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_order.c:129,1
    - Dst: md_json_dupsa
      Src: /src/httpd/modules/md/md_acme_order.c:130,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_order.c:132,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_order.c:133,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme_order.c:135,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme_order.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - order
    - json
    - p
    argTypes:
    - md_acme_order_t*
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: order_update_from_json
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_json_gets
    - order_st_from_str
    - md_json_has_key
    - md_json_dups
    - md_json_dupsa
    linkageType: ''
    returnType: void
    signature: void order_update_from_json(md_acme_order_t *order, md_json_t *json,
      apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_order_create
      Src: /src/httpd/modules/md/md_acme_order.c:142,1
    - Dst: order_update_from_json
      Src: /src/httpd/modules/md/md_acme_order.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - md_json_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: md_acme_order_from_json
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_acme_order_create
    - order_update_from_json
    linkageType: ''
    returnType: md_acme_order_t
    signature: md_acme_order_t *md_acme_order_from_json(md_json_t *json, apr_pool_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:150,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_order.c:151,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_order.c:152,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_order.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - order
    - authz_url
    argTypes:
    - md_acme_order_t*
    - char*
    assertStmts:
    - condition: (authz_url)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: md_acme_order_add
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - assert
    - apr_pstrdup
    - APR_ARRAY_PUSH
    - md_array_str_index
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_order_add(md_acme_order_t *order, const char *authz_url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:161,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_order.c:162,1
    - Dst: md_array_str_remove
      Src: /src/httpd/modules/md/md_acme_order.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - order
    - authz_url
    argTypes:
    - md_acme_order_t*
    - char*
    assertStmts:
    - condition: (authz_url)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: md_acme_order_remove
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - assert
    - md_array_str_index
    - md_array_str_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_order_remove(md_acme_order_t *order, const char
      *authz_url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_order.c:172,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_order.c:173,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_order.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - order
    - token
    argTypes:
    - md_acme_order_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: add_setup_token
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - APR_ARRAY_PUSH
    - md_array_str_index
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t add_setup_token(md_acme_order_t *order, const char *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_store_load_json
      Src: /src/httpd/modules/md/md_acme_order.c:189,1
    - Dst: md_acme_order_from_json
      Src: /src/httpd/modules/md/md_acme_order.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - store
    - group
    - md_name
    - pauthz_set
    - p
    argTypes:
    - struct md_store_t*
    - md_store_group_t
    - char*
    - md_acme_order_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: md_acme_order_load
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_acme_order_from_json
    - md_store_load_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_load(struct md_store_t *store, md_store_group_t
      group, \n                                    const char *md_name, md_acme_order_t
      **pauthz_set, \n                                    apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:207,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:208,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:209,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:210,1
    - Dst: md_acme_order_to_json
      Src: /src/httpd/modules/md/md_acme_order.c:212,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:213,1
    - Dst: md_store_save_json
      Src: /src/httpd/modules/md/md_acme_order.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts:
    - condition: (json)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: p_save
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - assert
    - md_store_save_json
    - md_acme_order_to_json
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_save(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_acme_order.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - store
    - p
    - group
    - md_name
    - authz_set
    - create
    argTypes:
    - struct md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - char*
    - md_acme_order_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: md_acme_order_save
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_save(struct md_store_t *store, apr_pool_t
      *p,\n                                    md_store_group_t group, const char
      *md_name, \n                                    md_acme_order_t *authz_set,
      int create)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:234,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:235,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_acme_order.c:236,1
    - Dst: md_acme_order_load
      Src: /src/httpd/modules/md/md_acme_order.c:238,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:239,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_order.c:241,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:243,1
    - Dst: md_acme_authz_teardown
      Src: /src/httpd/modules/md/md_acme_order.c:245,1
    - Dst: md_store_remove
      Src: /src/httpd/modules/md/md_acme_order.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionName: p_purge
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - va_arg
    - md_acme_authz_teardown
    - md_log_perror
    - md_acme_order_load
    - md_store_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t p_purge(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_acme_order.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - store
    - p
    - group
    - md
    - env
    argTypes:
    - md_store_t*
    - apr_pool_t*
    - md_store_group_t
    - md_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: md_acme_order_purge
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 2
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_purge(md_store_t *store, apr_pool_t *p,
      md_store_group_t group,\n                                 const md_t *md, apr_table_t
      *env)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - ctx
    - ','
    - p
    - ','
    - o
    - ','
    - a
    - ','
    - n
    - ','
    - d
    - ','
    - pf
    - ','
    - cid
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: ORDER_CTX_INIT
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ORDER_CTX_INIT(ctx, p, o, a, n, d, pf, cid, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_order.c:282,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:283,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:284,1
    - Dst: md_json_setj
      Src: /src/httpd/modules/md/md_acme_order.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - value
    - json
    - p
    - baton
    argTypes:
    - void*
    - md_json_t*
    - apr_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: identifier_to_json
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_json_setj
    - md_json_create
    - md_json_sets
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t identifier_to_json(void *value, md_json_t *json, apr_pool_t
      *p, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_order.c:293,1
    - Dst: md_json_seta
      Src: /src/httpd/modules/md/md_acme_order.c:294,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:296,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_order.c:298,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_order.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: on_init_order_register
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_acme_req_body_init
    - md_json_sets
    - md_json_seta
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_order_register(md_acme_req_t *req, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_order.c:307,1
    - Dst: md_acme_order_create
      Src: /src/httpd/modules/md/md_acme_order.c:314,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_order.c:315,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:316,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:320,1
    - Dst: order_update_from_json
      Src: /src/httpd/modules/md/md_acme_order.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - acme
    - p
    - hdrs
    - body
    - baton
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - apr_table_t*
    - md_json_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: on_order_upd
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - md_acme_order_create
    - apr_pstrdup
    - md_log_perror
    - apr_table_get
    - order_update_from_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t on_order_upd(md_acme_t *acme, apr_pool_t *p, const apr_table_t
      *hdrs, \n                                 md_json_t *body, void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:337,1
    - Dst: MD_ACME_VERSION_MAJOR
      Src: /src/httpd/modules/md/md_acme_order.c:337,1
    - Dst: ORDER_CTX_INIT
      Src: /src/httpd/modules/md/md_acme_order.c:338,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_order.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - porder
    - acme
    - p
    - name
    - domains
    - profile
    - ari_cert_id
    argTypes:
    - md_acme_order_t**
    - md_acme_t*
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    - char*
    - char*
    assertStmts:
    - condition: (MD_ACME_VERSION_MAJOR(acme->version) > 1)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: md_acme_order_register
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - assert
    - MD_ACME_VERSION_MAJOR
    - ORDER_CTX_INIT
    - md_acme_POST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_register(md_acme_order_t **porder, md_acme_t
      *acme, apr_pool_t *p, \n                                    const char *name,
      apr_array_header_t *domains,\n                                    const char
      *profile, const char *ari_cert_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:350,1
    - Dst: MD_ACME_VERSION_MAJOR
      Src: /src/httpd/modules/md/md_acme_order.c:350,1
    - Dst: ORDER_CTX_INIT
      Src: /src/httpd/modules/md/md_acme_order.c:351,1
    - Dst: md_acme_GET
      Src: /src/httpd/modules/md/md_acme_order.c:352,1
    - Dst: md_result_dup
      Src: /src/httpd/modules/md/md_acme_order.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - order
    - acme
    - result
    - p
    argTypes:
    - md_acme_order_t*
    - md_acme_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts:
    - condition: (MD_ACME_VERSION_MAJOR(acme->version) > 1)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: md_acme_order_update
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_acme_GET
    - ORDER_CTX_INIT
    - MD_ACME_VERSION_MAJOR
    - md_result_dup
    - assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_update(md_acme_order_t *order, md_acme_t
      *acme, \n                                  md_result_t *result, apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_order_update
      Src: /src/httpd/modules/md/md_acme_order.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - baton
    - attempt
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: await_ready
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_acme_order_update
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t await_ready(void *baton, int attempt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:390,1
    - Dst: MD_ACME_VERSION_MAJOR
      Src: /src/httpd/modules/md/md_acme_order.c:390,1
    - Dst: ORDER_CTX_INIT
      Src: /src/httpd/modules/md/md_acme_order.c:391,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_order.c:393,1
    - Dst: md_util_try
      Src: /src/httpd/modules/md/md_acme_order.c:394,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_order.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - order
    - acme
    - md
    - timeout
    - result
    - p
    argTypes:
    - md_acme_order_t*
    - md_acme_t*
    - md_t*
    - apr_interval_time_t
    - md_result_t*
    - apr_pool_t*
    assertStmts:
    - condition: (MD_ACME_VERSION_MAJOR(acme->version) > 1)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: md_acme_order_await_ready
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_result_log
    - md_result_activity_setn
    - ORDER_CTX_INIT
    - MD_ACME_VERSION_MAJOR
    - md_util_try
    - assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_await_ready(md_acme_order_t *order, md_acme_t
      *acme, \n                                       const md_t *md, apr_interval_time_t
      timeout, \n                                       md_result_t *result, apr_pool_t
      *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_order_update
      Src: /src/httpd/modules/md/md_acme_order.c:405,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_order.c:409,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_order.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - baton
    - attempt
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: await_valid
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_acme_order_update
    - md_result_set
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t await_valid(void *baton, int attempt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_order.c:433,1
    - Dst: MD_ACME_VERSION_MAJOR
      Src: /src/httpd/modules/md/md_acme_order.c:433,1
    - Dst: ORDER_CTX_INIT
      Src: /src/httpd/modules/md/md_acme_order.c:434,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_order.c:436,1
    - Dst: md_util_try
      Src: /src/httpd/modules/md/md_acme_order.c:437,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_order.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - order
    - acme
    - md
    - timeout
    - result
    - p
    argTypes:
    - md_acme_order_t*
    - md_acme_t*
    - md_t*
    - apr_interval_time_t
    - md_result_t*
    - apr_pool_t*
    assertStmts:
    - condition: (MD_ACME_VERSION_MAJOR(acme->version) > 1)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/httpd/modules/md/md_acme_order.c
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: md_acme_order_await_valid
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_result_log
    - md_result_activity_setn
    - ORDER_CTX_INIT
    - MD_ACME_VERSION_MAJOR
    - md_util_try
    - assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_await_valid(md_acme_order_t *order, md_acme_t
      *acme, \n                                       const md_t *md, apr_interval_time_t
      timeout, \n                                       md_result_t *result, apr_pool_t
      *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_order.c:456,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_order.c:458,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:459,1
    - Dst: md_acme_authz_retrieve
      Src: /src/httpd/modules/md/md_acme_order.c:461,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:462,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:472,1
    - Dst: md_acme_authz_respond
      Src: /src/httpd/modules/md/md_acme_order.c:475,1
    - Dst: add_setup_token
      Src: /src/httpd/modules/md/md_acme_order.c:482,1
    - Dst: md_acme_order_save
      Src: /src/httpd/modules/md/md_acme_order.c:483,1
    - Dst: md_result_problem_set
      Src: /src/httpd/modules/md/md_acme_order.c:489,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_order.c:495,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_order.c:497,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 8
    argNames:
    - order
    - acme
    - challenge_types
    - store
    - md
    - env
    - result
    - p
    argTypes:
    - md_acme_order_t*
    - md_acme_t*
    - apr_array_header_t*
    - md_store_t*
    - md_t*
    - apr_table_t*
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 503
    functionName: md_acme_order_start_challenges
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - add_setup_token
    - APR_ARRAY_IDX
    - md_result_log
    - md_result_problem_set
    - md_log_perror
    - md_acme_authz_retrieve
    - md_result_activity_printf
    - md_acme_authz_respond
    - md_acme_order_save
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_start_challenges(md_acme_order_t *order,
      md_acme_t *acme, \n                                            apr_array_header_t
      *challenge_types,\n                                            md_store_t *store,
      const md_t *md, \n                                            apr_table_t *env,
      md_result_t *result, \n                                            apr_pool_t
      *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_order.c:514,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:515,1
    - Dst: md_acme_authz_retrieve
      Src: /src/httpd/modules/md/md_acme_order.c:518,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_order.c:522,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:527,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_order.c:532,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_order.c:536,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_order.c:540,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_order.c:543,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_order.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - baton
    - attempt
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 554
    functionName: check_challenges
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - md_result_log
    - md_log_perror
    - md_acme_authz_retrieve
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_challenges(void *baton, int attempt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ORDER_CTX_INIT
      Src: /src/httpd/modules/md/md_acme_order.c:563,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_order.c:565,1
    - Dst: md_util_try
      Src: /src/httpd/modules/md/md_acme_order.c:566,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_order.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - order
    - acme
    - md
    - timeout
    - result
    - p
    argTypes:
    - md_acme_order_t*
    - md_acme_t*
    - md_t*
    - apr_interval_time_t
    - md_result_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: md_acme_order_monitor_authzs
    functionSourceFile: /src/httpd/modules/md/md_acme_order.c
    functionUses: 1
    functionsReached:
    - md_log_perror
    - ORDER_CTX_INIT
    - md_util_try
    - md_result_activity_printf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_order_monitor_authzs(md_acme_order_t *order,
      md_acme_t *acme, \n                                          const md_t *md,
      apr_interval_time_t timeout, \n                                          md_result_t
      *result, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: cleanup_mod_config
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_mod_config(void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md_config.c:152,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/mod_md_config.c:153,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:154,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:155,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/md/mod_md_config.c:156,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/md/mod_md_config.c:157,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/md/mod_md_config.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - create
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: md_mod_conf_get
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    - apr_table_make
    - apr_array_make
    - apr_pool_cleanup_register
    - memcpy
    linkageType: ''
    returnType: md_mod_conf_t
    signature: md_mod_conf_t *md_mod_conf_get(apr_pool_t *pool, int create)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: CONF_S_NAME
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONF_S_NAME(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - sc
    argTypes:
    - md_srv_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: srv_conf_props_clear
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void srv_conf_props_clear(md_srv_conf_t *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - md_srv_conf_t*
    - md_srv_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: srv_conf_props_copy
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void srv_conf_props_copy(md_srv_conf_t *to, const md_srv_conf_t *from)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: md_pkeys_spec_clone
      Src: /src/httpd/modules/md/mod_md_config.c:227,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:230,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md_config.c:234,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:235,1
    - Dst: md_util_schemify
      Src: /src/httpd/modules/md/mod_md_config.c:236,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:238,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 3
    argNames:
    - md
    - from
    - p
    argTypes:
    - md_t*
    - md_srv_conf_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 249
    functionName: srv_conf_props_apply
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_util_schemify
    - APR_ARRAY_PUSH
    - md_pkeys_spec_clone
    - apr_array_copy
    - apr_array_clear
    linkageType: ''
    returnType: void
    signature: void srv_conf_props_apply(md_t *md, const md_srv_conf_t *from, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md_config.c:253,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:255,1
    - Dst: CONF_S_NAME
      Src: /src/httpd/modules/md/mod_md_config.c:255,1
    - Dst: md_mod_conf_get
      Src: /src/httpd/modules/md/mod_md_config.c:257,1
    - Dst: srv_conf_props_clear
      Src: /src/httpd/modules/md/mod_md_config.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: md_config_create_svr
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - srv_conf_props_clear
    - CONF_S_NAME
    - md_mod_conf_get
    linkageType: ''
    returnType: void
    signature: void *md_config_create_svr(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:269,1
    - Dst: CONF_S_NAME
      Src: /src/httpd/modules/md/mod_md_config.c:269,1
    - Dst: CONF_S_NAME
      Src: /src/httpd/modules/md/mod_md_config.c:269,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/mod_md_config.c:271,1
    - Dst: md_pkeys_spec_is_empty
      Src: /src/httpd/modules/md/mod_md_config.c:279,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:283,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:284,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:288,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/md/mod_md_config.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 304
    functionName: md_config_merge
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - apr_array_copy
    - md_pkeys_spec_is_empty
    - CONF_S_NAME
    linkageType: ''
    returnType: void
    signature: void *md_config_merge(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_config_merge
      Src: /src/httpd/modules/md/mod_md_config.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: md_config_merge_svr
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_merge
    linkageType: ''
    returnType: void
    signature: void *md_config_merge_svr(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cmd
    - section
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: inside_section
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int inside_section(cmd_parms *cmd, const char *section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inside_section
      Src: /src/httpd/modules/md/mod_md_config.c:322,1
    - Dst: inside_section
      Src: /src/httpd/modules/md/mod_md_config.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - cmd_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: inside_md_section
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - inside_section
    linkageType: ''
    returnType: int
    signature: int inside_md_section(cmd_parms *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:326,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - cmd_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: md_section_check
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - inside_md_section
    linkageType: ''
    returnType: char
    signature: char *md_section_check(cmd_parms *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/md/mod_md_config.c:342,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:344,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:345,1
    - Dst: md_section_check
      Src: /src/httpd/modules/md/mod_md_config.c:349,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:351,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/md/mod_md_config.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - cmd
    - flags
    argTypes:
    - cmd_parms*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 355
    functionName: md_conf_check_location
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_section_check
    - ap_check_cmd_context
    - apr_pstrcat
    - inside_md_section
    linkageType: ''
    returnType: char
    signature: char *md_conf_check_location(cmd_parms *cmd, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:359,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:362,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pvalue
    - s
    - p
    argTypes:
    - int*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 370
    functionName: set_on_off
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_on_off(int *pvalue, const char *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/mod_md_config.c:375,1
    - Dst: md_util_str_tolower
      Src: /src/httpd/modules/md/mod_md_config.c:376,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/mod_md_config.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - domains
    - name
    - p
    argTypes:
    - apr_array_header_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: add_domain_name
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - md_array_str_index
    - md_util_str_tolower
    linkageType: ''
    returnType: void
    signature: void add_domain_name(apr_array_header_t *domains, const char *name,
      apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:382,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptransitive
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: set_transitive
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_transitive(int *ptransitive, const char *value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:404,1
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:408,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/md/mod_md_config.c:409,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/mod_md_config.c:414,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/md/mod_md_config.c:419,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:420,1
    - Dst: add_domain_name
      Src: /src/httpd/modules/md/mod_md_config.c:421,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/md/mod_md_config.c:423,1
    - Dst: set_transitive
      Src: /src/httpd/modules/md/mod_md_config.c:424,1
    - Dst: add_domain_name
      Src: /src/httpd/modules/md/mod_md_config.c:425,1
    - Dst: md_create
      Src: /src/httpd/modules/md/mod_md_config.c:433,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/mod_md_config.c:440,1
    - Dst: srv_conf_props_clear
      Src: /src/httpd/modules/md/mod_md_config.c:441,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/md/mod_md_config.c:444,1
    - Dst: srv_conf_props_apply
      Src: /src/httpd/modules/md/mod_md_config.c:445,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:446,1
    - Dst: srv_conf_props_copy
      Src: /src/httpd/modules/md/mod_md_config.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 453
    functionName: md_config_sec_start
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_transitive
    - md_create
    - APR_ARRAY_PUSH
    - srv_conf_props_copy
    - md_config_get
    - md_conf_check_location
    - srv_conf_props_clear
    - ap_walk_config
    - memcpy
    - add_domain_name
    - apr_pstrndup
    - ap_strrchr_c
    - apr_array_make
    - srv_conf_props_apply
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *md_config_sec_start(cmd_parms *cmd, void *mconfig, const char
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:458,1
    - Dst: md_section_check
      Src: /src/httpd/modules/md/mod_md_config.c:463,1
    - Dst: set_transitive
      Src: /src/httpd/modules/md/mod_md_config.c:466,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md_config.c:471,1
    - Dst: set_transitive
      Src: /src/httpd/modules/md/mod_md_config.c:473,1
    - Dst: add_domain_name
      Src: /src/httpd/modules/md/mod_md_config.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - cmd
    - dc
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts:
    - condition: (sc->current)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/httpd/modules/md/mod_md_config.c
    constantsTouched: []
    func_position:
      end: 478
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 478
    functionName: md_config_sec_add_members
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_section_check
    - md_config_get
    - add_domain_name
    - assert
    - set_transitive
    linkageType: ''
    returnType: char
    signature: "char *md_config_sec_add_members(cmd_parms *cmd, void *dc, \n                                             int
      argc, char *const argv[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:483,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:484,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:490,1
    - Dst: set_transitive
      Src: /src/httpd/modules/md/mod_md_config.c:495,1
    - Dst: add_domain_name
      Src: /src/httpd/modules/md/mod_md_config.c:496,1
    - Dst: md_create
      Src: /src/httpd/modules/md/mod_md_config.c:503,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - cmd
    - dc
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 517
    functionName: md_config_set_names
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_create
    - APR_ARRAY_PUSH
    - md_config_get
    - md_conf_check_location
    - add_domain_name
    - set_transitive
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_names(cmd_parms *cmd, void *dc, \n                                       int
      argc, char *const argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:522,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:527,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:531,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md_config.c:534,1
    - Dst: md_get_ca_url_from_name
      Src: /src/httpd/modules/md/mod_md_config.c:537,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - cmd
    - dc
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 543
    functionName: md_config_set_ca
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - md_config_get
    - md_conf_check_location
    - apr_array_clear
    - md_get_ca_url_from_name
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_ca(cmd_parms *cmd, void *dc,\n                                    int
      argc, char *const argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:547,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: md_config_set_contact
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_contact(cmd_parms *cmd, void *dc, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:560,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: md_config_set_ca_proto
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_ca_proto(cmd_parms *cmd, void *dc, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:573,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: md_config_set_agreement
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_agreement(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:586,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:591,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:591,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:594,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:597,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:597,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:601,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 609
    functionName: md_config_set_renew_mode
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_conf_check_location
    - apr_pstrcat
    - md_config_get
    - apr_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *md_config_set_renew_mode(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:613,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 622
    functionName: md_config_set_profile
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_profile(cmd_parms *cmd, void *dc, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:626,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:630,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: md_config_set_profile_mandatory
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_profile_mandatory(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:638,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:642,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: md_config_set_must_staple
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_must_staple(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:650,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:654,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 4
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: md_config_set_stapling
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_stapling(cmd_parms *cmd, void *dc, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:662,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:666,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 4
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: md_config_set_staple_others
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_staple_others(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:674,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:678,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: md_config_set_ari
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_ari(cmd_parms *cmd, void *dc, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:686,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:687,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 684
    functionDepth: 4
    functionLinenumber: 684
    functionLinenumberEnd: 692
    functionName: md_config_set_base_server
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_base_server(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:696,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:697,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/mod_md_config.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 710
    functionName: md_config_set_initial_delay
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_duration_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_initial_delay(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:714,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:715,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/mod_md_config.c:720,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/mod_md_config.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 712
    functionDepth: 4
    functionLinenumber: 712
    functionLinenumberEnd: 728
    functionName: md_config_set_check_interval
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_duration_parse
    - apr_time_from_sec
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_check_interval(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:732,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:733,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/mod_md_config.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 746
    functionName: md_config_set_min_delay
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_duration_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_min_delay(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:750,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:751,1
    - Dst: atoi
      Src: /src/httpd/modules/md/mod_md_config.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 762
    functionName: md_config_set_retry_failover
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - atoi
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_retry_failover(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:766,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:767,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:775,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:778,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/mod_md_config.c:782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - dc
    - s
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 792
    functionName: md_config_set_store_locks
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    - md_duration_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_store_locks(cmd_parms *cmd, void *dc, const char
      *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:796,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:797,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:803,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - dc
    - s
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 794
    functionDepth: 4
    functionLinenumber: 794
    functionLinenumberEnd: 813
    functionName: md_config_set_match_mode
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_match_mode(cmd_parms *cmd, void *dc, const char
      *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:817,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:820,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:824,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:827,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:830,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 838
    functionName: md_config_set_require_https
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_cstr_casecmp
    - apr_pstrcat
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_require_https(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:842,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:846,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/mod_md_config.c:849,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 856
    functionName: md_config_set_renew_window
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - md_timeslice_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_renew_window(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:860,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:864,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/mod_md_config.c:867,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: md_config_set_warn_window
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - md_timeslice_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_warn_window(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:878,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:881,1
    - Dst: md_util_abs_http_uri_check
      Src: /src/httpd/modules/md/mod_md_config.c:884,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:889,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cmd
    - arg
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 876
    functionDepth: 4
    functionLinenumber: 876
    functionLinenumberEnd: 897
    functionName: md_config_set_proxy
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - inside_md_section
    - md_config_get
    - md_conf_check_location
    - apr_table_set
    - md_util_abs_http_uri_check
    linkageType: ''
    returnType: char
    signature: char *md_config_set_proxy(cmd_parms *cmd, void *arg, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:901,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - arg
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 899
    functionDepth: 4
    functionLinenumber: 899
    functionLinenumberEnd: 910
    functionName: md_config_set_store_dir
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_store_dir(cmd_parms *cmd, void *arg, const char
      *value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md_config.c:917,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/mod_md_config.c:920,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/md/mod_md_config.c:924,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/md/mod_md_config.c:937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - mc
    - value
    argTypes:
    - md_mod_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 956
    functionName: set_port_map
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_strtoi64
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *set_port_map(md_mod_conf_t *mc, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:961,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:965,1
    - Dst: set_port_map
      Src: /src/httpd/modules/md/mod_md_config.c:966,1
    - Dst: set_port_map
      Src: /src/httpd/modules/md/mod_md_config.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cmd
    - arg
    - v1
    - v2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 972
    functionName: md_config_set_port_map
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_port_map
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_port_map(cmd_parms *cmd, void *arg, \n                                          const
      char *v1, const char *v2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:977,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:983,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/mod_md_config.c:990,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cmd
    - dc
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 974
    functionDepth: 4
    functionLinenumber: 974
    functionLinenumberEnd: 1000
    functionName: md_config_set_cha_tyes
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_array_clear
    - apr_array_make
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_cha_tyes(cmd_parms *cmd, void *dc, \n                                          int
      argc, char *const argv[])"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1005,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1011,1
    - Dst: md_pkeys_spec_make
      Src: /src/httpd/modules/md/mod_md_config.c:1018,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:1021,1
    - Dst: md_pkeys_spec_add_default
      Src: /src/httpd/modules/md/mod_md_config.c:1025,1
    - Dst: strlen
      Src: /src/httpd/modules/md/mod_md_config.c:1027,1
    - Dst: isdigit
      Src: /src/httpd/modules/md/mod_md_config.c:1031,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/md/mod_md_config.c:1032,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1034,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1039,1
    - Dst: md_pkeys_spec_contains_rsa
      Src: /src/httpd/modules/md/mod_md_config.c:1041,1
    - Dst: md_pkeys_spec_add_rsa
      Src: /src/httpd/modules/md/mod_md_config.c:1044,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:1046,1
    - Dst: isdigit
      Src: /src/httpd/modules/md/mod_md_config.c:1047,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/md/mod_md_config.c:1052,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1054,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1059,1
    - Dst: md_pkeys_spec_contains_rsa
      Src: /src/httpd/modules/md/mod_md_config.c:1062,1
    - Dst: md_pkeys_spec_add_rsa
      Src: /src/httpd/modules/md/mod_md_config.c:1065,1
    - Dst: md_pkeys_spec_contains_ec
      Src: /src/httpd/modules/md/mod_md_config.c:1068,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1069,1
    - Dst: md_pkeys_spec_add_ec
      Src: /src/httpd/modules/md/mod_md_config.c:1071,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 4
    argNames:
    - cmd
    - dc
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1075
    functionName: md_config_set_pkeys
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_add_rsa
    - apr_cstr_casecmp
    - md_config_get
    - md_conf_check_location
    - md_pkeys_spec_contains_ec
    - isdigit
    - md_pkeys_spec_add_ec
    - apr_atoi64
    - md_pkeys_spec_add_default
    - apr_psprintf
    - md_pkeys_spec_make
    - md_pkeys_spec_contains_rsa
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_pkeys(cmd_parms *cmd, void *dc, \n                                       int
      argc, char *const argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1079,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1077
    functionDepth: 4
    functionLinenumber: 1077
    functionLinenumberEnd: 1088
    functionName: md_config_set_notify_cmd
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_notify_cmd(cmd_parms *cmd, void *mconfig, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1092,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1101
    functionName: md_config_set_msg_cmd
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_msg_cmd(cmd_parms *cmd, void *mconfig, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1105,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1108,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:1112,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1120
    functionName: md_config_set_dns01_cmd
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - inside_md_section
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_dns01_cmd(cmd_parms *cmd, void *mconfig, const
      char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1124,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1128,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_config.c:1131,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/mod_md_config.c:1131,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1138
    functionName: md_config_set_dns01_version
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - strcmp
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_dns01_version(cmd_parms *cmd, void *mconfig, const
      char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1142,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1146,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md_config.c:1147,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/md/mod_md_config.c:1148,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1149,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:1151,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:1153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts:
    - condition: (sc->current)
      pos:
        line_end: 1146
        line_start: 1146
        source_file: /src/httpd/modules/md/mod_md_config.c
    constantsTouched: []
    func_position:
      end: 1155
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1155
    functionName: md_config_add_cert_file
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - APR_ARRAY_PUSH
    - md_config_get
    - md_conf_check_location
    - apr_psprintf
    - assert
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *md_config_add_cert_file(cmd_parms *cmd, void *mconfig, const
      char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1159,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1163,1
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md_config.c:1164,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/md/mod_md_config.c:1165,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1166,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/mod_md_config.c:1168,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/mod_md_config.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts:
    - condition: (sc->current)
      pos:
        line_end: 1163
        line_start: 1163
        source_file: /src/httpd/modules/md/mod_md_config.c
    constantsTouched: []
    func_position:
      end: 1172
      start: 1157
    functionDepth: 4
    functionLinenumber: 1157
    functionLinenumberEnd: 1172
    functionName: md_config_add_key_file
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - APR_ARRAY_PUSH
    - md_config_get
    - md_conf_check_location
    - apr_psprintf
    - assert
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *md_config_add_key_file(cmd_parms *cmd, void *mconfig, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1176,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1180,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1184
    functionName: md_config_set_server_status
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_server_status(cmd_parms *cmd, void *dc, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1188,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1192,1
    - Dst: set_on_off
      Src: /src/httpd/modules/md/mod_md_config.c:1195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1186
    functionDepth: 4
    functionLinenumber: 1186
    functionLinenumberEnd: 1196
    functionName: md_config_set_certificate_status
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - set_on_off
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_certificate_status(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1200,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1204,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/mod_md_config.c:1207,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1198
    functionDepth: 4
    functionLinenumber: 1198
    functionLinenumberEnd: 1210
    functionName: md_config_set_ocsp_keep_window
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - md_timeslice_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_ocsp_keep_window(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1214,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1218,1
    - Dst: md_timeslice_parse
      Src: /src/httpd/modules/md/mod_md_config.c:1221,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dc
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1212
    functionDepth: 4
    functionLinenumber: 1212
    functionLinenumberEnd: 1228
    functionName: md_config_set_ocsp_renew_window
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - md_timeslice_parse
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_ocsp_renew_window(cmd_parms *cmd, void *dc, const
      char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1233,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cmd
    - dc
    - name
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1230
    functionDepth: 4
    functionLinenumber: 1230
    functionLinenumberEnd: 1243
    functionName: md_config_set_cert_check
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_cert_check(cmd_parms *cmd, void *dc, \n                                            const
      char *name, const char *url)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1247,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1252,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/mod_md_config.c:1255,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:1258,1
    - Dst: md_duration_format
      Src: /src/httpd/modules/md/mod_md_config.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1245
    functionDepth: 4
    functionLinenumber: 1245
    functionLinenumberEnd: 1260
    functionName: md_config_set_activation_delay
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    - md_duration_format
    - md_conf_check_location
    - apr_table_set
    - md_duration_parse
    linkageType: ''
    returnType: char
    signature: char *md_config_set_activation_delay(cmd_parms *cmd, void *mconfig,
      const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1264,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1267,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:1271,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - arg
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1279
    functionName: md_config_set_ca_certs
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - inside_md_section
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_ca_certs(cmd_parms *cmd, void *arg, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1283,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1286,1
    - Dst: inside_md_section
      Src: /src/httpd/modules/md/mod_md_config.c:1290,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/md/mod_md_config.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - arg
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1298
    functionName: md_config_set_proxy_ca_certs
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - inside_md_section
    - md_config_get
    - md_conf_check_location
    linkageType: ''
    returnType: char
    signature: char *md_config_set_proxy_ca_certs(cmd_parms *cmd, void *arg, const
      char *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1303,1
    - Dst: md_conf_check_location
      Src: /src/httpd/modules/md/mod_md_config.c:1307,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/mod_md_config.c:1311,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/md/mod_md_config.c:1321,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/md/mod_md_config.c:1325,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1327,1
    - Dst: md_file_exists
      Src: /src/httpd/modules/md/mod_md_config.c:1330,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1331,1
    - Dst: md_json_readf
      Src: /src/httpd/modules/md/mod_md_config.c:1335,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1337,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_config.c:1340,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1342,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/mod_md_config.c:1346,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - cmd
    - dc
    - keyid
    - hmac
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1300
    functionDepth: 4
    functionLinenumber: 1300
    functionLinenumberEnd: 1358
    functionName: md_config_set_eab
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - ap_server_root_relative
    - apr_cstr_casecmp
    - md_config_get
    - md_conf_check_location
    - apr_pstrcat
    - md_json_readf
    - md_json_gets
    - md_file_exists
    linkageType: ''
    returnType: char
    signature: "char *md_config_set_eab(cmd_parms *cmd, void *dc,\n                                     const
      char *keyid, const char *hmac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1468,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/mod_md_config.c:1473,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/md/mod_md_config.c:1476,1
    - Dst: ap_state_dir_relative
      Src: /src/httpd/modules/md/mod_md_config.c:1478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1483
    functionName: md_config_post_config
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 1
    functionsReached:
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_state_dir_relative
    - apr_psprintf
    - md_config_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_config_post_config(server_rec *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/md/mod_md_config.c:1487,1
    - Dst: ap_assert
      Src: /src/httpd/modules/md/mod_md_config.c:1488,1
    - Dst: md_config_merge
      Src: /src/httpd/modules/md/mod_md_config.c:1490,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/mod_md_config.c:1492,1
    - Dst: CONF_S_NAME
      Src: /src/httpd/modules/md/mod_md_config.c:1492,1
    - Dst: md_mod_conf_get
      Src: /src/httpd/modules/md/mod_md_config.c:1493,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/md/mod_md_config.c:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1497
    functionName: config_get_int
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_merge
    - apr_pstrcat
    - ap_set_module_config
    - CONF_S_NAME
    - ap_get_module_config
    - ap_assert
    - md_mod_conf_get
    linkageType: ''
    returnType: md_srv_conf_t
    signature: md_srv_conf_t *config_get_int(server_rec *s, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_get_int
      Src: /src/httpd/modules/md/mod_md_config.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: md_config_get
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 58
    functionsReached:
    - config_get_int
    linkageType: ''
    returnType: md_srv_conf_t
    signature: md_srv_conf_t *md_config_get(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/mod_md_config.c:1506,1
    - Dst: config_get_int
      Src: /src/httpd/modules/md/mod_md_config.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 1505
        line_start: 1505
        source_file: /src/httpd/modules/md/mod_md_config.c
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 3
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: md_config_get_unique
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 1
    functionsReached:
    - assert
    - config_get_int
    linkageType: ''
    returnType: md_srv_conf_t
    signature: md_srv_conf_t *md_config_get_unique(server_rec *s, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1510
    functionDepth: 4
    functionLinenumber: 1510
    functionLinenumberEnd: 1513
    functionName: md_config_cget
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 0
    functionsReached:
    - md_config_get
    linkageType: ''
    returnType: md_srv_conf_t
    signature: md_srv_conf_t *md_config_cget(conn_rec *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - sc
    - var
    argTypes:
    - md_srv_conf_t*
    - md_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1533
    functionName: md_config_gets
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_config_gets(const md_srv_conf_t *sc, md_config_var_t var)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - sc
    - var
    argTypes:
    - md_srv_conf_t*
    - md_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1557
    functionName: md_config_geti
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_config_geti(const md_srv_conf_t *sc, md_config_var_t var)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pspan
    - sc
    - var
    argTypes:
    - md_timeslice_t**
    - md_srv_conf_t*
    - md_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1571
    functionName: md_config_get_timespan
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_config_get_timespan(md_timeslice_t **pspan, const md_srv_conf_t
      *sc, md_config_var_t var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_config_get
      Src: /src/httpd/modules/md/mod_md_config.c:1579,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/mod_md_config.c:1581,1
    - Dst: md_contains
      Src: /src/httpd/modules/md/mod_md_config.c:1582,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - domain
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1573
    functionDepth: 4
    functionLinenumber: 1573
    functionLinenumberEnd: 1587
    functionName: md_get_for_domain
    functionSourceFile: /src/httpd/modules/md/mod_md_config.c
    functionUses: 1
    functionsReached:
    - md_contains
    - APR_ARRAY_IDX
    - md_config_get
    linkageType: ''
    returnType: md_t
    signature: md_t *md_get_for_domain(server_rec *s, const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - period
    argTypes:
    - md_timeperiod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: md_timeperiod_length
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_timeperiod_length(const md_timeperiod_t *period)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_timeperiod_has_started
      Src: /src/httpd/modules/md/md_time.c:33,1
    - Dst: md_timeperiod_has_ended
      Src: /src/httpd/modules/md/md_time.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - period
    - time
    argTypes:
    - md_timeperiod_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: md_timeperiod_contains
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 0
    functionsReached:
    - md_timeperiod_has_ended
    - md_timeperiod_has_started
    linkageType: ''
    returnType: int
    signature: int md_timeperiod_contains(const md_timeperiod_t *period, apr_time_t
      time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - period
    - time
    argTypes:
    - md_timeperiod_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: md_timeperiod_has_started
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_timeperiod_has_started(const md_timeperiod_t *period, apr_time_t
      time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - period
    - time
    argTypes:
    - md_timeperiod_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: md_timeperiod_has_ended
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_timeperiod_has_ended(const md_timeperiod_t *period, apr_time_t
      time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_timeperiod_length
      Src: /src/httpd/modules/md/md_time.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - period
    - time
    argTypes:
    - md_timeperiod_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: md_timeperiod_remaining
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached:
    - md_timeperiod_length
    linkageType: ''
    returnType: apr_interval_time_t
    signature: apr_interval_time_t md_timeperiod_remaining(const md_timeperiod_t *period,
      apr_time_t time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_time.c:59,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_time.c:60,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/md/md_time.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - period
    argTypes:
    - apr_pool_t*
    - md_timeperiod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: md_timeperiod_print
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 4
    functionsReached:
    - apr_rfc822_date
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *md_timeperiod_print(apr_pool_t *p, const md_timeperiod_t *period)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:67,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:68,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:72,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:80,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:88,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:93,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:102,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/md/md_time.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - p
    - roughly
    - duration
    argTypes:
    - apr_pool_t*
    - int
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 106
    functionName: duration_print
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 3
    functionsReached:
    - apr_time_msec
    - apr_time_sec
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *duration_print(apr_pool_t *p, int roughly, apr_interval_time_t
      duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_print
      Src: /src/httpd/modules/md/md_time.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - duration
    argTypes:
    - apr_pool_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: md_duration_print
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 3
    functionsReached:
    - duration_print
    linkageType: ''
    returnType: char
    signature: char *md_duration_print(apr_pool_t *p, apr_interval_time_t duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_print
      Src: /src/httpd/modules/md/md_time.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - duration
    argTypes:
    - apr_pool_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: md_duration_roughly
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached:
    - duration_print
    linkageType: ''
    returnType: char
    signature: char *md_duration_roughly(apr_pool_t *p, apr_interval_time_t duration)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:121,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:122,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:125,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:128,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:129,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:131,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:134,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:135,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:137,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:140,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/md/md_time.c:141,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:143,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:146,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/md/md_time.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - p
    - duration
    argTypes:
    - apr_pool_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 152
    functionName: duration_format
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached:
    - apr_time_msec
    - apr_time_sec
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *duration_format(apr_pool_t *p, apr_interval_time_t duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_format
      Src: /src/httpd/modules/md/md_time.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - duration
    argTypes:
    - apr_pool_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: md_duration_format
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached:
    - duration_format
    linkageType: ''
    returnType: char
    signature: char *md_duration_format(apr_pool_t *p, apr_interval_time_t duration)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/md/md_time.c:165,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:182,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:186,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:191,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:204,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ptimeout
    - value
    - def_unit
    argTypes:
    - apr_interval_time_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 214
    functionName: md_duration_parse
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 6
    functionsReached:
    - apr_time_from_sec
    - apr_strtoi64
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_duration_parse(apr_interval_time_t *ptimeout, const
      char *value, \n                               const char *def_unit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/md/md_time.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - value
    - ppercent
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: percentage_parse
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 0
    functionsReached:
    - apr_strtoi64
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t percentage_parse(const char *value, int *ppercent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_time.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pts
    - p
    - norm
    - len
    argTypes:
    - md_timeslice_t**
    - apr_pool_t*
    - apr_interval_time_t
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: md_timeslice_create
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_timeslice_create(md_timeslice_t **pts, apr_pool_t
      *p,\n                                 apr_interval_time_t norm, apr_interval_time_t
      len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_time.c:258,1
    - Dst: md_duration_parse
      Src: /src/httpd/modules/md/md_time.c:259,1
    - Dst: percentage_parse
      Src: /src/httpd/modules/md/md_time.c:264,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:267,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - pts
    - p
    - val
    - norm
    argTypes:
    - md_timeslice_t**
    - apr_pool_t*
    - char*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: md_timeslice_parse
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 5
    functionsReached:
    - apr_time_from_sec
    - percentage_parse
    - apr_pcalloc
    - md_duration_parse
    - apr_time_sec
    linkageType: ''
    returnType: char
    signature: "char *md_timeslice_parse(md_timeslice_t **pts, apr_pool_t *p, \n                               const
      char *val, apr_interval_time_t norm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:279,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:280,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_time.c:281,1
    - Dst: duration_format
      Src: /src/httpd/modules/md/md_time.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ts
    - p
    argTypes:
    - md_timeslice_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: md_timeslice_format
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 2
    functionsReached:
    - duration_format
    - apr_time_sec
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *md_timeslice_format(const md_timeslice_t *ts, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:293,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:294,1
    - Dst: md_timeperiod_length
      Src: /src/httpd/modules/md/md_time.c:295,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:296,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_time.c:297,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_time.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - period
    - ts
    argTypes:
    - md_timeperiod_t*
    - md_timeslice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 306
    functionName: md_timeperiod_slice_before_end
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 6
    functionsReached:
    - md_timeperiod_length
    - apr_time_sec
    - apr_time_from_sec
    linkageType: ''
    returnType: md_timeperiod_t
    signature: "md_timeperiod_t md_timeperiod_slice_before_end(const md_timeperiod_t
      *period, \n                                               const md_timeslice_t
      *ts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ts1
    - ts2
    argTypes:
    - md_timeslice_t*
    - md_timeslice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: md_timeslice_eq
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_timeslice_eq(const md_timeslice_t *ts1, const md_timeslice_t
      *ts2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - md_timeperiod_t*
    - md_timeperiod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: md_timeperiod_common
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: md_timeperiod_t
    signature: md_timeperiod_t md_timeperiod_common(const md_timeperiod_t *a, const
      md_timeperiod_t *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_time.c:333,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:334,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:334,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:334,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:335,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:337,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:337,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:339,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:339,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:341,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:341,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:343,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:343,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:345,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:345,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:366,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:375,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:375,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:377,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_time.c:377,1
    - Dst: apr_time_exp_gmt_get
      Src: /src/httpd/modules/md/md_time.c:389,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 39
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 392
    functionName: md_time_parse_rfc3339
    functionSourceFile: /src/httpd/modules/md/md_time.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - apr_time_exp_gmt_get
    - memset
    linkageType: ''
    returnType: apr_time_t
    signature: apr_time_t md_time_parse_rfc3339(const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/md/md_acme.c:78,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:79,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/md/md_acme.c:81,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:82,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acme.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: problem_status_get
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - strlen
    - apr_cstr_casecmp
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t problem_status_get(const char *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/md/md_acme.c:97,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:98,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/md/md_acme.c:100,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:101,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_acme.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - problem
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: md_acme_problem_is_input_related
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - ap_strstr_c
    - strlen
    - apr_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int md_acme_problem_is_input_related(const char *problem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme.c:118,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - acme
    - hdrs
    argTypes:
    - md_acme_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: req_update_nonce
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void req_update_nonce(md_acme_t *acme, apr_table_t *hdrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_update_nonce
      Src: /src/httpd/modules/md/md_acme.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - data
    argTypes:
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: http_update_nonce
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - req_update_nonce
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t http_update_nonce(const md_http_response_t *res, void
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/md/md_acme.c:137,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/md_acme.c:141,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme.c:143,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/md_acme.c:145,1
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme.c:153,1
    - Dst: md_result_make
      Src: /src/httpd/modules/md/md_acme.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - acme
    - method
    - url
    argTypes:
    - md_acme_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 157
    functionName: md_acme_req_create
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - md_result_make
    - apr_pool_destroy
    - md_json_create
    linkageType: ''
    returnType: md_acme_req_t
    signature: md_acme_req_t *md_acme_req_create(md_acme_t *acme, const char *method,
      const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_http_HEAD_perform
      Src: /src/httpd/modules/md/md_acme.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acme
    argTypes:
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: acmev2_new_nonce
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_http_HEAD_perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acmev2_new_nonce(md_acme_t *acme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_crypt_init
      Src: /src/httpd/modules/md/md_acme.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - base
    - init_ssl
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: md_acme_init
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - md_crypt_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_init(apr_pool_t *p, const char *base,  int init_ssl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme.c:177,1
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_acme.c:178,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:179,1
    - Dst: md_json_read_http
      Src: /src/httpd/modules/md/md_acme.c:181,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme.c:186,1
    - Dst: problem_status_get
      Src: /src/httpd/modules/md/md_acme.c:189,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme.c:190,1
    - Dst: md_result_problem_set
      Src: /src/httpd/modules/md/md_acme.c:192,1
    - Dst: md_json_getj
      Src: /src/httpd/modules/md/md_acme.c:193,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/md/md_acme.c:195,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:196,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:200,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:217,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - md_acme_req_t*
    - md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 224
    functionName: inspect_problem
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_json_getj
    - md_json_read_http
    - md_json_gets
    - problem_status_get
    - md_util_parse_ct
    - md_result_problem_set
    - md_log_perror
    - apr_table_get
    - md_result_printf
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t inspect_problem(md_acme_req_t *req, const md_http_response_t
      *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_acme.c:233,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme.c:238,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:247,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:248,1
    - Dst: md_jws_sign
      Src: /src/httpd/modules/md/md_acme.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - req
    - jpayload
    argTypes:
    - md_acme_req_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: acmev2_req_init
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_jws_sign
    - md_json_writep
    - md_data_null
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acmev2_req_init(md_acme_req_t *req, md_json_t *jpayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_req_t*::acme::req_init_fn
      Src: /src/httpd/modules/md/md_acme.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - payload
    argTypes:
    - md_acme_req_t*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: md_acme_req_body_init
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 6
    functionsReached:
    - md_acme_req_t*::acme::req_init_fn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_req_body_init(md_acme_req_t *req, md_json_t *payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_req_t*::on_err
      Src: /src/httpd/modules/md/md_acme.c:263,1
    - Dst: md_result_dup
      Src: /src/httpd/modules/md/md_acme.c:270,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/md_acme.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - req
    - rv
    argTypes:
    - md_acme_req_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: md_acme_req_done
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - md_result_dup
    - md_acme_req_t*::on_err
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_req_done(md_acme_req_t *req, apr_status_t rv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_clone
      Src: /src/httpd/modules/md/md_acme.c:282,1
    - Dst: req_update_nonce
      Src: /src/httpd/modules/md/md_acme.c:283,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:285,1
    - Dst: ap_is_HTTP_SUCCESS
      Src: /src/httpd/modules/md/md_acme.c:286,1
    - Dst: md_json_read_http
      Src: /src/httpd/modules/md/md_acme.c:291,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme.c:293,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme.c:295,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:296,1
    - Dst: md_acme_req_t*::on_json
      Src: /src/httpd/modules/md/md_acme.c:300,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme.c:302,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:307,1
    - Dst: md_acme_req_t*::on_res
      Src: /src/httpd/modules/md/md_acme.c:313,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:318,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme.c:320,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme.c:321,1
    - Dst: inspect_problem
      Src: /src/httpd/modules/md/md_acme.c:324,1
    - Dst: md_acme_req_done
      Src: /src/httpd/modules/md/md_acme.c:329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - res
    - data
    argTypes:
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 331
    functionName: on_response
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 2
    functionsReached:
    - inspect_problem
    - md_log_is_level
    - md_json_read_http
    - ap_is_HTTP_SUCCESS
    - md_acme_req_t*::on_json
    - md_result_log
    - md_acme_req_t*::on_res
    - md_log_perror
    - req_update_nonce
    - APR_STATUS_IS_ENOENT
    - md_acme_req_done
    - apr_table_clone
    - md_json_writep
    - apr_table_get
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_response(const md_http_response_t *res, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: acmev2_GET_as_POST_init
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_acme_req_body_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acmev2_GET_as_POST_init(md_acme_req_t *req, void *baton)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:346,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:348,1
    - Dst: md_result_reset
      Src: /src/httpd/modules/md/md_acme.c:350,1
    - Dst: md_result_make
      Src: /src/httpd/modules/md/md_acme.c:351,1
    - Dst: md_acme_setup
      Src: /src/httpd/modules/md/md_acme.c:355,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:359,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:372,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:372,1
    - Dst: md_acme_setup
      Src: /src/httpd/modules/md/md_acme.c:374,1
    - Dst: md_acme_t*::new_nonce_fn
      Src: /src/httpd/modules/md/md_acme.c:377,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:378,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme.c:383,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme.c:384,1
    - Dst: md_acme_req_t*::on_init
      Src: /src/httpd/modules/md/md_acme.c:388,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme.c:392,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme.c:393,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:394,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:395,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme.c:399,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:400,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:404,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:408,1
    - Dst: md_http_GET_perform
      Src: /src/httpd/modules/md/md_acme.c:409,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:411,1
    - Dst: md_http_POSTd_perform
      Src: /src/httpd/modules/md/md_acme.c:412,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme.c:415,1
    - Dst: md_http_HEAD_perform
      Src: /src/httpd/modules/md/md_acme.c:416,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:419,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:423,1
    - Dst: md_acme_req_send
      Src: /src/httpd/modules/md/md_acme.c:427,1
    - Dst: md_acme_req_done
      Src: /src/httpd/modules/md/md_acme.c:432,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 2
    argNames:
    - req
    - get_as_post
    argTypes:
    - md_acme_req_t*
    - int
    assertStmts:
    - condition: (acme->url)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/httpd/modules/md/md_acme.c
    constantsTouched: []
    func_position:
      end: 434
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 434
    functionName: md_acme_req_send
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - md_http_HEAD_perform
    - md_http_POSTd_perform
    - md_result_reset
    - strcmp
    - md_log_is_level
    - apr_pcalloc
    - md_acme_req_t*::on_init
    - md_log_perror
    - md_acme_t*::new_nonce_fn
    - md_acme_req_send
    - md_acme_req_done
    - md_json_sets
    - md_json_writep
    - md_result_make
    - assert
    - strlen
    - md_acme_setup
    - md_http_GET_perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_req_send(md_acme_req_t *req, int get_as_post)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:445,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:446,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:448,1
    - Dst: md_acme_req_create
      Src: /src/httpd/modules/md/md_acme.c:449,1
    - Dst: md_acme_req_send
      Src: /src/httpd/modules/md/md_acme.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - acme
    - url
    - on_init
    - on_json
    - on_res
    - on_err
    - baton
    argTypes:
    - md_acme_t*
    - char*
    - md_acme_req_init_cb*
    - md_acme_req_json_cb*
    - md_acme_req_res_cb*
    - md_acme_req_err_cb*
    - void*
    assertStmts:
    - condition: (url)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/httpd/modules/md/md_acme.c
    - condition: (on_json || on_res)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/httpd/modules/md/md_acme.c
    constantsTouched: []
    func_position:
      end: 457
      start: 436
    functionDepth: 5
    functionLinenumber: 436
    functionLinenumberEnd: 457
    functionName: md_acme_POST
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 7
    functionsReached:
    - assert
    - md_acme_req_send
    - md_acme_req_create
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_POST(md_acme_t *acme, const char *url,\n                          md_acme_req_init_cb
      *on_init,\n                          md_acme_req_json_cb *on_json,\n                          md_acme_req_res_cb
      *on_res,\n                          md_acme_req_err_cb *on_err,\n                          void
      *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:469,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:470,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:472,1
    - Dst: md_acme_req_create
      Src: /src/httpd/modules/md/md_acme.c:473,1
    - Dst: md_acme_req_send
      Src: /src/httpd/modules/md/md_acme.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - acme
    - url
    - on_init
    - on_json
    - on_res
    - on_err
    - get_as_post
    - baton
    argTypes:
    - md_acme_t*
    - char*
    - md_acme_req_init_cb*
    - md_acme_req_json_cb*
    - md_acme_req_res_cb*
    - md_acme_req_err_cb*
    - int
    - void*
    assertStmts:
    - condition: (url)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/httpd/modules/md/md_acme.c
    - condition: (on_json || on_res)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/httpd/modules/md/md_acme.c
    constantsTouched: []
    func_position:
      end: 481
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 481
    functionName: md_acme_GET
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - assert
    - md_acme_req_send
    - md_acme_req_create
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_GET(md_acme_t *acme, const char *url,\n                         md_acme_req_init_cb
      *on_init,\n                         md_acme_req_json_cb *on_json,\n                         md_acme_req_res_cb
      *on_res,\n                         md_acme_req_err_cb *on_err,\n                         int
      get_as_post,\n                         void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme.c:486,1
    - Dst: md_result_problem_set
      Src: /src/httpd/modules/md/md_acme.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - acme
    - rv
    - result
    argTypes:
    - md_acme_t*
    - apr_status_t
    - struct md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 492
    functionName: md_acme_report_result
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - md_result_set
    - md_result_problem_set
    linkageType: ''
    returnType: void
    signature: void md_acme_report_result(md_acme_t *acme, apr_status_t rv, struct
      md_result_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_clone
      Src: /src/httpd/modules/md/md_acme.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - acme
    - p
    - headers
    - jbody
    - baton
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - apr_table_t*
    - md_json_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: on_got_json
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_json_clone
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t on_got_json(md_acme_t *acme, apr_pool_t *p, const apr_table_t
      *headers, \n                                md_json_t *jbody, void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_GET
      Src: /src/httpd/modules/md/md_acme.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pjson
    - acme
    - url
    - get_as_post
    - p
    argTypes:
    - struct md_json_t**
    - md_acme_t*
    - char*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 6
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: md_acme_get_json
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - md_acme_GET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_get_json(struct md_json_t **pjson, md_acme_t
      *acme, \n                              const char *url, int get_as_post, apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - acme
    argTypes:
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: md_acme_clear_acct
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_acme_clear_acct(md_acme_t *acme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acme
    argTypes:
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: md_acme_acct_id_get
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_acme_acct_id_get(md_acme_t *acme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acme
    argTypes:
    - md_acme_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: md_acme_acct_url_get
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_acme_acct_url_get(md_acme_t *acme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_load
      Src: /src/httpd/modules/md/md_acme.c:555,1
    - Dst: md_acme_acct_matches_url
      Src: /src/httpd/modules/md/md_acme.c:557,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:558,1
    - Dst: md_acme_acct_validate
      Src: /src/httpd/modules/md/md_acme.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - acme
    - store
    - p
    - acct_id
    argTypes:
    - md_acme_t*
    - md_store_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 570
    functionName: md_acme_use_acct
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_load
    - apr_pstrdup
    - md_acme_acct_matches_url
    - md_acme_acct_validate
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_use_acct(md_acme_t *acme, md_store_t *store,\n
      \                             apr_pool_t *p, const char *acct_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_load
      Src: /src/httpd/modules/md/md_acme.c:580,1
    - Dst: md_acme_acct_matches_md
      Src: /src/httpd/modules/md/md_acme.c:582,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:583,1
    - Dst: md_acme_acct_validate
      Src: /src/httpd/modules/md/md_acme.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - acme
    - store
    - p
    - acct_id
    - md
    argTypes:
    - md_acme_t*
    - struct md_store_t*
    - apr_pool_t*
    - char*
    - md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 595
    functionName: md_acme_use_acct_for_md
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_load
    - md_acme_acct_validate
    - apr_pstrdup
    - md_acme_acct_matches_md
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_use_acct_for_md(md_acme_t *acme, struct md_store_t
      *store,\n                                     apr_pool_t *p, const char *acct_id,\n
      \                                    const md_t *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_save
      Src: /src/httpd/modules/md/md_acme.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acme
    - p
    - store
    argTypes:
    - md_acme_t*
    - apr_pool_t*
    - md_store_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: md_acme_save_acct
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_save
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_save_acct(md_acme_t *acme, apr_pool_t *p, md_store_t
      *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - acme
    - on_init
    - on_json
    - on_res
    - on_err
    - baton
    argTypes:
    - md_acme_t*
    - md_acme_req_init_cb*
    - md_acme_req_json_cb*
    - md_acme_req_res_cb*
    - md_acme_req_err_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 6
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: acmev2_POST_new_account
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_acme_POST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acmev2_POST_new_account(md_acme_t *acme,\n                                            md_acme_req_init_cb
      *on_init,\n                                            md_acme_req_json_cb *on_json,\n
      \                                           md_acme_req_res_cb *on_res,\n                                            md_acme_req_err_cb
      *on_err,\n                                            void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_t*::post_new_account_fn
      Src: /src/httpd/modules/md/md_acme.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - acme
    - on_init
    - on_json
    - on_res
    - on_err
    - baton
    argTypes:
    - md_acme_t*
    - md_acme_req_init_cb*
    - md_acme_req_json_cb*
    - md_acme_req_res_cb*
    - md_acme_req_err_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: md_acme_POST_new_account
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - md_acme_t*::post_new_account_fn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_POST_new_account(md_acme_t *acme, \n                                      md_acme_req_init_cb
      *on_init,\n                                      md_acme_req_json_cb *on_json,\n
      \                                     md_acme_req_res_cb *on_res,\n                                      md_acme_req_err_cb
      *on_err,\n                                      void *baton)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:636,1
    - Dst: md_util_abs_uri_check
      Src: /src/httpd/modules/md/md_acme.c:640,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:641,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme.c:645,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme.c:648,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:650,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/md/md_acme.c:655,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:656,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_acme.c:660,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:661,1
    - Dst: md_result_make
      Src: /src/httpd/modules/md/md_acme.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - pacme
    - p
    - url
    - proxy_url
    - ca_file
    - proxy_ca_file
    argTypes:
    - md_acme_t**
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 667
    functionName: md_acme_create
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_uri_parse
    - md_log_perror
    - strlen
    - apr_psprintf
    - md_result_make
    - md_util_abs_uri_check
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_acme_create(md_acme_t **pacme, apr_pool_t *p, const
      char *url,\n                            const char *proxy_url, const char *ca_file,\n
      \                           const char *proxy_ca_file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme.c:678,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - baton
    - key
    - json
    argTypes:
    - void*
    - char*
    - md_json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: collect_profiles
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - APR_ARRAY_PUSH
    linkageType: ''
    returnType: int
    signature: int collect_profiles(void *baton, const char* key, md_json_t *json)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:692,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:694,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme.c:697,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:702,1
    - Dst: md_json_read_http
      Src: /src/httpd/modules/md/md_acme.c:711,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:713,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme.c:717,1
    - Dst: md_json_writep
      Src: /src/httpd/modules/md/md_acme.c:718,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:719,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:724,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:726,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:727,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:728,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:729,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:730,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:743,1
    - Dst: md_json_getb
      Src: /src/httpd/modules/md/md_acme.c:744,1
    - Dst: md_json_has_key
      Src: /src/httpd/modules/md/md_acme.c:749,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme.c:750,1
    - Dst: md_json_iterkey
      Src: /src/httpd/modules/md/md_acme.c:751,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:752,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:758,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:763,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:765,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:766,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:767,1
    - Dst: md_json_dups
      Src: /src/httpd/modules/md/md_acme.c:772,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:777,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme.c:780,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - res
    - data
    argTypes:
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 785
    functionName: update_directory
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 0
    functionsReached:
    - md_log_is_level
    - md_json_read_http
    - md_json_getb
    - md_result_log
    - md_log_perror
    - apr_array_make
    - md_json_has_key
    - md_json_dups
    - md_json_writep
    - md_json_iterkey
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t update_directory(const md_http_response_t *res, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme.c:792,1
    - Dst: md_http_create
      Src: /src/httpd/modules/md/md_acme.c:795,1
    - Dst: md_http_set_response_limit
      Src: /src/httpd/modules/md/md_acme.c:801,1
    - Dst: md_http_set_timeout_default
      Src: /src/httpd/modules/md/md_acme.c:802,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme.c:802,1
    - Dst: md_http_set_connect_timeout_default
      Src: /src/httpd/modules/md/md_acme.c:803,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme.c:803,1
    - Dst: md_http_set_stalling_default
      Src: /src/httpd/modules/md/md_acme.c:804,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme.c:804,1
    - Dst: md_http_set_ca_file
      Src: /src/httpd/modules/md/md_acme.c:805,1
    - Dst: md_http_set_proxy_ca_file
      Src: /src/httpd/modules/md/md_acme.c:806,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme.c:808,1
    - Dst: md_http_GET_perform
      Src: /src/httpd/modules/md/md_acme.c:812,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme.c:816,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - acme
    - result
    argTypes:
    - md_acme_t*
    - md_result_t*
    assertStmts:
    - condition: (acme->url)
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/httpd/modules/md/md_acme.c
    constantsTouched: []
    func_position:
      end: 827
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 827
    functionName: md_acme_setup
    functionSourceFile: /src/httpd/modules/md/md_acme.c
    functionUses: 1
    functionsReached:
    - apr_time_from_sec
    - md_result_log
    - md_http_create
    - md_log_perror
    - md_result_printf
    - md_http_set_ca_file
    - md_http_set_proxy_ca_file
    - md_http_set_response_limit
    - md_http_set_timeout_default
    - md_http_set_stalling_default
    - assert
    - md_http_set_connect_timeout_default
    - md_http_GET_perform
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_setup(md_acme_t *acme, md_result_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_load
      Src: /src/httpd/modules/md/md_acme_drive.c:55,1
    - Dst: md_acme_acct_validate
      Src: /src/httpd/modules/md/md_acme_drive.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - acme
    - store
    - md
    - p
    argTypes:
    - md_acme_t*
    - struct md_store_t*
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: use_staged_acct
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_acme_acct_load
    - md_acme_acct_validate
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t use_staged_acct(md_acme_t *acme, struct md_store_t *store,\n
      \                                   const md_t *md, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_acme_acct_to_json
      Src: /src/httpd/modules/md/md_acme_drive.c:71,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_drive.c:73,1
    - Dst: md_store_save
      Src: /src/httpd/modules/md/md_acme_drive.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - acme
    - store
    - md_name
    - p
    argTypes:
    - md_acme_t*
    - md_store_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: save_acct_staged
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_store_save
    - md_acme_acct_to_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t save_acct_staged(md_acme_t *acme, md_store_t *store,
      \n                                     const char *md_name, apr_pool_t *p)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:88,1
    - Dst: md_acme_clear_acct
      Src: /src/httpd/modules/md/md_acme_drive.c:89,1
    - Dst: use_staged_acct
      Src: /src/httpd/modules/md/md_acme_drive.c:92,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:93,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:95,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:101,1
    - Dst: md_acme_use_acct_for_md
      Src: /src/httpd/modules/md/md_acme_drive.c:102,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:103,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/md/md_acme_drive.c:103,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:104,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:115,1
    - Dst: md_acme_find_acct_for_md
      Src: /src/httpd/modules/md/md_acme_drive.c:117,1
    - Dst: md_acme_acct_id_get
      Src: /src/httpd/modules/md/md_acme_drive.c:118,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:120,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:127,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:128,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_acme_drive.c:131,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:133,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:135,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:143,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:151,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_drive.c:156,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:157,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:165,1
    - Dst: md_acme_acct_register
      Src: /src/httpd/modules/md/md_acme_drive.c:168,1
    - Dst: md_result_dup
      Src: /src/httpd/modules/md/md_acme_drive.c:171,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:172,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_acme_drive.c:185,1
    - Dst: save_acct_staged
      Src: /src/httpd/modules/md/md_acme_drive.c:189,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 192
    functionName: md_acme_drive_set_acct
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 1
    functionsReached:
    - md_acme_find_acct_for_md
    - md_acme_acct_id_get
    - use_staged_acct
    - apr_is_empty_array
    - strcmp
    - md_acme_clear_acct
    - md_save
    - md_result_log
    - save_acct_staged
    - md_log_perror
    - md_acme_use_acct_for_md
    - APR_STATUS_IS_ENOENT
    - md_result_dup
    - md_acme_acct_register
    - APR_STATUS_IS_EINVAL
    - md_result_activity_printf
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_drive_set_acct(md_proto_driver_t *d, md_result_t
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_link_find_relation
      Src: /src/httpd/modules/md/md_acme_drive.c:201,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - headers
    argTypes:
    - md_proto_driver_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: get_up_link
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_link_find_relation
    linkageType: ''
    returnType: void
    signature: void get_up_link(md_proto_driver_t *d, apr_table_t *headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_drive.c:214,1
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_acme_drive.c:215,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:216,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_drive.c:218,1
    - Dst: md_cert_chain_read_http
      Src: /src/httpd/modules/md/md_acme_drive.c:224,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:225,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - chain
    - p
    - res
    argTypes:
    - apr_array_header_t*
    - apr_pool_t*
    - md_http_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: add_http_certs
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_cert_chain_read_http
    - md_util_parse_ct
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - apr_table_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t add_http_certs(apr_array_header_t *chain, apr_pool_t
      *p,\n                                   const md_http_response_t *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_http_certs
      Src: /src/httpd/modules/md/md_acme_drive.c:243,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:244,1
    - Dst: get_up_link
      Src: /src/httpd/modules/md/md_acme_drive.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - acme
    - res
    - baton
    argTypes:
    - md_acme_t*
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: on_add_cert
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - add_http_certs
    - get_up_link
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_add_cert(md_acme_t *acme, const md_http_response_t
      *res, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:257,1
    - Dst: md_acme_GET
      Src: /src/httpd/modules/md/md_acme_drive.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - baton
    - attempt
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: get_cert
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_acme_GET
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t get_cert(void *baton, int attempt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:267,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:268,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:269,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:270,1
    - Dst: get_cert
      Src: /src/httpd/modules/md/md_acme_drive.c:273,1
    - Dst: md_util_try
      Src: /src/httpd/modules/md/md_acme_drive.c:276,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - d
    - only_once
    argTypes:
    - md_proto_driver_t*
    - int
    assertStmts:
    - condition: (ad->md)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/httpd/modules/md/md_acme_drive.c
    - condition: (ad->order->certificate)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/httpd/modules/md/md_acme_drive.c
    - condition: (ad->acme)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/httpd/modules/md/md_acme_drive.c
    - condition: (ad->order)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/httpd/modules/md/md_acme_drive.c
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 7
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: md_acme_drive_cert_poll
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - assert
    - get_cert
    - md_util_try
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_drive_cert_poll(md_proto_driver_t *d, int only_once)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_json_create
      Src: /src/httpd/modules/md/md_acme_drive.c:292,1
    - Dst: md_json_sets
      Src: /src/httpd/modules/md/md_acme_drive.c:293,1
    - Dst: md_acme_req_body_init
      Src: /src/httpd/modules/md/md_acme_drive.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - baton
    argTypes:
    - md_acme_req_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: on_init_csr_req
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_json_create
    - md_acme_req_body_init
    - md_json_sets
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_init_csr_req(md_acme_req_t *req, void *baton)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_drive.c:307,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:311,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_drive.c:313,1
    - Dst: md_acme_order_save
      Src: /src/httpd/modules/md/md_acme_drive.c:314,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:316,1
    - Dst: md_cert_read_http
      Src: /src/httpd/modules/md/md_acme_drive.c:323,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:324,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/md/md_acme_drive.c:325,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:326,1
    - Dst: get_up_link
      Src: /src/httpd/modules/md/md_acme_drive.c:327,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:329,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - acme
    - res
    - baton
    argTypes:
    - md_acme_t*
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 338
    functionName: csr_req
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - apr_array_clear
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - md_cert_read_http
    - apr_table_get
    - get_up_link
    - apr_pstrdup
    - md_acme_order_save
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t csr_req(md_acme_t *acme, const md_http_response_t *res,
      void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:361,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:363,1
    - Dst: md_pkey_load
      Src: /src/httpd/modules/md/md_acme_drive.c:366,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:367,1
    - Dst: md_pkey_gen
      Src: /src/httpd/modules/md/md_acme_drive.c:368,1
    - Dst: md_pkey_save
      Src: /src/httpd/modules/md/md_acme_drive.c:369,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:371,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:372,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:376,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:376,1
    - Dst: md_cert_req_create
      Src: /src/httpd/modules/md/md_acme_drive.c:377,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:379,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:380,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:383,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:383,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:384,1
    - Dst: md_acme_POST
      Src: /src/httpd/modules/md/md_acme_drive.c:385,1
    - Dst: md_acme_report_result
      Src: /src/httpd/modules/md/md_acme_drive.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts:
    - condition: (ad->cred)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/httpd/modules/md/md_acme_drive.c
    - condition: (ad->order->finalize)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/httpd/modules/md/md_acme_drive.c
    constantsTouched: []
    func_position:
      end: 390
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 390
    functionName: md_acme_drive_setup_cred_chain
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 1
    functionsReached:
    - md_pkey_gen
    - md_pkey_load
    - md_pkey_save
    - md_log_perror
    - md_acme_POST
    - md_pkey_spec_name
    - APR_STATUS_IS_ENOENT
    - md_cert_req_create
    - md_acme_report_result
    - md_result_activity_printf
    - assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_drive_setup_cred_chain(md_proto_driver_t *d, md_result_t
      *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_drive.c:403,1
    - Dst: md_util_parse_ct
      Src: /src/httpd/modules/md/md_acme_drive.c:404,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_drive.c:405,1
    - Dst: add_http_certs
      Src: /src/httpd/modules/md/md_acme_drive.c:410,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:411,1
    - Dst: get_up_link
      Src: /src/httpd/modules/md/md_acme_drive.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - acme
    - res
    - baton
    argTypes:
    - md_acme_t*
    - md_http_response_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 415
    functionName: on_add_chain
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - add_http_certs
    - strcmp
    - md_util_parse_ct
    - md_log_perror
    - apr_table_get
    - get_up_link
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t on_add_chain(md_acme_t *acme, const md_http_response_t
      *res, void *baton)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_acme_drive.c:427,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:430,1
    - Dst: md_acme_GET
      Src: /src/httpd/modules/md/md_acme_drive.c:432,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:438,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:446,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - baton
    - attempt
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 459
    functionName: get_chain
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - strcmp
    - md_acme_GET
    - md_log_perror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t get_chain(void *baton, int attempt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acme_drive.c:474,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:479,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:485,1
    - Dst: md_acme_drive_cert_poll
      Src: /src/httpd/modules/md/md_acme_drive.c:490,1
    - Dst: md_util_try
      Src: /src/httpd/modules/md/md_acme_drive.c:495,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - d
    argTypes:
    - md_proto_driver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 461
    functionDepth: 8
    functionLinenumber: 461
    functionLinenumberEnd: 500
    functionName: ad_chain_retrieve
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_acme_drive_cert_poll
    - md_util_try
    - md_array_is_empty
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ad_chain_retrieve(md_proto_driver_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:511,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_drive.c:513,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme_drive.c:518,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme_drive.c:519,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:520,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:523,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acme_drive.c:523,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acme_drive.c:524,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_acme_drive.c:525,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_acme_drive.c:526,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:527,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:528,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 534
    functionName: acme_driver_preload_init
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_pkeys_spec_get
    - apr_time_from_sec
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - md_result_set
    - md_log_perror
    - md_pkeys_spec_count
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acme_driver_preload_init(md_proto_driver_t *d, md_result_t
      *result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: acme_driver_preload_init
      Src: /src/httpd/modules/md/md_acme_drive.c:542,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:543,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_drive.c:551,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:553,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_drive.c:553,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/md_acme_drive.c:557,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:561,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:562,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:563,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:566,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:567,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:577,1
    - Dst: md_array_str_remove
      Src: /src/httpd/modules/md/md_acme_drive.c:578,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:581,1
    - Dst: md_array_str_remove
      Src: /src/httpd/modules/md/md_acme_drive.c:582,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_acme_drive.c:585,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:586,1
    - Dst: md_array_str_remove
      Src: /src/httpd/modules/md/md_acme_drive.c:587,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/md/md_acme_drive.c:590,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:592,1
    - Dst: md_array_str_remove
      Src: /src/httpd/modules/md/md_acme_drive.c:593,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_acme_drive.c:597,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:598,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:609,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_drive.c:610,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:613,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 615
    functionName: acme_driver_init
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_array_cat
    - APR_ARRAY_PUSH
    - md_result_set
    - md_array_str_remove
    - apr_array_pstrcat
    - md_log_perror
    - acme_driver_preload_init
    - apr_table_get
    - md_array_str_index
    - apr_pstrdup
    - md_result_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acme_driver_init(md_proto_driver_t *d, md_result_t *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:631,1
    - Dst: md_pkey_load
      Src: /src/httpd/modules/md/md_acme_drive.c:633,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acme_drive.c:635,1
    - Dst: md_pubcert_load
      Src: /src/httpd/modules/md/md_acme_drive.c:636,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/md/md_acme_drive.c:638,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:642,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - d
    argTypes:
    - md_proto_driver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 650
    functionName: load_missing_creds
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - apr_array_cat
    - APR_ARRAY_IDX
    - md_pkey_load
    - md_array_is_empty
    - md_log_perror
    - md_pubcert_load
    - md_pkey_spec_name
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t load_missing_creds(md_proto_driver_t *d)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:665,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:673,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_acme_drive.c:674,1
    - Dst: md_is_newer
      Src: /src/httpd/modules/md/md_acme_drive.c:677,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:681,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_acme_drive.c:694,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:697,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:710,1
    - Dst: md_log_is_level
      Src: /src/httpd/modules/md/md_acme_drive.c:713,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:714,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/md/md_acme_drive.c:717,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:721,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:723,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:724,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:726,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:727,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:735,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:738,1
    - Dst: load_missing_creds
      Src: /src/httpd/modules/md/md_acme_drive.c:743,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:744,1
    - Dst: md_array_str_eq
      Src: /src/httpd/modules/md/md_acme_drive.c:749,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:750,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:752,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:753,1
    - Dst: md_copy
      Src: /src/httpd/modules/md/md_acme_drive.c:754,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_acme_drive.c:758,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:760,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:761,1
    - Dst: md_dns_make_minimal
      Src: /src/httpd/modules/md/md_acme_drive.c:766,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:771,1
    - Dst: md_acme_create
      Src: /src/httpd/modules/md/md_acme_drive.c:773,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:777,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:778,1
    - Dst: md_acme_setup
      Src: /src/httpd/modules/md/md_acme_drive.c:781,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:782,1
    - Dst: load_missing_creds
      Src: /src/httpd/modules/md/md_acme_drive.c:786,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:788,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acme_drive.c:789,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:790,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:791,1
    - Dst: MD_ACME_VERSION_MAJOR
      Src: /src/httpd/modules/md/md_acme_drive.c:794,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:796,1
    - Dst: md_acmev2_drive_renew
      Src: /src/httpd/modules/md/md_acme_drive.c:807,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acme_drive.c:812,1
    - Dst: md_result_activity_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:813,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:814,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:815,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:817,1
    - Dst: ad_chain_retrieve
      Src: /src/httpd/modules/md/md_acme_drive.c:818,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:820,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:821,1
    - Dst: md_array_is_empty
      Src: /src/httpd/modules/md/md_acme_drive.c:825,1
    - Dst: md_pkey_load
      Src: /src/httpd/modules/md/md_acme_drive.c:828,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:830,1
    - Dst: md_check_cert_and_pkey
      Src: /src/httpd/modules/md/md_acme_drive.c:836,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:838,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:841,1
    - Dst: md_pubcert_save
      Src: /src/httpd/modules/md/md_acme_drive.c:847,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:850,1
    - Dst: md_pkey_spec_name
      Src: /src/httpd/modules/md/md_acme_drive.c:851,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:858,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:866,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:871,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_acme_drive.c:873,1
    - Dst: load_missing_creds
      Src: /src/httpd/modules/md/md_acme_drive.c:873,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:874,1
    - Dst: md_duration_format
      Src: /src/httpd/modules/md/md_acme_drive.c:876,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_acme_drive.c:879,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:881,1
    - Dst: md_cert_get_not_before
      Src: /src/httpd/modules/md/md_acme_drive.c:882,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:882,1
    - Dst: md_result_delay_set
      Src: /src/httpd/modules/md/md_acme_drive.c:885,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_acme_drive.c:890,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:894,1
    - Dst: md_reg_valid_until
      Src: /src/httpd/modules/md/md_acme_drive.c:896,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:900,1
    - Dst: md_result_delay_set
      Src: /src/httpd/modules/md/md_acme_drive.c:902,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_acme_drive.c:902,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme_drive.c:902,1
    - Dst: md_result_delay_set
      Src: /src/httpd/modules/md/md_acme_drive.c:910,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/md/md_acme_drive.c:915,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:917,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:922,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 191
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts:
    - condition: (APR_SUCCESS == load_missing_creds(d))
      pos:
        line_end: 872
        line_start: 872
        source_file: /src/httpd/modules/md/md_acme_drive.c
    constantsTouched: []
    func_position:
      end: 929
      start: 652
    functionDepth: 9
    functionLinenumber: 652
    functionLinenumberEnd: 929
    functionName: acme_renew
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - md_log_perror
    - md_result_delay_set
    - md_cert_get_not_before
    - md_copy
    - load_missing_creds
    - apr_rfc822_date
    - md_pkey_spec_name
    - MD_ACME_VERSION_MAJOR
    - md_array_str_eq
    - md_reg_valid_until
    - md_pubcert_save
    - md_save
    - md_is_newer
    - apr_time_from_sec
    - md_log_is_level
    - APR_ARRAY_IDX
    - md_result_log
    - md_load
    - md_pkey_load
    - apr_array_pstrcat
    - md_array_is_empty
    - md_store_purge
    - APR_STATUS_IS_ENOENT
    - md_array_str_index
    - assert
    - md_acme_create
    - md_acme_setup
    - md_dns_make_minimal
    - md_result_printf
    - md_check_cert_and_pkey
    - md_duration_format
    - md_result_activity_setn
    - ad_chain_retrieve
    - md_acmev2_drive_renew
    - md_result_activity_printf
    - md_acme_order_purge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acme_renew(md_proto_driver_t *d, md_result_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acme_renew
      Src: /src/httpd/modules/md/md_acme_drive.c:935,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - md_proto_driver_t*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 10
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: acme_driver_renew
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - acme_renew
    - md_result_log
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acme_driver_renew(md_proto_driver_t *d, md_result_t *result)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:956,1
    - Dst: md_load
      Src: /src/httpd/modules/md/md_acme_drive.c:965,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:966,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:971,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:975,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acme_drive.c:976,1
    - Dst: md_pkeys_spec_get
      Src: /src/httpd/modules/md/md_acme_drive.c:977,1
    - Dst: md_creds_load
      Src: /src/httpd/modules/md/md_acme_drive.c:978,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:979,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:984,1
    - Dst: md_check_cert_and_pkey
      Src: /src/httpd/modules/md/md_acme_drive.c:987,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:988,1
    - Dst: md_acme_acct_load
      Src: /src/httpd/modules/md/md_acme_drive.c:995,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:996,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1002,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:1006,1
    - Dst: md_acme_order_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:1007,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:1009,1
    - Dst: md_store_purge
      Src: /src/httpd/modules/md/md_acme_drive.c:1010,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1012,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:1024,1
    - Dst: md_acme_acct_id_for_md
      Src: /src/httpd/modules/md/md_acme_drive.c:1027,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_acme_drive.c:1028,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1032,1
    - Dst: md_acme_create
      Src: /src/httpd/modules/md/md_acme_drive.c:1037,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1041,1
    - Dst: md_acme_acct_save
      Src: /src/httpd/modules/md/md_acme_drive.c:1045,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1046,1
    - Dst: md_acme_acct_id_for_md
      Src: /src/httpd/modules/md/md_acme_drive.c:1054,1
    - Dst: md_result_activity_setn
      Src: /src/httpd/modules/md/md_acme_drive.c:1060,1
    - Dst: md_save
      Src: /src/httpd/modules/md/md_acme_drive.c:1061,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1062,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:1067,1
    - Dst: md_creds_save
      Src: /src/httpd/modules/md/md_acme_drive.c:1068,1
    - Dst: md_result_printf
      Src: /src/httpd/modules/md/md_acme_drive.c:1069,1
    - Dst: md_result_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1074,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:1077,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 105
    argCount: 4
    argNames:
    - d
    - load_group
    - name
    - result
    argTypes:
    - md_proto_driver_t*
    - md_store_group_t
    - char*
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 1079
    functionName: acme_preload
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_log_perror
    - md_pkeys_spec_count
    - md_acme_acct_id_for_md
    - md_result_set
    - md_acme_acct_save
    - md_save
    - md_pkeys_spec_get
    - md_creds_save
    - APR_ARRAY_IDX
    - md_result_log
    - md_load
    - md_acme_acct_load
    - md_store_purge
    - APR_STATUS_IS_ENOENT
    - md_acme_create
    - md_result_printf
    - md_check_cert_and_pkey
    - md_result_activity_setn
    - md_acme_order_purge
    - md_creds_load
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acme_preload(md_proto_driver_t *d, md_store_group_t load_group,
      \n                                 const char *name, md_result_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acme_preload
      Src: /src/httpd/modules/md/md_acme_drive.c:1086,1
    - Dst: md_result_log
      Src: /src/httpd/modules/md/md_acme_drive.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - group
    - result
    argTypes:
    - md_proto_driver_t*
    - md_store_group_t
    - md_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1081
    functionDepth: 6
    functionLinenumber: 1081
    functionLinenumberEnd: 1089
    functionName: acme_driver_preload
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - md_result_log
    - acme_preload
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acme_driver_preload(md_proto_driver_t *d, \n                                        md_store_group_t
      group, md_result_t *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/md/md_acme_drive.c:1094,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:1095,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_acme_drive.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - md
    - p
    argTypes:
    - md_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1099
    functionName: acme_complete_md
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - APR_ARRAY_PUSH
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t acme_complete_md(md_t *md, apr_pool_t *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1115,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1119,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1126,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:1132,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_acme_drive.c:1134,1
    - Dst: md_pkeys_spec_count
      Src: /src/httpd/modules/md/md_acme_drive.c:1135,1
    - Dst: md_reg_get_pubcert
      Src: /src/httpd/modules/md/md_acme_drive.c:1137,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:1138,1
    - Dst: md_acme_create
      Src: /src/httpd/modules/md/md_acme_drive.c:1148,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1152,1
    - Dst: md_acme_setup
      Src: /src/httpd/modules/md/md_acme_drive.c:1156,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1157,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1162,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1167,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_acme_drive.c:1177,1
    - Dst: md_cert_get_ari_cert_id
      Src: /src/httpd/modules/md/md_acme_drive.c:1178,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_acme_drive.c:1181,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1183,1
    - Dst: md_acme_get_json
      Src: /src/httpd/modules/md/md_acme_drive.c:1185,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1186,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1192,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_drive.c:1197,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_drive.c:1198,1
    - Dst: md_json_gets
      Src: /src/httpd/modules/md/md_acme_drive.c:1199,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1201,1
    - Dst: md_time_parse_rfc3339
      Src: /src/httpd/modules/md/md_acme_drive.c:1205,1
    - Dst: md_time_parse_rfc3339
      Src: /src/httpd/modules/md/md_acme_drive.c:1206,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1208,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1214,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1220,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_acme_drive.c:1225,1
    - Dst: md_rand_bytes
      Src: /src/httpd/modules/md/md_acme_drive.c:1231,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_acme_drive.c:1232,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/md/md_acme_drive.c:1232,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_acme_drive.c:1235,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 4
    argNames:
    - d
    - result
    - prenew_at
    - purl
    argTypes:
    - md_proto_driver_t*
    - struct md_result_t*
    - apr_time_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1101
    functionDepth: 7
    functionLinenumber: 1101
    functionLinenumberEnd: 1242
    functionName: acme_get_ari
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - APR_ARRAY_IDX
    - md_json_gets
    - apr_time_sec
    - md_rand_bytes
    - md_reg_get_pubcert
    - apr_pstrdup
    - md_cert_get_ari_cert_id
    - md_log_perror
    - md_pkeys_spec_count
    - md_time_parse_rfc3339
    - apr_psprintf
    - md_acme_create
    - md_acme_setup
    - apr_array_make
    - md_acme_get_json
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t acme_get_ari(md_proto_driver_t *d,\n                                 struct
      md_result_t *result,\n                                 apr_time_t *prenew_at,\n
      \                                const char **purl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/md/md_acme_drive.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - protos
    - p
    argTypes:
    - apr_hash_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1259
    functionName: md_acme_protos_add
    functionSourceFile: /src/httpd/modules/md/md_acme_drive.c
    functionUses: 1
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_acme_protos_add(apr_hash_t *protos, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - md_log_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: md_log_level_name
    functionSourceFile: /src/httpd/modules/md/md_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *md_log_level_name(md_log_level_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - level_cb
    - print_cb
    - baton
    argTypes:
    - md_log_level_cb*
    - md_log_print_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: md_log_set
    functionSourceFile: /src/httpd/modules/md/md_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_log_set(md_log_level_cb *level_cb, md_log_print_cb *print_cb,
      void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_level
      Src: /src/httpd/modules/md/md_log.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - level
    argTypes:
    - apr_pool_t*
    - md_log_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: md_log_is_level
    functionSourceFile: /src/httpd/modules/md/md_log.c
    functionUses: 11
    functionsReached:
    - log_level
    linkageType: ''
    returnType: int
    signature: int md_log_is_level(apr_pool_t *p, md_log_level_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_log.c:73,1
    - Dst: log_printv
      Src: /src/httpd/modules/md/md_log.c:75,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_log.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - file
    - line
    - level
    - rv
    - p
    - fmt
    argTypes:
    - char*
    - int
    - md_log_level_t
    - apr_status_t
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: md_log_perror
    functionSourceFile: /src/httpd/modules/md/md_log.c
    functionUses: 128
    functionsReached:
    - va_end
    - log_printv
    - va_start
    linkageType: ''
    returnType: void
    signature: "void md_log_perror(const char *file, int line, md_log_level_t level,
      \n                   apr_status_t rv, apr_pool_t *p, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/md/md_util.c:42,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/md_util.c:44,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_util.c:45,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/md_util.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cb
    - baton
    - p
    argTypes:
    - md_util_action*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: md_util_pool_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_pool_tag
    - cb
    - apr_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_pool_do(md_util_action *cb, void *baton, apr_pool_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/md/md_util.c:56,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/md/md_util.c:58,1
    - Dst: cb
      Src: /src/httpd/modules/md/md_util.c:59,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/md/md_util.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cb
    - baton
    - p
    - ap
    argTypes:
    - md_util_vaction*
    - void*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: pool_vado
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_pool_tag
    - cb
    - apr_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pool_vado(md_util_vaction *cb, void *baton, apr_pool_t
      *p, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_util.c:70,1
    - Dst: pool_vado
      Src: /src/httpd/modules/md/md_util.c:71,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_util.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cb
    - baton
    - p
    argTypes:
    - md_util_vaction*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: md_util_pool_vdo
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 20
    functionsReached:
    - va_end
    - pool_vado
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_pool_vdo(md_util_vaction *cb, void *baton, apr_pool_t
      *p, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_util.c:81,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - len
    - p
    argTypes:
    - md_data_t*
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: md_data_pinit
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_pcalloc
    - md_data_null
    linkageType: ''
    returnType: void
    signature: void md_data_pinit(md_data_t *d, apr_size_t len, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/md/md_util.c:90,1
    - Dst: md_data_pinit
      Src: /src/httpd/modules/md/md_util.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - len
    - p
    argTypes:
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: md_data_pmake
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - md_data_pinit
    - apr_palloc
    linkageType: ''
    returnType: md_data_t
    signature: md_data_t *md_data_pmake(apr_size_t len, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_data_null
      Src: /src/httpd/modules/md/md_util.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - data
    - len
    argTypes:
    - md_data_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: md_data_init
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - md_data_null
    linkageType: ''
    returnType: void
    signature: void md_data_init(md_data_t *d, const char *data, apr_size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_data_init
      Src: /src/httpd/modules/md/md_util.c:104,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - str
    argTypes:
    - md_data_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: md_data_init_str
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - md_data_init
    - strlen
    linkageType: ''
    returnType: void
    signature: void md_data_init_str(md_data_t *d, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: md_data_null
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void md_data_null(md_data_t *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_data_t*::free_data
      Src: /src/httpd/modules/md/md_util.c:115,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: md_data_clear
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 5
    functionsReached:
    - md_data_t*::free_data
    - memset
    linkageType: ''
    returnType: void
    signature: void md_data_clear(md_data_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/md/md_util.c:124,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/md/md_util.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - data
    - len
    argTypes:
    - apr_pool_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: md_data_make_pcopy
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_pmemdup
    - apr_palloc
    linkageType: ''
    returnType: md_data_t
    signature: md_data_t *md_data_make_pcopy(apr_pool_t *p, const char *data, apr_size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_util.c:132,1
    - Dst: malloc
      Src: /src/httpd/modules/md/md_util.c:134,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_util.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - src
    - src_len
    argTypes:
    - md_data_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: md_data_assign_copy
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - memcpy
    - malloc
    - md_data_clear
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_data_assign_copy(md_data_t *dest, const char *src,
      apr_size_t src_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_data_clear
      Src: /src/httpd/modules/md/md_util.c:145,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/md/md_util.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dest
    - src
    - src_len
    - p
    argTypes:
    - md_data_t*
    - char*
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: md_data_assign_pcopy
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - apr_pmemdup
    - md_data_clear
    linkageType: ''
    returnType: void
    signature: void md_data_assign_pcopy(md_data_t *dest, const char *src, apr_size_t
      src_len, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - phex
    - separator
    - p
    - data
    argTypes:
    - char**
    - char
    - apr_pool_t*
    - md_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 189
    functionName: md_data_to_hex
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 6
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_data_to_hex(const char **phex, char separator,\n                            apr_pool_t
      *p, const md_data_t *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/httpd/modules/md/md_util.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - idx
    argTypes:
    - struct apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: md_array_remove_at
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: int md_array_remove_at(struct apr_array_header_t *a, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/modules/md/md_util.c:216,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:219,1
    - Dst: memmove
      Src: /src/httpd/modules/md/md_util.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - elem
    argTypes:
    - struct apr_array_header_t*
    - void*
    assertStmts:
    - condition: (sizeof(void*) == a->elt_size)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/httpd/modules/md/md_util.c
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: md_array_remove
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - assert
    - memmove
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_array_remove(struct apr_array_header_t *a, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - struct apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: md_array_is_empty
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md_array_is_empty(const struct apr_array_header_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/modules/md/md_util.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: md_util_str_tolower
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_tolower
    linkageType: ''
    returnType: char
    signature: char *md_util_str_tolower(char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:257,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:258,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - array
    - s
    - start
    - case_sensitive
    argTypes:
    - apr_array_header_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: md_array_str_index
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 14
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    - apr_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: "int md_array_str_index(const apr_array_header_t *array, const char
      *s, \n                       int start, int case_sensitive)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:278,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:279,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:280,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - a1
    - a2
    - case_sensitive
    argTypes:
    - struct apr_array_header_t*
    - struct apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: md_array_str_eq
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    - apr_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: "int md_array_str_eq(const struct apr_array_header_t *a1, \n                    const
      struct apr_array_header_t *a2, int case_sensitive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_util.c:290,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:294,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_util.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - src
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: md_array_str_clone
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - APR_ARRAY_IDX
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *md_array_str_clone(apr_pool_t *p, apr_array_header_t
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_util.c:304,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:309,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_util.c:310,1
    - Dst: md_util_str_tolower
      Src: /src/httpd/modules/md/md_util.c:311,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_util.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p
    - src
    - case_sensitive
    argTypes:
    - apr_pool_t*
    - struct apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: md_array_str_compact
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 5
    functionsReached:
    - APR_ARRAY_IDX
    - md_array_str_index
    - apr_pstrdup
    - apr_array_make
    - md_util_str_tolower
    linkageType: ''
    returnType: struct apr_array_header_t
    signature: "struct apr_array_header_t *md_array_str_compact(apr_pool_t *p, struct
      apr_array_header_t *src,\n                                                int
      case_sensitive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_util.c:321,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:325,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:327,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:328,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/md/md_util.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - p
    - src
    - exclude
    - case_sensitive
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: md_array_str_remove
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    - apr_cstr_casecmp
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *md_array_str_remove(apr_pool_t *p, apr_array_header_t
      *src, \n                                        const char *exclude, int case_sensitive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:340,1
    - Dst: md_array_str_index
      Src: /src/httpd/modules/md/md_util.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - src
    - case_sensitive
    argTypes:
    - apr_array_header_t*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: md_array_str_add_missing
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - md_array_str_index
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_array_str_add_missing(apr_array_header_t *dest, apr_array_header_t
      *src, int case_sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/httpd/modules/md/md_util.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pf
    - fn
    - mode
    argTypes:
    - FILE**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: md_util_fopen
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - fopen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_fopen(FILE **pf, const char *fn, const char *mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/md/md_util.c:366,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/md/md_util.c:373,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/md/md_util.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pf
    - fn
    - perms
    - p
    argTypes:
    - apr_file_t**
    - char*
    - apr_fileperms_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: md_util_fcreatex
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_file_perms_set
    - apr_file_open
    - APR_STATUS_IS_ENOTIMPL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_fcreatex(apr_file_t **pf, const char *fn, \n
      \                             apr_fileperms_t perms, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - pool
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: md_util_is_dir
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_is_dir(const char *path, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - pool
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: md_util_is_file
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_is_file(const char *path, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - pool
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: md_util_is_unix_socket
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_is_unix_socket(const char *path, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_is_file
      Src: /src/httpd/modules/md/md_util.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: md_file_exists
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - md_util_is_file
    linkageType: ''
    returnType: int
    signature: int md_file_exists(const char *fname, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/md/md_util.c:422,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_util.c:423,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_util.c:424,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/md/md_util.c:425,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_util.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ppath
    - p
    argTypes:
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: md_util_path_merge
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 15
    functionsReached:
    - va_end
    - apr_filepath_merge
    - va_arg
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_path_merge(const char **ppath, apr_pool_t *p,
      ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_util.c:441,1
    - Dst: md_util_fcreatex
      Src: /src/httpd/modules/md/md_util.c:444,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/md/md_util.c:446,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/md/md_util.c:446,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_util.c:449,1
    - Dst: write_cb
      Src: /src/httpd/modules/md/md_util.c:456,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_util.c:457,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/md/md_util.c:460,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_util.c:462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - fpath
    - perms
    - p
    - write_cb
    - baton
    argTypes:
    - char*
    - apr_fileperms_t
    - apr_pool_t*
    - md_util_file_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 467
    functionName: md_util_freplace
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_file_close
    - write_cb
    - apr_file_rename
    - apr_time_from_msec
    - md_util_fcreatex
    - apr_file_remove
    - apr_psprintf
    - apr_sleep
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_freplace(const char *fpath, apr_fileperms_t perms,
      apr_pool_t *p, \n                              md_util_file_cb *write_cb, void
      *baton)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/md/md_util.c:479,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/md/md_util.c:481,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/md/md_util.c:482,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_util.c:483,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_util.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptext
    - p
    - fpath
    argTypes:
    - char**
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: md_text_fread8k
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - APR_STATUS_IS_EOF
    - apr_file_close
    - apr_pstrndup
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_text_fread8k(const char **ptext, apr_pool_t *p, const
      char *fpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:494,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/md/md_util.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - baton
    - f
    - p
    argTypes:
    - void*
    - struct apr_file_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: write_text
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t write_text(void *baton, struct apr_file_t *f, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_util_fcreatex
      Src: /src/httpd/modules/md/md_util.c:506,1
    - Dst: write_text
      Src: /src/httpd/modules/md/md_util.c:508,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_util.c:509,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/md/md_util.c:513,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/md/md_util.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - fpath
    - perms
    - p
    - text
    argTypes:
    - char*
    - apr_fileperms_t
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: md_text_fcreatex
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_file_perms_set
    - APR_STATUS_IS_ENOTIMPL
    - write_text
    - apr_file_close
    - md_util_fcreatex
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_text_fcreatex(const char *fpath, apr_fileperms_t perms,
      \n                              apr_pool_t *p, const char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_freplace
      Src: /src/httpd/modules/md/md_util.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fpath
    - perms
    - p
    - text
    argTypes:
    - char*
    - apr_fileperms_t
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: md_text_freplace
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - md_util_freplace
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_text_freplace(const char *fpath, apr_fileperms_t perms,
      \n                              apr_pool_t *p, const char *text)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:541,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/md/md_util.c:549,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/md/md_util.c:552,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:553,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:553,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_util.c:557,1
    - Dst: rm_recursive
      Src: /src/httpd/modules/md/md_util.c:559,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/md/md_util.c:562,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_util.c:563,1
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/md/md_util.c:569,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_util.c:573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - fpath
    - p
    - max_level
    argTypes:
    - char*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 576
    functionName: rm_recursive
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - apr_dir_open
    - strcmp
    - apr_dir_close
    - rm_recursive
    - apr_dir_remove
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - apr_stat
    - md_util_path_merge
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rm_recursive(const char *fpath, apr_pool_t *p, int max_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_util.c:580,1
    - Dst: rm_recursive
      Src: /src/httpd/modules/md/md_util.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: prm_recursive
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - rm_recursive
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t prm_recursive(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_util_pool_vdo
      Src: /src/httpd/modules/md/md_util.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fpath
    - p
    - max_level
    argTypes:
    - char*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: md_util_rm_recursive
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - md_util_pool_vdo
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_rm_recursive(const char *fpath, apr_pool_t *p,
      int max_level)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:604,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:606,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/md/md_util.c:608,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/md/md_util.c:613,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:614,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:616,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:616,1
    - Dst: apr_fnmatch
      Src: /src/httpd/modules/md/md_util.c:619,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:620,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:623,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_util.c:627,1
    - Dst: match_and_do
      Src: /src/httpd/modules/md/md_util.c:629,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:634,1
    - Dst: md_util_fwalk_t*::cb
      Src: /src/httpd/modules/md/md_util.c:636,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_util.c:644,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/md/md_util.c:648,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - path
    - depth
    - p
    - ptemp
    argTypes:
    - md_util_fwalk_t*
    - char*
    - int
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 650
    functionName: match_and_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - strcmp
    - md_util_fwalk_t*::cb
    - APR_ARRAY_IDX
    - apr_dir_close
    - md_log_perror
    - match_and_do
    - APR_STATUS_IS_ENOENT
    - apr_fnmatch
    - md_util_path_merge
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t match_and_do(md_util_fwalk_t *ctx, const char *path,
      int depth, \n                                 apr_pool_t *p, apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_util.c:657,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_util.c:659,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/md/md_util.c:661,1
    - Dst: va_arg
      Src: /src/httpd/modules/md/md_util.c:662,1
    - Dst: match_and_do
      Src: /src/httpd/modules/md/md_util.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - ap
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: files_do_start
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - match_and_do
    - APR_ARRAY_PUSH
    - apr_array_make
    - va_arg
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t files_do_start(void *baton, apr_pool_t *p, apr_pool_t
      *ptemp, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:675,1
    - Dst: va_start
      Src: /src/httpd/modules/md/md_util.c:681,1
    - Dst: pool_vado
      Src: /src/httpd/modules/md/md_util.c:682,1
    - Dst: va_end
      Src: /src/httpd/modules/md/md_util.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - cb
    - baton
    - p
    - path
    argTypes:
    - md_util_fdo_cb*
    - void*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: md_util_files_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 6
    functionsReached:
    - va_end
    - pool_vado
    - memset
    - va_start
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_files_do(md_util_fdo_cb *cb, void *baton, apr_pool_t
      *p,\n                              const char *path, ...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_open
      Src: /src/httpd/modules/md/md_util.c:699,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/md/md_util.c:700,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:702,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:702,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_util.c:710,1
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:712,1
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_util.c:718,1
    - Dst: tree_do
      Src: /src/httpd/modules/md/md_util.c:721,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:722,1
    - Dst: md_util_fwalk_t*::cb
      Src: /src/httpd/modules/md/md_util.c:724,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:728,1
    - Dst: md_util_fwalk_t*::cb
      Src: /src/httpd/modules/md/md_util.c:730,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/md/md_util.c:734,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/md/md_util.c:736,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - baton
    - p
    - ptemp
    - path
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 741
    functionName: tree_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - strcmp
    - md_util_fwalk_t*::cb
    - tree_do
    - apr_dir_close
    - md_log_perror
    - APR_STATUS_IS_ENOENT
    - apr_stat
    - md_util_path_merge
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t tree_do(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/modules/md/md_util.c:750,1
    - Dst: tree_do
      Src: /src/httpd/modules/md/md_util.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - baton
    - p
    - ptemp
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: tree_start_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - tree_do
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t tree_start_do(void *baton, apr_pool_t *p, apr_pool_t *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:769,1
    - Dst: md_util_pool_do
      Src: /src/httpd/modules/md/md_util.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - cb
    - baton
    - p
    - path
    - follow_links
    argTypes:
    - md_util_fdo_cb*
    - void*
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 778
    functionName: md_util_tree_do
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - memset
    - md_util_pool_do
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_tree_do(md_util_fdo_cb *cb, void *baton, apr_pool_t
      *p, \n                             const char *path, int follow_links)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_util_path_merge
      Src: /src/httpd/modules/md/md_util.c:788,1
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/md/md_util.c:791,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/md/md_util.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - baton
    - p
    - ptemp
    - path
    - name
    - ftype
    argTypes:
    - void*
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - char*
    - apr_filetype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 798
    functionName: rm_cb
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    - apr_dir_remove
    - md_util_path_merge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rm_cb(void *baton, apr_pool_t *p, apr_pool_t *ptemp,
      \n                          const char *path, const char *name, apr_filetype_e
      ftype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_util_tree_do
      Src: /src/httpd/modules/md/md_util.c:802,1
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/md/md_util.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 807
    functionName: md_util_ftree_remove
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_dir_remove
    - md_util_tree_do
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_ftree_remove(const char *path, apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:823,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/md/md_util.c:832,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:833,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - p
    - hostname
    - need_fqdn
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 850
    functionName: md_dns_is_name
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_isalnum
    - md_log_perror
    linkageType: ''
    returnType: int
    signature: int md_dns_is_name(apr_pool_t *p, const char *hostname, int need_fqdn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_dns_is_name
      Src: /src/httpd/modules/md/md_util.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p
    - domain
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: md_dns_is_wildcard
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 2
    functionsReached:
    - md_dns_is_name
    linkageType: ''
    returnType: int
    signature: int md_dns_is_wildcard(apr_pool_t *p, const char *domain)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:862,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_util.c:864,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pattern
    - domain
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 868
    functionName: md_dns_matches
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_cstr_casecmp
    - strchr
    linkageType: ''
    returnType: int
    signature: int md_dns_matches(const char *pattern, const char *domain)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/md/md_util.c:876,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:878,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:882,1
    - Dst: md_dns_matches
      Src: /src/httpd/modules/md/md_util.c:883,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/md_util.c:889,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:892,1
    - Dst: md_dns_is_wildcard
      Src: /src/httpd/modules/md/md_util.c:893,1
    - Dst: md_dns_matches
      Src: /src/httpd/modules/md/md_util.c:893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - p
    - domains
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 905
    functionName: md_dns_make_minimal
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - APR_ARRAY_IDX
    - md_dns_is_wildcard
    - apr_array_make
    - md_dns_matches
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *md_dns_make_minimal(apr_pool_t *p, apr_array_header_t
      *domains)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:913,1
    - Dst: md_dns_matches
      Src: /src/httpd/modules/md/md_util.c:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - domains
    - name
    argTypes:
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: md_dns_domains_match
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - md_dns_matches
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_dns_domains_match(const apr_array_header_t *domains, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/md/md_util.c:925,1
    - Dst: md_dns_matches
      Src: /src/httpd/modules/md/md_util.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - domains
    - name
    argTypes:
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: md_is_wild_match
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - md_dns_matches
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int md_is_wild_match(const apr_array_header_t *domains, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/md/md_util.c:940,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/md/md_util.c:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p
    - s
    - def_scheme
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 946
    functionName: md_util_schemify
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_psprintf
    - apr_isalnum
    linkageType: ''
    returnType: char
    signature: char *md_util_schemify(apr_pool_t *p, const char *s, const char *def_scheme)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/md/md_util.c:954,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:958,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:958,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/md_util.c:961,1
    - Dst: md_dns_is_name
      Src: /src/httpd/modules/md/md_util.c:965,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/md/md_util.c:969,1
    - Dst: strcmp
      Src: /src/httpd/modules/md/md_util.c:975,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_util.c:976,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_util.c:980,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:983,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:986,1
    - Dst: strstr
      Src: /src/httpd/modules/md/md_util.c:989,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_util.c:994,1
    - Dst: strchr
      Src: /src/httpd/modules/md/md_util.c:994,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 4
    argNames:
    - uri_parsed
    - p
    - uri
    - perr
    argTypes:
    - apr_uri_t*
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 1003
    functionName: uri_check
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 5
    functionsReached:
    - md_dns_is_name
    - strcmp
    - apr_uri_parse
    - apr_isdigit
    - strchr
    - strstr
    - strlen
    - strncmp
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t uri_check(apr_uri_t *uri_parsed, apr_pool_t *p, \n                              const
      char *uri, const char **perr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uri_check
      Src: /src/httpd/modules/md/md_util.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - uri
    - perr
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: md_util_abs_uri_check
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 4
    functionsReached:
    - uri_check
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_abs_uri_check(apr_pool_t *p, const char *uri,
      const char **perr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uri_check
      Src: /src/httpd/modules/md/md_util.c:1024,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:1029,1
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:1030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p
    - uri
    - perr
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1036
    functionName: md_util_abs_http_uri_check
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - uri_check
    - apr_cstr_casecmp
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t md_util_abs_http_uri_check(apr_pool_t *p, const char *uri,
      const char **perr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_util.c:1045,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/md/md_util.c:1047,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/md/md_util.c:1048,1
    - Dst: fn
      Src: /src/httpd/modules/md/md_util.c:1053,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/md/md_util.c:1056,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/md/md_util.c:1060,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/md/md_util.c:1074,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 7
    argNames:
    - fn
    - baton
    - ignore_errs
    - timeout
    - start_delay
    - max_delay
    - backoff
    argTypes:
    - md_util_try_fn*
    - void*
    - int
    - apr_interval_time_t
    - apr_interval_time_t
    - apr_interval_time_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1080
    functionName: md_util_try
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 5
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - apr_time_from_msec
    - apr_sleep
    - fn
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_try(md_util_try_fn *fn, void *baton, int ignore_errs,
      \n                         apr_interval_time_t timeout, apr_interval_time_t
      start_delay, \n                         apr_interval_time_t max_delay, int backoff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:1094,1
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/md/md_util.c:1097,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/md/md_util.c:1098,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/md/md_util.c:1100,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/md/md_util.c:1101,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/md/md_util.c:1104,1
    - Dst: md_log_perror
      Src: /src/httpd/modules/md/md_util.c:1105,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/md/md_util.c:1107,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/md/md_util.c:1108,1
    - Dst: apr_proc_wait
      Src: /src/httpd/modules/md/md_util.c:1110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - p
    - cmd
    - argv
    - exit_code
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1120
    functionName: md_util_exec
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_procattr_cmdtype_set
    - APR_STATUS_IS_EOF
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - apr_file_gets
    - apr_file_close
    - md_log_perror
    - apr_proc_wait
    - apr_procattr_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t md_util_exec(apr_pool_t *p, const char *cmd,\n                          const
      char * const *argv, int *exit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1156
    functionName: BASE64URL_CHAR
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASE64URL_CHAR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - decoded
    - encoded
    - pool
    argTypes:
    - md_data_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1205
    functionName: md_util_base64url_decode
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 3
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t md_util_base64url_decode(md_data_t *decoded, const char
      *encoded, \n                                    apr_pool_t *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:1212,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1216,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1217,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1218,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1219,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1223,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1228,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/md/md_util.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - data
    - pool
    argTypes:
    - md_data_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1234
    functionName: md_util_base64url_encode
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 11
    functionsReached:
    - BASE64URL_CHAR
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: char *md_util_base64url_encode(const md_data_t *data, apr_pool_t *pool)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/md/md_util.c:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1271
    functionName: attr_char
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int attr_char(char c)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/md/md_util.c:1305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1307
    functionName: ptoken_char
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int ptoken_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1317
    functionName: skip_ws
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int skip_ws(link_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1327
    functionName: skip_nonws
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int skip_nonws(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - c
    - pidx
    argTypes:
    - link_ctx*
    - char
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1339
    functionName: find_chr
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int find_chr(link_ctx *ctx, char c, apr_size_t *pidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - link_ctx*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1348
    functionName: read_chr
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int read_chr(link_ctx *ctx, char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1352,1
    - Dst: read_chr
      Src: /src/httpd/modules/md/md_util.c:1352,1
    - Dst: find_chr
      Src: /src/httpd/modules/md/md_util.c:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: skip_qstring
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - read_chr
    - find_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_qstring(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1364,1
    - Dst: ptoken_char
      Src: /src/httpd/modules/md/md_util.c:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1375
    functionName: skip_ptoken
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - ptoken_char
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_ptoken(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1381,1
    - Dst: read_chr
      Src: /src/httpd/modules/md/md_util.c:1381,1
    - Dst: find_chr
      Src: /src/httpd/modules/md/md_util.c:1383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1391
    functionName: read_link
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - read_chr
    - find_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_link(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1395,1
    - Dst: attr_char
      Src: /src/httpd/modules/md/md_util.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1406
    functionName: skip_pname
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - attr_char
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_pname(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1410,1
    - Dst: read_chr
      Src: /src/httpd/modules/md/md_util.c:1410,1
    - Dst: skip_qstring
      Src: /src/httpd/modules/md/md_util.c:1412,1
    - Dst: skip_ptoken
      Src: /src/httpd/modules/md/md_util.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1418
    functionName: skip_pvalue
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - read_chr
    - skip_qstring
    - skip_ptoken
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_pvalue(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1422,1
    - Dst: read_chr
      Src: /src/httpd/modules/md/md_util.c:1422,1
    - Dst: skip_pname
      Src: /src/httpd/modules/md/md_util.c:1425,1
    - Dst: skip_pvalue
      Src: /src/httpd/modules/md/md_util.c:1428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1433
    functionName: skip_param
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - read_chr
    - skip_pvalue
    - skip_pname
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_param(link_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:1445,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:1449,1
    - Dst: skip_nonws
      Src: /src/httpd/modules/md/md_util.c:1454,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/md_util.c:1455,1
    - Dst: skip_ws
      Src: /src/httpd/modules/md/md_util.c:1458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - link_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1462
    functionName: pv_contains
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - memset
    - skip_ws
    - skip_nonws
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int pv_contains(link_ctx *ctx, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cstr_casecmp
      Src: /src/httpd/modules/md/md_util.c:1512,1
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:1515,1
    - Dst: strlen
      Src: /src/httpd/modules/md/md_util.c:1517,1
    - Dst: read_link
      Src: /src/httpd/modules/md/md_util.c:1519,1
    - Dst: skip_param
      Src: /src/httpd/modules/md/md_util.c:1520,1
    - Dst: strncmp
      Src: /src/httpd/modules/md/md_util.c:1521,1
    - Dst: pv_contains
      Src: /src/httpd/modules/md/md_util.c:1522,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/md/md_util.c:1524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - baton
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1531
    functionName: find_url
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 0
    functionsReached:
    - skip_param
    - memset
    - apr_cstr_casecmp
    - apr_pstrndup
    - read_link
    - strlen
    - strncmp
    - pv_contains
    linkageType: ''
    returnType: int
    signature: int find_url(void *baton, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/md/md_util.c:1538,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/md/md_util.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - headers
    - pool
    - relation
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1545
    functionName: md_link_find_relation
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 1
    functionsReached:
    - apr_table_do
    - memset
    linkageType: ''
    returnType: char
    signature: "char *md_link_find_relation(const apr_table_t *headers, \n                                  apr_pool_t
      *pool, const char *relation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/md/md_util.c:1558,1
    - Dst: assert
      Src: /src/httpd/modules/md/md_util.c:1559,1
    - Dst: memcpy
      Src: /src/httpd/modules/md/md_util.c:1560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - cth
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts:
    - condition: (type)
      pos:
        line_end: 1558
        line_start: 1558
        source_file: /src/httpd/modules/md/md_util.c
    constantsTouched: []
    func_position:
      end: 1566
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1566
    functionName: md_util_parse_ct
    functionSourceFile: /src/httpd/modules/md/md_util.c
    functionUses: 6
    functionsReached:
    - assert
    - apr_pcalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *md_util_parse_ct(apr_pool_t *pool, const char *cth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: MD_ACME_VERSION_MAJOR
    functionSourceFile: /src/httpd/modules/md/md_acme.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_ACME_VERSION_MAJOR(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/http2/mod_http2.c:110,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/mod_http2.c:112,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_http2.c:112,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/http2/mod_http2.c:114,1
    - Dst: nghttp2_version
      Src: /src/httpd/modules/http2/mod_http2.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/mod_http2.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_http2.c:120,1
    - Dst: h2_mpm_supported
      Src: /src/httpd/modules/http2/mod_http2.c:129,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/mod_http2.c:131,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_http2.c:131,1
    - Dst: h2_conn_mpm_name
      Src: /src/httpd/modules/http2/mod_http2.c:137,1
    - Dst: h2_protocol_init
      Src: /src/httpd/modules/http2/mod_http2.c:140,1
    - Dst: h2_switch_init
      Src: /src/httpd/modules/http2/mod_http2.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 146
    functionName: h2_post_config
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_mpm_supported
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - h2_protocol_init
    - h2_switch_init
    - ap_log_error
    - nghttp2_version
    - h2_conn_mpm_name
    linkageType: ''
    returnType: int
    signature: "int h2_post_config(apr_pool_t *p, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_get_workers_config
      Src: /src/httpd/modules/http2/mod_http2.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - minw
    - maxw
    argTypes:
    - server_rec*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: http2_get_num_workers
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_get_workers_config
    linkageType: ''
    returnType: void
    signature: void http2_get_num_workers(server_rec *s, int *minw, int *maxw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_c1_child_init
      Src: /src/httpd/modules/http2/mod_http2.c:167,1
    - Dst: h2_c2_child_init
      Src: /src/httpd/modules/http2/mod_http2.c:169,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/mod_http2.c:172,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_http2.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pchild
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: h2_child_init
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_c1_child_init
    - APLOGNO
    - h2_c2_child_init
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void h2_child_init(apr_pool_t *pchild, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/http2/mod_http2.c:183,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/http2/mod_http2.c:184,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/http2/mod_http2.c:185,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/mod_http2.c:187,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/http2/mod_http2.c:191,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/http2/mod_http2.c:195,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/mod_http2.c:196,1
    - Dst: ap_hook_child_stopping
      Src: /src/httpd/modules/http2/mod_http2.c:197,1
    - Dst: h2_c1_register_hooks
      Src: /src/httpd/modules/http2/mod_http2.c:200,1
    - Dst: h2_switch_register_hooks
      Src: /src/httpd/modules/http2/mod_http2.c:201,1
    - Dst: h2_c2_register_hooks
      Src: /src/httpd/modules/http2/mod_http2.c:202,1
    - Dst: h2_ws_register_hooks
      Src: /src/httpd/modules/http2/mod_http2.c:203,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/http2/mod_http2.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: h2_hooks
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - ap_hook_child_init
    - ap_log_perror
    - h2_c2_register_hooks
    - ap_hook_child_stopping
    - h2_switch_register_hooks
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    - h2_ws_register_hooks
    - ap_hook_post_config
    - h2_c1_register_hooks
    - AP_MODULE_MAGIC_AT_LEAST
    linkageType: ''
    returnType: void
    signature: void h2_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: val_HTTP2
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *val_HTTP2(apr_pool_t *p, server_rec *s,\n                             conn_rec
      *c, request_rec *r, h2_conn_ctx_t *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: h2_mplx_c2_stream_get
      Src: /src/httpd/modules/http2/mod_http2.c:223,1
    - Dst: h2_session_push_enabled
      Src: /src/httpd/modules/http2/mod_http2.c:229,1
    - Dst: h2_config_geti
      Src: /src/httpd/modules/http2/mod_http2.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - conn_ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: val_H2_PUSH
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_session_push_enabled
    - h2_mplx_c2_stream_get
    - h2_config_geti
    linkageType: ''
    returnType: char
    signature: "char *val_H2_PUSH(apr_pool_t *p, server_rec *s,\n                               conn_rec
      *c, request_rec *r,\n                               h2_conn_ctx_t *conn_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/mod_http2.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - conn_ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: val_H2_PUSHED
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - H2_STREAM_CLIENT_INITIATED
    linkageType: ''
    returnType: char
    signature: "char *val_H2_PUSHED(apr_pool_t *p, server_rec *s,\n                                 conn_rec
      *c, request_rec *r,\n                                 h2_conn_ctx_t *conn_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/mod_http2.c:258,1
    - Dst: h2_mplx_c2_stream_get
      Src: /src/httpd/modules/http2/mod_http2.c:259,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/http2/mod_http2.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - conn_ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: val_H2_PUSHED_ON
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_mplx_c2_stream_get
    - apr_itoa
    - H2_STREAM_CLIENT_INITIATED
    linkageType: ''
    returnType: char
    signature: "char *val_H2_PUSHED_ON(apr_pool_t *p, server_rec *s,\n                                    conn_rec
      *c, request_rec *r,\n                                    h2_conn_ctx_t *conn_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/mod_http2.c:272,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/mod_http2.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: val_H2_STREAM_TAG
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *val_H2_STREAM_TAG(apr_pool_t *p, server_rec *s,\n                                     conn_rec
      *c, request_rec *r, h2_conn_ctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: val_H2_STREAM_TAG
      Src: /src/httpd/modules/http2/mod_http2.c:284,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/http2/mod_http2.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - ctx
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: val_H2_STREAM_ID
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - ap_strrchr_c
    - val_H2_STREAM_TAG
    linkageType: ''
    returnType: char
    signature: "char *val_H2_STREAM_ID(apr_pool_t *p, server_rec *s,\n                                    conn_rec
      *c, request_rec *r, h2_conn_ctx_t *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: H2_ALEN
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ALEN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/mod_http2.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: http2_is_h2
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    linkageType: ''
    returnType: int
    signature: int http2_is_h2(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/mod_http2.c:324,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/mod_http2.c:326,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/mod_http2.c:327,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/mod_http2.c:328,1
    - Dst: h2_var_def*::lookup
      Src: /src/httpd/modules/http2/mod_http2.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - name
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: http2_var_lookup
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - strcmp
    - h2_var_def*::lookup
    - h2_conn_ctx_get
    linkageType: ''
    returnType: char
    signature: "char *http2_var_lookup(apr_pool_t *p, server_rec *s,\n                              conn_rec
      *c, request_rec *r, char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/mod_http2.c:338,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/mod_http2.c:341,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/mod_http2.c:344,1
    - Dst: h2_var_def*::lookup
      Src: /src/httpd/modules/http2/mod_http2.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: h2_h2_fixups
    functionSourceFile: /src/httpd/modules/http2/mod_http2.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - h2_conn_ctx_get
    - apr_table_setn
    - h2_var_def*::lookup
    linkageType: ''
    returnType: int
    signature: int h2_h2_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http2/h2_headers.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: is_unsafe
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: int
    signature: int is_unsafe(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: bucket_read
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t bucket_read(apr_bucket *b, const char **str,\n                                apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/http2/h2_headers.c:63,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/modules/http2/h2_headers.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - apr_bucket*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: h2_bucket_headers_make
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_bucket_shared_make
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket * h2_bucket_headers_make(apr_bucket *b, h2_headers *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/http2/h2_headers.c:76,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/http2/h2_headers.c:78,1
    - Dst: h2_bucket_headers_make
      Src: /src/httpd/modules/http2/h2_headers.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - list
    - r
    argTypes:
    - apr_bucket_alloc_t*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: h2_bucket_headers_create
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - h2_bucket_headers_make
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket * h2_bucket_headers_create(apr_bucket_alloc_t *list, \n
      \                                      h2_headers *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_headers.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: h2_bucket_headers_get
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - H2_BUCKET_IS_HEADERS
    linkageType: ''
    returnType: h2_headers
    signature: h2_headers *h2_bucket_headers_get(apr_bucket *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/modules/http2/h2_headers.c:97,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/http2/h2_headers.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: bucket_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_headers.c:115,1
    - Dst: h2_headers_clone
      Src: /src/httpd/modules/http2/h2_headers.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - pool
    - list
    argTypes:
    - apr_bucket*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: h2_bucket_headers_clone
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - h2_headers_clone
    - h2_bucket_headers_create
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *h2_bucket_headers_clone(apr_bucket *b, apr_pool_t *pool,\n
      \                                   apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_headers.c:123,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_headers.c:125,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_headers.c:126,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_headers.c:127,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_headers.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - status
    - headers_in
    - notes
    - raw_bytes
    - pool
    argTypes:
    - int
    - apr_table_t*
    - apr_table_t*
    - apr_off_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: h2_headers_create
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_table_clone
    - apr_pcalloc
    linkageType: ''
    returnType: h2_headers
    signature: "h2_headers *h2_headers_create(int status, const apr_table_t *headers_in,
      \n                              const apr_table_t *notes, apr_off_t raw_bytes,\n
      \                             apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_headers.c:135,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_headers.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: add_header_lengths
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int add_header_lengths(void *ctx, const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_headers.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - headers
    argTypes:
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: h2_headers_length
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t h2_headers_length(h2_headers *headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_bucket_headers_get
      Src: /src/httpd/modules/http2/h2_headers.c:148,1
    - Dst: h2_headers_length
      Src: /src/httpd/modules/http2/h2_headers.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: h2_bucket_headers_headers_length
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - h2_headers_length
    - h2_bucket_headers_get
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t h2_bucket_headers_headers_length(apr_bucket *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_headers.c:155,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_headers.c:156,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_headers.c:162,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_headers.c:167,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_headers.c:168,1
    - Dst: is_unsafe
      Src: /src/httpd/modules/http2/h2_headers.c:176,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_headers.c:177,1
    - Dst: h2_config_rgeti
      Src: /src/httpd/modules/http2/h2_headers.c:179,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_headers.c:179,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_headers.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - r
    - status
    - header
    - pool
    argTypes:
    - request_rec*
    - int
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: h2_headers_rcreate
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - is_unsafe
    - ap_log_rerror
    - h2_config_sgeti
    - h2_config_rgeti
    - APLOGNO
    - h2_headers_create
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: h2_headers
    signature: "h2_headers *h2_headers_rcreate(request_rec *r, int status,\n                               const
      apr_table_t *header, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_headers.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - h
    argTypes:
    - apr_pool_t*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: h2_headers_copy
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - h2_headers_create
    linkageType: ''
    returnType: h2_headers
    signature: h2_headers *h2_headers_copy(apr_pool_t *pool, h2_headers *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_headers.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - h
    argTypes:
    - apr_pool_t*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: h2_headers_clone
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 1
    functionsReached:
    - h2_headers_create
    linkageType: ''
    returnType: h2_headers
    signature: h2_headers *h2_headers_clone(apr_pool_t *pool, h2_headers *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_headers.c:201,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_headers.c:203,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_headers.c:204,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http2/h2_headers.c:206,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/modules/http2/h2_headers.c:207,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_headers.c:207,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_headers.c:208,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_headers.c:209,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/http2/h2_headers.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - type
    - req
    - pool
    argTypes:
    - apr_status_t
    - h2_request*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: h2_headers_die
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_palloc
    - apr_pcalloc
    - apr_table_setn
    - ap_get_server_banner
    - ap_recent_rfc822_date
    - apr_table_make
    linkageType: ''
    returnType: h2_headers
    signature: "h2_headers *h2_headers_die(apr_status_t type,\n                             const
      h2_request *req, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - headers
    argTypes:
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: h2_headers_are_final_response
    functionSourceFile: /src/httpd/modules/http2/h2_headers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_headers_are_final_response(h2_headers *headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: bucket_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t bucket_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: bucket_read
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t bucket_read(apr_bucket *b, const char **str,\n                                apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:63,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - b
    - stream
    argTypes:
    - apr_bucket*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: h2_bucket_eos_make
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_bucket_shared_make
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *h2_bucket_eos_make(apr_bucket *b, h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:75,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:77,1
    - Dst: h2_bucket_eos_make
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:80,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - list
    - stream
    argTypes:
    - apr_bucket_alloc_t*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: h2_bucket_eos_create
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_pool_pre_cleanup_register
    - APR_BUCKET_INIT
    - h2_bucket_eos_make
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *h2_bucket_eos_create(apr_bucket_alloc_t *list,\n                                 h2_stream
      *stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:92,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:95,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:97,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_bucket_eos.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: bucket_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    - apr_pool_cleanup_kill
    - h2_stream_dispatch
    linkageType: ''
    returnType: void
    signature: void bucket_destroy(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - policy
    argTypes:
    - h2_push_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: policy_str
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *policy_str(h2_push_policy policy)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/http2/h2_push.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: attr_char
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 1
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int attr_char(char c)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/http2/h2_push.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: ptoken_char
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 1
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int ptoken_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: skip_ws
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int skip_ws(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - c
    - pidx
    argTypes:
    - link_ctx*
    - char
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: find_chr
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_chr(link_ctx *ctx, char c, size_t *pidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - link_ctx*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: read_chr
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int read_chr(link_ctx *ctx, char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_push.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - end
    argTypes:
    - link_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: mk_str
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_pstrndup
    linkageType: ''
    returnType: char
    signature: char *mk_str(link_ctx *ctx, size_t end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:172,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_push.c:172,1
    - Dst: find_chr
      Src: /src/httpd/modules/http2/h2_push.c:174,1
    - Dst: mk_str
      Src: /src/httpd/modules/http2/h2_push.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ps
    argTypes:
    - link_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: read_qstring
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - read_chr
    - find_chr
    - mk_str
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_qstring(link_ctx *ctx, const char **ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:185,1
    - Dst: ptoken_char
      Src: /src/httpd/modules/http2/h2_push.c:187,1
    - Dst: mk_str
      Src: /src/httpd/modules/http2/h2_push.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - ps
    argTypes:
    - link_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: read_ptoken
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - ptoken_char
    - mk_str
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_ptoken(link_ctx *ctx, const char **ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:202,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_push.c:202,1
    - Dst: find_chr
      Src: /src/httpd/modules/http2/h2_push.c:204,1
    - Dst: mk_str
      Src: /src/httpd/modules/http2/h2_push.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: read_link
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 1
    functionsReached:
    - read_chr
    - find_chr
    - mk_str
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_link(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:215,1
    - Dst: attr_char
      Src: /src/httpd/modules/http2/h2_push.c:217,1
    - Dst: mk_str
      Src: /src/httpd/modules/http2/h2_push.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pname
    argTypes:
    - link_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: read_pname
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - attr_char
    - mk_str
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_pname(link_ctx *ctx, const char **pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:231,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_push.c:231,1
    - Dst: read_qstring
      Src: /src/httpd/modules/http2/h2_push.c:232,1
    - Dst: read_ptoken
      Src: /src/httpd/modules/http2/h2_push.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - pvalue
    argTypes:
    - link_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: read_pvalue
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - read_chr
    - read_qstring
    - read_ptoken
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_pvalue(link_ctx *ctx, const char **pvalue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:241,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_push.c:241,1
    - Dst: read_pname
      Src: /src/httpd/modules/http2/h2_push.c:243,1
    - Dst: read_pvalue
      Src: /src/httpd/modules/http2/h2_push.c:244,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_push.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: read_param
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - skip_ws
    - read_pvalue
    - apr_table_setn
    - read_chr
    - read_pname
    linkageType: ''
    returnType: int
    signature: int read_param(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_push.c:254,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_push.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: read_sep
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - read_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_sep(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_push.c:263,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http2/h2_push.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: init_params
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_table_clear
    - apr_table_make
    linkageType: ''
    returnType: void
    signature: void init_params(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_push.c:272,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_push.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - req
    - uri
    argTypes:
    - h2_request*
    - apr_uri_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: same_authority
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int same_authority(const h2_request *req, const apr_uri_t *uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_push.c:283,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_push.c:284,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_push.c:285,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_push.c:286,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_push.c:287,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_push.c:288,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_push.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: set_push_header
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - H2_HD_MATCH_LIT
    - strlen
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int set_push_header(void *ctx, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_push.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - link_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: has_param
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int has_param(link_ctx *ctx, const char *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_push.c:302,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_push.c:304,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/http2/h2_push.c:307,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_push.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - rel
    argTypes:
    - link_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: has_relation
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - strcmp
    - strlen
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int has_relation(link_ctx *ctx, const char *rel)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: has_relation
      Src: /src/httpd/modules/http2/h2_push.c:323,1
    - Dst: has_param
      Src: /src/httpd/modules/http2/h2_push.c:323,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/http2/h2_push.c:325,1
    - Dst: same_authority
      Src: /src/httpd/modules/http2/h2_push.c:326,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/http2/h2_push.c:339,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_push.c:340,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_push.c:349,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_push.c:350,1
    - Dst: h2_request_create
      Src: /src/httpd/modules/http2/h2_push.c:351,1
    - Dst: h2_request_end_headers
      Src: /src/httpd/modules/http2/h2_push.c:354,1
    - Dst: has_param
      Src: /src/httpd/modules/http2/h2_push.c:356,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_push.c:357,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_push.c:362,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_push.c:364,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 369
    functionName: add_push
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - apr_table_do
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - same_authority
    - apr_uri_parse
    - h2_request_end_headers
    - has_relation
    - apr_array_make
    - h2_request_create
    - has_param
    - apr_table_make
    linkageType: ''
    returnType: int
    signature: int add_push(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_link
      Src: /src/httpd/modules/http2/h2_push.c:415,1
    - Dst: init_params
      Src: /src/httpd/modules/http2/h2_push.c:416,1
    - Dst: read_param
      Src: /src/httpd/modules/http2/h2_push.c:417,1
    - Dst: add_push
      Src: /src/httpd/modules/http2/h2_push.c:420,1
    - Dst: read_sep
      Src: /src/httpd/modules/http2/h2_push.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - s
    - slen
    argTypes:
    - link_ctx*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: inspect_link
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - read_link
    - add_push
    - read_sep
    - init_params
    - read_param
    linkageType: ''
    returnType: void
    signature: void inspect_link(link_ctx *ctx, const char *s, size_t slen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_push.c:429,1
    - Dst: inspect_link
      Src: /src/httpd/modules/http2/h2_push.c:430,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_push.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: head_iter
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - strlen
    - inspect_link
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int head_iter(void *ctx, const char *key, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_push.c:459,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_push.c:464,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_push.c:466,1
    - Dst: policy_str
      Src: /src/httpd/modules/http2/h2_push.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - p
    - req
    - push_policy
    - res
    argTypes:
    - apr_pool_t*
    - struct h2_request*
    - apr_uint32_t
    - struct h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 473
    functionName: h2_push_collect
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_table_setn
    - memset
    - policy_str
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *h2_push_collect(apr_pool_t *p,\n                                    const
      struct h2_request *req,\n                                    apr_uint32_t push_policy,\n
      \                                   const struct h2_headers *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/httpd/modules/http2/h2_push.c:485,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_push.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - EVP_MD_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: sha256_update
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - strlen
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: void sha256_update(EVP_MD_CTX *ctx, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/httpd/modules/http2/h2_push.c:495,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_push.c:496,1
    - Dst: EVP_DigestInit_ex
      Src: /src/httpd/modules/http2/h2_push.c:498,1
    - Dst: EVP_sha256
      Src: /src/httpd/modules/http2/h2_push.c:498,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_push.c:499,1
    - Dst: sha256_update
      Src: /src/httpd/modules/http2/h2_push.c:500,1
    - Dst: sha256_update
      Src: /src/httpd/modules/http2/h2_push.c:501,1
    - Dst: sha256_update
      Src: /src/httpd/modules/http2/h2_push.c:502,1
    - Dst: sha256_update
      Src: /src/httpd/modules/http2/h2_push.c:503,1
    - Dst: EVP_DigestFinal
      Src: /src/httpd/modules/http2/h2_push.c:504,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/httpd/modules/http2/h2_push.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - diary
    - phash
    - push
    argTypes:
    - h2_push_diary*
    - apr_uint64_t*
    - h2_push*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 511
    functionName: calc_sha256_hash
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_DigestInit_ex
    - sha256_update
    - EVP_MD_CTX_destroy
    - EVP_sha256
    - ap_assert
    - EVP_DigestFinal
    linkageType: ''
    returnType: void
    signature: void calc_sha256_hash(h2_push_diary *diary, apr_uint64_t *phash, h2_push
      *push)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_push.c:517,1
    - Dst: apr_hashfunc_default
      Src: /src/httpd/modules/http2/h2_push.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: val_apr_hash
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_hashfunc_default
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int val_apr_hash(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:526,1
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:527,1
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:528,1
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:530,1
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:531,1
    - Dst: val_apr_hash
      Src: /src/httpd/modules/http2/h2_push.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - diary
    - phash
    - push
    argTypes:
    - h2_push_diary*
    - apr_uint64_t*
    - h2_push*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 535
    functionName: calc_apr_hash
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - val_apr_hash
    linkageType: ''
    returnType: void
    signature: void calc_apr_hash(h2_push_diary *diary, apr_uint64_t *phash, h2_push
      *push)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - apr_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: ceil_power_of_2
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_int32_t
    signature: apr_int32_t ceil_power_of_2(apr_int32_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_push.c:555,1
    - Dst: ceil_power_of_2
      Src: /src/httpd/modules/http2/h2_push.c:557,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_push.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - p
    - dtype
    - N
    argTypes:
    - apr_pool_t*
    - h2_push_digest_type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 583
    functionName: diary_create
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - ceil_power_of_2
    - apr_pcalloc
    linkageType: ''
    returnType: h2_push_diary
    signature: "h2_push_diary *diary_create(apr_pool_t *p, h2_push_digest_type dtype,
      \n                                   int N)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: diary_create
      Src: /src/httpd/modules/http2/h2_push.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - N
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: h2_push_diary_create
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - diary_create
    linkageType: ''
    returnType: h2_push_diary
    signature: h2_push_diary *h2_push_diary_create(apr_pool_t *p, int N)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_push.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - diary
    - hash
    argTypes:
    - h2_push_diary*
    - apr_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: h2_push_diary_find
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int h2_push_diary_find(h2_push_diary *diary, apr_uint64_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_push.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - diary
    - idx
    argTypes:
    - h2_push_diary*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 624
    functionName: move_to_last
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void move_to_last(h2_push_diary *diary, apr_size_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_push.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - diary
    argTypes:
    - h2_push_diary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: remove_first
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void remove_first(h2_push_diary *diary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_first
      Src: /src/httpd/modules/http2/h2_push.c:642,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_push.c:645,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_push.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - diary
    - e
    argTypes:
    - h2_push_diary*
    - h2_push_diary_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 649
    functionName: h2_push_diary_append
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APR_ARRAY_PUSH
    - remove_first
    linkageType: ''
    returnType: void
    signature: void h2_push_diary_append(h2_push_diary *diary, h2_push_diary_entry
      *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_push.c:663,1
    - Dst: h2_session*::push_diary::dcalc
      Src: /src/httpd/modules/http2/h2_push.c:664,1
    - Dst: h2_push_diary_find
      Src: /src/httpd/modules/http2/h2_push.c:665,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_push.c:668,1
    - Dst: move_to_last
      Src: /src/httpd/modules/http2/h2_push.c:670,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_push.c:674,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_push.c:677,1
    - Dst: h2_push_diary_append
      Src: /src/httpd/modules/http2/h2_push.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - session
    - pushes
    argTypes:
    - h2_session*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 685
    functionName: h2_push_diary_update
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - ap_log_cerror
    - move_to_last
    - h2_push_diary_append
    - h2_session*::push_diary::dcalc
    - apr_array_make
    - h2_push_diary_find
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *h2_push_diary_update(h2_session *session, apr_array_header_t
      *pushes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_push_collect
      Src: /src/httpd/modules/http2/h2_push.c:699,1
    - Dst: h2_push_diary_update
      Src: /src/httpd/modules/http2/h2_push.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - req
    - res
    argTypes:
    - struct h2_stream*
    - struct h2_request*
    - struct h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 701
    functionName: h2_push_collect_update
    functionSourceFile: /src/httpd/modules/http2/h2_push.c
    functionUses: 0
    functionsReached:
    - h2_push_collect
    - h2_push_diary_update
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *h2_push_collect_update(struct h2_stream *stream,\n
      \                                          const struct h2_request *req,\n                                           const
      struct h2_headers *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: H2_ALEN
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ALEN(a)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: h2_log2
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char h2_log2(unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:72,1
    - Dst: strcpy
      Src: /src/httpd/modules/http2/h2_util.c:76,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - maxlen
    - data
    - datalen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: h2_util_hex_dump
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - apr_snprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t h2_util_hex_dump(char *buffer, size_t maxlen,\n                        const
      char *data, size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: h2_util_camel_case_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_util_camel_case_header(char *s, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: BASE64URL_CHAR
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASE64URL_CHAR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - decoded
    - encoded
    - pool
    argTypes:
    - char**
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 180
    functionName: h2_util_base64url_decode
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t h2_util_base64url_decode(const char **decoded, const char
      *encoded,\n                                    apr_pool_t *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:188,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:192,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:193,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:194,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:195,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:199,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:204,1
    - Dst: BASE64URL_CHAR
      Src: /src/httpd/modules/http2/h2_util.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - data
    - dlen
    - pool
    argTypes:
    - char*
    - apr_size_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: h2_util_base64url_encode
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - BASE64URL_CHAR
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *h2_util_base64url_encode(const char *data,\n                                     apr_size_t
      dlen, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - klen
    argTypes:
    - char*
    - apr_ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: ihash
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ihash(const char *key, apr_ssize_t *klen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:227,1
    - Dst: apr_hash_make_custom
      Src: /src/httpd/modules/http2/h2_util.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - offset_of_int
    argTypes:
    - apr_pool_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: h2_ihash_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_make_custom
    linkageType: ''
    returnType: h2_ihash_t
    signature: h2_ihash_t *h2_ihash_create(apr_pool_t *pool, size_t offset_of_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_count
      Src: /src/httpd/modules/http2/h2_util.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: h2_ihash_count
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int h2_ihash_count(h2_ihash_t *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_count
      Src: /src/httpd/modules/http2/h2_util.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: h2_ihash_empty
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_count
    linkageType: ''
    returnType: int
    signature: int h2_ihash_empty(h2_ihash_t *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http2/h2_util.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - id
    argTypes:
    - h2_ihash_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: h2_ihash_get
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void *h2_ihash_get(h2_ihash_t *ih, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter_ctx*::iter
      Src: /src/httpd/modules/http2/h2_util.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: ihash_iter
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - iter_ctx*::iter
    linkageType: ''
    returnType: int
    signature: "int ihash_iter(void *ctx, const void *key, apr_ssize_t klen,\n                     const
      void *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_do
      Src: /src/httpd/modules/http2/h2_util.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ih
    - fn
    - ctx
    argTypes:
    - h2_ihash_t*
    - h2_ihash_iter_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: h2_ihash_iter
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_do
    linkageType: ''
    returnType: int
    signature: int h2_ihash_iter(h2_ihash_t *ih, h2_ihash_iter_t *fn, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_util.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - val
    argTypes:
    - h2_ihash_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: h2_ihash_add
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_ihash_add(h2_ihash_t *ih, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_util.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - id
    argTypes:
    - h2_ihash_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: h2_ihash_remove
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_ihash_remove(h2_ihash_t *ih, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_util.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - val
    argTypes:
    - h2_ihash_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: h2_ihash_remove_val
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_ihash_remove_val(h2_ihash_t *ih, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_clear
      Src: /src/httpd/modules/http2/h2_util.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: h2_ihash_clear
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_clear
    linkageType: ''
    returnType: void
    signature: void h2_ihash_clear(h2_ihash_t *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: collect_iter
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int collect_iter(void *x, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_util.c:316,1
    - Dst: h2_ihash_remove_val
      Src: /src/httpd/modules/http2/h2_util.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ih
    - buffer
    - max
    argTypes:
    - h2_ihash_t*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: h2_ihash_shift
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_ihash_remove_val
    - h2_ihash_iter
    linkageType: ''
    returnType: size_t
    signature: size_t h2_ihash_shift(h2_ihash_t *ih, void **buffer, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:336,1
    - Dst: iq_grow
      Src: /src/httpd/modules/http2/h2_util.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - capacity
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: h2_iq_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - iq_grow
    - apr_pcalloc
    linkageType: ''
    returnType: h2_iqueue
    signature: h2_iqueue *h2_iq_create(apr_pool_t *pool, int capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: h2_iq_empty
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_iq_empty(h2_iqueue *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: h2_iq_count
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_iq_count(h2_iqueue *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_contains
      Src: /src/httpd/modules/http2/h2_util.c:358,1
    - Dst: iq_grow
      Src: /src/httpd/modules/http2/h2_util.c:362,1
    - Dst: iq_bubble_up
      Src: /src/httpd/modules/http2/h2_util.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - q
    - sid
    - cmp
    - ctx
    argTypes:
    - h2_iqueue*
    - int
    - h2_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 373
    functionName: h2_iq_add
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - iq_grow
    - h2_iq_contains
    - iq_bubble_up
    linkageType: ''
    returnType: int
    signature: int h2_iq_add(h2_iqueue *q, int sid, h2_iq_cmp *cmp, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_add
      Src: /src/httpd/modules/http2/h2_util.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - sid
    argTypes:
    - h2_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: h2_iq_append
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_iq_add
    linkageType: ''
    returnType: int
    signature: int h2_iq_append(h2_iqueue *q, int sid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - q
    - sid
    argTypes:
    - h2_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: h2_iq_remove
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_iq_remove(h2_iqueue *q, int sid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: h2_iq_clear
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_iq_clear(h2_iqueue *q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iq_bubble_up
      Src: /src/httpd/modules/http2/h2_util.c:421,1
    - Dst: iq_bubble_down
      Src: /src/httpd/modules/http2/h2_util.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - q
    - cmp
    - ctx
    argTypes:
    - h2_iqueue*
    - h2_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 430
    functionName: h2_iq_sort
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - iq_bubble_down
    - iq_bubble_up
    linkageType: ''
    returnType: void
    signature: void h2_iq_sort(h2_iqueue *q, h2_iq_cmp *cmp, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 446
    functionName: h2_iq_shift
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_iq_shift(h2_iqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_util.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - q
    - pint
    - max
    argTypes:
    - h2_iqueue*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: h2_iq_mshift
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_iq_shift
    linkageType: ''
    returnType: size_t
    signature: size_t h2_iq_mshift(h2_iqueue *q, int *pint, size_t max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:463,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_util.c:467,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_util.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - q
    - nlen
    argTypes:
    - h2_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 478
    functionName: iq_grow
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 2
    functionsReached:
    - memmove
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void iq_grow(h2_iqueue *q, int nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - q
    - i
    - j
    argTypes:
    - h2_iqueue*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: iq_swap
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iq_swap(h2_iqueue *q, int i, int j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iq_swap
      Src: /src/httpd/modules/http2/h2_util.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - q
    - i
    - top
    - cmp
    - ctx
    argTypes:
    - h2_iqueue*
    - int
    - int
    - h2_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: iq_bubble_up
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 2
    functionsReached:
    - iq_swap
    linkageType: ''
    returnType: int
    signature: "int iq_bubble_up(h2_iqueue *q, int i, int top,\n                        h2_iq_cmp
      *cmp, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iq_swap
      Src: /src/httpd/modules/http2/h2_util.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - q
    - i
    - bottom
    - cmp
    - ctx
    argTypes:
    - h2_iqueue*
    - int
    - int
    - h2_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: iq_bubble_down
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 1
    functionsReached:
    - iq_swap
    linkageType: ''
    returnType: int
    signature: "int iq_bubble_down(h2_iqueue *q, int i, int bottom,\n                          h2_iq_cmp
      *cmp, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - q
    - sid
    argTypes:
    - h2_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: h2_iq_contains
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_iq_contains(h2_iqueue *q, int sid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_util.c:543,1
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_util.c:544,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/modules/http2/h2_util.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: fifo_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_destroy
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_destroy(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: index_of
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_of(h2_fifo *fifo, void *elem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:568,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_util.c:573,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_util.c:579,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_util.c:584,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:589,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/http2/h2_util.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pfifo
    - pool
    - capacity
    - as_set
    argTypes:
    - h2_fifo**
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 600
    functionName: create_int
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_create
    - apr_thread_cond_create
    - apr_pcalloc
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t create_int(h2_fifo **pfifo, apr_pool_t *pool,\n                               int
      capacity, int as_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_int
      Src: /src/httpd/modules/http2/h2_util.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_fifo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: h2_fifo_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - create_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_create(h2_fifo **pfifo, apr_pool_t *pool, int
      capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_int
      Src: /src/httpd/modules/http2/h2_util.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_fifo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: h2_fifo_set_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - create_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_set_create(h2_fifo **pfifo, apr_pool_t *pool,
      int capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:615,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:617,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:618,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: h2_fifo_term
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_term(h2_fifo *fifo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:628,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: h2_fifo_count
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int h2_fifo_count(h2_fifo *fifo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_util.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fifo
    - block
    argTypes:
    - h2_fifo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: check_not_empty
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_wait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_not_empty(h2_fifo *fifo, int block)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: index_of
      Src: /src/httpd/modules/http2/h2_util.c:654,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_util.c:664,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/modules/http2/h2_util.c:678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - fifo
    - elem
    - block
    argTypes:
    - h2_fifo*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 681
    functionName: fifo_push_int
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - index_of
    - apr_thread_cond_signal
    - apr_thread_cond_wait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_push_int(h2_fifo *fifo, void *elem, int block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:687,1
    - Dst: fifo_push_int
      Src: /src/httpd/modules/http2/h2_util.c:688,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fifo
    - elem
    - block
    argTypes:
    - h2_fifo*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: fifo_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_push_int
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_push(h2_fifo *fifo, void *elem, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_push
      Src: /src/httpd/modules/http2/h2_util.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: h2_fifo_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_push(h2_fifo *fifo, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_push
      Src: /src/httpd/modules/http2/h2_util.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: h2_fifo_try_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_try_push(h2_fifo *fifo, void *elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_not_empty
      Src: /src/httpd/modules/http2/h2_util.c:709,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - fifo
    - pelem
    - block
    argTypes:
    - h2_fifo*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 723
    functionName: pull_head
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - check_not_empty
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pull_head(h2_fifo *fifo, void **pelem, int block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:729,1
    - Dst: pull_head
      Src: /src/httpd/modules/http2/h2_util.c:730,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fifo
    - pelem
    - block
    argTypes:
    - h2_fifo*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: fifo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - pull_head
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_pull(h2_fifo *fifo, void **pelem, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_pull
      Src: /src/httpd/modules/http2/h2_util.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pelem
    argTypes:
    - h2_fifo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: h2_fifo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_pull(h2_fifo *fifo, void **pelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_pull
      Src: /src/httpd/modules/http2/h2_util.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pelem
    argTypes:
    - h2_fifo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: h2_fifo_try_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_try_pull(h2_fifo *fifo, void **pelem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:755,1
    - Dst: pull_head
      Src: /src/httpd/modules/http2/h2_util.c:756,1
    - Dst: fn
      Src: /src/httpd/modules/http2/h2_util.c:757,1
    - Dst: fifo_push_int
      Src: /src/httpd/modules/http2/h2_util.c:761,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - fifo
    - fn
    - ctx
    - block
    argTypes:
    - h2_fifo*
    - h2_fifo_peek_fn*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 768
    functionName: fifo_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_push_int
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - pull_head
    - fn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void *ctx,
      int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_peek
      Src: /src/httpd/modules/http2/h2_util.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fifo
    - fn
    - ctx
    argTypes:
    - h2_fifo*
    - h2_fifo_peek_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: h2_fifo_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_peek
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_peek
      Src: /src/httpd/modules/http2/h2_util.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fifo
    - fn
    - ctx
    argTypes:
    - h2_fifo*
    - h2_fifo_peek_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: h2_fifo_try_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - fifo_peek
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_try_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void
      *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:788,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_util.c:813,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_util.c:822,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_util.c:823,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_util.c:824,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:835,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:843,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 846
    functionName: h2_fifo_remove
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - AP_DEBUG_ASSERT
    - apr_thread_cond_broadcast
    - memmove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_fifo_remove(h2_fifo *fifo, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - n
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 867
    functionName: inth_index
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int inth_index(h2_ififo *fifo, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_util.c:873,1
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_util.c:874,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/modules/http2/h2_util.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 878
    functionName: ififo_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_destroy
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_destroy(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inth_index
      Src: /src/httpd/modules/http2/h2_util.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fifo
    - id
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 890
    functionName: iindex_of
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - inth_index
    linkageType: ''
    returnType: int
    signature: int iindex_of(h2_ififo *fifo, int id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:898,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_util.c:903,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_util.c:909,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_util.c:914,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:919,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/http2/h2_util.c:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pfifo
    - pool
    - capacity
    - as_set
    argTypes:
    - h2_ififo**
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 930
    functionName: icreate_int
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_create
    - apr_thread_cond_create
    - apr_pcalloc
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t icreate_int(h2_ififo **pfifo, apr_pool_t *pool,\n                                int
      capacity, int as_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icreate_int
      Src: /src/httpd/modules/http2/h2_util.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_ififo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 935
    functionName: h2_ififo_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - icreate_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_create(h2_ififo **pfifo, apr_pool_t *pool, int
      capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icreate_int
      Src: /src/httpd/modules/http2/h2_util.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_ififo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: h2_ififo_set_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - icreate_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_set_create(h2_ififo **pfifo, apr_pool_t *pool,
      int capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:945,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:947,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:948,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_ififo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 952
    functionName: h2_ififo_term
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_term(h2_ififo *fifo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_ififo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: h2_ififo_count
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_ififo_count(h2_ififo *fifo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_util.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fifo
    - block
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 971
    functionName: icheck_not_empty
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_wait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t icheck_not_empty(h2_ififo *fifo, int block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iindex_of
      Src: /src/httpd/modules/http2/h2_util.c:979,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_util.c:989,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_util.c:997,1
    - Dst: inth_index
      Src: /src/httpd/modules/http2/h2_util.c:998,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:1001,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - fifo
    - id
    - block
    argTypes:
    - h2_ififo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 1004
    functionName: ififo_push_int
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_wait
    - apr_thread_cond_broadcast
    - inth_index
    - ap_assert
    - iindex_of
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_push_int(h2_ififo *fifo, int id, int block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:1010,1
    - Dst: ififo_push_int
      Src: /src/httpd/modules/http2/h2_util.c:1011,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fifo
    - id
    - block
    argTypes:
    - h2_ififo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: ififo_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ififo_push_int
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_push(h2_ififo *fifo, int id, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_push
      Src: /src/httpd/modules/http2/h2_util.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - id
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 4
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: h2_ififo_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_push(h2_ififo *fifo, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_push
      Src: /src/httpd/modules/http2/h2_util.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - id
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 4
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: h2_ififo_try_push
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_try_push(h2_ififo *fifo, int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icheck_not_empty
      Src: /src/httpd/modules/http2/h2_util.c:1031,1
    - Dst: inth_index
      Src: /src/httpd/modules/http2/h2_util.c:1038,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - fifo
    - pi
    - block
    argTypes:
    - h2_ififo*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1044
    functionName: ipull_head
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - inth_index
    - icheck_not_empty
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ipull_head(h2_ififo *fifo, int *pi, int block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:1050,1
    - Dst: ipull_head
      Src: /src/httpd/modules/http2/h2_util.c:1051,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fifo
    - pi
    - block
    argTypes:
    - h2_ififo*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: ififo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ipull_head
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_pull(h2_ififo *fifo, int *pi, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_pull
      Src: /src/httpd/modules/http2/h2_util.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pi
    argTypes:
    - h2_ififo*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1060
    functionName: h2_ififo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_pull(h2_ififo *fifo, int *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_pull
      Src: /src/httpd/modules/http2/h2_util.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pi
    argTypes:
    - h2_ififo*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: h2_ififo_try_pull
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_try_pull(h2_ififo *fifo, int *pi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:1072,1
    - Dst: ipull_head
      Src: /src/httpd/modules/http2/h2_util.c:1073,1
    - Dst: fn
      Src: /src/httpd/modules/http2/h2_util.c:1074,1
    - Dst: ififo_push_int
      Src: /src/httpd/modules/http2/h2_util.c:1078,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:1082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - fifo
    - fn
    - ctx
    - block
    argTypes:
    - h2_ififo*
    - h2_ififo_peek_fn*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1085
    functionName: ififo_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - ipull_head
    - ififo_push_int
    - fn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_peek(h2_ififo *fifo, h2_ififo_peek_fn *fn, void
      *ctx, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_peek
      Src: /src/httpd/modules/http2/h2_util.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fifo
    - fn
    - ctx
    argTypes:
    - h2_ififo*
    - h2_ififo_peek_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 4
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: h2_ififo_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_peek
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_peek(h2_ififo *fifo, h2_ififo_peek_fn *fn, void
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ififo_peek
      Src: /src/httpd/modules/http2/h2_util.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fifo
    - fn
    - ctx
    argTypes:
    - h2_ififo*
    - h2_ififo_peek_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 4
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: h2_ififo_try_peek
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ififo_peek
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_try_peek(h2_ififo *fifo, h2_ififo_peek_fn *fn,
      void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inth_index
      Src: /src/httpd/modules/http2/h2_util.c:1107,1
    - Dst: inth_index
      Src: /src/httpd/modules/http2/h2_util.c:1112,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_util.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - fifo
    - id
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1123
    functionName: ififo_remove
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - inth_index
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ififo_remove(h2_ififo *fifo, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_util.c:1129,1
    - Dst: ififo_remove
      Src: /src/httpd/modules/http2/h2_util.c:1130,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_util.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fifo
    - id
    argTypes:
    - h2_ififo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1134
    functionName: h2_ififo_remove
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ififo_remove
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_ififo_remove(h2_ififo *fifo, int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1149,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1156
    functionName: count_bytes
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int count_bytes(void *x, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_util.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - t
    - pair_extra
    argTypes:
    - apr_table_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1166
    functionName: h2_util_table_bytes
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t h2_util_table_bytes(apr_table_t *t, apr_size_t pair_extra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http2/h2_util.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - b
    - plen
    argTypes:
    - apr_bucket*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1191
    functionName: fit_bucket_into
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    linkageType: ''
    returnType: void
    signature: void fit_bucket_into(apr_bucket *b, apr_off_t *plen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_util.c:1201,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_util.c:1202,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_util.c:1204,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_util.c:1205,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_util.c:1206,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_util.c:1215,1
    - Dst: fit_bucket_into
      Src: /src/httpd/modules/http2/h2_util.c:1220,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_util.c:1221,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_util.c:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - src
    - length
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1226
    functionName: h2_brigade_concat_length
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - fit_bucket_into
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_brigade_concat_length(apr_bucket_brigade *dest,\n
      \                                     apr_bucket_brigade *src,\n                                      apr_off_t
      length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_util.c:1236,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_util.c:1237,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_util.c:1239,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_util.c:1241,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_util.c:1251,1
    - Dst: fit_bucket_into
      Src: /src/httpd/modules/http2/h2_util.c:1256,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/http2/h2_util.c:1258,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_util.c:1262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - dest
    - src
    - length
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1265
    functionName: h2_brigade_copy_length
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_bucket_copy
    - fit_bucket_into
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_brigade_copy_length(apr_bucket_brigade *dest,\n                                    apr_bucket_brigade
      *src,\n                                    apr_off_t length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1272,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_util.c:1278,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1279,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - bmax
    - b
    - sep
    argTypes:
    - char*
    - apr_size_t
    - apr_bucket*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: h2_util_bucket_print
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_IS_METADATA
    - apr_snprintf
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t h2_util_bucket_print(char *buffer, apr_size_t bmax,\n                                apr_bucket
      *b, const char *sep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_util.c:1300,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1301,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_util.c:1302,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_util.c:1303,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_util.c:1304,1
    - Dst: h2_util_bucket_print
      Src: /src/httpd/modules/http2/h2_util.c:1306,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1310,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - buffer
    - bmax
    - tag
    - sep
    - bb
    argTypes:
    - char*
    - apr_size_t
    - char*
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1318
    functionName: h2_util_bb_print
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - memset
    - h2_util_bucket_print
    - APR_BRIGADE_SENTINEL
    - apr_snprintf
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t h2_util_bb_print(char *buffer, apr_size_t bmax,\n                            const
      char *tag, const char *sep,\n                            apr_bucket_brigade
      *bb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_util.c:1333,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_util.c:1334,1
    - Dst: should_append
      Src: /src/httpd/modules/http2/h2_util.c:1336,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_util.c:1339,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_util.c:1340,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_util.c:1342,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_util.c:1353,1
    - Dst: fit_bucket_into
      Src: /src/httpd/modules/http2/h2_util.c:1358,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_util.c:1360,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_util.c:1361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - to
    - from
    - plen
    - peos
    - should_append
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - apr_off_t*
    - int*
    - h2_bucket_gate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1366
    functionName: h2_append_brigade
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - fit_bucket_into
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - should_append
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_append_brigade(apr_bucket_brigade *to,\n                               apr_bucket_brigade
      *from,\n                               apr_off_t *plen,\n                               int
      *peos,\n                               h2_bucket_gate *should_append)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_util.c:1373,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_util.c:1374,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_util.c:1375,1
    - Dst: APR_BUCKET_IS_HEAP
      Src: /src/httpd/modules/http2/h2_util.c:1379,1
    - Dst: APR_BUCKET_IS_POOL
      Src: /src/httpd/modules/http2/h2_util.c:1380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1386
    functionName: h2_brigade_mem_size
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - APR_BRIGADE_SENTINEL
    - APR_BUCKET_IS_HEAP
    - APR_BUCKET_IS_POOL
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t h2_brigade_mem_size(apr_bucket_brigade *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_util_ignore_resp_header
      Src: /src/httpd/modules/http2/h2_util.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1399
    functionName: count_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_util_ignore_resp_header
    linkageType: ''
    returnType: int
    signature: int count_header(void *ctx, const char *key, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_http_token
      Src: /src/httpd/modules/http2/h2_util.c:1403,1
    - Dst: ap_scan_http_token
      Src: /src/httpd/modules/http2/h2_util.c:1405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1408
    functionName: inv_field_name_chr
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ap_scan_http_token
    linkageType: ''
    returnType: char
    signature: char *inv_field_name_chr(const char *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_http_field_content
      Src: /src/httpd/modules/http2/h2_util.c:1412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: inv_field_value_chr
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ap_scan_http_field_content
    linkageType: ''
    returnType: char
    signature: char *inv_field_value_chr(const char *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - nv
    argTypes:
    - nghttp2_nv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1425
    functionName: strip_field_value_ws
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void strip_field_value_ws(nghttp2_nv *nv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inv_field_name_chr
      Src: /src/httpd/modules/http2/h2_util.c:1440,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_util.c:1441,1
    - Dst: inv_field_value_chr
      Src: /src/httpd/modules/http2/h2_util.c:1447,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_util.c:1448,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1456,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1458,1
    - Dst: strip_field_value_ws
      Src: /src/httpd/modules/http2/h2_util.c:1459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - ngh_ctx*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1462
    functionName: add_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 2
    functionsReached:
    - ap_log_perror
    - inv_field_name_chr
    - strip_field_value_ws
    - strlen
    - inv_field_value_chr
    linkageType: ''
    returnType: int
    signature: int add_header(ngh_ctx *ctx, const char *key, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_util_ignore_resp_header
      Src: /src/httpd/modules/http2/h2_util.c:1466,1
    - Dst: add_header
      Src: /src/httpd/modules/http2/h2_util.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1470
    functionName: add_table_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - add_header
    - h2_util_ignore_resp_header
    linkageType: ''
    returnType: int
    signature: int add_table_header(void *ctx, const char *key, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_util.c:1484,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:1486,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_util.c:1491,1
    - Dst: add_header
      Src: /src/httpd/modules/http2/h2_util.c:1498,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_util.c:1503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 7
    argNames:
    - ph
    - p
    - unsafe
    - key_count
    - keys
    - values
    - headers
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - int
    - size_t
    - char*[]
    - char*[]
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1506
    functionName: ngheader_create
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - add_header
    - apr_table_do
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ngheader_create(h2_ngheader **ph, apr_pool_t *p,\n                                    int
      unsafe, size_t key_count,\n                                    const char *keys[],
      const char *values[],\n                                    apr_table_t *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1512,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_util.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - ap_bucket_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1514
    functionName: is_unsafe
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 1
    functionsReached:
    - strcmp
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int is_unsafe(ap_bucket_response *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngheader_create
      Src: /src/httpd/modules/http2/h2_util.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ph
    - p
    - headers
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - ap_bucket_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1521
    functionName: h2_res_create_ngtrailer
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ngheader_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_res_create_ngtrailer(h2_ngheader **ph, apr_pool_t
      *p,\n                                    ap_bucket_headers *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_util.c:1530,1
    - Dst: ngheader_create
      Src: /src/httpd/modules/http2/h2_util.c:1532,1
    - Dst: is_unsafe
      Src: /src/httpd/modules/http2/h2_util.c:1532,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_util.c:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ph
    - p
    - response
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - ap_bucket_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1534
    functionName: h2_res_create_ngheader
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ngheader_create
    - H2_ALEN
    - is_unsafe
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_res_create_ngheader(h2_ngheader **ph, apr_pool_t *p,\n
      \                                   ap_bucket_response *response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1540,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_util.c:1541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1542
    functionName: is_unsafe
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 2
    functionsReached:
    - strcmp
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int is_unsafe(h2_headers *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngheader_create
      Src: /src/httpd/modules/http2/h2_util.c:1547,1
    - Dst: is_unsafe
      Src: /src/httpd/modules/http2/h2_util.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ph
    - p
    - headers
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1549
    functionName: h2_res_create_ngtrailer
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ngheader_create
    - is_unsafe
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_res_create_ngtrailer(h2_ngheader **ph, apr_pool_t
      *p,\n                                    h2_headers *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_util.c:1558,1
    - Dst: ngheader_create
      Src: /src/httpd/modules/http2/h2_util.c:1560,1
    - Dst: is_unsafe
      Src: /src/httpd/modules/http2/h2_util.c:1560,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_util.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ph
    - p
    - headers
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1562
    functionName: h2_res_create_ngheader
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ngheader_create
    - H2_ALEN
    - is_unsafe
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_res_create_ngheader(h2_ngheader **ph, apr_pool_t *p,\n
      \                                   h2_headers *headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_util.c:1583,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_util.c:1584,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_util.c:1585,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_util.c:1586,1
    - Dst: ngheader_create
      Src: /src/httpd/modules/http2/h2_util.c:1588,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_util.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ph
    - p
    - req
    argTypes:
    - h2_ngheader**
    - apr_pool_t*
    - struct h2_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1589
    functionName: h2_req_create_ngheader
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ngheader_create
    - H2_ALEN
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_req_create_ngheader(h2_ngheader **ph, apr_pool_t *p,\n
      \                                   const struct h2_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1602
    functionName: H2_DEF_LITERAL
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_DEF_LITERAL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1603
    functionName: H2_LIT_ARGS
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_LIT_ARGS(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/h2_util.c:1653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - lits
    - llen
    - nv
    argTypes:
    - literal*
    - size_t
    - nghttp2_nv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1658
    functionName: contains_name
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: int contains_name(const literal *lits, size_t llen, nghttp2_nv *nv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1665,1
    - Dst: contains_name
      Src: /src/httpd/modules/http2/h2_util.c:1666,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_util.c:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1667
    functionName: h2_util_ignore_resp_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 2
    functionsReached:
    - strlen
    - H2_LIT_ARGS
    - contains_name
    linkageType: ''
    returnType: int
    signature: int h2_util_ignore_resp_header(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains_name
      Src: /src/httpd/modules/http2/h2_util.c:1672,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_util.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nv
    argTypes:
    - nghttp2_nv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1670
    functionDepth: 2
    functionLinenumber: 1670
    functionLinenumberEnd: 1673
    functionName: h2_req_ignore_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - H2_LIT_ARGS
    - contains_name
    linkageType: ''
    returnType: int
    signature: int h2_req_ignore_header(nghttp2_nv *nv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_req_ignore_header
      Src: /src/httpd/modules/http2/h2_util.c:1681,1
    - Dst: contains_name
      Src: /src/httpd/modules/http2/h2_util.c:1682,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_util.c:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1675
    functionDepth: 3
    functionLinenumber: 1675
    functionLinenumberEnd: 1683
    functionName: h2_ignore_req_trailer
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_req_ignore_header
    - H2_LIT_ARGS
    - contains_name
    linkageType: ''
    returnType: int
    signature: int h2_ignore_req_trailer(const char *name, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains_name
      Src: /src/httpd/modules/http2/h2_util.c:1691,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_util.c:1691,1
    - Dst: contains_name
      Src: /src/httpd/modules/http2/h2_util.c:1692,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_util.c:1692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1693
    functionName: h2_ignore_resp_trailer
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - H2_LIT_ARGS
    - contains_name
    linkageType: ''
    returnType: int
    signature: int h2_ignore_resp_trailer(const char *name, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strip_field_value_ws
      Src: /src/httpd/modules/http2/h2_util.c:1702,1
    - Dst: h2_req_ignore_header
      Src: /src/httpd/modules/http2/h2_util.c:1704,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/h2_util.c:1708,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1709,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1716,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_util.c:1721,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_util.c:1722,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/h2_util.c:1730,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1731,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_util.c:1740,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_util.c:1741,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_util.c:1743,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_util.c:1744,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1748,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1752,1
    - Dst: apr_table_merge
      Src: /src/httpd/modules/http2/h2_util.c:1757,1
    - Dst: h2_util_camel_case_header
      Src: /src/httpd/modules/http2/h2_util.c:1760,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/http2/h2_util.c:1761,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - headers
    - pool
    - nv
    - scratch
    - pwas_added
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - nghttp2_nv*
    - h2_hd_scratch*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1695
    functionDepth: 3
    functionLinenumber: 1695
    functionLinenumberEnd: 1764
    functionName: req_add_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - h2_util_camel_case_header
    - AP_DEBUG_ASSERT
    - apr_table_setn
    - apr_table_set
    - h2_req_ignore_header
    - apr_psprintf
    - apr_table_get
    - apr_table_merge
    - strip_field_value_ws
    - strlen
    - ap_cstr_casecmpn
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t req_add_header(apr_table_t *headers, apr_pool_t *pool,\n
      \                                  nghttp2_nv *nv, h2_hd_scratch *scratch,\n
      \                                  int *pwas_added)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_add_header
      Src: /src/httpd/modules/http2/h2_util.c:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - headers
    - pool
    - name
    - nlen
    - value
    - vlen
    - scratch
    - pwas_added
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - char*
    - size_t
    - char*
    - size_t
    - h2_hd_scratch*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1766
    functionDepth: 4
    functionLinenumber: 1766
    functionLinenumberEnd: 1778
    functionName: h2_req_add_header
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - req_add_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_req_add_header(apr_table_t *headers, apr_pool_t *pool,\n
      \                             const char *name, size_t nlen,\n                              const
      char *value, size_t vlen,\n                              h2_hd_scratch *scratch,
      int *pwas_added)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1791,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1797,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1805,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1811,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1820,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1824,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1829,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1836,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_util.c:1846,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1848,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1853,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_util.c:1859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - frame
    - buffer
    - maxlen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1864
    functionName: h2_util_frame_print
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - memcpy
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int h2_util_frame_print(const nghttp2_frame *frame, char *buffer, size_t
      maxlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_util.c:1873,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_util.c:1875,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_util.c:1878,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_util.c:1881,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_util.c:1884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - headers
    - p
    - push_enabled
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1897
    functionName: h2_push_policy_determine
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - ap_find_token
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int h2_push_policy_determine(apr_table_t *headers, apr_pool_t *p, int
      push_enabled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_pipe_timeout_get
      Src: /src/httpd/modules/http2/h2_util.c:1907,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/http2/h2_util.c:1909,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/http2/h2_util.c:1911,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/http2/h2_util.c:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1922
    functionName: h2_util_drain_pipe
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    - apr_file_pipe_timeout_get
    - apr_file_pipe_timeout_set
    linkageType: ''
    returnType: void
    signature: void h2_util_drain_pipe(apr_file_t *pipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/http2/h2_util.c:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1930
    functionName: h2_util_wait_on_pipe
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_util_wait_on_pipe(apr_file_t *pipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1937,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1939
    functionName: add_header_lengths
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int add_header_lengths(void *ctx, const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_util.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - ap_bucket_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1946
    functionName: headers_length_estimate
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t headers_length_estimate(ap_bucket_headers *hdrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_util.c:1950,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_util.c:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resp
    argTypes:
    - ap_bucket_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1953
    functionName: response_length_estimate
    functionSourceFile: /src/httpd/modules/http2/h2_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - strlen
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t response_length_estimate(ap_bucket_response *resp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/modules/http2/h2_workers.c:114,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:117,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:118,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:121,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_workers.c:129,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_workers.c:131,1
    - Dst: ap_thread_create
      Src: /src/httpd/modules/http2/h2_workers.c:135,1
    - Dst: apr_thread_create
      Src: /src/httpd/modules/http2/h2_workers.c:138,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_workers.c:144,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_workers.c:147,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - workers
    argTypes:
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 154
    functionName: activate_slot
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - AP_DEBUG_ASSERT
    - apr_pool_tag
    - APR_RING_INSERT_TAIL
    - apr_pool_create
    - ap_thread_create
    - ap_log_error
    - apr_pool_destroy
    - ap_assert
    - apr_thread_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t activate_slot(h2_workers *workers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/modules/http2/h2_workers.c:161,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:162,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:163,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:164,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:165,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:167,1
    - Dst: apr_thread_join
      Src: /src/httpd/modules/http2/h2_workers.c:168,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:169,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_workers.c:174,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - workers
    argTypes:
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: join_zombies
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - apr_thread_join
    - APR_RING_INSERT_TAIL
    - apr_pool_destroy
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void join_zombies(h2_workers *workers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/modules/http2/h2_workers.c:183,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:185,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/modules/http2/h2_workers.c:186,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/modules/http2/h2_workers.c:187,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/modules/http2/h2_workers.c:189,1
    - Dst: activate_slot
      Src: /src/httpd/modules/http2/h2_workers.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - workers
    - prod
    argTypes:
    - h2_workers*
    - ap_conn_producer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: wake_idle_worker
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - activate_slot
    - APR_RING_EMPTY
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    - apr_thread_cond_signal
    linkageType: ''
    returnType: void
    signature: void wake_idle_worker(h2_workers *workers, ap_conn_producer_t *prod)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/modules/http2/h2_workers.c:212,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:213,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:214,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_workers.c:215,1
    - Dst: ap_conn_producer_t*::fn_next
      Src: /src/httpd/modules/http2/h2_workers.c:217,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:219,1
    - Dst: wake_idle_worker
      Src: /src/httpd/modules/http2/h2_workers.c:220,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - slot
    argTypes:
    - h2_slot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: get_next
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 1
    functionsReached:
    - APR_RING_FIRST
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - AP_DEBUG_ASSERT
    - APR_RING_INSERT_TAIL
    - wake_idle_worker
    - ap_conn_producer_t*::fn_next
    linkageType: ''
    returnType: conn_rec
    signature: conn_rec *get_next(h2_slot *slot)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:241,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:244,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/modules/http2/h2_workers.c:246,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:248,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:254,1
    - Dst: get_next
      Src: /src/httpd/modules/http2/h2_workers.c:256,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:260,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_workers.c:294,1
    - Dst: ap_process_connection
      Src: /src/httpd/modules/http2/h2_workers.c:297,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_workers.c:297,1
    - Dst: h2_c2_process
      Src: /src/httpd/modules/http2/h2_workers.c:299,1
    - Dst: h2_slot*::prod::fn_done
      Src: /src/httpd/modules/http2/h2_workers.c:301,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:303,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_workers.c:305,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:308,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:310,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:314,1
    - Dst: join_zombies
      Src: /src/httpd/modules/http2/h2_workers.c:321,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:324,1
    - Dst: apr_thread_cond_timedwait
      Src: /src/httpd/modules/http2/h2_workers.c:328,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:331,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:333,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_workers.c:340,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:344,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:350,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_workers.c:353,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:355,1
    - Dst: apr_thread_exit
      Src: /src/httpd/modules/http2/h2_workers.c:357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - thread
    - wctx
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 359
    functionName: APR_THREAD_FUNC::slot_run
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - ap_get_conn_socket
    - ap_process_connection
    - APR_RING_ELEM_INIT
    - apr_thread_mutex_unlock
    - APR_RING_REMOVE
    - AP_DEBUG_ASSERT
    - APR_RING_INSERT_TAIL
    - apr_thread_cond_timedwait
    - join_zombies
    - apr_thread_cond_wait
    - apr_thread_exit
    - get_next
    - ap_log_error
    - APR_RING_NEXT
    - apr_thread_cond_broadcast
    - h2_slot*::prod::fn_done
    - h2_c2_process
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC slot_run(apr_thread_t *thread, void *wctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:364,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/modules/http2/h2_workers.c:365,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/modules/http2/h2_workers.c:366,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/modules/http2/h2_workers.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - workers
    argTypes:
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: wake_all_idles
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - APR_RING_SENTINEL
    - APR_RING_NEXT
    - apr_thread_cond_signal
    linkageType: ''
    returnType: void
    signature: void wake_all_idles(h2_workers *workers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/http2/h2_workers.c:375,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:379,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:382,1
    - Dst: wake_all_idles
      Src: /src/httpd/modules/http2/h2_workers.c:385,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:386,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_workers.c:392,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/http2/h2_workers.c:392,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_workers.c:393,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:394,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:396,1
    - Dst: wake_all_idles
      Src: /src/httpd/modules/http2/h2_workers.c:399,1
    - Dst: apr_thread_cond_timedwait
      Src: /src/httpd/modules/http2/h2_workers.c:400,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:401,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:404,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_workers.c:405,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:411,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_workers.c:412,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:416,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:418,1
    - Dst: join_zombies
      Src: /src/httpd/modules/http2/h2_workers.c:419,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:420,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 425
    functionName: workers_pool_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_time_from_sec
    - apr_time_now
    - apr_thread_mutex_unlock
    - wake_all_idles
    - APLOGNO
    - apr_thread_cond_timedwait
    - join_zombies
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t workers_pool_cleanup(void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:438,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:439,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_workers.c:440,1
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/http2/h2_workers.c:447,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/http2/h2_workers.c:451,1
    - Dst: apr_allocator_destroy
      Src: /src/httpd/modules/http2/h2_workers.c:453,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/http2/h2_workers.c:456,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_workers.c:457,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_workers.c:458,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:470,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/http2/h2_workers.c:473,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:475,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:476,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:477,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:478,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:480,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:481,1
    - Dst: apr_threadattr_create
      Src: /src/httpd/modules/http2/h2_workers.c:483,1
    - Dst: apr_threadattr_stacksize_set
      Src: /src/httpd/modules/http2/h2_workers.c:487,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:489,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_workers.c:494,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_workers.c:498,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_workers.c:500,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:503,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_workers.c:507,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:513,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:514,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_workers.c:515,1
    - Dst: activate_slot
      Src: /src/httpd/modules/http2/h2_workers.c:521,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:527,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/http2/h2_workers.c:535,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:538,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 5
    argNames:
    - s
    - pchild
    - max_slots
    - min_active
    - idle_limit
    argTypes:
    - server_rec*
    - apr_pool_t*
    - int
    - int
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 541
    functionName: h2_workers_create
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_unlock
    - APR_RING_INIT
    - APR_RING_INSERT_TAIL
    - apr_allocator_create
    - apr_pool_create_ex
    - apr_allocator_destroy
    - apr_pool_pre_cleanup_register
    - apr_threadattr_stacksize_set
    - ap_log_error
    - apr_threadattr_create
    - apr_thread_mutex_create
    - ap_assert
    - apr_thread_mutex_lock
    - activate_slot
    - apr_pcalloc
    - apr_time_as_msec
    - APR_RING_ELEM_INIT
    - apr_allocator_owner_set
    - apr_pool_tag
    - apr_thread_cond_create
    linkageType: ''
    returnType: h2_workers
    signature: "h2_workers *h2_workers_create(server_rec *s, apr_pool_t *pchild,\n
      \                             int max_slots, int min_active,\n                              apr_time_t
      idle_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - workers
    argTypes:
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: h2_workers_get_max_workers
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_uint32_t
    signature: apr_uint32_t h2_workers_get_max_workers(h2_workers *workers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:552,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_workers.c:553,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/http2/h2_workers.c:556,1
    - Dst: wake_all_idles
      Src: /src/httpd/modules/http2/h2_workers.c:557,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/modules/http2/h2_workers.c:558,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/modules/http2/h2_workers.c:559,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/modules/http2/h2_workers.c:560,1
    - Dst: ap_conn_producer_t*::fn_shutdown
      Src: /src/httpd/modules/http2/h2_workers.c:562,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - workers
    - graceful
    argTypes:
    - h2_workers*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: h2_workers_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_thread_mutex_lock
    - apr_time_from_sec
    - wake_all_idles
    - apr_thread_mutex_unlock
    - ap_conn_producer_t*::fn_shutdown
    - ap_log_error
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: void
    signature: void h2_workers_shutdown(h2_workers *workers, int graceful)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_workers.c:578,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:579,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:586,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:588,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 7
    argNames:
    - workers
    - producer_pool
    - name
    - fn_next
    - fn_done
    - fn_shutdown
    - baton
    argTypes:
    - h2_workers*
    - apr_pool_t*
    - char*
    - ap_conn_producer_next*
    - ap_conn_producer_done*
    - ap_conn_producer_shutdown*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 592
    functionName: h2_workers_register
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_pcalloc
    - apr_thread_mutex_unlock
    - APR_RING_ELEM_INIT
    - APR_RING_INSERT_TAIL
    linkageType: ''
    returnType: ap_conn_producer_t
    signature: "ap_conn_producer_t *h2_workers_register(h2_workers *workers,\n                                        apr_pool_t
      *producer_pool,\n                                        const char *name,\n
      \                                       ap_conn_producer_next *fn_next,\n                                        ap_conn_producer_done
      *fn_done,\n                                        ap_conn_producer_shutdown
      *fn_shutdown,\n                                        void *baton)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:598,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_workers.c:600,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/modules/http2/h2_workers.c:600,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_workers.c:604,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:605,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_workers.c:608,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/modules/http2/h2_workers.c:610,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - workers
    - prod
    argTypes:
    - h2_workers*
    - ap_conn_producer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 614
    functionName: h2_workers_join
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - APR_RING_ELEM_INIT
    - apr_thread_mutex_unlock
    - APR_RING_REMOVE
    - AP_DEBUG_ASSERT
    - apr_thread_cond_wait
    - APR_RING_NEXT
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_workers_join(h2_workers *workers, ap_conn_producer_t
      *prod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_workers.c:619,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/modules/http2/h2_workers.c:621,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_workers.c:623,1
    - Dst: wake_idle_worker
      Src: /src/httpd/modules/http2/h2_workers.c:624,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_workers.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - workers
    - prod
    argTypes:
    - h2_workers*
    - ap_conn_producer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 631
    functionName: h2_workers_activate
    functionSourceFile: /src/httpd/modules/http2/h2_workers.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - APR_RING_REMOVE
    - APR_RING_INSERT_TAIL
    - wake_idle_worker
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_workers_activate(h2_workers *workers, ap_conn_producer_t
      *prod)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_c1_io.c:72,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c1_io.c:73,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c1_io.c:74,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c1_io.c:75,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_c1_io.c:77,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_c1_io.c:78,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:79,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_c1_io.c:81,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:82,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/http2/h2_c1_io.c:84,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:85,1
    - Dst: H2_BUCKET_IS_H2EOS
      Src: /src/httpd/modules/http2/h2_c1_io.c:87,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:88,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:91,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_c1_io.c:96,1
    - Dst: APR_BUCKET_IS_PIPE
      Src: /src/httpd/modules/http2/h2_c1_io.c:99,1
    - Dst: APR_BUCKET_IS_SOCKET
      Src: /src/httpd/modules/http2/h2_c1_io.c:102,1
    - Dst: APR_BUCKET_IS_HEAP
      Src: /src/httpd/modules/http2/h2_c1_io.c:105,1
    - Dst: APR_BUCKET_IS_TRANSIENT
      Src: /src/httpd/modules/http2/h2_c1_io.c:108,1
    - Dst: APR_BUCKET_IS_IMMORTAL
      Src: /src/httpd/modules/http2/h2_c1_io.c:111,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c1_io.c:123,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:131,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - c
    - stream_id
    - level
    - tag
    - bb
    argTypes:
    - conn_rec*
    - int
    - int
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 134
    functionName: h2_c1_io_bb_log
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - H2_BUCKET_IS_H2EOS
    - memset
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_IS_TRANSIENT
    - ap_log_cerror
    - APR_BUCKET_IS_IMMORTAL
    - APR_BUCKET_IS_FILE
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - APR_BUCKET_IS_SOCKET
    - APR_BUCKET_IS_HEAP
    - APR_BUCKET_IS_PIPE
    - AP_BUCKET_IS_EOR
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void h2_c1_io_bb_log(conn_rec *c, int stream_id, int level,\n                            const
      char *tag, apr_bucket_brigade *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (APR_BUCKET_IS_MMAP(b))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (APR_BUCKET_IS_POOL(b))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - stream_id
    - ','
    - level
    - ','
    - tag
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: C1_IO_BB_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C1_IO_BB_LOG(c, stream_id, level, tag, bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c1_io.c:146,1
    - Dst: h2_config_sgeti64
      Src: /src/httpd/modules/http2/h2_c1_io.c:147,1
    - Dst: h2_config_sgeti64
      Src: /src/httpd/modules/http2/h2_c1_io.c:152,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_c1_io.c:153,1
    - Dst: APLOGctrace1
      Src: /src/httpd/modules/http2/h2_c1_io.c:158,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - io
    - session
    argTypes:
    - h2_c1_io*
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: h2_c1_io_init
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - h2_config_sgeti
    - apr_brigade_create
    - h2_config_sgeti64
    - APLOGctrace1
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_io_init(h2_c1_io *io, h2_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/http2/h2_c1_io.c:171,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c1_io.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: append_scratch
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - apr_bucket_heap_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void append_scratch(h2_c1_io *io)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: append_scratch
      Src: /src/httpd/modules/http2/h2_c1_io.c:184,1
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/http2/h2_c1_io.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: assure_scratch_space
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - append_scratch
    - apr_bucket_alloc
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t assure_scratch_space(h2_c1_io *io)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c1_io.c:207,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_c1_io.c:208,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/http2/h2_c1_io.c:219,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/http2/h2_c1_io.c:223,1
    - Dst: APR_BUCKET_IS_MMAP
      Src: /src/httpd/modules/http2/h2_c1_io.c:229,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:230,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_c1_io.c:233,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_c1_io.c:235,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_c1_io.c:240,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_c1_io.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - io
    - b
    argTypes:
    - h2_c1_io*
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 247
    functionName: read_to_scratch
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APR_BUCKET_IS_MMAP
    - APR_BUCKET_IS_FILE
    - apr_file_seek
    - apr_bucket_read
    - apr_file_read
    - ap_assert
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t read_to_scratch(h2_c1_io *io, apr_bucket *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_c1_io.c:258,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1_io.c:259,1
    - Dst: append_scratch
      Src: /src/httpd/modules/http2/h2_c1_io.c:268,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_c1_io.c:270,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/http2/h2_c1_io.c:270,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_c1_io.c:271,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c1_io.c:272,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c1_io.c:275,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_c1_io.c:280,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/http2/h2_c1_io.c:280,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http2/h2_c1_io.c:281,1
    - Dst: C1_IO_BB_LOG
      Src: /src/httpd/modules/http2/h2_c1_io.c:282,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c1_io.c:284,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_c1_io.c:295,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:308,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1_io.c:308,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c1_io.c:312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - io
    - flush
    argTypes:
    - h2_c1_io*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 316
    functionName: pass_output
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_time_now
    - ap_log_cerror
    - append_scratch
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_bucket_flush_create
    - APR_BUCKET_IS_FLUSH
    - C1_IO_BB_LOG
    - apr_brigade_length
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pass_output(h2_c1_io *io, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: h2_c1_io_needs_flush
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_c1_io_needs_flush(h2_c1_io *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c1_io.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: h2_c1_io_pending
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: int
    signature: int h2_c1_io_pending(h2_c1_io *io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_c1_io_pending
      Src: /src/httpd/modules/http2/h2_c1_io.c:332,1
    - Dst: pass_output
      Src: /src/httpd/modules/http2/h2_c1_io.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: h2_c1_io_pass
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - pass_output
    - h2_c1_io_pending
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_io_pass(h2_c1_io *io)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_c1_io_pending
      Src: /src/httpd/modules/http2/h2_c1_io.c:342,1
    - Dst: pass_output
      Src: /src/httpd/modules/http2/h2_c1_io.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - io
    argTypes:
    - h2_c1_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: h2_c1_io_assure_flushed
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - pass_output
    - h2_c1_io_pending
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_io_assure_flushed(h2_c1_io *io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:355,1
    - Dst: assure_scratch_space
      Src: /src/httpd/modules/http2/h2_c1_io.c:359,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_c1_io.c:361,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_c1_io.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - io
    - data
    - length
    argTypes:
    - h2_c1_io*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: h2_c1_io_add_data
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - assure_scratch_space
    - ap_log_cerror
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_io_add_data(h2_c1_io *io, const char *data, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c1_io.c:380,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c1_io.c:381,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_c1_io.c:382,1
    - Dst: APR_BUCKET_IS_MMAP
      Src: /src/httpd/modules/http2/h2_c1_io.c:382,1
    - Dst: append_scratch
      Src: /src/httpd/modules/http2/h2_c1_io.c:385,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c1_io.c:386,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c1_io.c:387,1
    - Dst: assure_scratch_space
      Src: /src/httpd/modules/http2/h2_c1_io.c:390,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http2/h2_c1_io.c:392,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c1_io.c:395,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c1_io.c:396,1
    - Dst: read_to_scratch
      Src: /src/httpd/modules/http2/h2_c1_io.c:403,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_c1_io.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - io
    - bb
    argTypes:
    - h2_c1_io*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 412
    functionName: h2_c1_io_append
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - assure_scratch_space
    - APR_BUCKET_IS_MMAP
    - apr_bucket_delete
    - append_scratch
    - read_to_scratch
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_io_append(h2_c1_io *io, apr_bucket_brigade *bb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_c1_io.c:422,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/httpd/modules/http2/h2_c1_io.c:424,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:426,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_c1_io.c:427,1
    - Dst: nghttp2_is_fatal
      Src: /src/httpd/modules/http2/h2_c1_io.c:430,1
    - Dst: h2_session_event
      Src: /src/httpd/modules/http2/h2_c1_io.c:431,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - session
    - b
    - inout_len
    argTypes:
    - h2_session*
    - apr_bucket*
    - apr_ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 447
    functionName: c1_in_feed_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - nghttp2_strerror
    - ap_log_cerror
    - nghttp2_is_fatal
    - nghttp2_session_mem_recv
    - h2_session_event
    - apr_bucket_read
    - H2_SSSN_MSG
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t c1_in_feed_bucket(h2_session *session,\n                                      apr_bucket
      *b, apr_ssize_t *inout_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c1_io.c:457,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c1_io.c:458,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_c1_io.c:459,1
    - Dst: c1_in_feed_bucket
      Src: /src/httpd/modules/http2/h2_c1_io.c:460,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_c1_io.c:463,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c1_io.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - session
    - bb
    - inout_len
    argTypes:
    - h2_session*
    - apr_bucket_brigade*
    - apr_ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: c1_in_feed_brigade
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - c1_in_feed_bucket
    - apr_bucket_delete
    - APR_BUCKET_IS_METADATA
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t c1_in_feed_brigade(h2_session *session,\n                                       apr_bucket_brigade
      *bb,\n                                       apr_ssize_t *inout_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2MAX
      Src: /src/httpd/modules/http2/h2_c1_io.c:475,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c1_io.c:476,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c1_io.c:481,1
    - Dst: h2_util_bb_log
      Src: /src/httpd/modules/http2/h2_c1_io.c:482,1
    - Dst: c1_in_feed_brigade
      Src: /src/httpd/modules/http2/h2_c1_io.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: read_and_feed
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - H2MAX
    - h2_util_bb_log
    - c1_in_feed_brigade
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t read_and_feed(h2_session *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:500,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_c1_io.c:501,1
    - Dst: read_and_feed
      Src: /src/httpd/modules/http2/h2_c1_io.c:502,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_c1_io.c:505,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_c1_io.c:507,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_c1_io.c:510,1
    - Dst: APR_STATUS_IS_ETIMEDOUT
      Src: /src/httpd/modules/http2/h2_c1_io.c:513,1
    - Dst: APR_STATUS_IS_ECONNABORTED
      Src: /src/httpd/modules/http2/h2_c1_io.c:514,1
    - Dst: APR_STATUS_IS_ECONNRESET
      Src: /src/httpd/modules/http2/h2_c1_io.c:515,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/http2/h2_c1_io.c:516,1
    - Dst: APR_STATUS_IS_EBADF
      Src: /src/httpd/modules/http2/h2_c1_io.c:517,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:519,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_c1_io.c:520,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:524,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_c1_io.c:525,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1_io.c:525,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_c1_io.c:528,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c1_io.c:531,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1_io.c:532,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_c1_io.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 535
    functionName: h2_c1_read
    functionSourceFile: /src/httpd/modules/http2/h2_c1_io.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ECONNRESET
    - APR_STATUS_IS_EOF
    - APR_STATUS_IS_ETIMEDOUT
    - ap_log_cerror
    - h2_session_dispatch_event
    - H2_SSSN_LOG
    - APLOGNO
    - read_and_feed
    - APR_STATUS_IS_EBADF
    - apr_brigade_cleanup
    - APR_STATUS_IS_ECONNABORTED
    - H2_SSSN_MSG
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_read(h2_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: h2_conn_ctx_get
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: h2_conn_ctx_get(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: H2_STREAM_CLIENT_INITIATED
    functionSourceFile: /src/httpd/modules/http2/h2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STREAM_CLIENT_INITIATED(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: H2_ALEN
    functionSourceFile: /src/httpd/modules/http2/h2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ALEN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: H2MAX
    functionSourceFile: /src/httpd/modules/http2/h2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2MAX(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: H2MIN
    functionSourceFile: /src/httpd/modules/http2/h2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2MIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: h2_conn_ctx_detach
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: void
    signature: void h2_conn_ctx_detach(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:44,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:47,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:48,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - id
    argTypes:
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: ctx_create
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - apr_atomic_set32
    - ap_set_module_config
    - apr_time_now
    - apr_pcalloc
    linkageType: ''
    returnType: h2_conn_ctx_t
    signature: h2_conn_ctx_t *ctx_create(conn_rec *c, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_create
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:58,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:58,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:60,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:63,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - c1
    - s
    - protocol
    argTypes:
    - conn_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: h2_conn_ctx_create_for_c1
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - ap_get_conn_socket
    - apr_psprintf
    - ctx_create
    - apr_pstrdup
    linkageType: ''
    returnType: h2_conn_ctx_t
    signature: h2_conn_ctx_t *h2_conn_ctx_create_for_c1(conn_rec *c1, server_rec *s,
      const char *protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - session
    argTypes:
    - h2_conn_ctx_t*
    - struct h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: h2_conn_ctx_assign_session
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: void h2_conn_ctx_assign_session(h2_conn_ctx_t *ctx, struct h2_session
      *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:84,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:85,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:89,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:90,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:91,1
    - Dst: ctx_create
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:93,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:100,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:101,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:103,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - pctx
    - c2
    - mplx
    - stream
    - transit
    argTypes:
    - h2_conn_ctx_t**
    - conn_rec*
    - struct h2_mplx*
    - struct h2_stream*
    - struct h2_c2_transit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 110
    functionName: h2_conn_ctx_init_for_c2
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - apr_time_now
    - apr_atomic_set32
    - apr_pool_tag
    - apr_pool_create
    - ctx_create
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_conn_ctx_init_for_c2(h2_conn_ctx_t **pctx, conn_rec
      *c2,\n                                     struct h2_mplx *mplx, struct h2_stream
      *stream,\n                                     struct h2_c2_transit *transit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_beam_timeout_set
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:115,1
    - Dst: h2_beam_timeout_set
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:118,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/http2/h2_conn_ctx.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conn_ctx
    - timeout
    argTypes:
    - h2_conn_ctx_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: h2_conn_ctx_set_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_conn_ctx.c
    functionUses: 0
    functionsReached:
    - h2_beam_timeout_set
    - apr_file_pipe_timeout_set
    linkageType: ''
    returnType: void
    signature: void h2_conn_ctx_set_timeout(h2_conn_ctx_t *conn_ctx, apr_interval_time_t
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: H2_BUCKET_IS_HEADERS
    functionSourceFile: /src/httpd/modules/http2/h2_headers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BUCKET_IS_HEADERS(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: H2_BUCKET_IS_H2EOS
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_eos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BUCKET_IS_H2EOS(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: H2_SSSN_MSG
    functionSourceFile: /src/httpd/modules/http2/h2_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SSSN_MSG(s, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - aplogno
    - ','
    - s
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: H2_SSSN_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SSSN_LOG(aplogno, s, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - stream_id
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: H2_SSSN_STRM_MSG
    functionSourceFile: /src/httpd/modules/http2/h2_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SSSN_STRM_MSG(s, stream_id, msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h2_error
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: h2_protocol_err_description
    functionSourceFile: /src/httpd/modules/http2/h2_protocol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *h2_protocol_err_description(unsigned int h2_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/http2/h2_protocol.c:405,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_protocol.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: cipher_init
    functionSourceFile: /src/httpd/modules/http2/h2_protocol.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_make
    linkageType: ''
    returnType: void
    signature: void cipher_init(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http2/h2_protocol.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - psource
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: cipher_is_blacklisted
    functionSourceFile: /src/httpd/modules/http2/h2_protocol.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: int cipher_is_blacklisted(const char *cipher, const char **psource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_protocol.c:426,1
    - Dst: cipher_init
      Src: /src/httpd/modules/http2/h2_protocol.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: h2_protocol_init
    functionSourceFile: /src/httpd/modules/http2/h2_protocol.c
    functionUses: 1
    functionsReached:
    - ap_log_error
    - cipher_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_protocol_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_protocol.c:434,1
    - Dst: h2_config_cgeti
      Src: /src/httpd/modules/http2/h2_protocol.c:436,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/http2/h2_protocol.c:446,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_protocol.c:448,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_protocol.c:449,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_protocol.c:450,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_protocol.c:451,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_protocol.c:451,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_protocol.c:458,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_protocol.c:458,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_protocol.c:463,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/http2/h2_protocol.c:466,1
    - Dst: cipher_is_blacklisted
      Src: /src/httpd/modules/http2/h2_protocol.c:469,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_protocol.c:470,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_protocol.c:470,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_protocol.c:477,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_protocol.c:477,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - c
    - r
    - require_all
    argTypes:
    - conn_rec*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 484
    functionName: h2_protocol_is_acceptable_c1
    functionSourceFile: /src/httpd/modules/http2/h2_protocol.c
    functionUses: 0
    functionsReached:
    - ap_ssl_conn_is_ssl
    - strcmp
    - cipher_is_blacklisted
    - ap_log_cerror
    - APLOGNO
    - h2_config_cgeti
    - ap_ssl_var_lookup
    - strncmp
    linkageType: ''
    returnType: int
    signature: int h2_protocol_is_acceptable_c1(conn_rec *c, request_rec *r, int require_all)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: H2_STRM_ASSIGN_MAGIC
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_ASSIGN_MAGIC(s,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: H2_STRM_ASSERT_MAGIC
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_ASSERT_MAGIC(s,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: H2_STRM_ASSIGN_MAGIC
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_ASSIGN_MAGIC(s,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: H2_STRM_ASSERT_MAGIC
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_ASSERT_MAGIC(s,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: H2_STREAM_RST
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STREAM_RST(s, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: H2_STRM_MSG
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_MSG(s, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - aplogno
    - ','
    - s
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: H2_STRM_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STRM_LOG(aplogno, s, msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: h2_proxy_log2
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char h2_proxy_log2(unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - klen
    argTypes:
    - char*
    - apr_ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: ihash
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ihash(const char *key, apr_ssize_t *klen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:81,1
    - Dst: apr_hash_make_custom
      Src: /src/httpd/modules/http2/h2_proxy_util.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - offset_of_int
    argTypes:
    - apr_pool_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: h2_proxy_ihash_create
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_make_custom
    linkageType: ''
    returnType: h2_proxy_ihash_t
    signature: h2_proxy_ihash_t *h2_proxy_ihash_create(apr_pool_t *pool, size_t offset_of_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_count
      Src: /src/httpd/modules/http2/h2_proxy_util.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_proxy_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: h2_proxy_ihash_count
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_count
    linkageType: ''
    returnType: size_t
    signature: size_t h2_proxy_ihash_count(h2_proxy_ihash_t *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_count
      Src: /src/httpd/modules/http2/h2_proxy_util.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_proxy_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: h2_proxy_ihash_empty
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_count
    linkageType: ''
    returnType: int
    signature: int h2_proxy_ihash_empty(h2_proxy_ihash_t *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http2/h2_proxy_util.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - id
    argTypes:
    - h2_proxy_ihash_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: h2_proxy_ihash_get
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void *h2_proxy_ihash_get(h2_proxy_ihash_t *ih, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iter_ctx*::iter
      Src: /src/httpd/modules/http2/h2_proxy_util.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: ihash_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - iter_ctx*::iter
    linkageType: ''
    returnType: int
    signature: "int ihash_iter(void *ctx, const void *key, apr_ssize_t klen, \n                     const
      void *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ih
    - fn
    - ctx
    argTypes:
    - h2_proxy_ihash_t*
    - h2_proxy_ihash_iter_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: h2_proxy_ihash_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_do
    linkageType: ''
    returnType: int
    signature: int h2_proxy_ihash_iter(h2_proxy_ihash_t *ih, h2_proxy_ihash_iter_t
      *fn, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_proxy_util.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - val
    argTypes:
    - h2_proxy_ihash_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: h2_proxy_ihash_add
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_proxy_ihash_add(h2_proxy_ihash_t *ih, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_proxy_util.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - id
    argTypes:
    - h2_proxy_ihash_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: h2_proxy_ihash_remove
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_proxy_ihash_remove(h2_proxy_ihash_t *ih, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_proxy_util.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - val
    argTypes:
    - h2_proxy_ihash_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: h2_proxy_ihash_remove_val
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: void
    signature: void h2_proxy_ihash_remove_val(h2_proxy_ihash_t *ih, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_clear
      Src: /src/httpd/modules/http2/h2_proxy_util.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - h2_proxy_ihash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: h2_proxy_ihash_clear
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_hash_clear
    linkageType: ''
    returnType: void
    signature: void h2_proxy_ihash_clear(h2_proxy_ihash_t *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: collect_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int collect_iter(void *x, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_iter
      Src: /src/httpd/modules/http2/h2_proxy_util.c:170,1
    - Dst: h2_proxy_ihash_remove_val
      Src: /src/httpd/modules/http2/h2_proxy_util.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ih
    - buffer
    - max
    argTypes:
    - h2_proxy_ihash_t*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: h2_proxy_ihash_shift
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_proxy_ihash_remove_val
    - h2_proxy_ihash_iter
    linkageType: ''
    returnType: size_t
    signature: size_t h2_proxy_ihash_shift(h2_proxy_ihash_t *ih, void **buffer, size_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: icollect_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int icollect_iter(void *x, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_iter
      Src: /src/httpd/modules/http2/h2_proxy_util.c:203,1
    - Dst: h2_proxy_ihash_remove
      Src: /src/httpd/modules/http2/h2_proxy_util.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ih
    - buffer
    - max
    argTypes:
    - h2_proxy_ihash_t*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: h2_proxy_ihash_ishift
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_proxy_ihash_remove
    - h2_proxy_ihash_iter
    linkageType: ''
    returnType: size_t
    signature: size_t h2_proxy_ihash_ishift(h2_proxy_ihash_t *ih, int *buffer, size_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:223,1
    - Dst: iq_grow
      Src: /src/httpd/modules/http2/h2_proxy_util.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - capacity
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: h2_proxy_iq_create
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - iq_grow
    - apr_pcalloc
    linkageType: ''
    returnType: h2_proxy_iqueue
    signature: h2_proxy_iqueue *h2_proxy_iq_create(apr_pool_t *pool, int capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_proxy_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: h2_proxy_iq_empty
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_iq_empty(h2_proxy_iqueue *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_proxy_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: h2_proxy_iq_count
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_iq_count(h2_proxy_iqueue *q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iq_grow
      Src: /src/httpd/modules/http2/h2_proxy_util.c:248,1
    - Dst: iq_bubble_up
      Src: /src/httpd/modules/http2/h2_proxy_util.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - q
    - sid
    - cmp
    - ctx
    argTypes:
    - h2_proxy_iqueue*
    - int
    - h2_proxy_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: h2_proxy_iq_add
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - iq_grow
    - iq_bubble_up
    linkageType: ''
    returnType: void
    signature: void h2_proxy_iq_add(h2_proxy_iqueue *q, int sid, h2_proxy_iq_cmp *cmp,
      void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - q
    - sid
    argTypes:
    - h2_proxy_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 279
    functionName: h2_proxy_iq_remove
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_iq_remove(h2_proxy_iqueue *q, int sid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_proxy_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: h2_proxy_iq_clear
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_proxy_iq_clear(h2_proxy_iqueue *q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iq_bubble_up
      Src: /src/httpd/modules/http2/h2_proxy_util.c:302,1
    - Dst: iq_bubble_down
      Src: /src/httpd/modules/http2/h2_proxy_util.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - q
    - cmp
    - ctx
    argTypes:
    - h2_proxy_iqueue*
    - h2_proxy_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: h2_proxy_iq_sort
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - iq_bubble_down
    - iq_bubble_up
    linkageType: ''
    returnType: void
    signature: void h2_proxy_iq_sort(h2_proxy_iqueue *q, h2_proxy_iq_cmp *cmp, void
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - h2_proxy_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: h2_proxy_iq_shift
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_iq_shift(h2_proxy_iqueue *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:332,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_proxy_util.c:336,1
    - Dst: memmove
      Src: /src/httpd/modules/http2/h2_proxy_util.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - q
    - nlen
    argTypes:
    - h2_proxy_iqueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 347
    functionName: iq_grow
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - memmove
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void iq_grow(h2_proxy_iqueue *q, int nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - q
    - i
    - j
    argTypes:
    - h2_proxy_iqueue*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: iq_swap
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iq_swap(h2_proxy_iqueue *q, int i, int j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iq_swap
      Src: /src/httpd/modules/http2/h2_proxy_util.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - q
    - i
    - top
    - cmp
    - ctx
    argTypes:
    - h2_proxy_iqueue*
    - int
    - int
    - h2_proxy_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: iq_bubble_up
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - iq_swap
    linkageType: ''
    returnType: int
    signature: "int iq_bubble_up(h2_proxy_iqueue *q, int i, int top, \n                        h2_proxy_iq_cmp
      *cmp, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iq_swap
      Src: /src/httpd/modules/http2/h2_proxy_util.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - q
    - i
    - bottom
    - cmp
    - ctx
    argTypes:
    - h2_proxy_iqueue*
    - int
    - int
    - h2_proxy_iq_cmp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: iq_bubble_down
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - iq_swap
    linkageType: ''
    returnType: int
    signature: "int iq_bubble_down(h2_proxy_iqueue *q, int i, int bottom, \n                          h2_proxy_iq_cmp
      *cmp, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: H2_HD_MATCH_LIT_CS
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_HD_MATCH_LIT_CS(l, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_HD_MATCH_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:389,1
    - Dst: H2_HD_MATCH_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:390,1
    - Dst: H2_HD_MATCH_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:391,1
    - Dst: H2_HD_MATCH_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:392,1
    - Dst: H2_HD_MATCH_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: h2_util_ignore_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - H2_HD_MATCH_LIT_CS
    linkageType: ''
    returnType: int
    signature: int h2_util_ignore_header(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_util_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: count_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_util_ignore_header
    linkageType: ''
    returnType: int
    signature: int count_header(void *ctx, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nv
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: NV_ADD_LIT_CS
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV_ADD_LIT_CS(nv, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nv
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: NV_ADD_CS_CS
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV_ADD_CS_CS(nv, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ngh
    - key
    - key_len
    - value
    - val_len
    argTypes:
    - h2_proxy_ngheader*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: add_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int add_header(h2_proxy_ngheader *ngh, \n                      const
      char *key, size_t key_len,\n                      const char *value, size_t
      val_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_util_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:422,1
    - Dst: add_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:423,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:423,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionName: add_table_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - add_header
    - h2_util_ignore_header
    - strlen
    linkageType: ''
    returnType: int
    signature: int add_table_header(void *ctx, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:435,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:436,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:437,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:438,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:439,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:442,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:444,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:445,1
    - Dst: NV_ADD_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:446,1
    - Dst: NV_ADD_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:447,1
    - Dst: NV_ADD_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:448,1
    - Dst: NV_ADD_LIT_CS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:449,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - p
    - req
    argTypes:
    - apr_pool_t*
    - h2_proxy_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 453
    functionName: h2_proxy_util_nghd_make_req
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - NV_ADD_LIT_CS
    - apr_table_do
    - ap_assert
    - apr_pcalloc
    linkageType: ''
    returnType: h2_proxy_ngheader
    signature: "h2_proxy_ngheader *h2_proxy_util_nghd_make_req(apr_pool_t *p, \n                                               const
      h2_proxy_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:462,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:464,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:465,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - headers
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: h2_proxy_util_nghd_make
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_pcalloc
    linkageType: ''
    returnType: h2_proxy_ngheader
    signature: h2_proxy_ngheader *h2_proxy_util_nghd_make(apr_pool_t *p, apr_table_t
      *headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: H2_DEF_LITERAL
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_DEF_LITERAL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: H2_LIT_ARGS
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_LIT_ARGS(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_proxy_util.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - lits
    - llen
    - name
    - nlen
    argTypes:
    - literal*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 508
    functionName: ignore_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: "int ignore_header(const literal *lits, size_t llen,\n                         const
      char *name, size_t nlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:512,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: h2_proxy_req_ignore_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - H2_LIT_ARGS
    - ignore_header
    linkageType: ''
    returnType: int
    signature: int h2_proxy_req_ignore_header(const char *name, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_req_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:517,1
    - Dst: ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:518,1
    - Dst: H2_LIT_ARGS
      Src: /src/httpd/modules/http2/h2_proxy_util.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: h2_proxy_res_ignore_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - ignore_header
    - H2_LIT_ARGS
    - h2_proxy_req_ignore_header
    linkageType: ''
    returnType: int
    signature: int h2_proxy_res_ignore_header(const char *name, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: h2_proxy_util_camel_case_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_proxy_util_camel_case_header(char *s, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - name
    - ','
    - nlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: H2_HD_MATCH_LIT
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_HD_MATCH_LIT(l, name, nlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_req_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:553,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_proxy_util.c:556,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_proxy_util.c:557,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_util.c:564,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:565,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:566,1
    - Dst: H2_HD_MATCH_LIT
      Src: /src/httpd/modules/http2/h2_proxy_util.c:570,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_proxy_util.c:571,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_util.c:576,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_util.c:577,1
    - Dst: h2_proxy_util_camel_case_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:578,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - headers
    - pool
    - name
    - nlen
    - value
    - vlen
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 582
    functionName: h2_headers_add_h1
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_proxy_util_camel_case_header
    - apr_table_setn
    - H2_HD_MATCH_LIT
    - apr_pstrndup
    - apr_psprintf
    - apr_table_get
    - h2_proxy_req_ignore_header
    - apr_table_mergen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_headers_add_h1(apr_table_t *headers, apr_pool_t *pool,
      \n                                      const char *name, size_t nlen,\n                                      const
      char *value, size_t vlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:588,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_proxy_util.c:594,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_proxy_util.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - id
    - pool
    - method
    - scheme
    - authority
    - path
    - header
    argTypes:
    - int
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: h2_proxy_req_createn
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_time_now
    - apr_pcalloc
    linkageType: ''
    returnType: h2_proxy_request
    signature: "h2_proxy_request *h2_proxy_req_createn(int id, apr_pool_t *pool, const
      char *method, \n                                  const char *scheme, const
      char *authority, \n                                  const char *path, apr_table_t
      *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_req_createn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - pool
    argTypes:
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: h2_proxy_req_create
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_proxy_req_createn
    linkageType: ''
    returnType: h2_proxy_request
    signature: h2_proxy_request *h2_proxy_req_create(int id, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:613,1
    - Dst: h2_proxy_req_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_util.c:614,1
    - Dst: h2_headers_add_h1
      Src: /src/httpd/modules/http2/h2_proxy_util.c:615,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: set_h1_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - h2_headers_add_h1
    - strlen
    - h2_proxy_req_ignore_header
    linkageType: ''
    returnType: int
    signature: int set_h1_header(void *ctx, const char *key, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:633,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:634,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:635,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:636,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_util.c:640,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_proxy_util.c:641,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_proxy_util.c:641,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:643,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 7
    argNames:
    - req
    - pool
    - method
    - scheme
    - authority
    - path
    - headers
    argTypes:
    - h2_proxy_request*
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 647
    functionName: h2_proxy_req_make
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - ap_find_token
    - apr_table_setn
    - apr_table_addn
    - apr_table_get
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_proxy_req_make(h2_proxy_request *req, apr_pool_t *pool,\n
      \                        const char *method, const char *scheme, \n                         const
      char *authority, const char *path, \n                         apr_table_t *headers)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:660,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:666,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:674,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:680,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:687,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:691,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:696,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:703,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:712,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:714,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:719,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_util.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - frame
    - buffer
    - maxlen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 730
    functionName: h2_proxy_util_frame_print
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - memcpy
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int h2_proxy_util_frame_print(const nghttp2_frame *frame, char *buffer,
      size_t maxlen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/http2/h2_proxy_util.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 772
    functionName: attr_char
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int attr_char(char c)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/http2/h2_proxy_util.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 808
    functionName: ptoken_char
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: int
    signature: int ptoken_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 818
    functionName: skip_ws
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int skip_ws(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - c
    - pidx
    argTypes:
    - link_ctx*
    - char
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 830
    functionName: find_chr
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_chr(link_ctx *ctx, char c, int *pidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - link_ctx*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 839
    functionName: read_chr
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int read_chr(link_ctx *ctx, char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:843,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:843,1
    - Dst: find_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 851
    functionName: skip_qstring
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - read_chr
    - find_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_qstring(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:855,1
    - Dst: ptoken_char
      Src: /src/httpd/modules/http2/h2_proxy_util.c:857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 866
    functionName: skip_ptoken
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - ptoken_char
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_ptoken(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:872,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:872,1
    - Dst: find_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 882
    functionName: read_link
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - read_chr
    - find_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_link(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:886,1
    - Dst: attr_char
      Src: /src/httpd/modules/http2/h2_proxy_util.c:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 897
    functionName: skip_pname
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - attr_char
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_pname(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:901,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:901,1
    - Dst: skip_qstring
      Src: /src/httpd/modules/http2/h2_proxy_util.c:902,1
    - Dst: skip_ptoken
      Src: /src/httpd/modules/http2/h2_proxy_util.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 907
    functionName: skip_pvalue
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - read_chr
    - skip_qstring
    - skip_ptoken
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_pvalue(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:911,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:911,1
    - Dst: skip_pname
      Src: /src/httpd/modules/http2/h2_proxy_util.c:912,1
    - Dst: skip_pvalue
      Src: /src/httpd/modules/http2/h2_proxy_util.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 918
    functionName: skip_param
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - read_chr
    - skip_pvalue
    - skip_pname
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int skip_param(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/httpd/modules/http2/h2_proxy_util.c:922,1
    - Dst: read_chr
      Src: /src/httpd/modules/http2/h2_proxy_util.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 926
    functionName: read_sep
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 1
    functionsReached:
    - read_chr
    - skip_ws
    linkageType: ''
    returnType: int
    signature: int read_sep(link_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:935,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:938,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:939,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:940,1
    - Dst: strcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - start
    - end
    - ns
    argTypes:
    - link_ctx*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 948
    functionName: subst_str
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t subst_str(link_ctx *ctx, int start, int end, const char *ns)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:966,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/http2/h2_proxy_util.c:971,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_proxy_util.c:973,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_proxy_util.c:974,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:982,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:983,1
    - Dst: ap_proxy_location_reverse_map
      Src: /src/httpd/modules/http2/h2_proxy_util.c:987,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_util.c:988,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/http2/h2_proxy_util.c:993,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:994,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_proxy_util.c:996,1
    - Dst: subst_str
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1000,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1004,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1004,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - link_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 1008
    functionName: map_link
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - subst_str
    - apr_cpystrn
    - APLOGNO
    - ap_construct_url
    - ap_proxy_location_reverse_map
    - strlen
    - strncmp
    - memcpy
    linkageType: ''
    returnType: void
    signature: void map_link(link_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1059,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1064,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1066,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1068,1
    - Dst: read_link
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1069,1
    - Dst: skip_param
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1070,1
    - Dst: map_link
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1073,1
    - Dst: read_sep
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1074,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - r
    - conf
    - real_backend_uri
    - proxy_server_uri
    - s
    argTypes:
    - request_rec*
    - proxy_dir_conf*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1081
    functionName: h2_proxy_link_reverse_map
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - skip_param
    - map_link
    - ap_log_rerror
    - memset
    - read_sep
    - read_link
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *h2_proxy_link_reverse_map(request_rec *r,\n                                      proxy_dir_conf
      *conf, \n                                      const char *real_backend_uri,\n
      \                                     const char *proxy_server_uri,\n                                      const
      char *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - n
    argTypes:
    - h2_proxy_fifo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: nth_index
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nth_index(h2_proxy_fifo *fifo, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1108,1
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1109,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1113
    functionName: fifo_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_destroy
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_destroy(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nth_index
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_proxy_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    functionName: index_of
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - nth_index
    linkageType: ''
    returnType: int
    signature: int index_of(h2_proxy_fifo *fifo, void *elem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1133,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1138,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1144,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1149,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1154,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pfifo
    - pool
    - capacity
    - as_set
    argTypes:
    - h2_proxy_fifo**
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1165
    functionName: create_int
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - apr_thread_mutex_create
    - apr_thread_cond_create
    - apr_pcalloc
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t create_int(h2_proxy_fifo **pfifo, apr_pool_t *pool, \n
      \                              int capacity, int as_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_int
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_proxy_fifo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1170
    functionName: h2_proxy_fifo_create
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - create_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_create(h2_proxy_fifo **pfifo, apr_pool_t
      *pool, int capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_int
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfifo
    - pool
    - capacity
    argTypes:
    - h2_proxy_fifo**
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1175
    functionName: h2_proxy_fifo_set_create
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - create_int
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_set_create(h2_proxy_fifo **pfifo, apr_pool_t
      *pool, int capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1180,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_proxy_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1185
    functionName: h2_proxy_fifo_term
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_term(h2_proxy_fifo *fifo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1190,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1191,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1192,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_proxy_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1196
    functionName: h2_proxy_fifo_interrupt
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_interrupt(h2_proxy_fifo *fifo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_proxy_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1201
    functionName: h2_proxy_fifo_count
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_fifo_count(h2_proxy_fifo *fifo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_proxy_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1206
    functionName: h2_proxy_fifo_capacity
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h2_proxy_fifo_capacity(h2_proxy_fifo *fifo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - fifo
    - block
    argTypes:
    - h2_proxy_fifo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1222
    functionName: check_not_empty
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 2
    functionsReached:
    - apr_thread_cond_wait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_not_empty(h2_proxy_fifo *fifo, int block)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1232,1
    - Dst: index_of
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1233,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1235,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1242,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1245,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1249,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1254,1
    - Dst: nth_index
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1255,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1258,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - fifo
    - elem
    - block
    argTypes:
    - h2_proxy_fifo*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1263
    functionName: fifo_push
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_wait
    - nth_index
    - index_of
    - apr_thread_cond_broadcast
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_push(h2_proxy_fifo *fifo, void *elem, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_push
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_proxy_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: h2_proxy_fifo_push
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - fifo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_push(h2_proxy_fifo *fifo, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_push
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_proxy_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: h2_proxy_fifo_try_push
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - fifo_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_try_push(h2_proxy_fifo *fifo, void *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1279,1
    - Dst: nth_index
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1283,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - h2_proxy_fifo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1289
    functionName: pull_head
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - nth_index
    - ap_assert
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void *pull_head(h2_proxy_fifo *fifo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1299,1
    - Dst: check_not_empty
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1300,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1301,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1306,1
    - Dst: pull_head
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1307,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - fifo
    - pelem
    - block
    argTypes:
    - h2_proxy_fifo*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1312
    functionName: fifo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 4
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - check_not_empty
    - pull_head
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fifo_pull(h2_proxy_fifo *fifo, void **pelem, int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_pull
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pelem
    argTypes:
    - h2_proxy_fifo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1317
    functionName: h2_proxy_fifo_pull
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - fifo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_pull(h2_proxy_fifo *fifo, void **pelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_pull
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fifo
    - pelem
    argTypes:
    - h2_proxy_fifo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: h2_proxy_fifo_try_pull
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - fifo_pull
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_try_pull(h2_proxy_fifo *fifo, void **pelem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1332,1
    - Dst: nth_index
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1338,1
    - Dst: nth_index
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1343,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1349,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_proxy_util.c:1357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - fifo
    - elem
    argTypes:
    - h2_proxy_fifo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1360
    functionName: h2_proxy_fifo_remove
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_util.c
    functionUses: 0
    functionsReached:
    - nth_index
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_fifo_remove(h2_proxy_fifo *fifo, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: H2_MPLX_MSG
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_MSG(m, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: H2_BLIST_INIT
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_INIT(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: H2_BLIST_SENTINEL
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_SENTINEL(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: H2_BLIST_EMPTY
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_EMPTY(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: H2_BLIST_FIRST
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_FIRST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: H2_BLIST_LAST
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_LAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: H2_BLIST_INSERT_HEAD
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_INSERT_HEAD(b, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: H2_BLIST_INSERT_TAIL
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_INSERT_TAIL(b, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: H2_BLIST_CONCAT
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: H2_BLIST_PREPEND
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BLIST_PREPEND(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:66,1
    - Dst: H2_BLIST_SENTINEL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:66,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blist
    argTypes:
    - h2_blist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: h2_blist_count
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_FIRST
    - APR_BUCKET_NEXT
    - H2_BLIST_SENTINEL
    linkageType: ''
    returnType: int
    signature: int h2_blist_count(h2_blist *blist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - beam
    - ','
    - c
    - ','
    - level
    - ','
    - rv
    - ','
    - msg
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: H2_BEAM_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_BEAM_LOG(beam, c, level, rv, msg, bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_IS_MMAP
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: bucket_is_mmap
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_IS_MMAP
    linkageType: ''
    returnType: int
    signature: int bucket_is_mmap(apr_bucket *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:104,1
    - Dst: bucket_is_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: bucket_mem_used
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - bucket_is_mmap
    - APR_BUCKET_IS_FILE
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t bucket_mem_used(apr_bucket *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:123,1
    - Dst: cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:124,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - beam
    - locked
    argTypes:
    - h2_bucket_beam*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: report_consumption
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - cb
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int report_consumption(h2_bucket_beam *beam, int locked)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:137,1
    - Dst: H2_BLIST_SENTINEL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:138,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:139,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:143,1
    - Dst: bucket_is_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: calc_buffered
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BUCKET_IS_FILE
    - H2_BLIST_SENTINEL
    - H2_BLIST_FIRST
    - bucket_is_mmap
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t calc_buffered(h2_bucket_beam *beam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:158,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:159,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:160,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:161,1
    - Dst: H2_BLIST_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:162,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: purge_consumed_buckets
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_INSERT_TAIL
    - apr_bucket_delete
    - H2_BLIST_FIRST
    - H2_BLIST_EMPTY
    - APR_BUCKET_REMOVE
    - AP_BUCKET_IS_EOR
    linkageType: ''
    returnType: void
    signature: void purge_consumed_buckets(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:175,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:176,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: purge_eor_buckets
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_FIRST
    - H2_BLIST_EMPTY
    - apr_bucket_delete
    linkageType: ''
    returnType: void
    signature: void purge_eor_buckets(h2_bucket_beam *beam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calc_buffered
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: calc_space_left
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - calc_buffered
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t calc_space_left(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: buffer_is_empty
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_EMPTY
    linkageType: ''
    returnType: int
    signature: int buffer_is_empty(h2_bucket_beam *beam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:199,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:210,1
    - Dst: apr_thread_cond_timedwait
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:211,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:214,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - beam
    - c
    - block
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: wait_not_empty
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BEAM_LOG
    - buffer_is_empty
    - apr_thread_cond_wait
    - apr_thread_cond_timedwait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t wait_not_empty(h2_bucket_beam *beam, conn_rec *c, apr_read_type_e
      block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calc_space_left
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:228,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:237,1
    - Dst: apr_thread_cond_timedwait
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:238,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:241,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - beam
    - c
    - block
    - pspace_left
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    - apr_read_type_e
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 248
    functionName: wait_not_full
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BEAM_LOG
    - calc_space_left
    - apr_thread_cond_wait
    - apr_thread_cond_timedwait
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t wait_not_full(h2_bucket_beam *beam, conn_rec *c,\n                                  apr_read_type_e
      block,\n                                  apr_size_t *pspace_left)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:254,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:255,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bl
    argTypes:
    - h2_blist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: h2_blist_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_FIRST
    - H2_BLIST_EMPTY
    - apr_bucket_delete
    linkageType: ''
    returnType: void
    signature: void h2_blist_cleanup(h2_blist *bl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: purge_consumed_buckets
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:276,1
    - Dst: h2_blist_cleanup
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - beam
    - how
    argTypes:
    - h2_bucket_beam*
    - apr_shutdown_how_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: beam_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - h2_blist_cleanup
    - purge_consumed_buckets
    linkageType: ''
    returnType: void
    signature: void beam_shutdown(h2_bucket_beam *beam, apr_shutdown_how_e how)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beam_shutdown
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:284,1
    - Dst: purge_eor_buckets
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: beam_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - purge_eor_buckets
    - beam_shutdown
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t beam_cleanup(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:293,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:294,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - beam
    - c
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: h2_beam_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BEAM_LOG
    - apr_pool_cleanup_run
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_beam_destroy(h2_bucket_beam *beam, conn_rec *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:306,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:309,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:313,1
    - Dst: H2_BLIST_INIT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:316,1
    - Dst: H2_BLIST_INIT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:317,1
    - Dst: H2_BLIST_INIT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:318,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:323,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:325,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:327,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - pbeam
    - from
    - pool
    - id
    - tag
    - max_buf_size
    - timeout
    argTypes:
    - h2_bucket_beam**
    - conn_rec*
    - apr_pool_t*
    - int
    - char*
    - apr_size_t
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: h2_beam_create
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - apr_pcalloc
    - H2_BEAM_LOG
    - H2_BLIST_INIT
    - apr_thread_cond_create
    - apr_psprintf
    - apr_thread_mutex_create
    - apr_pool_pre_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_beam_create(h2_bucket_beam **pbeam, conn_rec *from,\n
      \                           apr_pool_t *pool, int id, const char *tag,\n                            apr_size_t
      max_buf_size,\n                            apr_interval_time_t timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:337,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - beam
    - buffer_size
    argTypes:
    - h2_bucket_beam*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: h2_beam_buffer_size_set
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void h2_beam_buffer_size_set(h2_bucket_beam *beam, apr_size_t buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:344,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - beam
    - enabled
    argTypes:
    - h2_bucket_beam*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: h2_beam_set_copy_files
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void h2_beam_set_copy_files(h2_bucket_beam * beam, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:353,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: h2_beam_buffer_size_get
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t h2_beam_buffer_size_get(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:363,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: h2_beam_timeout_get
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_interval_time_t
    signature: apr_interval_time_t h2_beam_timeout_get(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:371,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - beam
    - timeout
    argTypes:
    - h2_bucket_beam*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: h2_beam_timeout_set
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void h2_beam_timeout_set(h2_bucket_beam *beam, apr_interval_time_t
      timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:378,1
    - Dst: h2_bucket_beam*::send_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:383,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:385,1
    - Dst: h2_bucket_beam*::was_empty_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:386,1
    - Dst: report_consumption
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:389,1
    - Dst: beam_shutdown
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:392,1
    - Dst: beam_shutdown
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:396,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:398,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - beam
    - c
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 400
    functionName: h2_beam_abort
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - beam_shutdown
    - apr_thread_mutex_unlock
    - report_consumption
    - h2_bucket_beam*::send_cb
    - buffer_is_empty
    - h2_bucket_beam*::was_empty_cb
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void h2_beam_abort(h2_bucket_beam *beam, conn_rec *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:404,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:407,1
    - Dst: h2_bucket_beam*::send_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:410,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:412,1
    - Dst: h2_bucket_beam*::was_empty_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:413,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:415,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - beam
    - c
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: h2_beam_close
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - h2_bucket_beam*::send_cb
    - buffer_is_empty
    - h2_bucket_beam*::was_empty_cb
    - apr_thread_cond_broadcast
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void h2_beam_close(h2_bucket_beam *beam, conn_rec *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:438,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:440,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:441,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:442,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:443,1
    - Dst: H2_BLIST_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:444,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:452,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:456,1
    - Dst: bucket_is_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:475,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:480,1
    - Dst: APR_BUCKET_IS_HEAP
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:491,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:495,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:498,1
    - Dst: bucket_is_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:498,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:499,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:507,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:510,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:511,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:513,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:516,1
    - Dst: H2_BLIST_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:517,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 5
    argNames:
    - beam
    - bb
    - block
    - pspace_left
    - pwritten
    argTypes:
    - h2_bucket_beam*
    - apr_bucket_brigade*
    - apr_read_type_e
    - apr_size_t*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 528
    functionName: append_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - H2_BLIST_INSERT_TAIL
    - apr_bucket_delete
    - APR_BRIGADE_INSERT_HEAD
    - APR_BUCKET_IS_FILE
    - bucket_is_mmap
    - apr_bucket_heap_create
    - APR_BUCKET_IS_METADATA
    - apr_bucket_setaside
    - apr_bucket_read
    - APR_BUCKET_IS_HEAP
    - ap_assert
    - APR_BUCKET_REMOVE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t append_bucket(h2_bucket_beam *beam,\n                                  apr_bucket_brigade
      *bb,\n                                  apr_read_type_e block,\n                                  apr_size_t
      *pspace_left,\n                                  apr_off_t *pwritten)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:539,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:542,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:543,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:544,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:545,1
    - Dst: purge_consumed_buckets
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:546,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:548,1
    - Dst: calc_space_left
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:550,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:551,1
    - Dst: append_bucket
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:552,1
    - Dst: purge_consumed_buckets
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:560,1
    - Dst: h2_bucket_beam*::send_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:562,1
    - Dst: h2_bucket_beam*::was_empty_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:565,1
    - Dst: wait_not_full
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:567,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:571,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:576,1
    - Dst: h2_bucket_beam*::send_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:577,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:579,1
    - Dst: h2_bucket_beam*::was_empty_cb
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:580,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:582,1
    - Dst: report_consumption
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:584,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:588,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:589,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:590,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:592,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 5
    argNames:
    - beam
    - from
    - sender_bb
    - block
    - pwritten
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    - apr_bucket_brigade*
    - apr_read_type_e
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 530
    functionDepth: 4
    functionLinenumber: 530
    functionLinenumberEnd: 594
    functionName: h2_beam_send
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - append_bucket
    - calc_space_left
    - apr_thread_mutex_unlock
    - report_consumption
    - h2_bucket_beam*::send_cb
    - H2_BEAM_LOG
    - buffer_is_empty
    - h2_bucket_beam*::was_empty_cb
    - wait_not_full
    - apr_brigade_cleanup
    - apr_thread_cond_broadcast
    - purge_consumed_buckets
    - APR_BRIGADE_EMPTY
    - ap_assert
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_beam_send(h2_bucket_beam *beam, conn_rec *from,\n
      \                         apr_bucket_brigade *sender_bb, \n                          apr_read_type_e
      block,\n                          apr_off_t *pwritten)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:608,1
    - Dst: H2_BEAM_LOG
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:609,1
    - Dst: beam_shutdown
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:617,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:622,1
    - Dst: H2_BLIST_EMPTY
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:626,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:629,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:634,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:636,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:639,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:641,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:642,1
    - Dst: ap_bucket_response_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:646,1
    - Dst: ap_bucket_request_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:649,1
    - Dst: ap_bucket_headers_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:652,1
    - Dst: h2_bucket_headers_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:656,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:661,1
    - Dst: apr_mmap_dup
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:672,1
    - Dst: apr_bucket_mmap_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:674,1
    - Dst: apr_file_setaside
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:686,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:689,1
    - Dst: apr_bucket_file_enable_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:695,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:706,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:708,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:717,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:721,1
    - Dst: H2_BLIST_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:722,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 5
    argNames:
    - beam
    - to
    - bb
    - block
    - readbytes
    argTypes:
    - h2_bucket_beam*
    - conn_rec*
    - apr_bucket_brigade*
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 725
    functionName: h2_beam_receive
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_bucket_mmap_create
    - H2_BLIST_FIRST
    - ap_bucket_headers_clone
    - apr_bucket_read
    - h2_bucket_headers_clone
    - apr_bucket_file_enable_mmap
    - H2_BLIST_INSERT_TAIL
    - beam_shutdown
    - APR_BUCKET_IS_EOS
    - H2_BEAM_LOG
    - ap_bucket_response_clone
    - ap_bucket_error_create
    - APR_BUCKET_REMOVE
    - apr_mmap_dup
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - ap_assert
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - apr_file_setaside
    - apr_thread_mutex_lock
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - ap_bucket_request_clone
    - H2_BLIST_EMPTY
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_beam_receive(h2_bucket_beam *beam,\n                             conn_rec
      *to,\n                             apr_bucket_brigade *bb, \n                             apr_read_type_e
      block,\n                             apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_response_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - ap_bucket_response_clone
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_RESPONSE(bsender))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_request_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - ap_bucket_request_clone
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_REQUEST(bsender))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_headers_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - ap_bucket_headers_clone
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_HEADERS(bsender))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_bucket_headers_clone
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - h2_bucket_headers_clone
    linkageType: ''
    returnType: else
    signature: else if (H2_BUCKET_IS_HEADERS(bsender))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - ap_bucket_error_create
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_ERROR(bsender))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_mmap_dup
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:672,1
    - Dst: apr_bucket_mmap_create
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_mmap_dup
    - apr_bucket_mmap_create
    linkageType: ''
    returnType: else
    signature: else if (APR_BUCKET_IS_MMAP(bsender))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_setaside
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:686,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:689,1
    - Dst: apr_bucket_file_enable_mmap
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_brigade_insert_file
    - apr_bucket_file_enable_mmap
    - apr_file_setaside
    linkageType: ''
    returnType: else
    signature: else if (APR_BUCKET_IS_FILE(bsender))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:761,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - beam
    - io_cb
    - ctx
    argTypes:
    - h2_bucket_beam*
    - h2_beam_io_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: h2_beam_on_consumed
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void h2_beam_on_consumed(h2_bucket_beam *beam, \n                         h2_beam_io_callback
      *io_cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:770,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - beam
    - recv_cb
    - ctx
    argTypes:
    - h2_bucket_beam*
    - h2_beam_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 774
    functionName: h2_beam_on_received
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void h2_beam_on_received(h2_bucket_beam *beam,\n                         h2_beam_ev_callback
      *recv_cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:779,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - beam
    - eagain_cb
    - ctx
    argTypes:
    - h2_bucket_beam*
    - h2_beam_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: h2_beam_on_eagain
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void h2_beam_on_eagain(h2_bucket_beam *beam,\n                       h2_beam_ev_callback
      *eagain_cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:788,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - beam
    - send_cb
    - ctx
    argTypes:
    - h2_bucket_beam*
    - h2_beam_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 792
    functionName: h2_beam_on_send
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void h2_beam_on_send(h2_bucket_beam *beam,\n                     h2_beam_ev_callback
      *send_cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:797,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - beam
    - was_empty_cb
    - ctx
    argTypes:
    - h2_bucket_beam*
    - h2_beam_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: h2_beam_on_was_empty
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void h2_beam_on_was_empty(h2_bucket_beam *beam,\n                          h2_beam_ev_callback
      *was_empty_cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:809,1
    - Dst: H2_BLIST_SENTINEL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:810,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 816
    functionName: get_buffered_data_len
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - H2_BLIST_FIRST
    - APR_BUCKET_NEXT
    - H2_BLIST_SENTINEL
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t get_buffered_data_len(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:822,1
    - Dst: get_buffered_data_len
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:823,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: h2_beam_get_buffered
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - get_buffered_data_len
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t h2_beam_get_buffered(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:833,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:834,1
    - Dst: H2_BLIST_SENTINEL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:835,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:836,1
    - Dst: bucket_mem_used
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:837,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 841
    functionName: h2_beam_get_mem_used
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - bucket_mem_used
    - H2_BLIST_SENTINEL
    - H2_BLIST_FIRST
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t h2_beam_get_mem_used(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:847,1
    - Dst: buffer_is_empty
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:848,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 851
    functionName: h2_beam_empty
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - buffer_is_empty
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int h2_beam_empty(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:857,1
    - Dst: report_consumption
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:858,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: h2_beam_report_consumption
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - report_consumption
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int h2_beam_report_consumption(h2_bucket_beam *beam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:867,1
    - Dst: H2_BLIST_FIRST
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:872,1
    - Dst: H2_BLIST_SENTINEL
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:873,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:874,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:875,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_bucket_beam.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - beam
    argTypes:
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 883
    functionName: h2_beam_is_complete
    functionSourceFile: /src/httpd/modules/http2/h2_bucket_beam.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - apr_thread_mutex_lock
    - APR_BUCKET_IS_EOS
    - apr_thread_mutex_unlock
    - H2_BLIST_SENTINEL
    - H2_BLIST_FIRST
    linkageType: ''
    returnType: int
    signature: int h2_beam_is_complete(h2_bucket_beam *beam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_request.c:51,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:57,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_request.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - id
    - pool
    - method
    - scheme
    - authority
    - path
    - header
    argTypes:
    - int
    - apr_pool_t*
    - char*
    - char*
    - char*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: h2_request_create
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 1
    functionsReached:
    - apr_table_make
    - apr_time_now
    - apr_pcalloc
    linkageType: ''
    returnType: h2_request
    signature: "h2_request *h2_request_create(int id, apr_pool_t *pool, const char
      *method,\n                              const char *scheme, const char *authority,\n
      \                             const char *path, apr_table_t *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_req_add_header
      Src: /src/httpd/modules/http2/h2_request.c:74,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_request.c:74,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_request.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: set_h1_header
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - strlen
    - h2_req_add_header
    linkageType: ''
    returnType: int
    signature: int set_h1_header(void *ctx, const char *key, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:87,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/http2/h2_request.c:88,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:89,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/http2/h2_request.c:90,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/http2/h2_request.c:100,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/h2_request.c:103,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/http2/h2_request.c:109,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:112,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_request.c:118,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:119,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:123,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_request.c:125,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_request.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - preq
    - pool
    - r
    - scratch
    argTypes:
    - h2_request**
    - apr_pool_t*
    - request_rec*
    - h2_hd_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 135
    functionName: h2_request_rcreate
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - apr_table_do
    - apr_time_now
    - apr_pcalloc
    - apr_pstrcat
    - apr_pstrdup
    - ap_strchr_c
    - apr_psprintf
    - ap_http_scheme
    - apr_table_make
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_request_rcreate(h2_request **preq, apr_pool_t *pool,
      \n                                request_rec *r, h2_hd_scratch *scratch)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_request.c:152,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_request.c:153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:154,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_request.c:160,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_request.c:161,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_request.c:164,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_request.c:165,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_request.c:168,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_request.c:169,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_request.c:172,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_request.c:173,1
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_request.c:176,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_request.c:177,1
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_request.c:181,1
    - Dst: strncpy
      Src: /src/httpd/modules/http2/h2_request.c:182,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_request.c:183,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:184,1
    - Dst: h2_req_add_header
      Src: /src/httpd/modules/http2/h2_request.c:191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 8
    argNames:
    - req
    - pool
    - name
    - nlen
    - value
    - vlen
    - scratch
    - pwas_added
    argTypes:
    - h2_request*
    - apr_pool_t*
    - char*
    - size_t
    - char*
    - size_t
    - struct h2_hd_scratch*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 196
    functionName: h2_request_add_header
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - memset
    - APLOGNO
    - apr_is_empty_table
    - apr_pstrndup
    - h2_req_add_header
    - strncmp
    - strncpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_request_add_header(h2_request *req, apr_pool_t *pool,\n
      \                                  const char *name, size_t nlen,\n                                   const
      char *value, size_t vlen,\n                                   struct h2_hd_scratch
      *scratch,\n                                   int *pwas_added)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_request.c:202,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_request.c:206,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_request.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - req
    - pool
    - raw_bytes
    argTypes:
    - h2_request*
    - apr_pool_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: h2_request_end_headers
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 1
    functionsReached:
    - strlen
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_request_end_headers(h2_request *req, apr_pool_t *pool,\n
      \                                   size_t raw_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/http2/h2_request.c:222,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:223,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:224,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:225,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:226,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:227,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_request.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p
    - src
    argTypes:
    - apr_pool_t*
    - h2_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: h2_request_clone
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pmemdup
    - apr_table_clone
    linkageType: ''
    returnType: h2_request
    signature: h2_request *h2_request_clone(apr_pool_t *p, const h2_request *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_request.c:238,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_request.c:239,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_request.c:240,1
    - Dst: AP_READ_REQUEST_ENTRY
      Src: /src/httpd/modules/http2/h2_request.c:241,1
    - Dst: ap_make_method_list
      Src: /src/httpd/modules/http2/h2_request.c:249,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:251,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:252,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:253,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:254,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:255,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:256,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_request.c:257,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/http2/h2_request.c:259,1
    - Dst: ap_run_create_request
      Src: /src/httpd/modules/http2/h2_request.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 286
    functionName: my_ap_create_request
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - ap_run_create_request
    - AP_READ_REQUEST_ENTRY
    - ap_make_method_list
    - apr_table_make
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: request_rec *my_ap_create_request(conn_rec *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_request.c:293,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_request.c:296,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_request.c:297,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:298,1
    - Dst: h2_config_cgeti
      Src: /src/httpd/modules/http2/h2_request.c:301,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:303,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:307,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:308,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:310,1
    - Dst: ap_bucket_request_create
      Src: /src/httpd/modules/http2/h2_request.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - req
    - r
    argTypes:
    - h2_request*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 316
    functionName: h2_request_create_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - AP_DEBUG_ASSERT
    - h2_config_cgeti
    - apr_table_clone
    - apr_psprintf
    - ap_bucket_request_create
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *h2_request_create_bucket(const h2_request *req, request_rec
      *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_request.c:324,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_request.c:333,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_request.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_request.c:335,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:335,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_request.c:338,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_request.c:340,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_request.c:341,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_request.c:347,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_request.c:349,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_request.c:353,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_request.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - r
    - req
    - no_body
    - is_connect
    argTypes:
    - request_rec*
    - h2_request*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 372
    functionName: assign_headers
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - apr_table_setn
    - apr_table_clone
    - apr_table_get
    - apr_table_mergen
    linkageType: ''
    returnType: void
    signature: "void assign_headers(request_rec *r, const h2_request *req,\n                           int
      no_body, int is_connect)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:378,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_request.c:380,1
    - Dst: ap_create_request
      Src: /src/httpd/modules/http2/h2_request.c:381,1
    - Dst: my_ap_create_request
      Src: /src/httpd/modules/http2/h2_request.c:383,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_request.c:386,1
    - Dst: assign_headers
      Src: /src/httpd/modules/http2/h2_request.c:387,1
    - Dst: ap_run_pre_read_request
      Src: /src/httpd/modules/http2/h2_request.c:388,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_request.c:392,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:399,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:402,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:409,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:409,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:417,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:417,1
    - Dst: h2_config_cgeti
      Src: /src/httpd/modules/http2/h2_request.c:423,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:425,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:431,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:431,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:436,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:440,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:441,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:444,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:449,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_request.c:456,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:457,1
    - Dst: ap_parse_request_line
      Src: /src/httpd/modules/http2/h2_request.c:466,1
    - Dst: ap_check_request_header
      Src: /src/httpd/modules/http2/h2_request.c:466,1
    - Dst: assign_headers
      Src: /src/httpd/modules/http2/h2_request.c:484,1
    - Dst: ap_run_pre_read_request
      Src: /src/httpd/modules/http2/h2_request.c:485,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_request.c:489,1
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/http2/h2_request.c:491,1
    - Dst: ap_parse_uri
      Src: /src/httpd/modules/http2/h2_request.c:495,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http2/h2_request.c:497,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:498,1
    - Dst: ap_update_vhost_from_headers
      Src: /src/httpd/modules/http2/h2_request.c:505,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_request.c:510,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_request.c:512,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/http2/h2_request.c:541,1
    - Dst: ap_post_read_request
      Src: /src/httpd/modules/http2/h2_request.c:544,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:548,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_request.c:548,1
    - Dst: AP_READ_REQUEST_SUCCESS
      Src: /src/httpd/modules/http2/h2_request.c:554,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_request.c:565,1
    - Dst: ap_parse_request_line
      Src: /src/httpd/modules/http2/h2_request.c:568,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_request.c:570,1
    - Dst: ap_die
      Src: /src/httpd/modules/http2/h2_request.c:572,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_request.c:579,1
    - Dst: ap_acquire_brigade
      Src: /src/httpd/modules/http2/h2_request.c:580,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_request.c:581,1
    - Dst: ap_bucket_eor_create
      Src: /src/httpd/modules/http2/h2_request.c:582,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_request.c:583,1
    - Dst: ap_release_brigade
      Src: /src/httpd/modules/http2/h2_request.c:584,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_request.c:586,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_request.c:587,1
    - Dst: ap_bucket_eor_create
      Src: /src/httpd/modules/http2/h2_request.c:588,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_request.c:589,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http2/h2_request.c:590,1
    - Dst: AP_READ_REQUEST_FAILURE
      Src: /src/httpd/modules/http2/h2_request.c:595,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 133
    argCount: 3
    argNames:
    - req
    - c
    - no_body
    argTypes:
    - h2_request*
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 597
    functionName: h2_create_request_rec
    functionSourceFile: /src/httpd/modules/http2/h2_request.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - apr_brigade_destroy
    - ap_parse_uri
    - ap_acquire_brigade
    - apr_brigade_create
    - ap_run_pre_read_request
    - assign_headers
    - ap_create_request
    - ap_release_brigade
    - ap_log_cerror
    - ap_cstr_casecmp
    - my_ap_create_request
    - apr_psprintf
    - apr_table_get
    - ap_check_request_header
    - ap_add_input_filter_handle
    - AP_READ_REQUEST_SUCCESS
    - ap_pass_brigade
    - ap_die
    - ap_update_vhost_from_headers
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_bucket_eor_create
    - ap_parse_request_line
    - APR_BRIGADE_INSERT_TAIL
    - AP_DEBUG_ASSERT
    - APLOGNO
    - ap_post_read_request
    - h2_config_cgeti
    - HTTP_VERSION
    - AP_READ_REQUEST_FAILURE
    - apr_pstrdup
    linkageType: ''
    returnType: request_rec
    signature: "request_rec *h2_create_request_rec(const h2_request *req, conn_rec
      *c,\n                                   int no_body)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_c1.c:63,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_c1.c:68,1
    - Dst: h2_config_init
      Src: /src/httpd/modules/http2/h2_c1.c:73,1
    - Dst: h2_get_workers_config
      Src: /src/httpd/modules/http2/h2_c1.c:75,1
    - Dst: h2_workers_create
      Src: /src/httpd/modules/http2/h2_c1.c:76,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/http2/h2_c1.c:78,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/http2/h2_c1.c:79,1
    - Dst: h2_mplx_c1_child_init
      Src: /src/httpd/modules/http2/h2_c1.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: h2_c1_child_init
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 1
    functionsReached:
    - ap_mpm_query
    - h2_get_workers_config
    - h2_workers_create
    - h2_mplx_c1_child_init
    - APR_RETRIEVE_OPTIONAL_FN
    - h2_config_init
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_child_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_workers_shutdown
      Src: /src/httpd/modules/http2/h2_c1.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - graceful
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: h2_c1_child_stopping
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_workers_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_c1_child_stopping(apr_pool_t *pool, int graceful)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:99,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1.c:99,1
    - Dst: h2_session_create
      Src: /src/httpd/modules/http2/h2_c1.c:105,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c1.c:108,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c1.c:109,1
    - Dst: h2_conn_ctx_assign_session
      Src: /src/httpd/modules/http2/h2_c1.c:110,1
    - Dst: ap_remove_input_filter_byhandle
      Src: /src/httpd/modules/http2/h2_c1.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - c
    - r
    - s
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: h2_c1_setup
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - ap_remove_input_filter_byhandle
    - h2_conn_ctx_get
    - ap_log_cerror
    - APLOGNO
    - h2_session_create
    - ap_assert
    - h2_conn_ctx_assign_session
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_setup(conn_rec *c, request_rec *r, server_rec *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c1.c:125,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c1.c:127,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c1.c:128,1
    - Dst: h2_session_process
      Src: /src/httpd/modules/http2/h2_c1.c:135,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:137,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_c1.c:138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1.c:138,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_c1.c:146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 204
    functionName: h2_c1_run
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - ap_mpm_query
    - H2_SSSN_LOG
    - ap_log_cerror
    - APLOGNO
    - h2_session_process
    - ap_assert
    linkageType: ''
    returnType: int
    signature: int h2_c1_run(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c1.c:208,1
    - Dst: h2_session_pre_close
      Src: /src/httpd/modules/http2/h2_c1.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - struct h2_conn_ctx_t*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: h2_c1_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_session_pre_close
    - h2_conn_ctx_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c1_pre_close(struct h2_conn_ctx_t *ctx, conn_rec *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_c1.c:220,1
    - Dst: h2_config_cgeti
      Src: /src/httpd/modules/http2/h2_c1.c:222,1
    - Dst: ap_is_allowed_protocol
      Src: /src/httpd/modules/http2/h2_c1.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: h2_c1_allows_direct
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_config_cgeti
    - ap_ssl_conn_is_ssl
    - ap_is_allowed_protocol
    linkageType: ''
    returnType: int
    signature: int h2_c1_allows_direct(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_rgeti
      Src: /src/httpd/modules/http2/h2_c1.c:235,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_c1.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: h2_c1_can_upgrade
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_config_rgeti
    - ap_ssl_conn_is_ssl
    linkageType: ''
    returnType: int
    signature: int h2_c1_can_upgrade(request_rec *r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c1.c:247,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:249,1
    - Dst: ap_get_protocol
      Src: /src/httpd/modules/http2/h2_c1.c:251,1
    - Dst: APLOGctrace1
      Src: /src/httpd/modules/http2/h2_c1.c:253,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:254,1
    - Dst: h2_c1_allows_direct
      Src: /src/httpd/modules/http2/h2_c1.c:256,1
    - Dst: h2_protocol_is_acceptable_c1
      Src: /src/httpd/modules/http2/h2_c1.c:257,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c1.c:260,1
    - Dst: h2_c1_allows_direct
      Src: /src/httpd/modules/http2/h2_c1.c:261,1
    - Dst: h2_protocol_is_acceptable_c1
      Src: /src/httpd/modules/http2/h2_c1.c:262,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c1.c:271,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c1.c:272,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c1.c:276,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http2/h2_c1.c:278,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/http2/h2_c1.c:282,1
    - Dst: memcmp
      Src: /src/httpd/modules/http2/h2_c1.c:283,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:284,1
    - Dst: h2_conn_ctx_create_for_c1
      Src: /src/httpd/modules/http2/h2_c1.c:286,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_c1.c:287,1
    - Dst: APLOGctrace2
      Src: /src/httpd/modules/http2/h2_c1.c:289,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:290,1
    - Dst: h2_util_base64url_encode
      Src: /src/httpd/modules/http2/h2_c1.c:292,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http2/h2_c1.c:294,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:300,1
    - Dst: h2_c1_setup
      Src: /src/httpd/modules/http2/h2_c1.c:302,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:303,1
    - Dst: h2_conn_ctx_detach
      Src: /src/httpd/modules/http2/h2_c1.c:305,1
    - Dst: h2_c1_run
      Src: /src/httpd/modules/http2/h2_c1.c:309,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c1.c:312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 314
    functionName: h2_c1_hook_process_connection
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - apr_brigade_destroy
    - ap_ssl_conn_is_ssl
    - apr_brigade_create
    - memcmp
    - ap_log_cerror
    - APLOGctrace2
    - h2_util_base64url_encode
    - h2_c1_run
    - h2_c1_allows_direct
    - h2_conn_ctx_detach
    - ap_get_brigade
    - APLOGctrace1
    - strcmp
    - h2_c1_setup
    - apr_brigade_pflatten
    - h2_conn_ctx_get
    - h2_conn_ctx_create_for_c1
    - h2_protocol_is_acceptable_c1
    - APLOGNO
    - ap_get_protocol
    linkageType: ''
    returnType: int
    signature: int h2_c1_hook_process_connection(conn_rec* c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c1.c:325,1
    - Dst: h2_c1_pre_close
      Src: /src/httpd/modules/http2/h2_c1.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: h2_c1_hook_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - h2_c1_pre_close
    linkageType: ''
    returnType: int
    signature: int h2_c1_hook_pre_close(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/http2/h2_c1.c:346,1
    - Dst: ap_hook_pre_close_connection
      Src: /src/httpd/modules/http2/h2_c1.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: h2_c1_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_c1.c
    functionUses: 1
    functionsReached:
    - ap_hook_pre_close_connection
    - ap_hook_process_connection
    linkageType: ''
    returnType: void
    signature: void h2_c1_register_hooks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: H2MIN
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2MIN(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:83,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:85,1
    - Dst: nghttp2_version
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:90,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:91,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:91,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: h2_proxy_post_config
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - ap_log_error
    - nghttp2_version
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int h2_proxy_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:114,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:119,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:127,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:129,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:137,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:153,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:156,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:162,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:165,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:165,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:168,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:168,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:185,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:186,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:186,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:191,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:192,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:192,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:199,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:205,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:206,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 211
    functionName: proxy_http2_canon
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - ap_proxy_port_of_scheme
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_pstrcat
    - ap_proxy_canonenc
    - APLOGNO
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - ap_strchr_c
    - apr_table_get
    - ap_scan_vchar_obstext
    - strlen
    - ap_cstr_casecmpn
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int proxy_http2_canon(request_rec *r, char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:219,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:220,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:220,1
    - Dst: h2_proxy_session_submit
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:222,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - r
    argTypes:
    - h2_proxy_session*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: add_request
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - apr_table_setn
    - apr_psprintf
    - apr_table_get
    - h2_proxy_session_submit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t add_request(h2_proxy_session *session, request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:237,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:242,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - r
    - status
    - touched
    - error_code
    argTypes:
    - h2_proxy_ctx*
    - request_rec*
    - apr_status_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: request_done
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - ap_map_http_request_error
    - ap_log_cerror
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void request_done(h2_proxy_ctx *ctx, request_rec *r,\n                         apr_status_t
      status, int touched, int error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: request_done
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - r
    - status
    - touched
    - error_code
    argTypes:
    - h2_proxy_session*
    - request_rec*
    - apr_status_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: session_req_done
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - request_done
    linkageType: ''
    returnType: void
    signature: "void session_req_done(h2_proxy_session *session, request_rec *r,\n
      \                            apr_status_t status, int touched, int error_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_h2
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:269,1
    - Dst: h2_proxy_session_setup
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:270,1
    - Dst: h2_proxy_log2
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:272,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:275,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:276,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:280,1
    - Dst: add_request
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:285,1
    - Dst: h2_proxy_session_process
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:289,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:292,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:293,1
    - Dst: h2_proxy_session_cleanup
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:299,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:307,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:308,1
    - Dst: h2_proxy_session_cancel_all
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:310,1
    - Dst: h2_proxy_session_process
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:311,1
    - Dst: h2_proxy_session_is_reusable
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 316
    functionName: ctx_run
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - h2_proxy_session_process
    - h2_proxy_session_is_reusable
    - ap_log_cerror
    - add_request
    - h2_proxy_session_cleanup
    - APLOGNO
    - h2_proxy_session_cancel_all
    - is_h2
    - h2_proxy_session_setup
    - h2_proxy_log2
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ctx_run(h2_proxy_ctx *ctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:338,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:358,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:359,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:373,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:377,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:386,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:397,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:408,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:410,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:410,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:417,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:419,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:419,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:430,1
    - Dst: ctx_run
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:435,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:437,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:439,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:446,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:447,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:449,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:456,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:456,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:468,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:469,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:471,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:475,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:476,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:477,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 104
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 479
    functionName: proxy_http2_handler
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - ap_proxy_determine_connection
    - ap_log_rerror
    - ap_proxy_release_connection
    - apr_pcalloc
    - ap_proxy_acquire_connection
    - strchr
    - ap_log_cerror
    - ap_proxy_connection_create_ex
    - ap_set_module_config
    - APLOGNO
    - apr_table_setn
    - apr_psprintf
    - apr_table_get
    - proxy_run_detach_backend
    - AP_MODULE_MAGIC_AT_LEAST
    - ctx_run
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: int
    signature: "int proxy_http2_handler(request_rec *r, \n                               proxy_worker
      *worker,\n                               proxy_server_conf *conf,\n                               char
      *url, \n                               const char *proxyname,\n                               apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:483,1
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:485,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/http2/mod_proxy_http2.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: register_hook
    functionSourceFile: /src/httpd/modules/http2/mod_proxy_http2.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - proxy_hook_canon_handler
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_switch.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: h2_switch_init
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 1
    functionsReached:
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_switch_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_switch.c:58,1
    - Dst: h2_mpm_supported
      Src: /src/httpd/modules/http2/h2_switch.c:61,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_switch.c:65,1
    - Dst: ap_get_protocol
      Src: /src/httpd/modules/http2/h2_switch.c:65,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_switch.c:68,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:68,1
    - Dst: h2_protocol_is_acceptable_c1
      Src: /src/httpd/modules/http2/h2_switch.c:73,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_switch.c:74,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:74,1
    - Dst: h2_c1_can_upgrade
      Src: /src/httpd/modules/http2/h2_switch.c:86,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_switch.c:90,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_switch.c:92,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:92,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_switch.c:97,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/http2/h2_switch.c:98,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_switch.c:99,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:99,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_switch.c:106,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_switch.c:107,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_switch.c:108,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_switch.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:109,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/http2/h2_switch.c:119,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_switch.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - c
    - r
    - s
    - offers
    - proposals
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 128
    functionName: h2_protocol_propose
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 0
    functionsReached:
    - ap_ssl_conn_is_ssl
    - h2_mpm_supported
    - strcmp
    - ap_log_cerror
    - ap_log_rerror
    - ap_array_str_contains
    - h2_protocol_is_acceptable_c1
    - APLOGNO
    - ap_find_token
    - ap_get_protocol
    - apr_table_get
    - h2_c1_can_upgrade
    linkageType: ''
    returnType: int
    signature: "int h2_protocol_propose(conn_rec *c, request_rec *r,\n                               server_rec
      *s,\n                               const apr_array_header_t *offers,\n                               apr_array_header_t
      *proposals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http2/h2_switch.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - f
    - ftype
    argTypes:
    - ap_filter_t*
    - ap_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: remove_output_filters_below
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 0
    functionsReached:
    - ap_remove_output_filter
    linkageType: ''
    returnType: void
    signature: void remove_output_filters_below(ap_filter_t *f, ap_filter_type ftype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/http2/h2_switch.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - f
    - ftype
    argTypes:
    - ap_filter_t*
    - ap_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: remove_input_filters_below
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 0
    functionsReached:
    - ap_remove_input_filter
    linkageType: ''
    returnType: void
    signature: void remove_input_filters_below(ap_filter_t *f, ap_filter_type ftype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_switch.c:158,1
    - Dst: h2_mpm_supported
      Src: /src/httpd/modules/http2/h2_switch.c:162,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_switch.c:167,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_switch.c:175,1
    - Dst: h2_conn_ctx_create_for_c1
      Src: /src/httpd/modules/http2/h2_switch.c:177,1
    - Dst: remove_input_filters_below
      Src: /src/httpd/modules/http2/h2_switch.c:188,1
    - Dst: remove_output_filters_below
      Src: /src/httpd/modules/http2/h2_switch.c:189,1
    - Dst: ap_remove_input_filter_byhandle
      Src: /src/httpd/modules/http2/h2_switch.c:196,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/httpd/modules/http2/h2_switch.c:197,1
    - Dst: h2_c1_setup
      Src: /src/httpd/modules/http2/h2_switch.c:200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_switch.c:203,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_switch.c:203,1
    - Dst: h2_conn_ctx_detach
      Src: /src/httpd/modules/http2/h2_switch.c:205,1
    - Dst: h2_c1_run
      Src: /src/httpd/modules/http2/h2_switch.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - c
    - r
    - s
    - protocol
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 215
    functionName: h2_protocol_switch
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 0
    functionsReached:
    - ap_remove_input_filter_byhandle
    - ap_ssl_conn_is_ssl
    - h2_mpm_supported
    - h2_conn_ctx_create_for_c1
    - strcmp
    - ap_log_cerror
    - ap_log_rerror
    - APLOGNO
    - h2_c1_run
    - remove_output_filters_below
    - h2_c1_setup
    - remove_input_filters_below
    - ap_remove_output_filter_byhandle
    - h2_conn_ctx_detach
    linkageType: ''
    returnType: int
    signature: "int h2_protocol_switch(conn_rec *c, request_rec *r, server_rec *s,\n
      \                             const char *protocol)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_switch.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: h2_protocol_get
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    linkageType: ''
    returnType: char
    signature: char *h2_protocol_get(const conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_protocol_propose
      Src: /src/httpd/modules/http2/h2_switch.c:230,1
    - Dst: ap_hook_protocol_switch
      Src: /src/httpd/modules/http2/h2_switch.c:231,1
    - Dst: ap_hook_protocol_get
      Src: /src/httpd/modules/http2/h2_switch.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: h2_switch_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_switch.c
    functionUses: 1
    functionsReached:
    - ap_hook_protocol_switch
    - ap_hook_protocol_propose
    - ap_hook_protocol_get
    linkageType: ''
    returnType: void
    signature: void h2_switch_register_hooks(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_proxy_session.c:101,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/http2/h2_proxy_session.c:103,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/http2/h2_proxy_session.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: set_ping_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_set
    - apr_socket_timeout_get
    - ap_get_conn_socket
    linkageType: ''
    returnType: void
    signature: void set_ping_timeout(h2_proxy_session *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_proxy_session.c:114,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/http2/h2_proxy_session.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: unset_ping_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_set
    - ap_get_conn_socket
    linkageType: ''
    returnType: void
    signature: void unset_ping_timeout(h2_proxy_session *session)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unset_ping_timeout
      Src: /src/httpd/modules/http2/h2_proxy_session.c:129,1
    - Dst: nghttp2_submit_ping
      Src: /src/httpd/modules/http2/h2_proxy_session.c:130,1
    - Dst: set_ping_timeout
      Src: /src/httpd/modules/http2/h2_proxy_session.c:132,1
    - Dst: unset_ping_timeout
      Src: /src/httpd/modules/http2/h2_proxy_session.c:139,1
    - Dst: ping_arrived
      Src: /src/httpd/modules/http2/h2_proxy_session.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - session
    - state
    argTypes:
    - h2_proxy_session*
    - h2_ping_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: enter_ping_state
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_ping
    - unset_ping_timeout
    - set_ping_timeout
    - ping_arrived
    linkageType: ''
    returnType: void
    signature: void enter_ping_state(h2_proxy_session *session, h2_ping_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enter_ping_state
      Src: /src/httpd/modules/http2/h2_proxy_session.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - session
    - p_conn
    argTypes:
    - h2_proxy_session*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: ping_new_session
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - enter_ping_state
    linkageType: ''
    returnType: void
    signature: void ping_new_session(h2_proxy_session *session, proxy_conn_rec *p_conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_proxy_session.c:158,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/http2/h2_proxy_session.c:159,1
    - Dst: enter_ping_state
      Src: /src/httpd/modules/http2/h2_proxy_session.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: ping_reuse_session
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    - enter_ping_state
    linkageType: ''
    returnType: void
    signature: void ping_reuse_session(h2_proxy_session *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_proxy_session.c:167,1
    - Dst: enter_ping_state
      Src: /src/httpd/modules/http2/h2_proxy_session.c:173,1
    - Dst: enter_ping_state
      Src: /src/httpd/modules/http2/h2_proxy_session.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - session
    - frame
    argTypes:
    - h2_proxy_session*
    - nghttp2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: ping_ev_frame_received
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - enter_ping_state
    linkageType: ''
    returnType: void
    signature: void ping_ev_frame_received(h2_proxy_session *session, const nghttp2_frame
      *frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:192,1
    - Dst: h2_proxy_ihash_count
      Src: /src/httpd/modules/http2/h2_proxy_session.c:195,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:197,1
    - Dst: nghttp2_session_del
      Src: /src/httpd/modules/http2/h2_proxy_session.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - theconn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: proxy_session_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - h2_proxy_ihash_count
    - ap_log_cerror
    - dispatch_event
    - nghttp2_session_del
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t proxy_session_pre_close(void *theconn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:214,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:215,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http2/h2_proxy_session.c:217,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:220,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:223,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:225,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - bucket_alloc
    - p_conn
    - origin
    - bb
    - flush
    argTypes:
    - apr_bucket_alloc_t*
    - proxy_conn_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 230
    functionName: proxy_pass_brigade
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_cerror
    - APLOGNO
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: "int proxy_pass_brigade(apr_bucket_alloc_t *bucket_alloc,\n                              proxy_conn_rec
      *p_conn,\n                              conn_rec *origin, apr_bucket_brigade
      *bb,\n                              int flush)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:241,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:243,1
    - Dst: proxy_pass_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:246,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ngh2
    - data
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 256
    functionName: raw_send
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - proxy_pass_brigade
    - apr_bucket_transient_create
    - ap_log_cerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t raw_send(nghttp2_session *ngh2, const uint8_t *data,\n                        size_t
      length, int flags, void *user_data)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_proxy_session.c:266,1
    - Dst: h2_proxy_util_frame_print
      Src: /src/httpd/modules/http2/h2_proxy_session.c:269,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:270,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:270,1
    - Dst: ping_ev_frame_received
      Src: /src/httpd/modules/http2/h2_proxy_session.c:275,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:279,1
    - Dst: ap_is_HTTP_INFO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:284,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/http2/h2_proxy_session.c:292,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/http2/h2_proxy_session.c:305,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:308,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:308,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/modules/http2/h2_proxy_session.c:313,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_proxy_session.c:318,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/http2/h2_proxy_session.c:319,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_proxy_session.c:320,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:321,1
    - Dst: stream_resume
      Src: /src/httpd/modules/http2/h2_proxy_session.c:325,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/httpd/modules/http2/h2_proxy_session.c:333,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:343,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 3
    argNames:
    - ngh2
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 349
    functionName: on_frame_recv
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - ap_log_rerror
    - ap_log_cerror
    - nghttp2_session_get_stream_user_data
    - ap_is_HTTP_INFO
    - nghttp2_submit_rst_stream
    - dispatch_event
    - APLOGNO
    - ap_proxy_should_override
    - apr_table_setn
    - nghttp2_session_get_remote_settings
    - stream_resume
    - ap_send_interim_response
    - h2_proxy_util_frame_print
    - ap_get_status_line
    - ap_get_module_config
    - ping_ev_frame_received
    linkageType: ''
    returnType: int
    signature: "int on_frame_recv(nghttp2_session *ngh2, const nghttp2_frame *frame,\n
      \                        void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_proxy_session.c:355,1
    - Dst: h2_proxy_util_frame_print
      Src: /src/httpd/modules/http2/h2_proxy_session.c:358,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:359,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ngh2
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: before_frame_send
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - h2_proxy_util_frame_print
    - ap_log_cerror
    - APLOGNO
    linkageType: ''
    returnType: int
    signature: "int before_frame_send(nghttp2_session *ngh2,\n                             const
      nghttp2_frame *frame, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - n
    - v
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: add_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 8
    functionsReached:
    - apr_table_add
    linkageType: ''
    returnType: int
    signature: int add_header(void *table, const char *n, const char *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_proxy_session.c:390,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_proxy_session.c:393,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:394,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_proxy_session.c:398,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_proxy_session.c:399,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:400,1
    - Dst: h2_proxy_link_reverse_map
      Src: /src/httpd/modules/http2/h2_proxy_session.c:400,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - headers
    - stream
    - n
    - v
    argTypes:
    - apr_table_t*
    - h2_proxy_stream*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 406
    functionName: process_proxy_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - apr_table_add
    - h2_proxy_link_reverse_map
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: "void process_proxy_header(apr_table_t *headers, h2_proxy_stream *stream,
      \n                                 const char *n, const char *v)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/http2/h2_proxy_session.c:413,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:414,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_proxy_session.c:416,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:417,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_proxy_session.c:420,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:429,1
    - Dst: h2_proxy_res_ignore_header
      Src: /src/httpd/modules/http2/h2_proxy_session.c:432,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:437,1
    - Dst: h2_proxy_util_camel_case_header
      Src: /src/httpd/modules/http2/h2_proxy_session.c:438,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:439,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:441,1
    - Dst: process_proxy_header
      Src: /src/httpd/modules/http2/h2_proxy_session.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - stream
    - n
    - nlen
    - v
    - vlen
    argTypes:
    - h2_proxy_stream*
    - char*
    - apr_size_t
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 447
    functionName: h2_proxy_stream_add_header_out
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - h2_proxy_res_ignore_header
    - ap_log_cerror
    - h2_proxy_util_camel_case_header
    - apr_table_setn
    - apr_pstrndup
    - apr_atoi64
    - strncmp
    - process_proxy_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_proxy_stream_add_header_out(h2_proxy_stream *stream,\n
      \                                                  const char *n, apr_size_t
      nlen,\n                                                   const char *v, apr_size_t
      vlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: log_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int log_header(void *ctx, const char *key, const char *value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_session.c:466,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_proxy_session.c:469,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_proxy_session.c:470,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http2/h2_proxy_session.c:471,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_proxy_session.c:474,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/http2/h2_proxy_session.c:475,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:475,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/http2/h2_proxy_session.c:481,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/http2/h2_proxy_session.c:482,1
    - Dst: ap_is_default_port
      Src: /src/httpd/modules/http2/h2_proxy_session.c:493,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:497,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:501,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:503,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/http2/h2_proxy_session.c:504,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/http2/h2_proxy_session.c:505,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:508,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/http2/h2_proxy_session.c:509,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/http2/h2_proxy_session.c:510,1
    - Dst: APLOGrtrace2
      Src: /src/httpd/modules/http2/h2_proxy_session.c:516,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:517,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_session.c:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_proxy_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 522
    functionName: h2_proxy_stream_end_headers_out
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - HTTP_VERSION_MAJOR
    - apr_table_do
    - ap_log_rerror
    - apr_table_add
    - APLOGrtrace2
    - ap_is_default_port
    - HTTP_VERSION_MINOR
    - apr_table_unset
    - apr_table_overlay
    - apr_is_empty_table
    - ap_get_server_port
    - apr_table_get
    - apr_psprintf
    - ap_get_server_name
    - apr_pstrdup
    - ap_set_content_type
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void h2_proxy_stream_end_headers_out(h2_proxy_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:533,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_proxy_session.c:535,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:535,1
    - Dst: h2_proxy_stream_end_headers_out
      Src: /src/httpd/modules/http2/h2_proxy_session.c:545,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:548,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:550,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:553,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:554,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:556,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:557,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:557,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:562,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:562,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - ngh2
    - flags
    - stream_id
    - data
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 570
    functionName: stream_response_data
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - nghttp2_session_get_stream_user_data
    - nghttp2_submit_rst_stream
    - APLOGNO
    - apr_bucket_transient_create
    - apr_bucket_flush_create
    - ap_log_error
    - h2_proxy_stream_end_headers_out
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: "int stream_response_data(nghttp2_session *ngh2, uint8_t flags,\n                                int32_t
      stream_id, const uint8_t *data,\n                                size_t len,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:578,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:578,1
    - Dst: h2_proxy_ihash_get
      Src: /src/httpd/modules/http2/h2_proxy_session.c:581,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ngh2
    - stream_id
    - error_code
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: on_stream_close
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - h2_proxy_ihash_get
    - ap_log_cerror
    - dispatch_event
    linkageType: ''
    returnType: int
    signature: "int on_stream_close(nghttp2_session *ngh2, int32_t stream_id,\n                           uint32_t
      error_code, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:602,1
    - Dst: h2_proxy_stream_add_header_out
      Src: /src/httpd/modules/http2/h2_proxy_session.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 8
    argNames:
    - ngh2
    - frame
    - namearg
    - nlen
    - valuearg
    - vlen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 590
    functionDepth: 5
    functionLinenumber: 590
    functionLinenumberEnd: 613
    functionName: on_header
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - h2_proxy_stream_add_header_out
    linkageType: ''
    returnType: int
    signature: "int on_header(nghttp2_session *ngh2, const nghttp2_frame *frame,\n
      \                    const uint8_t *namearg, size_t nlen,\n                     const
      uint8_t *valuearg, size_t vlen, uint8_t flags,\n                     void *user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:624,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_proxy_session.c:626,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:626,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_proxy_session.c:642,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:643,1
    - Dst: H2MAX
      Src: /src/httpd/modules/http2/h2_proxy_session.c:645,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:646,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_proxy_session.c:655,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_proxy_session.c:656,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_proxy_session.c:657,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_proxy_session.c:658,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:668,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:671,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_proxy_session.c:672,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http2/h2_proxy_session.c:677,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_proxy_session.c:681,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:685,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:685,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_proxy_session.c:689,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:690,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:690,1
    - Dst: submit_trailers
      Src: /src/httpd/modules/http2/h2_proxy_session.c:693,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:697,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:699,1
    - Dst: h2_proxy_iq_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:703,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:707,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 7
    argNames:
    - ngh2
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 711
    functionName: stream_request_data
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - nghttp2_session_get_stream_user_data
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - nghttp2_submit_rst_stream
    - H2MAX
    - h2_proxy_iq_add
    - ap_log_error
    - APR_BRIGADE_EMPTY
    - memcpy
    - apr_bucket_split
    - ap_log_rerror
    - APLOGNO
    - submit_trailers
    - H2MIN
    - APR_BUCKET_IS_METADATA
    - apr_is_empty_table
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stream_request_data(nghttp2_session *ngh2, int32_t stream_id,
      \n                                   uint8_t *buf, size_t length,\n                                   uint32_t
      *data_flags, \n                                   nghttp2_data_source *source,
      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_proxy_session.c:721,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:722,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:722,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:725,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:726,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - ngh2
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 731
    functionName: on_invalid_header_cb
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - nghttp2_submit_rst_stream
    - ap_log_cerror
    - APLOGNO
    - apr_pstrndup
    linkageType: ''
    returnType: int
    signature: "int on_invalid_header_cb(nghttp2_session *ngh2,\n                                const
      nghttp2_frame *frame, \n                                const uint8_t *name,
      size_t namelen, \n                                const uint8_t *value, size_t
      valuelen, \n                                uint8_t flags, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_session.c:747,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/http2/h2_proxy_session.c:748,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_proxy_session.c:751,1
    - Dst: h2_proxy_ihash_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:760,1
    - Dst: h2_proxy_iq_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:761,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:764,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:765,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/httpd/modules/http2/h2_proxy_session.c:767,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:768,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:769,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:770,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:771,1
    - Dst: nghttp2_session_callbacks_set_before_frame_send_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:772,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:773,1
    - Dst: nghttp2_session_callbacks_set_on_invalid_header_callback
      Src: /src/httpd/modules/http2/h2_proxy_session.c:775,1
    - Dst: nghttp2_option_new
      Src: /src/httpd/modules/http2/h2_proxy_session.c:777,1
    - Dst: nghttp2_option_set_peer_max_concurrent_streams
      Src: /src/httpd/modules/http2/h2_proxy_session.c:778,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/httpd/modules/http2/h2_proxy_session.c:779,1
    - Dst: nghttp2_session_client_new2
      Src: /src/httpd/modules/http2/h2_proxy_session.c:781,1
    - Dst: nghttp2_option_del
      Src: /src/httpd/modules/http2/h2_proxy_session.c:783,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/httpd/modules/http2/h2_proxy_session.c:784,1
    - Dst: ping_new_session
      Src: /src/httpd/modules/http2/h2_proxy_session.c:786,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:787,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:787,1
    - Dst: ping_reuse_session
      Src: /src/httpd/modules/http2/h2_proxy_session.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 7
    argNames:
    - id
    - p_conn
    - conf
    - h2_front
    - window_bits_connection
    - window_bits_stream
    - done
    argTypes:
    - char*
    - proxy_conn_rec*
    - proxy_server_conf*
    - int
    - unsigned char
    - unsigned char
    - h2_proxy_request_done*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 795
    functionName: h2_proxy_session_setup
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - nghttp2_session_callbacks_new
    - h2_proxy_iq_create
    - nghttp2_option_set_peer_max_concurrent_streams
    - apr_brigade_create
    - nghttp2_session_callbacks_del
    - ping_reuse_session
    - ap_log_cerror
    - nghttp2_session_client_new2
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_set_before_frame_send_callback
    - nghttp2_option_del
    - apr_pool_pre_cleanup_register
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - h2_proxy_ihash_create
    - nghttp2_session_callbacks_set_on_invalid_header_callback
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_session_callbacks_set_send_callback
    - nghttp2_option_set_no_auto_window_update
    - apr_pcalloc
    - APLOGNO
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_option_new
    - ping_new_session
    - apr_pstrdup
    linkageType: ''
    returnType: h2_proxy_session
    signature: "h2_proxy_session *h2_proxy_session_setup(const char *id, proxy_conn_rec
      *p_conn,\n                                         proxy_server_conf *conf,\n
      \                                        int h2_front, \n                                         unsigned
      char window_bits_connection,\n                                         unsigned
      char window_bits_stream,\n                                         h2_proxy_request_done
      *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_proxy_session.c:803,1
    - Dst: ap_sock_disable_nagle
      Src: /src/httpd/modules/http2/h2_proxy_session.c:806,1
    - Dst: nghttp2_submit_settings
      Src: /src/httpd/modules/http2/h2_proxy_session.c:815,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:816,1
    - Dst: nghttp2_submit_window_update
      Src: /src/httpd/modules/http2/h2_proxy_session.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 825
    functionName: session_start
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - ap_get_conn_socket
    - ap_sock_disable_nagle
    - nghttp2_submit_window_update
    - nghttp2_submit_settings
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_start(h2_proxy_session *session)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_proxy_session.c:837,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:847,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:848,1
    - Dst: h2_proxy_req_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:850,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/http2/h2_proxy_session.c:852,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_proxy_session.c:856,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_proxy_session.c:857,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_proxy_session.c:862,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:870,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:870,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_proxy_session.c:875,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/http2/h2_proxy_session.c:880,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/http2/h2_proxy_session.c:881,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:883,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:885,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_session.c:891,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_proxy_session.c:892,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:897,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_proxy_session.c:898,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/http2/h2_proxy_session.c:899,1
    - Dst: h2_proxy_req_make
      Src: /src/httpd/modules/http2/h2_proxy_session.c:901,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_proxy_session.c:909,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_proxy_session.c:916,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_proxy_session.c:924,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_proxy_session.c:930,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_proxy_session.c:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 5
    argNames:
    - session
    - url
    - r
    - standalone
    - pstream
    argTypes:
    - h2_proxy_session*
    - char*
    - request_rec*
    - int
    - h2_proxy_stream**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 936
    functionName: open_stream
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - apr_brigade_create
    - ap_get_module_config
    - apr_table_make
    - ap_log_cerror
    - apr_psprintf
    - apr_table_get
    - ap_strchr_c
    - strcmp
    - apr_uri_parse
    - h2_proxy_req_make
    - h2_proxy_req_create
    - apr_table_mergen
    - apr_table_do
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - apr_table_setn
    - apr_table_unset
    - strlen
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t open_stream(h2_proxy_session *session, const char *url,\n
      \                               request_rec *r, int standalone,\n                                h2_proxy_stream
      **pstream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_util_nghd_make_req
      Src: /src/httpd/modules/http2/h2_proxy_session.c:946,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:953,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:956,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_proxy_session.c:958,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_proxy_session.c:958,1
    - Dst: nghttp2_submit_request
      Src: /src/httpd/modules/http2/h2_proxy_session.c:968,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:971,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:971,1
    - Dst: h2_proxy_ihash_add
      Src: /src/httpd/modules/http2/h2_proxy_session.c:978,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - h2_proxy_session*
    - h2_proxy_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 984
    functionName: submit_stream
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - h2_proxy_util_nghd_make_req
    - APR_BRIGADE_FIRST
    - ap_get_brigade
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - dispatch_event
    - APLOGNO
    - nghttp2_submit_request
    - h2_proxy_ihash_add
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t submit_stream(h2_proxy_session *session, h2_proxy_stream
      *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_util_nghd_make
      Src: /src/httpd/modules/http2/h2_proxy_session.c:991,1
    - Dst: nghttp2_submit_trailer
      Src: /src/httpd/modules/http2/h2_proxy_session.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_proxy_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 994
    functionName: submit_trailers
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - h2_proxy_util_nghd_make
    - nghttp2_submit_trailer
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t submit_trailers(h2_proxy_stream *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1002,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1003,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1005,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1012,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1014,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1015,1
    - Dst: nghttp2_is_fatal
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1019,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1027,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1032,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1035,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - session
    - bb
    argTypes:
    - h2_proxy_session*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1042
    functionName: feed_brigade
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - ap_log_cerror
    - apr_bucket_delete
    - nghttp2_is_fatal
    - nghttp2_session_mem_recv
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t feed_brigade(h2_proxy_session *session, apr_bucket_brigade
      *bb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1049,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1054,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1056,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1057,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1061,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1061,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1068,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1072,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1075,1
    - Dst: feed_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1080,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1082,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1085,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1086,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1086,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1088,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - session
    - block
    - timeout
    argTypes:
    - h2_proxy_session*
    - int
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1092
    functionName: h2_proxy_session_read
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_get_conn_socket
    - ap_log_cerror
    - dispatch_event
    - apr_socket_timeout_get
    - apr_socket_timeout_set
    - APLOGNO
    - APR_STATUS_IS_EAGAIN
    - APR_STATUS_IS_TIMEUP
    - APR_BRIGADE_EMPTY
    - feed_brigade
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_proxy_session_read(h2_proxy_session *session, int
      block, \n                                          apr_interval_time_t timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1101,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1103,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1103,1
    - Dst: submit_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - session
    - url
    - r
    - standalone
    argTypes:
    - h2_proxy_session*
    - char*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1111
    functionName: h2_proxy_session_submit
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - submit_stream
    - APLOGNO
    - open_stream
    - ap_log_rerror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_proxy_session_submit(h2_proxy_session *session, \n
      \                                    const char *url, request_rec *r,\n                                     int
      standalone)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1116,1
    - Dst: h2_proxy_iq_remove
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1120,1
    - Dst: nghttp2_session_resume_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1121,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_proxy_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1123
    functionName: stream_resume
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - nghttp2_session_resume_data
    - h2_proxy_iq_remove
    - ap_log_cerror
    - dispatch_event
    linkageType: ''
    returnType: void
    signature: void stream_resume(h2_proxy_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1129,1
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: is_waiting_for_backend
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    linkageType: ''
    returnType: int
    signature: int is_waiting_for_backend(h2_proxy_session *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1141,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1147,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1151,1
    - Dst: stream_resume
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1152,1
    - Dst: check_suspended
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1153,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1156,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1158,1
    - Dst: stream_resume
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1160,1
    - Dst: check_suspended
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1161,1
    - Dst: h2_proxy_iq_remove
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1167,1
    - Dst: check_suspended
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1173
    functionName: check_suspended
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - ap_get_brigade
    - check_suspended
    - nghttp2_session_get_stream_user_data
    - ap_log_cerror
    - APLOGNO
    - stream_resume
    - APR_BRIGADE_EMPTY
    - h2_proxy_iq_remove
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_suspended(h2_proxy_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1181,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1183,1
    - Dst: nghttp2_submit_goaway
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1185,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1186,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1187,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - reason
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1190
    functionName: session_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_goaway
    - dispatch_event
    - nghttp2_session_send
    - strlen
    - nghttp2_strerror
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t session_shutdown(h2_proxy_session *session, int reason,
      \n                                     const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - h2_proxys_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1209
    functionName: state_name
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *state_name(h2_proxys_state state)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1221
    functionName: is_accepting_streams
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_accepting_streams(h2_proxy_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1226,1
    - Dst: state_name
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1228,1
    - Dst: state_name
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - action
    - nstate
    argTypes:
    - h2_proxy_session*
    - char*
    - h2_proxys_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1230
    functionName: transit
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_cerror
    - state_name
    linkageType: ''
    returnType: void
    signature: "void transit(h2_proxy_session *session, const char *action, \n                    h2_proxys_state
      nstate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1236,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1237,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1248
    functionName: ev_init
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    - h2_proxy_ihash_empty
    linkageType: ''
    returnType: void
    signature: void ev_init(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1259,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1265
    functionName: ev_local_goaway
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void ev_local_goaway(h2_proxy_session *session, int arg, const char
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1276,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1282
    functionName: ev_remote_goaway
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void ev_remote_goaway(h2_proxy_session *session, int arg, const char
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1291,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1295,1
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1300
    functionName: ev_conn_error
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    - session_shutdown
    - ap_log_cerror
    linkageType: ''
    returnType: void
    signature: void ev_conn_error(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1308,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1312,1
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1302
    functionDepth: 2
    functionLinenumber: 1302
    functionLinenumberEnd: 1317
    functionName: ev_proto_error
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    - session_shutdown
    - ap_log_cerror
    linkageType: ''
    returnType: void
    signature: void ev_proto_error(h2_proxy_session *session, int arg, const char
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1323,1
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1326,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1330
    functionName: ev_conn_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    - session_shutdown
    linkageType: ''
    returnType: void
    signature: void ev_conn_timeout(h2_proxy_session *session, int arg, const char
      *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1343,1
    - Dst: is_accepting_streams
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1344,1
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1347,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1348,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1353,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1367
    functionName: ev_no_io
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - is_accepting_streams
    - transit
    - h2_proxy_ihash_empty
    - session_shutdown
    linkageType: ''
    returnType: void
    signature: void ev_no_io(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - stream_id
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1381
    functionName: ev_stream_submitted
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: "void ev_stream_submitted(h2_proxy_session *session, int stream_id,
      \n                                const char *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1389,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1397,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1397,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1410,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1411,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1413,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1414,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1415,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1416,1
    - Dst: h2_proxy_stream_end_headers_out
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1422,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1424,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1425,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1426,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1427,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1428,1
    - Dst: h2_proxy_ihash_remove
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1433,1
    - Dst: h2_proxy_iq_remove
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1434,1
    - Dst: h2_proxy_session*::done
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - session
    - stream_id
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1383
    functionDepth: 3
    functionLinenumber: 1383
    functionLinenumberEnd: 1445
    functionName: ev_stream_done
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - h2_proxy_ihash_remove
    - h2_proxy_session*::done
    - nghttp2_session_get_stream_user_data
    - ap_log_cerror
    - APLOGNO
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - ap_map_http_request_error
    - ap_bucket_error_create
    - h2_proxy_stream_end_headers_out
    - h2_proxy_iq_remove
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void ev_stream_done(h2_proxy_session *session, int stream_id, \n                           const
      char *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1457
    functionName: ev_stream_resumed
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void ev_stream_resumed(h2_proxy_session *session, int arg, const char
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1470
    functionName: ev_data_read
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void ev_data_read(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1482
    functionName: ev_ngh2_done
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void ev_ngh2_done(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1495
    functionName: ev_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - session_shutdown
    linkageType: ''
    returnType: void
    signature: void ev_pre_close(h2_proxy_session *session, int arg, const char *msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ev_init
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1502,1
    - Dst: ev_local_goaway
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1505,1
    - Dst: ev_remote_goaway
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1508,1
    - Dst: ev_conn_error
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1511,1
    - Dst: ev_proto_error
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1514,1
    - Dst: ev_conn_timeout
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1517,1
    - Dst: ev_no_io
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1520,1
    - Dst: ev_stream_submitted
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1523,1
    - Dst: ev_stream_done
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1526,1
    - Dst: ev_stream_resumed
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1529,1
    - Dst: ev_data_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1532,1
    - Dst: ev_ngh2_done
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1535,1
    - Dst: ev_pre_close
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1538,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1541,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - session
    - ev
    - arg
    - msg
    argTypes:
    - h2_proxy_session*
    - h2_proxys_event_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1497
    functionDepth: 4
    functionLinenumber: 1497
    functionLinenumberEnd: 1546
    functionName: dispatch_event
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 8
    functionsReached:
    - ev_init
    - ev_remote_goaway
    - ev_proto_error
    - ev_data_read
    - ev_pre_close
    - ev_stream_resumed
    - ap_log_cerror
    - ev_conn_error
    - ev_ngh2_done
    - ev_local_goaway
    - ev_conn_timeout
    - ev_no_io
    - ev_stream_done
    - ev_stream_submitted
    linkageType: ''
    returnType: void
    signature: "void dispatch_event(h2_proxy_session *session, h2_proxys_event_t ev,
      \n                           int arg, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1550,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1551,1
    - Dst: nghttp2_is_fatal
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1552,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1553,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1548
    functionDepth: 5
    functionLinenumber: 1548
    functionLinenumberEnd: 1561
    functionName: send_loop
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - dispatch_event
    - nghttp2_session_send
    - nghttp2_is_fatal
    - nghttp2_session_want_write
    linkageType: ''
    returnType: int
    signature: int send_loop(h2_proxy_session *session)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1568,1
    - Dst: session_start
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1574,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1576,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1580,1
    - Dst: send_loop
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1587,1
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1589,1
    - Dst: h2_proxy_session_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1590,1
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1597,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1598,1
    - Dst: is_waiting_for_backend
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1604,1
    - Dst: h2_proxy_session_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1609,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1612,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1615,1
    - Dst: check_suspended
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1619,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1626,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1626,1
    - Dst: h2_proxy_session_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1630,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1631,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1632,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1637,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1639,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1640,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1642,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1654,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1655,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1657,1
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1666,1
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1667,1
    - Dst: dispatch_event
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1668,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1672
    functionName: h2_proxy_session_process
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - check_suspended
    - ap_log_cerror
    - dispatch_event
    - APLOGNO
    - transit
    - is_waiting_for_backend
    - nghttp2_session_want_write
    - H2MIN
    - h2_proxy_session_read
    - apr_time_from_msec
    - APR_STATUS_IS_TIMEUP
    - send_loop
    - nghttp2_session_want_read
    - APR_STATUS_IS_EAGAIN
    - session_start
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_proxy_session_process(h2_proxy_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - udata
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1686
    functionName: cancel_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_rst_stream
    linkageType: ''
    returnType: int
    signature: int cancel_iter(void *udata, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1690,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1694,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1694,1
    - Dst: h2_proxy_ihash_count
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1696,1
    - Dst: h2_proxy_ihash_iter
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1697,1
    - Dst: session_shutdown
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1688
    functionDepth: 2
    functionLinenumber: 1688
    functionLinenumberEnd: 1700
    functionName: h2_proxy_session_cancel_all
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - h2_proxy_ihash_count
    - h2_proxy_ihash_empty
    - ap_log_cerror
    - APLOGNO
    - h2_proxy_ihash_iter
    - session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_proxy_session_cancel_all(h2_proxy_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_iter_ctx*::done
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - udata
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1710
    functionName: done_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - cleanup_iter_ctx*::done
    linkageType: ''
    returnType: int
    signature: int done_iter(void *udata, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1715,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1719,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1719,1
    - Dst: h2_proxy_ihash_count
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1721,1
    - Dst: h2_proxy_ihash_iter
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1722,1
    - Dst: h2_proxy_ihash_clear
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - done
    argTypes:
    - h2_proxy_session*
    - h2_proxy_request_done*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1712
    functionDepth: 1
    functionLinenumber: 1712
    functionLinenumberEnd: 1725
    functionName: h2_proxy_session_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - h2_proxy_ihash_count
    - h2_proxy_ihash_empty
    - ap_log_cerror
    - APLOGNO
    - h2_proxy_ihash_clear
    - h2_proxy_ihash_iter
    linkageType: ''
    returnType: void
    signature: "void h2_proxy_session_cleanup(h2_proxy_session *session, \n                              h2_proxy_request_done
      *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1731
    functionName: h2_proxy_session_is_reusable
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - h2_proxy_ihash_empty
    linkageType: ''
    returnType: int
    signature: int h2_proxy_session_is_reusable(h2_proxy_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_resume
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - udata
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1741
    functionName: ping_arrived_iter
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 0
    functionsReached:
    - stream_resume
    linkageType: ''
    returnType: int
    signature: int ping_arrived_iter(void *udata, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_proxy_ihash_empty
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1745,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1746,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1746,1
    - Dst: h2_proxy_ihash_iter
      Src: /src/httpd/modules/http2/h2_proxy_session.c:1749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_proxy_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1751
    functionName: ping_arrived
    functionSourceFile: /src/httpd/modules/http2/h2_proxy_session.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - h2_proxy_ihash_empty
    - ap_log_cerror
    - h2_proxy_ihash_iter
    linkageType: ''
    returnType: void
    signature: void ping_arrived(h2_proxy_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - name
    - ','
    - nlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: H2_HD_MATCH_LIT
    functionSourceFile: /src/httpd/modules/http2/h2_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_HD_MATCH_LIT(l, name, nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - sid
    - ','
    - level
    - ','
    - tag
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: h2_util_bb_log
    functionSourceFile: /src/httpd/modules/http2/h2_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: h2_util_bb_log(c, sid, level, tag, bb)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - h2_stream_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: h2_ss_str
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *h2_ss_str(const h2_stream_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ss_str
      Src: /src/httpd/modules/http2/h2_stream.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: h2_stream_state_str
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_ss_str
    linkageType: ''
    returnType: char
    signature: char *h2_stream_state_str(const h2_stream *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - state
    - map
    argTypes:
    - h2_stream_state_t
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: on_map
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_map(h2_stream_state_t state, int map[H2_SS_MAX])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:149,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:150,1
    - Dst: on_map
      Src: /src/httpd/modules/http2/h2_stream.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - state
    - frame_type
    - frame_map
    - maxlen
    argTypes:
    - h2_stream_state_t
    - int
    - int[][]
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: on_frame
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - on_map
    - ap_assert
    linkageType: ''
    returnType: int
    signature: "int on_frame(h2_stream_state_t state, int frame_type, \n                    int
      frame_map[][H2_SS_MAX], apr_size_t maxlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_frame
      Src: /src/httpd/modules/http2/h2_stream.c:159,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_stream.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - frame_type
    argTypes:
    - h2_stream_state_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: on_frame_send
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - on_frame
    linkageType: ''
    returnType: int
    signature: int on_frame_send(h2_stream_state_t state, int frame_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_frame
      Src: /src/httpd/modules/http2/h2_stream.c:164,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_stream.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - frame_type
    argTypes:
    - h2_stream_state_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: on_frame_recv
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - on_frame
    linkageType: ''
    returnType: int
    signature: int on_frame_recv(h2_stream_state_t state, int frame_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:169,1
    - Dst: h2_stream*::monitor::on_event
      Src: /src/httpd/modules/http2/h2_stream.c:171,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_stream.c:173,1
    - Dst: on_map
      Src: /src/httpd/modules/http2/h2_stream.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - ev
    argTypes:
    - h2_stream*
    - h2_stream_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: on_event
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 2
    functionsReached:
    - H2_ALEN
    - on_map
    - H2_STRM_ASSERT_MAGIC
    - h2_stream*::monitor::on_event
    linkageType: ''
    returnType: int
    signature: int on_event(h2_stream* stream, h2_stream_event_t ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_C_IS_LEVEL
      Src: /src/httpd/modules/http2/h2_stream.c:189,1
    - Dst: h2_util_bb_print
      Src: /src/httpd/modules/http2/h2_stream.c:194,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:195,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - lvl
    - s
    - tag
    argTypes:
    - int
    - h2_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: H2_STREAM_OUT_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APLOG_C_IS_LEVEL
    - h2_util_bb_print
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: void
    signature: void H2_STREAM_OUT_LOG(int lvl, h2_stream *s, const char *tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:203,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:204,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:205,1
    - Dst: h2_beam_create
      Src: /src/httpd/modules/http2/h2_stream.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: stream_setup_input
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - h2_beam_create
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: void
    signature: void stream_setup_input(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_setup_input
      Src: /src/httpd/modules/http2/h2_stream.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: h2_stream_prepare_processing
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - stream_setup_input
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_prepare_processing(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_stream.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: input_buffer_is_empty
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: int
    signature: int input_buffer_is_empty(h2_stream *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_buffer_is_empty
      Src: /src/httpd/modules/http2/h2_stream.c:231,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:233,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:234,1
    - Dst: h2_beam_send
      Src: /src/httpd/modules/http2/h2_stream.c:235,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_stream.c:237,1
    - Dst: h2_stream_is_at
      Src: /src/httpd/modules/http2/h2_stream.c:238,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:239,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:240,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: input_flush
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_log_cerror
    - h2_stream_is_at
    - H2_STRM_MSG
    - h2_stream_dispatch
    - input_buffer_is_empty
    - h2_beam_send
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t input_flush(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_setup_input
      Src: /src/httpd/modules/http2/h2_stream.c:250,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_stream.c:251,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_stream.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - b
    argTypes:
    - h2_stream*
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: input_append_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - stream_setup_input
    - apr_brigade_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void input_append_bucket(h2_stream *stream, apr_bucket *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_setup_input
      Src: /src/httpd/modules/http2/h2_stream.c:260,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_stream.c:261,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/http2/h2_stream.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - data
    - len
    argTypes:
    - h2_stream*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: input_append_data
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - stream_setup_input
    - apr_brigade_write
    - apr_brigade_create
    linkageType: ''
    returnType: void
    signature: void input_append_data(h2_stream *stream, const char *data, apr_size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:276,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:277,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_stream.c:280,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:281,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:282,1
    - Dst: ap_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_stream.c:284,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_stream.c:287,1
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_stream.c:288,1
    - Dst: input_append_bucket
      Src: /src/httpd/modules/http2/h2_stream.c:291,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_stream.c:297,1
    - Dst: input_append_bucket
      Src: /src/httpd/modules/http2/h2_stream.c:298,1
    - Dst: input_flush
      Src: /src/httpd/modules/http2/h2_stream.c:299,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:300,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:301,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 307
    functionName: close_input
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - input_flush
    - input_append_bucket
    - ap_log_cerror
    - h2_headers_create
    - apr_bucket_eos_create
    - ap_bucket_headers_create
    - H2_STRM_MSG
    - h2_bucket_headers_create
    - apr_is_empty_table
    - h2_stream_dispatch
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t close_input(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream*::monitor::on_state_enter
      Src: /src/httpd/modules/http2/h2_stream.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: on_state_enter
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 1
    functionsReached:
    - h2_stream*::monitor::on_state_enter
    linkageType: ''
    returnType: void
    signature: void on_state_enter(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream*::monitor::on_state_event
      Src: /src/httpd/modules/http2/h2_stream.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - ev
    argTypes:
    - h2_stream*
    - h2_stream_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: on_state_event
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 1
    functionsReached:
    - h2_stream*::monitor::on_state_event
    linkageType: ''
    returnType: void
    signature: void on_state_event(h2_stream *stream, h2_stream_event_t ev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream*::monitor::on_state_invalid
      Src: /src/httpd/modules/http2/h2_stream.c:326,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:329,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:330,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: on_state_invalid
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 1
    functionsReached:
    - h2_stream*::monitor::on_state_invalid
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: void
    signature: void on_state_invalid(h2_stream *stream)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:350,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:351,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:351,1
    - Dst: on_state_invalid
      Src: /src/httpd/modules/http2/h2_stream.c:352,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:356,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:357,1
    - Dst: h2_ss_str
      Src: /src/httpd/modules/http2/h2_stream.c:357,1
    - Dst: close_input
      Src: /src/httpd/modules/http2/h2_stream.c:363,1
    - Dst: close_input
      Src: /src/httpd/modules/http2/h2_stream.c:372,1
    - Dst: close_input
      Src: /src/httpd/modules/http2/h2_stream.c:375,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_stream.c:377,1
    - Dst: on_state_enter
      Src: /src/httpd/modules/http2/h2_stream.c:383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - stream
    - new_state
    argTypes:
    - h2_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 344
    functionDepth: 7
    functionLinenumber: 344
    functionLinenumberEnd: 385
    functionName: transit
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 12
    functionsReached:
    - ap_log_cerror
    - APLOGNO
    - H2_STRM_LOG
    - h2_ss_str
    - H2_STRM_MSG
    - on_state_enter
    - on_state_invalid
    - apr_brigade_cleanup
    - close_input
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t transit(h2_stream *stream, int new_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - monitor
    argTypes:
    - h2_stream*
    - h2_stream_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: h2_stream_set_monitor
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_stream_set_monitor(h2_stream *stream, h2_stream_monitor *monitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:396,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:397,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:398,1
    - Dst: on_event
      Src: /src/httpd/modules/http2/h2_stream.c:399,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:401,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:402,1
    - Dst: on_state_invalid
      Src: /src/httpd/modules/http2/h2_stream.c:403,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:404,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:409,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:410,1
    - Dst: on_state_event
      Src: /src/httpd/modules/http2/h2_stream.c:414,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - stream
    - ev
    argTypes:
    - h2_stream*
    - h2_stream_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 417
    functionName: h2_stream_dispatch
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 3
    functionsReached:
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - on_state_event
    - APLOGNO
    - H2_STRM_LOG
    - AP_DEBUG_ASSERT
    - transit
    - H2_STRM_MSG
    - on_state_invalid
    - on_event
    linkageType: ''
    returnType: void
    signature: void h2_stream_dispatch(h2_stream *stream, h2_stream_event_t ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_push_enabled
      Src: /src/httpd/modules/http2/h2_stream.c:421,1
    - Dst: h2_push_policy_determine
      Src: /src/httpd/modules/http2/h2_stream.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - r
    argTypes:
    - h2_stream*
    - h2_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: set_policy_for
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_session_push_enabled
    - h2_push_policy_determine
    linkageType: ''
    returnType: void
    signature: void set_policy_for(h2_stream *stream, h2_request *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:430,1
    - Dst: on_frame_send
      Src: /src/httpd/modules/http2/h2_stream.c:431,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:433,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:434,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:435,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:436,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_stream.c:442,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:458,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:459,1
    - Dst: h2_stream_end_headers
      Src: /src/httpd/modules/http2/h2_stream.c:460,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:467,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:469,1
    - Dst: on_event
      Src: /src/httpd/modules/http2/h2_stream.c:469,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - stream
    - ftype
    - flags
    - frame_len
    argTypes:
    - h2_stream*
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 473
    functionName: h2_stream_send_frame
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - h2_stream_end_headers
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - AP_DEBUG_ASSERT
    - transit
    - H2_STRM_MSG
    - on_event
    - on_frame_send
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_send_frame(h2_stream *stream, int ftype, int
      flags, size_t frame_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:480,1
    - Dst: on_frame_recv
      Src: /src/httpd/modules/http2/h2_stream.c:481,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:483,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:484,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:485,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:486,1
    - Dst: h2_stream_is_at_or_past
      Src: /src/httpd/modules/http2/h2_stream.c:496,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:499,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:505,1
    - Dst: h2_stream_end_headers
      Src: /src/httpd/modules/http2/h2_stream.c:513,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:521,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_stream.c:523,1
    - Dst: on_event
      Src: /src/httpd/modules/http2/h2_stream.c:523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - stream
    - ftype
    - flags
    - frame_len
    argTypes:
    - h2_stream*
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 527
    functionName: h2_stream_recv_frame
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_at_or_past
    - h2_stream_end_headers
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - AP_DEBUG_ASSERT
    - transit
    - H2_STRM_MSG
    - on_event
    - on_frame_recv
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_recv_frame(h2_stream *stream, int ftype, int
      flags, size_t frame_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:535,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_stream.c:538,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/http2/h2_stream.c:539,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:540,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:541,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:545,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:546,1
    - Dst: input_append_data
      Src: /src/httpd/modules/http2/h2_stream.c:549,1
    - Dst: input_flush
      Src: /src/httpd/modules/http2/h2_stream.c:550,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - stream
    - flags
    - data
    - len
    argTypes:
    - h2_stream*
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 529
    functionDepth: 6
    functionLinenumber: 529
    functionLinenumberEnd: 554
    functionName: h2_stream_recv_DATA
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - input_flush
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - APLOGctrace3
    - H2_STRM_MSG
    - apr_pstrndup
    - input_append_data
    - h2_stream_dispatch
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_stream_recv_DATA(h2_stream *stream, uint8_t flags,\n
      \                                   const uint8_t *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:562,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:563,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:564,1
    - Dst: H2_STRM_ASSIGN_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:568,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:571,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:572,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:573,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 579
    functionName: stream_pool_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - H2_STRM_ASSIGN_MAGIC
    - AP_DEBUG_ASSERT
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t stream_pool_destroy(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_stream.c:585,1
    - Dst: H2_STRM_ASSIGN_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:587,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_stream.c:590,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/http2/h2_stream.c:597,1
    - Dst: nghttp2_session_get_stream_local_window_size
      Src: /src/httpd/modules/http2/h2_stream.c:605,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:609,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:610,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:610,1
    - Dst: on_state_enter
      Src: /src/httpd/modules/http2/h2_stream.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - id
    - pool
    - session
    - monitor
    - initiated_on
    argTypes:
    - int
    - apr_pool_t*
    - h2_session*
    - h2_stream_monitor*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 613
    functionName: h2_stream_create
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_local_window_size
    - apr_time_now
    - apr_pcalloc
    - ap_log_cerror
    - APLOGNO
    - H2_STRM_LOG
    - H2_STRM_ASSIGN_MAGIC
    - on_state_enter
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: h2_stream
    signature: "h2_stream *h2_stream_create(int id, apr_pool_t *pool, h2_session *session,\n
      \                           h2_stream_monitor *monitor, int initiated_on)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:621,1
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:622,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_stream.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: h2_stream_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - apr_brigade_cleanup
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: void
    signature: void h2_stream_cleanup(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:630,1
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:631,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:632,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:633,1
    - Dst: H2_STRM_ASSIGN_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:634,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_stream.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: h2_stream_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - H2_STRM_MSG
    - H2_STRM_ASSIGN_MAGIC
    - apr_pool_destroy
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void h2_stream_destroy(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:640,1
    - Dst: h2_c2_abort
      Src: /src/httpd/modules/http2/h2_stream.c:643,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:645,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:646,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - error_code
    argTypes:
    - h2_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: h2_stream_rst
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 2
    functionsReached:
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - h2_c2_abort
    - H2_STRM_MSG
    - h2_stream_dispatch
    linkageType: ''
    returnType: void
    signature: void h2_stream_rst(h2_stream *stream, int error_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:656,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:657,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:658,1
    - Dst: h2_request_rcreate
      Src: /src/httpd/modules/http2/h2_stream.c:662,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_stream.c:665,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:666,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:666,1
    - Dst: h2_stream_recv_frame
      Src: /src/httpd/modules/http2/h2_stream.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - r
    - eos
    argTypes:
    - h2_stream*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 675
    functionName: h2_stream_set_request_rec
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - h2_request_rcreate
    - H2_STRM_ASSERT_MAGIC
    - APLOGNO
    - H2_STRM_LOG
    - h2_stream_recv_frame
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_stream_set_request_rec(h2_stream *stream, \n                                       request_rec
      *r, int eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:679,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:680,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:681,1
    - Dst: h2_request_clone
      Src: /src/httpd/modules/http2/h2_stream.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - r
    argTypes:
    - h2_stream*
    - h2_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 683
    functionName: h2_stream_set_request
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - H2_STRM_ASSERT_MAGIC
    - h2_request_clone
    linkageType: ''
    returnType: void
    signature: void h2_stream_set_request(h2_stream *stream, const h2_request *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - http_status
    argTypes:
    - h2_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: set_error_response
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_ready
    linkageType: ''
    returnType: void
    signature: void set_error_response(h2_stream *stream, int http_status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:701,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:702,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:702,1
    - Dst: h2_ignore_req_trailer
      Src: /src/httpd/modules/http2/h2_stream.c:706,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_stream.c:710,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:717,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_stream.c:718,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_stream.c:720,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_stream.c:721,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_stream.c:724,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_stream.c:728,1
    - Dst: apr_table_merge
      Src: /src/httpd/modules/http2/h2_stream.c:732,1
    - Dst: h2_util_camel_case_header
      Src: /src/httpd/modules/http2/h2_stream.c:735,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/http2/h2_stream.c:736,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:738,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 6
    argNames:
    - stream
    - name
    - nlen
    - value
    - vlen
    - scratch
    argTypes:
    - h2_stream*
    - char*
    - size_t
    - char*
    - size_t
    - h2_hd_scratch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 742
    functionName: add_trailer
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - h2_ignore_req_trailer
    - APLOGNO
    - H2_STRM_LOG
    - AP_DEBUG_ASSERT
    - H2_STRM_MSG
    - apr_table_set
    - apr_table_get
    - apr_table_merge
    - h2_util_camel_case_header
    - strlen
    - apr_table_make
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t add_trailer(h2_stream *stream,\n                                const
      char *name, size_t nlen,\n                                const char *value,
      size_t vlen,\n                                h2_hd_scratch *scratch)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:752,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:760,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:761,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:762,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:762,1
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/h2_stream.c:779,1
    - Dst: h2_request_create
      Src: /src/httpd/modules/http2/h2_stream.c:784,1
    - Dst: h2_request_add_header
      Src: /src/httpd/modules/http2/h2_stream.c:787,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:790,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:791,1
    - Dst: add_trailer
      Src: /src/httpd/modules/http2/h2_stream.c:796,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:807,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:808,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:809,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:809,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_stream.c:812,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:823,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:826,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:827,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:828,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:828,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:839,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:843,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:844,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:845,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 5
    argNames:
    - stream
    - name
    - nlen
    - value
    - vlen
    argTypes:
    - h2_stream*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 744
    functionDepth: 6
    functionLinenumber: 744
    functionLinenumberEnd: 848
    functionName: h2_stream_add_header
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_ready
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - H2_STREAM_CLIENT_INITIATED
    - set_error_response
    - APLOGNO
    - H2_STRM_LOG
    - H2_STRM_MSG
    - add_trailer
    - h2_request_create
    - H2MIN
    - h2_stream_dispatch
    - h2_request_add_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_stream_add_header(h2_stream *stream,\n                                  const
      char *name, size_t nlen,\n                                  const char *value,
      size_t vlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_stream.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - baton
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: table_check_val_len
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int table_check_val_len(void *baton, const char *key, const char *value)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:871,1
    - Dst: h2_request_end_headers
      Src: /src/httpd/modules/http2/h2_stream.c:872,1
    - Dst: set_policy_for
      Src: /src/httpd/modules/http2/h2_stream.c:880,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_stream.c:884,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:886,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:887,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:888,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:888,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_stream.c:890,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_stream.c:890,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:892,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/http2/h2_stream.c:909,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/http2/h2_stream.c:911,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_stream.c:925,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_stream.c:927,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:929,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:930,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:930,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:932,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:938,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:938,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:941,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:946,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:947,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:947,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:949,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:955,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:956,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:956,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:958,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/http2/h2_stream.c:962,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:970,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:971,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:971,1
    - Dst: set_error_response
      Src: /src/httpd/modules/http2/h2_stream.c:974,1
    - Dst: APLOGctrace4
      Src: /src/httpd/modules/http2/h2_stream.c:983,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/http2/h2_stream.c:985,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:987,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:988,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:990,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:991,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/http2/h2_stream.c:992,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/http2/h2_stream.c:993,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 3
    argNames:
    - stream
    - eos
    - raw_bytes
    argTypes:
    - h2_stream*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 864
    functionDepth: 3
    functionLinenumber: 864
    functionLinenumberEnd: 998
    functionName: h2_stream_end_headers
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 2
    functionsReached:
    - ap_ssl_conn_is_ssl
    - h2_request_end_headers
    - apr_table_elts
    - apr_tolower
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - ap_cstr_casecmp
    - ap_escape_logitem
    - ap_cstr_casecmpn
    - h2_stream_is_ready
    - strcmp
    - H2_STRM_LOG
    - H2_STRM_MSG
    - set_policy_for
    - APLOGctrace4
    - apr_table_do
    - set_error_response
    - APLOGNO
    - H2MIN
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_end_headers(h2_stream *stream, int eos, size_t
      raw_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_stream.c:1003,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_stream.c:1004,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http2/h2_stream.c:1006,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_stream.c:1010,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_stream.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1018
    functionName: get_first_response_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - H2_BUCKET_IS_HEADERS
    - AP_BUCKET_IS_RESPONSE
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *get_first_response_bucket(apr_bucket_brigade *bb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1023,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1024,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - b
    argTypes:
    - h2_stream*
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1020
    functionDepth: 4
    functionLinenumber: 1020
    functionLinenumberEnd: 1035
    functionName: stream_do_error_bucket
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: void
    signature: void stream_do_error_bucket(h2_stream *stream, apr_bucket *b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_stream.c:1053,1
    - Dst: h2_brigade_mem_size
      Src: /src/httpd/modules/http2/h2_stream.c:1060,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1070,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1071,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_stream.c:1078,1
    - Dst: H2_STREAM_OUT_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1081,1
    - Dst: h2_beam_receive
      Src: /src/httpd/modules/http2/h2_stream.c:1082,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1086,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1087,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_stream.c:1093,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_stream.c:1094,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_stream.c:1095,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_stream.c:1096,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_stream.c:1097,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_stream.c:1098,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_stream.c:1099,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_stream.c:1100,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_stream.c:1102,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http2/h2_stream.c:1105,1
    - Dst: stream_do_error_bucket
      Src: /src/httpd/modules/http2/h2_stream.c:1106,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_stream.c:1111,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_stream.c:1112,1
    - Dst: H2_STREAM_OUT_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1037
    functionDepth: 5
    functionLinenumber: 1037
    functionLinenumberEnd: 1121
    functionName: buffer_output_receive
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_log_cerror
    - H2_STREAM_OUT_LOG
    - APR_BUCKET_IS_EOS
    - AP_BUCKET_IS_ERROR
    - APR_BUCKET_REMOVE
    - apr_brigade_create
    - H2_STRM_MSG
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - stream_do_error_bucket
    - APR_BRIGADE_EMPTY
    - h2_brigade_mem_size
    - h2_beam_receive
    - apr_bucket_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t buffer_output_receive(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http2/h2_stream.c:1126,1
    - Dst: AP_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_stream.c:1127,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_stream.c:1128,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_stream.c:1130,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_stream.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: bucket_pass_to_c1
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_IS_EOS
    - AP_BUCKET_IS_RESPONSE
    - H2_BUCKET_IS_HEADERS
    - AP_BUCKET_IS_HEADERS
    linkageType: ''
    returnType: int
    signature: int bucket_pass_to_c1(apr_bucket *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1139,1
    - Dst: h2_append_brigade
      Src: /src/httpd/modules/http2/h2_stream.c:1143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - bb
    - plen
    - peos
    argTypes:
    - h2_stream*
    - apr_bucket_brigade*
    - apr_off_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1148
    functionName: h2_stream_read_to
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - H2_STRM_ASSERT_MAGIC
    - h2_append_brigade
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_stream_read_to(h2_stream *stream, apr_bucket_brigade
      *bb, \n                               apr_off_t *plen, int *peos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1234,1
    - Dst: h2_push_collect_update
      Src: /src/httpd/modules/http2/h2_stream.c:1235,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/http2/h2_stream.c:1236,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1237,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1238,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_stream.c:1241,1
    - Dst: h2_session_push
      Src: /src/httpd/modules/http2/h2_stream.c:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - response
    argTypes:
    - h2_stream*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1227
    functionDepth: 4
    functionLinenumber: 1227
    functionLinenumberEnd: 1250
    functionName: h2_stream_submit_pushes
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - h2_session_push
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - APR_ARRAY_IDX
    - H2_STRM_MSG
    - h2_push_collect_update
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_submit_pushes(h2_stream *stream, h2_headers
      *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: h2_stream_get_trailers
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *h2_stream_get_trailers(h2_stream *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1266,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_stream.c:1268,1
    - Dst: h2_cconfig_get_priority
      Src: /src/httpd/modules/http2/h2_stream.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - response
    argTypes:
    - h2_stream*
    - h2_headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1275
    functionName: h2_stream_get_priority
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - h2_cconfig_get_priority
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: h2_priority
    signature: "h2_priority *h2_stream_get_priority(h2_stream *stream,\n                                          h2_headers
      *response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1280,1
    - Dst: get_first_response_bucket
      Src: /src/httpd/modules/http2/h2_stream.c:1284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1288
    functionName: h2_stream_is_ready
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 3
    functionsReached:
    - get_first_response_bucket
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: int
    signature: int h2_stream_is_ready(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1292,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_stream.c:1293,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_stream.c:1294,1
    - Dst: h2_beam_empty
      Src: /src/httpd/modules/http2/h2_stream.c:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1296
    functionName: h2_stream_wants_send_data
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_EMPTY
    - h2_stream_is_ready
    - h2_beam_empty
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: int
    signature: int h2_stream_wants_send_data(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - state
    argTypes:
    - h2_stream*
    - h2_stream_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: h2_stream_is_at
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 1
    functionsReached:
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: int
    signature: int h2_stream_is_at(const h2_stream *stream, h2_stream_state_t state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - stream
    - state
    argTypes:
    - h2_stream*
    - h2_stream_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1323
    functionName: h2_stream_is_at_or_past
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 1
    functionsReached:
    - H2_STRM_ASSERT_MAGIC
    linkageType: ''
    returnType: int
    signature: int h2_stream_is_at_or_past(const h2_stream *stream, h2_stream_state_t
      state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1329,1
    - Dst: nghttp2_session_consume
      Src: /src/httpd/modules/http2/h2_stream.c:1335,1
    - Dst: nghttp2_session_get_stream_local_window_size
      Src: /src/httpd/modules/http2/h2_stream.c:1341,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/http2/h2_stream.c:1359,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_stream.c:1359,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_stream.c:1361,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/http2/h2_stream.c:1366,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_stream.c:1366,1
    - Dst: H2MAX
      Src: /src/httpd/modules/http2/h2_stream.c:1368,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/httpd/modules/http2/h2_stream.c:1374,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1377,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - stream
    - amount
    argTypes:
    - h2_stream*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1384
    functionName: h2_stream_in_consumed
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_local_window_size
    - apr_time_now
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - H2MAX
    - H2_STRM_MSG
    - nghttp2_session_consume
    - H2MIN
    - apr_time_msec
    - nghttp2_session_set_local_window_size
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_stream_in_consumed(h2_stream *stream, apr_off_t amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_stream.c:1394,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_stream.c:1395,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_stream.c:1396,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_stream.c:1397,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_stream.c:1419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - stream
    - peos
    - pheader_blocked
    argTypes:
    - h2_stream*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1423
    functionName: output_data_buffered
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t output_data_buffered(h2_stream *stream, int *peos, int *pheader_blocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1404
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_RESPONSE(b))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1408
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (AP_BUCKET_IS_HEADERS(b))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1413
    functionName: if
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (H2_BUCKET_IS_HEADERS(b))
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:1443,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_stream.c:1447,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1450,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1451,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1452,1
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1455,1
    - Dst: h2_c1_io_needs_flush
      Src: /src/httpd/modules/http2/h2_stream.c:1462,1
    - Dst: h2_c1_io_pass
      Src: /src/httpd/modules/http2/h2_stream.c:1463,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_stream.c:1464,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1465,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1466,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_stream.c:1467,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_stream.c:1471,1
    - Dst: output_data_buffered
      Src: /src/httpd/modules/http2/h2_stream.c:1493,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1497,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1498,1
    - Dst: buffer_output_receive
      Src: /src/httpd/modules/http2/h2_stream.c:1501,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1502,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1503,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_stream.c:1505,1
    - Dst: output_data_buffered
      Src: /src/httpd/modules/http2/h2_stream.c:1510,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http2/h2_stream.c:1514,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1521,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1522,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1523,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1526,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1527,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1534,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1535,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1535,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1536,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1540,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1541,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1541,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1542,1
    - Dst: stream_do_trailers
      Src: /src/httpd/modules/http2/h2_stream.c:1552,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_stream.c:1553,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1554,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1555,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1570,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1571,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1577,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1578,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1578,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 7
    argNames:
    - ng2s
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - puser
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1425
    functionDepth: 6
    functionLinenumber: 1425
    functionLinenumberEnd: 1586
    functionName: stream_data_cb
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_c1_io_needs_flush
    - buffer_output_receive
    - AP_STATUS_IS_HEADER_ONLY
    - h2_stream_rst
    - nghttp2_session_get_stream_user_data
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - h2_c1_io_pass
    - h2_session_dispatch_event
    - H2_SSSN_STRM_MSG
    - APLOGNO
    - output_data_buffered
    - H2_STRM_LOG
    - H2_STRM_MSG
    - h2_stream_dispatch
    - ap_assert
    - stream_do_trailers
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stream_data_cb(nghttp2_session *ng2s,\n                              int32_t
      stream_id,\n                              uint8_t *buf,\n                              size_t
      length,\n                              uint32_t *data_flags,\n                              nghttp2_data_source
      *source,\n                              void *puser)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:1771,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1772,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1773,1
    - Dst: buffer_output_receive
      Src: /src/httpd/modules/http2/h2_stream.c:1774,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1775,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1776,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1779,1
    - Dst: stream_do_response
      Src: /src/httpd/modules/http2/h2_stream.c:1784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1765
    functionDepth: 6
    functionLinenumber: 1765
    functionLinenumberEnd: 1789
    functionName: stream_do_responses
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - buffer_output_receive
    - h2_stream_rst
    - ap_log_cerror
    - H2_SSSN_STRM_MSG
    - stream_do_response
    - H2_STRM_MSG
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void stream_do_responses(h2_stream *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1798,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1801,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1802,1
    - Dst: h2_stream_is_at_or_past
      Src: /src/httpd/modules/http2/h2_stream.c:1804,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1805,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1806,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1806,1
    - Dst: h2_stream_is_at
      Src: /src/httpd/modules/http2/h2_stream.c:1808,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1812,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1813,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1813,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1814,1
    - Dst: nghttp2_session_resume_data
      Src: /src/httpd/modules/http2/h2_stream.c:1832,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1833,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_stream.c:1834,1
    - Dst: stream_do_responses
      Src: /src/httpd/modules/http2/h2_stream.c:1837,1
    - Dst: nghttp2_session_resume_data
      Src: /src/httpd/modules/http2/h2_stream.c:1839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1791
    functionDepth: 7
    functionLinenumber: 1791
    functionLinenumberEnd: 1843
    functionName: h2_stream_on_output_change
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_at_or_past
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - stream_do_responses
    - APLOGNO
    - H2_STRM_LOG
    - h2_stream_is_at
    - H2_STRM_MSG
    - nghttp2_session_resume_data
    linkageType: ''
    returnType: void
    signature: void h2_stream_on_output_change(h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_STRM_ASSERT_MAGIC
      Src: /src/httpd/modules/http2/h2_stream.c:1847,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_stream.c:1848,1
    - Dst: h2_beam_report_consumption
      Src: /src/httpd/modules/http2/h2_stream.c:1849,1
    - Dst: h2_stream_is_at
      Src: /src/httpd/modules/http2/h2_stream.c:1850,1
    - Dst: h2_mplx_c1_stream_is_running
      Src: /src/httpd/modules/http2/h2_stream.c:1851,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_stream.c:1852,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_stream.c:1853,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_stream.c:1853,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_stream.c:1854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1845
    functionDepth: 4
    functionLinenumber: 1845
    functionLinenumberEnd: 1856
    functionName: h2_stream_on_input_change
    functionSourceFile: /src/httpd/modules/http2/h2_stream.c
    functionUses: 0
    functionsReached:
    - h2_stream_rst
    - ap_log_cerror
    - H2_STRM_ASSERT_MAGIC
    - APLOGNO
    - H2_STRM_LOG
    - h2_stream_is_at
    - h2_mplx_c1_stream_is_running
    - h2_beam_report_consumption
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void h2_stream_on_input_change(h2_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_session.c:72,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/http2/h2_session.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rv
    argTypes:
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: h2_session_status_from_apr_status
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EOF
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: int
    signature: int h2_session_status_from_apr_status(apr_status_t rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/httpd/modules/http2/h2_session.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - stream_id
    argTypes:
    - h2_session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: get_stream
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    linkageType: ''
    returnType: h2_stream
    signature: h2_stream *get_stream(h2_session *session, int stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - ev
    - err
    - msg
    argTypes:
    - h2_session*
    - h2_session_event_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: h2_session_event
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - h2_session_dispatch_event
    linkageType: ''
    returnType: void
    signature: "void h2_session_event(h2_session *session, h2_session_event_t ev,\n
      \                            int err, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream_is_at_or_past
      Src: /src/httpd/modules/http2/h2_session.c:94,1
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/h2_session.c:95,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_session.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - ctx
    argTypes:
    - h2_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: rst_unprocessed_stream
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_at_or_past
    - h2_stream_rst
    - H2_STREAM_CLIENT_INITIATED
    linkageType: ''
    returnType: int
    signature: int rst_unprocessed_stream(h2_stream *stream, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_mplx_c1_streams_do
      Src: /src/httpd/modules/http2/h2_session.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: cleanup_unprocessed_streams
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_mplx_c1_streams_do
    linkageType: ''
    returnType: void
    signature: void cleanup_unprocessed_streams(h2_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_session.c:120,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_session.c:121,1
    - Dst: h2_stream_create
      Src: /src/httpd/modules/http2/h2_session.c:123,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/httpd/modules/http2/h2_session.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - session
    - stream_id
    - initiated_on
    argTypes:
    - h2_session*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: h2_session_open_stream
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_set_stream_user_data
    - apr_pool_tag
    - h2_stream_create
    - apr_pool_create
    linkageType: ''
    returnType: h2_stream
    signature: "h2_stream *h2_session_open_stream(h2_session *session, int stream_id,\n
      \                                        int initiated_on)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_stream_get_parent
      Src: /src/httpd/modules/http2/h2_session.c:143,1
    - Dst: nghttp2_stream_get_parent
      Src: /src/httpd/modules/http2/h2_session.c:144,1
    - Dst: nghttp2_stream_get_weight
      Src: /src/httpd/modules/http2/h2_session.c:149,1
    - Dst: nghttp2_stream_get_weight
      Src: /src/httpd/modules/http2/h2_session.c:150,1
    - Dst: spri_cmp
      Src: /src/httpd/modules/http2/h2_session.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - sid1
    - s1
    - sid2
    - s2
    - session
    argTypes:
    - int
    - nghttp2_stream*
    - int
    - nghttp2_stream*
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: spri_cmp
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - nghttp2_stream_get_parent
    - spri_cmp
    - nghttp2_stream_get_weight
    linkageType: ''
    returnType: int
    signature: "int spri_cmp(int sid1, nghttp2_stream *s1, \n                    int
      sid2, nghttp2_stream *s2, h2_session *session)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_find_stream
      Src: /src/httpd/modules/http2/h2_session.c:169,1
    - Dst: nghttp2_session_find_stream
      Src: /src/httpd/modules/http2/h2_session.c:170,1
    - Dst: spri_cmp
      Src: /src/httpd/modules/http2/h2_session.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sid1
    - sid2
    - ctx
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: stream_pri_cmp
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_find_stream
    - spri_cmp
    linkageType: ''
    returnType: int
    signature: int stream_pri_cmp(int sid1, int sid2, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_c1_io_needs_flush
      Src: /src/httpd/modules/http2/h2_session.c:196,1
    - Dst: h2_c1_io_add_data
      Src: /src/httpd/modules/http2/h2_session.c:200,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_session.c:204,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:209,1
    - Dst: h2_session_status_from_apr_status
      Src: /src/httpd/modules/http2/h2_session.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - ngh2
    - data
    - length
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: send_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 3
    functionsReached:
    - h2_c1_io_needs_flush
    - ap_log_cerror
    - h2_session_status_from_apr_status
    - APLOGNO
    - h2_c1_io_add_data
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t send_cb(nghttp2_session *ngh2,\n                       const
      uint8_t *data, size_t length,\n                       int flags, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_session.c:221,1
    - Dst: h2_util_frame_print
      Src: /src/httpd/modules/http2/h2_session.c:224,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:225,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ngh2
    - frame
    - error
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: on_invalid_frame_recv_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - h2_util_frame_print
    - H2_SSSN_LOG
    - ap_log_cerror
    - APLOGNO
    linkageType: ''
    returnType: int
    signature: "int on_invalid_frame_recv_cb(nghttp2_session *ngh2,\n                                    const
      nghttp2_frame *frame,\n                                    int error, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:243,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:245,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:246,1
    - Dst: h2_stream_recv_DATA
      Src: /src/httpd/modules/http2/h2_session.c:248,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:251,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:251,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:252,1
    - Dst: nghttp2_session_consume
      Src: /src/httpd/modules/http2/h2_session.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - ngh2
    - flags
    - stream_id
    - data
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 234
    functionDepth: 7
    functionLinenumber: 234
    functionLinenumberEnd: 262
    functionName: on_data_chunk_recv_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - H2_SSSN_STRM_MSG
    - get_stream
    - APLOGNO
    - h2_stream_recv_DATA
    - nghttp2_session_consume
    linkageType: ''
    returnType: int
    signature: "int on_data_chunk_recv_cb(nghttp2_session *ngh2, uint8_t flags,\n
      \                                int32_t stream_id,\n                                 const
      uint8_t *data, size_t len, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:271,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:274,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:275,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:275,1
    - Dst: h2_protocol_err_description
      Src: /src/httpd/modules/http2/h2_session.c:277,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_session.c:278,1
    - Dst: h2_mplx_c1_client_rst
      Src: /src/httpd/modules/http2/h2_session.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ngh2
    - stream_id
    - error_code
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: on_stream_close_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_stream_rst
    - ap_log_cerror
    - APLOGNO
    - H2_STRM_LOG
    - get_stream
    - h2_protocol_err_description
    - h2_mplx_c1_client_rst
    linkageType: ''
    returnType: int
    signature: "int on_stream_close_cb(nghttp2_session *ngh2, int32_t stream_id,\n
      \                             uint32_t error_code, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:294,1
    - Dst: h2_session_open_stream
      Src: /src/httpd/modules/http2/h2_session.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ngh2
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 302
    functionName: on_begin_headers_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_session_open_stream
    - get_stream
    linkageType: ''
    returnType: int
    signature: "int on_begin_headers_cb(nghttp2_session *ngh2,\n                               const
      nghttp2_frame *frame, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:315,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:317,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:317,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:318,1
    - Dst: h2_stream_add_header
      Src: /src/httpd/modules/http2/h2_session.c:323,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:332,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 8
    argNames:
    - ngh2
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 304
    functionDepth: 7
    functionLinenumber: 304
    functionLinenumberEnd: 339
    functionName: on_header_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - h2_stream_add_header
    - H2_SSSN_STRM_MSG
    - APLOGNO
    - get_stream
    linkageType: ''
    returnType: int
    signature: "int on_header_cb(nghttp2_session *ngh2, const nghttp2_frame *frame,\n
      \                       const uint8_t *name, size_t namelen,\n                        const
      uint8_t *value, size_t valuelen,\n                        uint8_t flags,\n                        void
      *userp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:354,1
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_session.c:355,1
    - Dst: h2_util_frame_print
      Src: /src/httpd/modules/http2/h2_session.c:358,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:360,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:361,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:361,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:367,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:368,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:368,1
    - Dst: h2_stream_recv_frame
      Src: /src/httpd/modules/http2/h2_session.c:384,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:390,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:391,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:391,1
    - Dst: h2_stream_recv_frame
      Src: /src/httpd/modules/http2/h2_session.c:394,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:400,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:401,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:408,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:409,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:414,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:414,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:415,1
    - Dst: h2_stream_recv_frame
      Src: /src/httpd/modules/http2/h2_session.c:419,1
    - Dst: h2_mplx_c1_client_rst
      Src: /src/httpd/modules/http2/h2_session.c:430,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:443,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:448,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:449,1
    - Dst: APLOGctrace2
      Src: /src/httpd/modules/http2/h2_session.c:452,1
    - Dst: h2_util_frame_print
      Src: /src/httpd/modules/http2/h2_session.c:455,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:457,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:458,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_session.c:472,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:473,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:474,1
    - Dst: H2MAX
      Src: /src/httpd/modules/http2/h2_session.c:477,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/http2/h2_session.c:480,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_session.c:480,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/http2/h2_session.c:483,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/http2/h2_session.c:486,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - ng2s
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 496
    functionName: on_frame_recv_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - h2_util_frame_print
    - ap_log_cerror
    - H2_SSSN_LOG
    - h2_session_dispatch_event
    - APLOGctrace2
    - H2MAX
    - APLOGNO
    - get_stream
    - H2_STRM_LOG
    - h2_stream_recv_frame
    - H2_SSSN_STRM_MSG
    - H2MIN
    - h2_mplx_c1_client_rst
    - apr_time_from_msec
    - H2_SSSN_MSG
    linkageType: ''
    returnType: int
    signature: "int on_frame_recv_cb(nghttp2_session *ng2s,\n                            const
      nghttp2_frame *frame,\n                            void *userp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:518,1
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:521,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:524,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:525,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:529,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:530,1
    - Dst: h2_c1_io_add_data
      Src: /src/httpd/modules/http2/h2_session.c:533,1
    - Dst: h2_c1_io_add_data
      Src: /src/httpd/modules/http2/h2_session.c:536,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:540,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:541,1
    - Dst: h2_stream_read_to
      Src: /src/httpd/modules/http2/h2_session.c:545,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:547,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:548,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:549,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:553,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:554,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:556,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/http2/h2_session.c:561,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_session.c:563,1
    - Dst: h2_c1_io_append
      Src: /src/httpd/modules/http2/h2_session.c:566,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:567,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:572,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:573,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:578,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:579,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 6
    argNames:
    - ngh2
    - frame
    - framehd
    - length
    - source
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 582
    functionName: on_send_data_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - apr_bucket_immortal_create
    - ap_log_cerror
    - H2_SSSN_STRM_MSG
    - APLOGNO
    - get_stream
    - H2_STRM_LOG
    - H2_STRM_MSG
    - h2_c1_io_add_data
    - h2_c1_io_append
    - apr_brigade_cleanup
    - ap_assert
    - APR_BRIGADE_INSERT_TAIL
    - h2_stream_read_to
    linkageType: ''
    returnType: int
    signature: "int on_send_data_cb(nghttp2_session *ngh2, \n                           nghttp2_frame
      *frame, \n                           const uint8_t *framehd, \n                           size_t
      length, \n                           nghttp2_data_source *source, \n                           void
      *userp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:606,1
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_session.c:607,1
    - Dst: h2_util_frame_print
      Src: /src/httpd/modules/http2/h2_session.c:610,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:612,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:613,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:613,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:619,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:620,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:620,1
    - Dst: h2_stream_send_frame
      Src: /src/httpd/modules/http2/h2_session.c:628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ngh2
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 632
    functionName: on_frame_send_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - APLOGcdebug
    - h2_util_frame_print
    - ap_log_cerror
    - H2_SSSN_LOG
    - APLOGNO
    - get_stream
    - H2_STRM_LOG
    - h2_stream_send_frame
    linkageType: ''
    returnType: int
    signature: "int on_frame_send_cb(nghttp2_session *ngh2, \n                            const
      nghttp2_frame *frame,\n                            void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:644,1
    - Dst: h2_util_frame_print
      Src: /src/httpd/modules/http2/h2_session.c:645,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:647,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:648,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:648,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:650,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_session.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ngh2
    - frame
    - ngh2_err
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 656
    functionName: on_frame_not_send_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_util_frame_print
    - h2_stream_rst
    - H2_SSSN_LOG
    - ap_log_cerror
    - APLOGNO
    - get_stream
    - nghttp2_strerror
    linkageType: ''
    returnType: int
    signature: "int on_frame_not_send_cb(nghttp2_session *ngh2,\n                            const
      nghttp2_frame *frame,\n                            int ngh2_err,\n                            void
      *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:668,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:668,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:669,1
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:672,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_session.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - ngh2
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 677
    functionName: on_invalid_header_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_stream_rst
    - ap_log_cerror
    - APLOGNO
    - H2_SSSN_STRM_MSG
    - get_stream
    linkageType: ''
    returnType: int
    signature: "int on_invalid_header_cb(nghttp2_session *ngh2,\n                                const
      nghttp2_frame *frame, \n                                const uint8_t *name,
      size_t namelen, \n                                const uint8_t *value, size_t
      valuelen, \n                                uint8_t flags, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_random_pick
      Src: /src/httpd/modules/http2/h2_session.c:692,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_session.c:693,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ngh2
    - frame
    - max_payloadlen
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 709
    functionName: select_padding_cb
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_random_pick
    - H2MIN
    - ap_log_cerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t select_padding_cb(nghttp2_session *ngh2, \n                                 const
      nghttp2_frame *frame, \n                                 size_t max_payloadlen,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - callbacks
    - ','
    - name
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: NGH2_SET_CALLBACK
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NGH2_SET_CALLBACK(callbacks, name, fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_callbacks_new
      Src: /src/httpd/modules/http2/h2_session.c:716,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:718,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:719,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:720,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:724,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:725,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:726,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:727,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:728,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:729,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:730,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:731,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:732,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:733,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:735,1
    - Dst: NGH2_SET_CALLBACK
      Src: /src/httpd/modules/http2/h2_session.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - c
    - pcb
    argTypes:
    - conn_rec*
    - nghttp2_session_callbacks**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 739
    functionName: init_callbacks
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_callbacks_new
    - ap_log_cerror
    - APLOGNO
    - NGH2_SET_CALLBACK
    - nghttp2_strerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_callbacks(conn_rec *c, nghttp2_session_callbacks
      **pcb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_session.c:751,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_session.c:757,1
    - Dst: ap_update_child_status_from_server
      Src: /src/httpd/modules/http2/h2_session.c:762,1
    - Dst: ap_update_child_status_descr
      Src: /src/httpd/modules/http2/h2_session.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - session
    - status
    - msg
    - stream
    argTypes:
    - h2_session*
    - int
    - char*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 766
    functionName: update_child_status
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 2
    functionsReached:
    - ap_update_child_status_from_server
    - ap_update_child_status_descr
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void update_child_status(h2_session *session, int status,\n                                const
      char *msg, const h2_stream *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:772,1
    - Dst: nghttp2_submit_shutdown_notice
      Src: /src/httpd/modules/http2/h2_session.c:777,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/modules/http2/h2_session.c:779,1
    - Dst: h2_c1_io_assure_flushed
      Src: /src/httpd/modules/http2/h2_session.c:781,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:783,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 786
    functionName: h2_session_shutdown_notice
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - H2_SSSN_LOG
    - nghttp2_session_send
    - nghttp2_submit_shutdown_notice
    - APLOGNO
    - h2_c1_io_assure_flushed
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_session_shutdown_notice(h2_session *session)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:793,1
    - Dst: APR_STATUS_IS_EPIPE
      Src: /src/httpd/modules/http2/h2_session.c:799,1
    - Dst: h2_mplx_c1_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:812,1
    - Dst: nghttp2_submit_goaway
      Src: /src/httpd/modules/http2/h2_session.c:825,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_session.c:827,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/modules/http2/h2_session.c:828,1
    - Dst: h2_c1_io_assure_flushed
      Src: /src/httpd/modules/http2/h2_session.c:830,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:832,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:833,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:833,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - session
    - error
    - msg
    - force_close
    argTypes:
    - h2_session*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 838
    functionName: h2_session_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_goaway
    - ap_log_cerror
    - H2_SSSN_LOG
    - h2_session_dispatch_event
    - APR_STATUS_IS_EPIPE
    - nghttp2_session_send
    - APLOGNO
    - strlen
    - h2_c1_io_assure_flushed
    - ap_assert
    - h2_mplx_c1_shutdown
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_session_shutdown(h2_session *session, int error, \n
      \                                       const char *msg, int force_close)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:843,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:844,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:856,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:857,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:857,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_session.c:862,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:864,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:865,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:865,1
    - Dst: h2_iq_count
      Src: /src/httpd/modules/http2/h2_session.c:867,1
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_session.c:868,1
    - Dst: h2_mplx_c1_client_rst
      Src: /src/httpd/modules/http2/h2_session.c:869,1
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_session.c:869,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:873,1
    - Dst: h2_mplx_c1_destroy
      Src: /src/httpd/modules/http2/h2_session.c:874,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:877,1
    - Dst: nghttp2_session_del
      Src: /src/httpd/modules/http2/h2_session.c:878,1
    - Dst: h2_conn_ctx_detach
      Src: /src/httpd/modules/http2/h2_session.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - session
    - trigger
    argTypes:
    - h2_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 883
    functionName: session_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - h2_mplx_c1_destroy
    - ap_log_cerror
    - H2_SSSN_LOG
    - APLOGNO
    - h2_iq_shift
    - get_stream
    - transit
    - h2_mplx_c1_client_rst
    - h2_iq_empty
    - h2_iq_count
    - ap_assert
    - H2_SSSN_MSG
    - nghttp2_session_del
    - h2_conn_ctx_detach
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_cleanup(h2_session *session, const char *trigger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_session.c:888,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_session.c:895,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:902,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:903,1
    - Dst: session_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 909
    functionName: session_pool_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - ap_mpm_query
    - H2_SSSN_LOG
    - ap_log_cerror
    - APLOGNO
    - session_cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_pool_cleanup(void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_session.c:927,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_session.c:928,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_session.c:929,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_session.c:943,1
    - Dst: ap_sb_get_child_thread
      Src: /src/httpd/modules/http2/h2_session.c:944,1
    - Dst: getpid
      Src: /src/httpd/modules/http2/h2_session.c:947,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/http2/h2_session.c:949,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:960,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:961,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:962,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:963,1
    - Dst: h2_iq_create
      Src: /src/httpd/modules/http2/h2_session.c:965,1
    - Dst: h2_iq_create
      Src: /src/httpd/modules/http2/h2_session.c:966,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_session.c:968,1
    - Dst: h2_stream_create
      Src: /src/httpd/modules/http2/h2_session.c:974,1
    - Dst: h2_mplx_c1_create
      Src: /src/httpd/modules/http2/h2_session.c:976,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_session.c:979,1
    - Dst: h2_c1_io_init
      Src: /src/httpd/modules/http2/h2_session.c:983,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_session.c:988,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_session.c:990,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:992,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:996,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_session.c:997,1
    - Dst: init_callbacks
      Src: /src/httpd/modules/http2/h2_session.c:999,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1001,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1001,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_session.c:1003,1
    - Dst: nghttp2_option_new
      Src: /src/httpd/modules/http2/h2_session.c:1007,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1009,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1010,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1011,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_session.c:1012,1
    - Dst: nghttp2_option_set_peer_max_concurrent_streams
      Src: /src/httpd/modules/http2/h2_session.c:1015,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/httpd/modules/http2/h2_session.c:1018,1
    - Dst: nghttp2_option_set_no_closed_streams
      Src: /src/httpd/modules/http2/h2_session.c:1023,1
    - Dst: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
      Src: /src/httpd/modules/http2/h2_session.c:1030,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1033,1
    - Dst: nghttp2_option_set_max_send_header_block_length
      Src: /src/httpd/modules/http2/h2_session.c:1034,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1035,1
    - Dst: nghttp2_session_server_new2
      Src: /src/httpd/modules/http2/h2_session.c:1037,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/httpd/modules/http2/h2_session.c:1039,1
    - Dst: nghttp2_option_del
      Src: /src/httpd/modules/http2/h2_session.c:1040,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1043,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1044,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1045,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_session.c:1046,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1050,1
    - Dst: h2_push_diary_create
      Src: /src/httpd/modules/http2/h2_session.c:1051,1
    - Dst: APLOGcdebug
      Src: /src/httpd/modules/http2/h2_session.c:1053,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1054,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1055,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1055,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/http2/h2_session.c:1071,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 5
    argNames:
    - psession
    - c
    - r
    - s
    - workers
    argTypes:
    - h2_session**
    - conn_rec*
    - request_rec*
    - server_rec*
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 1074
    functionName: h2_session_create
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - nghttp2_session_server_new2
    - nghttp2_option_set_peer_max_concurrent_streams
    - apr_brigade_create
    - h2_stream_create
    - nghttp2_session_callbacks_del
    - h2_iq_create
    - apr_atomic_inc32
    - ap_sb_get_child_thread
    - h2_config_sgeti
    - ap_log_cerror
    - getpid
    - h2_c1_io_init
    - nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
    - nghttp2_option_del
    - apr_pool_pre_cleanup_register
    - nghttp2_option_set_no_closed_streams
    - H2_SSSN_LOG
    - apr_pool_create
    - h2_push_diary_create
    - apr_pool_destroy
    - AP_MODULE_MAGIC_AT_LEAST
    - nghttp2_option_set_no_auto_window_update
    - APLOGcdebug
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - nghttp2_option_new
    - nghttp2_strerror
    - h2_mplx_c1_create
    - init_callbacks
    - nghttp2_option_set_max_send_header_block_length
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_session_create(h2_session **psession, conn_rec *c,
      request_rec *r,\n                               server_rec *s, h2_workers *workers)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:1083,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_session.c:1093,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_session.c:1095,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1096,1
    - Dst: h2_util_base64url_decode
      Src: /src/httpd/modules/http2/h2_session.c:1101,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/http2/h2_session.c:1103,1
    - Dst: h2_util_hex_dump
      Src: /src/httpd/modules/http2/h2_session.c:1105,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_session.c:1106,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1106,1
    - Dst: nghttp2_session_upgrade
      Src: /src/httpd/modules/http2/h2_session.c:1111,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_session.c:1114,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1115,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1116,1
    - Dst: h2_session_open_stream
      Src: /src/httpd/modules/http2/h2_session.c:1121,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_session.c:1124,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1125,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1126,1
    - Dst: h2_stream_set_request_rec
      Src: /src/httpd/modules/http2/h2_session.c:1130,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1140,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1147,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1154,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1155,1
    - Dst: nghttp2_submit_settings
      Src: /src/httpd/modules/http2/h2_session.c:1158,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1162,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1163,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1163,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1164,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/httpd/modules/http2/h2_session.c:1176,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1180,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1181,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 2
    argNames:
    - session
    - rv
    argTypes:
    - h2_session*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1076
    functionDepth: 4
    functionLinenumber: 1076
    functionLinenumberEnd: 1188
    functionName: h2_session_start
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - h2_util_base64url_decode
    - h2_config_sgeti
    - ap_log_cerror
    - h2_stream_set_request_rec
    - H2_SSSN_LOG
    - APLOGNO
    - nghttp2_session_upgrade
    - APLOGrdebug
    - nghttp2_session_set_local_window_size
    - h2_util_hex_dump
    - apr_table_get
    - h2_session_open_stream
    - nghttp2_strerror
    - ap_assert
    - nghttp2_submit_settings
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_session_start(h2_session *session, int *rv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_req_create_ngheader
      Src: /src/httpd/modules/http2/h2_session.c:1198,1
    - Dst: nghttp2_submit_push_promise
      Src: /src/httpd/modules/http2/h2_session.c:1200,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1204,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1205,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1205,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1206,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1211,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1212,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1212,1
    - Dst: h2_session_open_stream
      Src: /src/httpd/modules/http2/h2_session.c:1215,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1217,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1218,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1218,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_session.c:1221,1
    - Dst: h2_session_set_prio
      Src: /src/httpd/modules/http2/h2_session.c:1226,1
    - Dst: h2_stream_set_request
      Src: /src/httpd/modules/http2/h2_session.c:1227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - session
    - is
    - push
    argTypes:
    - h2_session*
    - h2_stream*
    - h2_push*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1229
    functionName: h2_session_push
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - ap_log_cerror
    - nghttp2_submit_rst_stream
    - APLOGNO
    - H2_STRM_LOG
    - h2_stream_set_request
    - h2_req_create_ngheader
    - h2_session_open_stream
    - nghttp2_strerror
    - h2_session_set_prio
    - nghttp2_submit_push_promise
    linkageType: ''
    returnType: struct h2_stream
    signature: "struct h2_stream *h2_session_push(h2_session *session, h2_stream *is,\n
      \                                 h2_push *push)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1236
    functionName: valid_weight
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_weight(float f)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_find_stream
      Src: /src/httpd/modules/http2/h2_session.c:1248,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1250,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1251,1
    - Dst: nghttp2_stream_get_parent
      Src: /src/httpd/modules/http2/h2_session.c:1255,1
    - Dst: nghttp2_stream_get_stream_id
      Src: /src/httpd/modules/http2/h2_session.c:1263,1
    - Dst: nghttp2_stream_get_parent
      Src: /src/httpd/modules/http2/h2_session.c:1264,1
    - Dst: nghttp2_stream_get_stream_id
      Src: /src/httpd/modules/http2/h2_session.c:1266,1
    - Dst: nghttp2_stream_get_weight
      Src: /src/httpd/modules/http2/h2_session.c:1282,1
    - Dst: valid_weight
      Src: /src/httpd/modules/http2/h2_session.c:1283,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/httpd/modules/http2/h2_session.c:1284,1
    - Dst: nghttp2_stream_get_weight
      Src: /src/httpd/modules/http2/h2_session.c:1294,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/httpd/modules/http2/h2_session.c:1295,1
    - Dst: nghttp2_stream_get_stream_id
      Src: /src/httpd/modules/http2/h2_session.c:1296,1
    - Dst: nghttp2_session_change_stream_priority
      Src: /src/httpd/modules/http2/h2_session.c:1297,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1299,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1299,1
    - Dst: H2_SSSN_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1300,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/httpd/modules/http2/h2_session.c:1305,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/httpd/modules/http2/h2_session.c:1315,1
    - Dst: valid_weight
      Src: /src/httpd/modules/http2/h2_session.c:1315,1
    - Dst: nghttp2_session_change_stream_priority
      Src: /src/httpd/modules/http2/h2_session.c:1320,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1321,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1322,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - session
    - stream
    - prio
    argTypes:
    - h2_session*
    - h2_stream*
    - h2_priority*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1329
    functionName: h2_session_set_prio
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - nghttp2_priority_spec_init
    - ap_log_cerror
    - nghttp2_stream_get_weight
    - valid_weight
    - APLOGNO
    - H2_SSSN_STRM_MSG
    - H2_STRM_LOG
    - H2_STRM_MSG
    - nghttp2_stream_get_stream_id
    - nghttp2_session_change_stream_priority
    - nghttp2_stream_get_parent
    - nghttp2_session_find_stream
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_session_set_prio(h2_session *session, h2_stream *stream,
      \n                                 const h2_priority *prio)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_session.c:1335,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/httpd/modules/http2/h2_session.c:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1338
    functionName: h2_session_push_enabled
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 2
    functionsReached:
    - nghttp2_session_get_remote_settings
    - h2_config_sgeti
    linkageType: ''
    returnType: int
    signature: int h2_session_push_enabled(h2_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_session.c:1342,1
    - Dst: h2_c1_io_pending
      Src: /src/httpd/modules/http2/h2_session.c:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: h2_session_want_send
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_write
    - h2_c1_io_pending
    linkageType: ''
    returnType: int
    signature: int h2_session_want_send(h2_session *session)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/httpd/modules/http2/h2_session.c:1351,1
    - Dst: nghttp2_session_send
      Src: /src/httpd/modules/http2/h2_session.c:1352,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1353,1
    - Dst: nghttp2_is_fatal
      Src: /src/httpd/modules/http2/h2_session.c:1357,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1358,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1359,1
    - Dst: h2_c1_io_needs_flush
      Src: /src/httpd/modules/http2/h2_session.c:1364,1
    - Dst: h2_c1_io_assure_flushed
      Src: /src/httpd/modules/http2/h2_session.c:1366,1
    - Dst: h2_c1_io_pass
      Src: /src/httpd/modules/http2/h2_session.c:1373,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1377,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1346
    functionDepth: 3
    functionLinenumber: 1346
    functionLinenumberEnd: 1380
    functionName: h2_session_send
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_c1_io_needs_flush
    - ap_log_cerror
    - h2_session_dispatch_event
    - h2_c1_io_pass
    - nghttp2_session_send
    - nghttp2_is_fatal
    - nghttp2_session_want_write
    - h2_c1_io_assure_flushed
    - nghttp2_strerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_session_send(h2_session *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:1389,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1390,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1391,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1392,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:1395,1
    - Dst: h2_stream_on_input_change
      Src: /src/httpd/modules/http2/h2_session.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - void*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1385
    functionDepth: 5
    functionLinenumber: 1385
    functionLinenumberEnd: 1400
    functionName: on_stream_input
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - h2_stream_on_input_change
    - H2_STRM_MSG
    - update_child_status
    - h2_c1_read
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void on_stream_input(void *ctx, h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:1409,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1410,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1411,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1413,1
    - Dst: h2_stream_on_output_change
      Src: /src/httpd/modules/http2/h2_session.c:1414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - void*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1405
    functionDepth: 8
    functionLinenumber: 1405
    functionLinenumberEnd: 1416
    functionName: on_stream_output
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_stream_on_output_change
    - ap_log_cerror
    - H2_STRM_MSG
    - update_child_status
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void on_stream_output(void *ctx, h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - h2_session_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1434
    functionName: h2_session_state_str
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *h2_session_state_str(h2_session_state state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1443,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1444,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1444,1
    - Dst: h2_session_state_str
      Src: /src/httpd/modules/http2/h2_session.c:1446,1
    - Dst: h2_session_state_str
      Src: /src/httpd/modules/http2/h2_session.c:1447,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1458,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1459,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1463,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - session
    - action
    - nstate
    argTypes:
    - h2_session*
    - char*
    - h2_session_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1476
    functionName: transit
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 16
    functionsReached:
    - APLOGNO
    - H2_SSSN_LOG
    - ap_log_cerror
    - h2_session_state_str
    linkageType: ''
    returnType: void
    signature: void transit(h2_session *session, const char *action, h2_session_state
      nstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1488
    functionName: h2_session_ev_init
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_init(h2_session *session, int arg, const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1501
    functionName: h2_session_ev_input_pending
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_input_pending(h2_session *session, int arg, const
      char *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:1507,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1509,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1512,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1524
    functionName: h2_session_ev_input_exhausted
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    - h2_session_want_send
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_input_exhausted(h2_session *session, int arg, const
      char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_unprocessed_streams
      Src: /src/httpd/modules/http2/h2_session.c:1528,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1530
    functionName: h2_session_ev_local_goaway
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    - cleanup_unprocessed_streams
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_local_goaway(h2_session *session, int arg, const
      char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_unprocessed_streams
      Src: /src/httpd/modules/http2/h2_session.c:1538,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1568,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1569,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1576
    functionName: h2_session_ev_remote_goaway
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    - cleanup_unprocessed_streams
    - ap_log_cerror
    - H2_SSSN_MSG
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_remote_goaway(h2_session *session, int arg, const
      char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1584,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1588,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1589,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1589,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1578
    functionDepth: 4
    functionLinenumber: 1578
    functionLinenumberEnd: 1595
    functionName: h2_session_ev_conn_error
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - H2_SSSN_LOG
    - ap_log_cerror
    - transit
    - APLOGNO
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_conn_error(h2_session *session, int arg, const char
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1600,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1601,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1601,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1597
    functionDepth: 4
    functionLinenumber: 1597
    functionLinenumberEnd: 1605
    functionName: h2_session_ev_proto_error
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - H2_SSSN_LOG
    - ap_log_cerror
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_proto_error(h2_session *session, int arg, const
      char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1609,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1613
    functionName: h2_session_ev_conn_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_conn_timeout(h2_session *session, int arg, const
      char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1625
    functionName: h2_session_ev_ngh2_done
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_ngh2_done(h2_session *session, int arg, const char
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_shutdown_notice
      Src: /src/httpd/modules/http2/h2_session.c:1634,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_session.c:1635,1
    - Dst: h2_workers_graceful_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1627
    functionDepth: 4
    functionLinenumber: 1627
    functionLinenumberEnd: 1640
    functionName: h2_session_ev_mpm_stopping
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - AP_MODULE_MAGIC_AT_LEAST
    - h2_session_shutdown_notice
    - h2_workers_graceful_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_mpm_stopping(h2_session *session, int arg, const
      char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1644,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1642
    functionDepth: 4
    functionLinenumber: 1642
    functionLinenumberEnd: 1648
    functionName: h2_session_ev_bad_client
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - transit
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_bad_client(h2_session *session, int arg, const char
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - arg
    - msg
    argTypes:
    - h2_session*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1650
    functionDepth: 4
    functionLinenumber: 1650
    functionLinenumberEnd: 1653
    functionName: h2_session_ev_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_pre_close(h2_session *session, int arg, const char
      *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1657,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1658,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1658,1
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:1662,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1665,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1670,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1671,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1682
    functionName: h2_session_ev_no_more_streams
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - H2_SSSN_LOG
    - ap_log_cerror
    - APLOGNO
    - h2_session_want_send
    - transit
    - h2_session_shutdown
    linkageType: ''
    returnType: void
    signature: void h2_session_ev_no_more_streams(h2_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - h2_session*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1687
    functionName: ev_stream_created
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ev_stream_created(h2_session *session, h2_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/h2_session.c:1691,1
    - Dst: h2_iq_append
      Src: /src/httpd/modules/http2/h2_session.c:1704,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - h2_session*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1689
    functionDepth: 3
    functionLinenumber: 1689
    functionLinenumberEnd: 1706
    functionName: ev_stream_open
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - update_child_status
    - h2_iq_append
    - H2_STREAM_CLIENT_INITIATED
    linkageType: ''
    returnType: void
    signature: void ev_stream_open(h2_session *session, h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CLIENT_INITIATED
      Src: /src/httpd/modules/http2/h2_session.c:1712,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1721,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1722,1
    - Dst: h2_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_session.c:1723,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_session.c:1724,1
    - Dst: h2_c1_io_append
      Src: /src/httpd/modules/http2/h2_session.c:1725,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:1726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - h2_session*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1708
    functionDepth: 3
    functionLinenumber: 1708
    functionLinenumberEnd: 1727
    functionName: ev_stream_closed
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - H2_STREAM_CLIENT_INITIATED
    - H2_STRM_MSG
    - h2_c1_io_append
    - h2_bucket_eos_create
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void ev_stream_closed(h2_session *session, h2_stream *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1733,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1734,1
    - Dst: ev_stream_created
      Src: /src/httpd/modules/http2/h2_session.c:1737,1
    - Dst: ev_stream_open
      Src: /src/httpd/modules/http2/h2_session.c:1741,1
    - Dst: h2_mplx_c1_stream_is_running
      Src: /src/httpd/modules/http2/h2_session.c:1750,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1751,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1752,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_session.c:1753,1
    - Dst: ev_stream_closed
      Src: /src/httpd/modules/http2/h2_session.c:1760,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/httpd/modules/http2/h2_session.c:1763,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1764,1
    - Dst: h2_mplx_c1_stream_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:1765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - void*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1729
    functionDepth: 4
    functionLinenumber: 1729
    functionLinenumberEnd: 1772
    functionName: on_stream_state_enter
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_mplx_c1_stream_cleanup
    - ap_log_cerror
    - nghttp2_submit_rst_stream
    - ev_stream_created
    - APLOGNO
    - H2_STRM_LOG
    - nghttp2_session_set_stream_user_data
    - h2_mplx_c1_stream_is_running
    - ev_stream_closed
    - H2_STRM_MSG
    - update_child_status
    - ev_stream_open
    linkageType: ''
    returnType: void
    signature: void on_stream_state_enter(void *ctx, h2_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_append
      Src: /src/httpd/modules/http2/h2_session.c:1782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - stream
    - ev
    argTypes:
    - void*
    - h2_stream*
    - h2_stream_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1788
    functionName: on_stream_event
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_iq_append
    linkageType: ''
    returnType: void
    signature: void on_stream_event(void *ctx, h2_stream *stream, h2_stream_event_t
      ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_rst_stream
      Src: /src/httpd/modules/http2/h2_session.c:1797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - stream
    - ev
    argTypes:
    - void*
    - h2_stream*
    - h2_stream_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1805
    functionName: on_stream_state_event
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_rst_stream
    linkageType: ''
    returnType: void
    signature: "void on_stream_state_event(void *ctx, h2_stream *stream, \n                                  h2_stream_event_t
      ev)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: h2_session_ev_init
      Src: /src/httpd/modules/http2/h2_session.c:1812,1
    - Dst: h2_session_ev_input_pending
      Src: /src/httpd/modules/http2/h2_session.c:1815,1
    - Dst: h2_session_ev_input_exhausted
      Src: /src/httpd/modules/http2/h2_session.c:1818,1
    - Dst: h2_session_ev_local_goaway
      Src: /src/httpd/modules/http2/h2_session.c:1821,1
    - Dst: h2_session_ev_remote_goaway
      Src: /src/httpd/modules/http2/h2_session.c:1824,1
    - Dst: h2_session_ev_conn_error
      Src: /src/httpd/modules/http2/h2_session.c:1827,1
    - Dst: h2_session_ev_proto_error
      Src: /src/httpd/modules/http2/h2_session.c:1830,1
    - Dst: h2_session_ev_conn_timeout
      Src: /src/httpd/modules/http2/h2_session.c:1833,1
    - Dst: h2_session_ev_ngh2_done
      Src: /src/httpd/modules/http2/h2_session.c:1836,1
    - Dst: h2_session_ev_mpm_stopping
      Src: /src/httpd/modules/http2/h2_session.c:1839,1
    - Dst: h2_session_ev_pre_close
      Src: /src/httpd/modules/http2/h2_session.c:1842,1
    - Dst: h2_session_ev_no_more_streams
      Src: /src/httpd/modules/http2/h2_session.c:1845,1
    - Dst: h2_session_ev_bad_client
      Src: /src/httpd/modules/http2/h2_session.c:1848,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1851,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1852,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - session
    - ev
    - arg
    - msg
    argTypes:
    - h2_session*
    - h2_session_event_t
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1807
    functionDepth: 5
    functionLinenumber: 1807
    functionLinenumberEnd: 1855
    functionName: h2_session_dispatch_event
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 6
    functionsReached:
    - h2_session_ev_mpm_stopping
    - h2_session_ev_bad_client
    - h2_session_ev_local_goaway
    - h2_session_ev_conn_error
    - ap_log_cerror
    - h2_session_ev_conn_timeout
    - h2_session_ev_input_pending
    - h2_session_ev_proto_error
    - h2_session_ev_ngh2_done
    - h2_session_ev_remote_goaway
    - h2_session_ev_init
    - h2_session_ev_no_more_streams
    - h2_session_ev_input_exhausted
    - h2_session_ev_pre_close
    - H2_SSSN_MSG
    linkageType: ''
    returnType: void
    signature: "void h2_session_dispatch_event(h2_session *session, h2_session_event_t
      ev,\n                               apr_status_t arg, const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_session.c:1860,1
    - Dst: nghttp2_session_resume_data
      Src: /src/httpd/modules/http2/h2_session.c:1861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1863
    functionName: unblock_c1_out
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_iq_shift
    - nghttp2_session_resume_data
    linkageType: ''
    returnType: void
    signature: void unblock_c1_out(h2_session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/httpd/modules/http2/h2_session.c:1869,1
    - Dst: h2_mplx_c1_all_streams_send_win_exhausted
      Src: /src/httpd/modules/http2/h2_session.c:1870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1871
    functionName: h2_send_flow_blocked
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 0
    functionsReached:
    - h2_mplx_c1_all_streams_send_win_exhausted
    - nghttp2_session_get_remote_window_size
    linkageType: ''
    returnType: int
    signature: int h2_send_flow_blocked(h2_session *session)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_session.c:1878,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1882,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:1883,1
    - Dst: h2_protocol_is_acceptable_c1
      Src: /src/httpd/modules/http2/h2_session.c:1887,1
    - Dst: nghttp2_strerror
      Src: /src/httpd/modules/http2/h2_session.c:1888,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1889,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1890,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:1893,1
    - Dst: h2_session_start
      Src: /src/httpd/modules/http2/h2_session.c:1894,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:1895,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:1896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:1896,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1901,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1905,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_session.c:1922,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1924,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1930,1
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:1936,1
    - Dst: h2_session_send
      Src: /src/httpd/modules/http2/h2_session.c:1937,1
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/modules/http2/h2_session.c:1939,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1940,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_session.c:1943,1
    - Dst: h2_mplx_c1_process
      Src: /src/httpd/modules/http2/h2_session.c:1944,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1947,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1951,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_session.c:1955,1
    - Dst: unblock_c1_out
      Src: /src/httpd/modules/http2/h2_session.c:1956,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1957,1
    - Dst: h2_mplx_c1_reprioritize
      Src: /src/httpd/modules/http2/h2_session.c:1961,1
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:1965,1
    - Dst: h2_session_send
      Src: /src/httpd/modules/http2/h2_session.c:1966,1
    - Dst: h2_c1_io_assure_flushed
      Src: /src/httpd/modules/http2/h2_session.c:1969,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:1971,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:1976,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:1977,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:1981,1
    - Dst: h2_session_shutdown
      Src: /src/httpd/modules/http2/h2_session.c:1994,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:1996,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_session.c:2000,1
    - Dst: nghttp2_session_want_read
      Src: /src/httpd/modules/http2/h2_session.c:2000,1
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:2001,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:2005,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2008,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:2009,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:2009,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2021,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:2022,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http2/h2_session.c:2023,1
    - Dst: h2_mplx_c1_poll
      Src: /src/httpd/modules/http2/h2_session.c:2024,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_session.c:2027,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2029,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2035,1
    - Dst: transit
      Src: /src/httpd/modules/http2/h2_session.c:2043,1
    - Dst: h2_mplx_c1_poll
      Src: /src/httpd/modules/http2/h2_session.c:2050,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_session.c:2052,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2053,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:2056,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:2063,1
    - Dst: h2_c1_io_assure_flushed
      Src: /src/httpd/modules/http2/h2_session.c:2068,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2070,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2074,1
    - Dst: h2_send_flow_blocked
      Src: /src/httpd/modules/http2/h2_session.c:2080,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2083,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:2084,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:2084,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2091,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:2092,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http2/h2_session.c:2093,1
    - Dst: h2_mplx_c1_poll
      Src: /src/httpd/modules/http2/h2_session.c:2094,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_session.c:2096,1
    - Dst: h2_session_want_send
      Src: /src/httpd/modules/http2/h2_session.c:2104,1
    - Dst: h2_mplx_c1_all_streams_want_send_data
      Src: /src/httpd/modules/http2/h2_session.c:2105,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2106,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2111,1
    - Dst: h2_c1_read
      Src: /src/httpd/modules/http2/h2_session.c:2117,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2121,1
    - Dst: H2_SSSN_LOG
      Src: /src/httpd/modules/http2/h2_session.c:2122,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_session.c:2122,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2124,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2134,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:2135,1
    - Dst: h2_mplx_c1_going_keepalive
      Src: /src/httpd/modules/http2/h2_session.c:2138,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/http2/h2_session.c:2148,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:2150,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:2153,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/http2/h2_session.c:2156,1
    - Dst: APR_STATUS_IS_ECONNRESET
      Src: /src/httpd/modules/http2/h2_session.c:2157,1
    - Dst: APR_STATUS_IS_ECONNABORTED
      Src: /src/httpd/modules/http2/h2_session.c:2158,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2159,1
    - Dst: update_child_status
      Src: /src/httpd/modules/http2/h2_session.c:2160,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 175
    argCount: 3
    argNames:
    - session
    - async
    - pkeepalive
    argTypes:
    - h2_session*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 1873
    functionDepth: 6
    functionLinenumber: 1873
    functionLinenumberEnd: 2164
    functionName: h2_session_process
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - h2_session_dispatch_event
    - h2_session_start
    - h2_session_want_send
    - transit
    - APR_STATUS_IS_TIMEUP
    - nghttp2_session_want_read
    - APR_STATUS_IS_ECONNRESET
    - ap_log_cerror
    - h2_send_flow_blocked
    - APLOGctrace3
    - update_child_status
    - h2_mplx_c1_reprioritize
    - h2_mplx_c1_going_keepalive
    - h2_iq_empty
    - unblock_c1_out
    - APR_STATUS_IS_ECONNABORTED
    - apr_time_sec
    - APR_STATUS_IS_EOF
    - ap_mpm_query
    - apr_strerror
    - H2_SSSN_LOG
    - h2_mplx_c1_process
    - h2_mplx_c1_all_streams_want_send_data
    - h2_session_shutdown
    - h2_c1_io_assure_flushed
    - h2_mplx_c1_poll
    - ap_assert
    - H2_SSSN_MSG
    - h2_session_send
    - h2_protocol_is_acceptable_c1
    - APLOGNO
    - h2_c1_read
    - nghttp2_strerror
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_session_process(h2_session *session, int async,\n
      \                               int *pkeepalive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_session.c:2170,1
    - Dst: H2_SSSN_MSG
      Src: /src/httpd/modules/http2/h2_session.c:2171,1
    - Dst: h2_session_dispatch_event
      Src: /src/httpd/modules/http2/h2_session.c:2172,1
    - Dst: session_cleanup
      Src: /src/httpd/modules/http2/h2_session.c:2174,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_session.c:2180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - async
    argTypes:
    - h2_session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2166
    functionDepth: 6
    functionLinenumber: 2166
    functionLinenumberEnd: 2183
    functionName: h2_session_pre_close
    functionSourceFile: /src/httpd/modules/http2/h2_session.c
    functionUses: 1
    functionsReached:
    - ap_log_cerror
    - h2_session_dispatch_event
    - session_cleanup
    - apr_pool_destroy
    - H2_SSSN_MSG
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_session_pre_close(h2_session *session, int async)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_abort_on_oom
      Src: /src/httpd/modules/http2/h2_mplx.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - retcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: abort_on_oom
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 2
    functionsReached:
    - ap_abort_on_oom
    linkageType: ''
    returnType: int
    signature: int abort_on_oom(int retcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: h2_mplx_c1_child_init
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_mplx_c1_child_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: H2_MPLX_ENTER
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_ENTER(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: H2_MPLX_LEAVE
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_LEAVE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: H2_MPLX_ENTER_ALWAYS
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_ENTER_ALWAYS(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - dolock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: H2_MPLX_ENTER_MAYBE
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_ENTER_MAYBE(m, dolock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - dolock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: H2_MPLX_LEAVE_MAYBE
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_MPLX_LEAVE_MAYBE(m, dolock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream_in_consumed
      Src: /src/httpd/modules/http2/h2_mplx.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - beam
    - length
    argTypes:
    - void*
    - h2_bucket_beam*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: c1_input_consumed
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_stream_in_consumed
    linkageType: ''
    returnType: void
    signature: void c1_input_consumed(void *ctx, h2_bucket_beam *beam, apr_off_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:114,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/http2/h2_mplx.c:115,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/http2/h2_mplx.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: stream_is_running
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 2
    functionsReached:
    - h2_conn_ctx_get
    - apr_atomic_read32
    linkageType: ''
    returnType: int
    signature: int stream_is_running(h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:123,1
    - Dst: stream_is_running
      Src: /src/httpd/modules/http2/h2_mplx.c:124,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - m
    - stream
    argTypes:
    - h2_mplx*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: h2_mplx_c1_stream_is_running
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 2
    functionsReached:
    - H2_MPLX_LEAVE
    - stream_is_running
    - H2_MPLX_ENTER
    linkageType: ''
    returnType: int
    signature: int h2_mplx_c1_stream_is_running(h2_mplx *m, h2_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_mplx.c:133,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_mplx.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - m
    - stream
    argTypes:
    - h2_mplx*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: add_for_purge
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: int
    signature: int add_for_purge(h2_mplx *m, h2_stream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:143,1
    - Dst: stream_is_running
      Src: /src/httpd/modules/http2/h2_mplx.c:143,1
    - Dst: h2_ihash_remove
      Src: /src/httpd/modules/http2/h2_mplx.c:145,1
    - Dst: add_for_purge
      Src: /src/httpd/modules/http2/h2_mplx.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - m
    - stream
    argTypes:
    - h2_mplx*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: c1c2_stream_joined
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - add_for_purge
    - ap_assert
    - stream_is_running
    - h2_ihash_remove
    linkageType: ''
    returnType: void
    signature: void c1c2_stream_joined(h2_mplx *m, h2_stream *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:151,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:153,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:154,1
    - Dst: h2_beam_on_was_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:157,1
    - Dst: h2_beam_on_send
      Src: /src/httpd/modules/http2/h2_mplx.c:160,1
    - Dst: h2_beam_on_received
      Src: /src/httpd/modules/http2/h2_mplx.c:161,1
    - Dst: h2_beam_on_eagain
      Src: /src/httpd/modules/http2/h2_mplx.c:162,1
    - Dst: h2_beam_on_consumed
      Src: /src/httpd/modules/http2/h2_mplx.c:163,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:167,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:168,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:169,1
    - Dst: h2_stream_cleanup
      Src: /src/httpd/modules/http2/h2_mplx.c:170,1
    - Dst: h2_ihash_remove
      Src: /src/httpd/modules/http2/h2_mplx.c:171,1
    - Dst: h2_iq_remove
      Src: /src/httpd/modules/http2/h2_mplx.c:172,1
    - Dst: stream_is_running
      Src: /src/httpd/modules/http2/h2_mplx.c:175,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:176,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:177,1
    - Dst: add_for_purge
      Src: /src/httpd/modules/http2/h2_mplx.c:179,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:182,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:183,1
    - Dst: h2_c2_abort
      Src: /src/httpd/modules/http2/h2_mplx.c:185,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:186,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:187,1
    - Dst: h2_ihash_add
      Src: /src/httpd/modules/http2/h2_mplx.c:188,1
    - Dst: add_for_purge
      Src: /src/httpd/modules/http2/h2_mplx.c:193,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:195,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - m
    - stream
    argTypes:
    - h2_mplx*
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: m_stream_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_beam_on_send
    - h2_beam_on_eagain
    - h2_conn_ctx_get
    - ap_log_cerror
    - h2_stream_cleanup
    - H2_STRM_MSG
    - add_for_purge
    - h2_iq_remove
    - h2_c2_abort
    - h2_beam_on_received
    - h2_ihash_add
    - h2_beam_on_consumed
    - ap_assert
    - h2_beam_on_was_empty
    - stream_is_running
    - h2_ihash_remove
    linkageType: ''
    returnType: void
    signature: void m_stream_cleanup(h2_mplx *m, h2_stream *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/http2/h2_mplx.c:213,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/modules/http2/h2_mplx.c:215,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/http2/h2_mplx.c:216,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:220,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:221,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/modules/http2/h2_mplx.c:222,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/http2/h2_mplx.c:226,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/modules/http2/h2_mplx.c:227,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_mplx.c:228,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_mplx.c:230,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/http2/h2_mplx.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: c2_transit_create
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - ap_log_cerror
    - apr_pcalloc
    - ap_abort_on_oom
    - apr_bucket_alloc_create
    - apr_allocator_owner_set
    - APLOGNO
    - apr_pool_tag
    - apr_allocator_create
    - apr_allocator_max_free_set
    - apr_pool_create_ex
    - apr_pool_abort_set
    linkageType: ''
    returnType: h2_c2_transit
    signature: h2_c2_transit *c2_transit_create(h2_mplx *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transit
    argTypes:
    - h2_c2_transit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: c2_transit_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void c2_transit_destroy(h2_c2_transit *transit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_pop
      Src: /src/httpd/modules/http2/h2_mplx.c:243,1
    - Dst: c2_transit_create
      Src: /src/httpd/modules/http2/h2_mplx.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: c2_transit_get
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - c2_transit_create
    - apr_array_pop
    linkageType: ''
    returnType: h2_c2_transit
    signature: h2_c2_transit *c2_transit_get(h2_mplx *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2_transit_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:254,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_mplx.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - m
    - transit
    argTypes:
    - h2_mplx*
    - h2_c2_transit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: c2_transit_recycle
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - c2_transit_destroy
    linkageType: ''
    returnType: void
    signature: void c2_transit_recycle(h2_mplx *m, h2_c2_transit *transit)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_mplx.c:282,1
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/http2/h2_mplx.c:295,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/modules/http2/h2_mplx.c:301,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/http2/h2_mplx.c:302,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_mplx.c:305,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/http2/h2_mplx.c:306,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_mplx.c:308,1
    - Dst: apr_allocator_mutex_set
      Src: /src/httpd/modules/http2/h2_mplx.c:311,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_mplx.c:313,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_mplx.c:317,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_mplx.c:318,1
    - Dst: h2_ihash_create
      Src: /src/httpd/modules/http2/h2_mplx.c:320,1
    - Dst: h2_ihash_create
      Src: /src/httpd/modules/http2/h2_mplx.c:321,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_mplx.c:322,1
    - Dst: h2_iq_create
      Src: /src/httpd/modules/http2/h2_mplx.c:323,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_mplx.c:326,1
    - Dst: h2_workers_get_max_workers
      Src: /src/httpd/modules/http2/h2_mplx.c:326,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_mplx.c:328,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/http2/h2_mplx.c:329,1
    - Dst: mplx_pollset_create
      Src: /src/httpd/modules/http2/h2_mplx.c:331,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:333,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:333,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_mplx.c:337,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_mplx.c:338,1
    - Dst: h2_iq_create
      Src: /src/httpd/modules/http2/h2_mplx.c:340,1
    - Dst: h2_iq_create
      Src: /src/httpd/modules/http2/h2_mplx.c:341,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/http2/h2_mplx.c:342,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:346,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/http2/h2_mplx.c:348,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_mplx.c:352,1
    - Dst: h2_workers_register
      Src: /src/httpd/modules/http2/h2_mplx.c:355,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_mplx.c:356,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:364,1
    - Dst: apr_allocator_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:367,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 6
    argNames:
    - child_num
    - id
    - stream0
    - s
    - parent
    - workers
    argTypes:
    - int
    - apr_uint32_t
    - h2_stream*
    - server_rec*
    - apr_pool_t*
    - h2_workers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 370
    functionName: h2_mplx_c1_create
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - apr_pollset_add
    - apr_time_now
    - h2_workers_get_max_workers
    - h2_iq_create
    - apr_allocator_mutex_set
    - h2_config_sgeti
    - ap_log_cerror
    - apr_allocator_create
    - apr_time_from_msec
    - apr_pool_create_ex
    - apr_psprintf
    - apr_allocator_destroy
    - mplx_pollset_create
    - apr_pool_destroy
    - h2_ihash_create
    - apr_thread_mutex_create
    - h2_conn_ctx_get
    - apr_pcalloc
    - apr_allocator_owner_set
    - APLOGNO
    - apr_pool_tag
    - h2_workers_register
    - apr_allocator_max_free_set
    - H2MIN
    - apr_array_make
    linkageType: ''
    returnType: h2_mplx
    signature: "h2_mplx *h2_mplx_c1_create(int child_num, apr_uint32_t id, h2_stream
      *stream0,\n                           server_rec *s, apr_pool_t *parent,\n                           h2_workers
      *workers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:376,1
    - Dst: h2_iq_clear
      Src: /src/httpd/modules/http2/h2_mplx.c:380,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: h2_mplx_c1_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER
    - h2_iq_clear
    linkageType: ''
    returnType: int
    signature: int h2_mplx_c1_shutdown(h2_mplx *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_iter_ctx_t*::cb
      Src: /src/httpd/modules/http2/h2_mplx.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: m_stream_iter_wrap
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - stream_iter_ctx_t*::cb
    linkageType: ''
    returnType: int
    signature: int m_stream_iter_wrap(void *ctx, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:404,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:406,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - m
    - cb
    - ctx
    argTypes:
    - h2_mplx*
    - h2_mplx_stream_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: h2_mplx_c1_streams_do
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER
    - h2_ihash_iter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_mplx_c1_streams_do(h2_mplx *m, h2_mplx_stream_cb *cb,
      void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream_wants_send_data
      Src: /src/httpd/modules/http2/h2_mplx.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stream
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: m_stream_want_send_data
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_stream_wants_send_data
    linkageType: ''
    returnType: int
    signature: int m_stream_want_send_data(void *ctx, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:432,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:433,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: h2_mplx_c1_all_streams_want_send_data
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER
    - h2_ihash_iter
    linkageType: ''
    returnType: int
    signature: int h2_mplx_c1_all_streams_want_send_data(h2_mplx *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/httpd/modules/http2/h2_mplx.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: m_stream_send_win_exh
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_remote_window_size
    linkageType: ''
    returnType: int
    signature: int m_stream_send_win_exh(void *ctx, void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:455,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:456,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 459
    functionName: h2_mplx_c1_all_streams_send_win_exhausted
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER
    - h2_ihash_iter
    linkageType: ''
    returnType: int
    signature: int h2_mplx_c1_all_streams_send_win_exhausted(h2_mplx *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:464,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:465,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:466,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_mplx.c:467,1
    - Dst: h2_beam_get_buffered
      Src: /src/httpd/modules/http2/h2_mplx.c:468,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:470,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:471,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/http2/h2_mplx.c:475,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/http2/h2_mplx.c:476,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:479,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 483
    functionName: m_report_stream_iter
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_ready
    - h2_conn_ctx_get
    - apr_atomic_read32
    - ap_log_cerror
    - H2_STRM_MSG
    - h2_beam_get_buffered
    linkageType: ''
    returnType: int
    signature: int m_report_stream_iter(void *ctx, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:488,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:489,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_mplx.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: m_unexpected_stream_iter
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_ready
    - ap_log_cerror
    - H2_STRM_MSG
    linkageType: ''
    returnType: int
    signature: int m_unexpected_stream_iter(void *ctx, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_stream_set_monitor
      Src: /src/httpd/modules/http2/h2_mplx.c:499,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_mplx.c:501,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_mplx.c:503,1
    - Dst: m_stream_cleanup
      Src: /src/httpd/modules/http2/h2_mplx.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: m_stream_cancel_iter
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - m_stream_cleanup
    - h2_stream_rst
    - h2_stream_set_monitor
    - h2_stream_dispatch
    linkageType: ''
    returnType: int
    signature: int m_stream_cancel_iter(void *ctx, void *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:516,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:517,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:522,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:532,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:533,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:534,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:535,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:537,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:542,1
    - Dst: h2_ihash_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:542,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:543,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:543,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/modules/http2/h2_mplx.c:550,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:553,1
    - Dst: apr_thread_cond_timedwait
      Src: /src/httpd/modules/http2/h2_mplx.c:554,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/http2/h2_mplx.c:554,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_mplx.c:556,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:559,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:559,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:560,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:561,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:562,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:566,1
    - Dst: h2_workers_join
      Src: /src/httpd/modules/http2/h2_mplx.c:567,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:568,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:571,1
    - Dst: h2_ihash_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:572,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:573,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:573,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:574,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:575,1
    - Dst: h2_ihash_iter
      Src: /src/httpd/modules/http2/h2_mplx.c:576,1
    - Dst: c1_purge_streams
      Src: /src/httpd/modules/http2/h2_mplx.c:579,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:582,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:584,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 586
    functionName: h2_mplx_c1_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - h2_ihash_empty
    - apr_time_from_sec
    - ap_log_cerror
    - h2_ihash_count
    - APLOGNO
    - H2_MPLX_ENTER_ALWAYS
    - h2_ihash_iter
    - apr_thread_cond_timedwait
    - apr_thread_cond_create
    - h2_iq_empty
    - APR_STATUS_IS_TIMEUP
    - h2_workers_join
    - H2_MPLX_MSG
    - H2_MPLX_LEAVE
    - ap_assert
    - c1_purge_streams
    linkageType: ''
    returnType: void
    signature: void h2_mplx_c1_destroy(h2_mplx *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:591,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:593,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:594,1
    - Dst: m_stream_cleanup
      Src: /src/httpd/modules/http2/h2_mplx.c:595,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:596,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - m
    - stream
    - pstream_count
    argTypes:
    - h2_mplx*
    - h2_stream*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: h2_mplx_c1_stream_cleanup
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - ap_log_cerror
    - h2_ihash_count
    - H2_STRM_MSG
    - H2_MPLX_ENTER
    - H2_MPLX_LEAVE
    - m_stream_cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_mplx_c1_stream_cleanup(h2_mplx *m, h2_stream *stream,\n
      \                                      unsigned int *pstream_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:605,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:606,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - m
    - stream_id
    argTypes:
    - h2_mplx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: h2_mplx_c2_stream_get
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 2
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER_ALWAYS
    - h2_ihash_get
    linkageType: ''
    returnType: h2_stream
    signature: h2_stream *h2_mplx_c2_stream_get(h2_mplx *m, int stream_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_mplx.c:619,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:620,1
    - Dst: h2_beam_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:623,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:628,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:632,1
    - Dst: h2_c2_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:634,1
    - Dst: c2_transit_recycle
      Src: /src/httpd/modules/http2/h2_mplx.c:636,1
    - Dst: h2_stream_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:639,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/http2/h2_mplx.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 642
    functionName: c1_purge_streams
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - h2_conn_ctx_get
    - APR_ARRAY_IDX
    - apr_array_clear
    - h2_beam_destroy
    - c2_transit_recycle
    - h2_stream_destroy
    - h2_c2_destroy
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void c1_purge_streams(h2_mplx *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:646,1
    - Dst: c1_purge_streams
      Src: /src/httpd/modules/http2/h2_mplx.c:648,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: h2_mplx_c1_going_keepalive
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER_ALWAYS
    - c1_purge_streams
    linkageType: ''
    returnType: void
    signature: void h2_mplx_c1_going_keepalive(h2_mplx *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:660,1
    - Dst: c1_purge_streams
      Src: /src/httpd/modules/http2/h2_mplx.c:673,1
    - Dst: mplx_pollset_poll
      Src: /src/httpd/modules/http2/h2_mplx.c:675,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - m
    - timeout
    - on_stream_input
    - on_stream_output
    - on_ctx
    argTypes:
    - h2_mplx*
    - apr_interval_time_t
    - stream_ev_callback*
    - stream_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 680
    functionName: h2_mplx_c1_poll
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2_MPLX_LEAVE
    - H2_MPLX_ENTER
    - mplx_pollset_poll
    - c1_purge_streams
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_mplx_c1_poll(h2_mplx *m, apr_interval_time_t timeout,\n
      \                           stream_ev_callback *on_stream_input,\n                            stream_ev_callback
      *on_stream_output,\n                            void *on_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER
      Src: /src/httpd/modules/http2/h2_mplx.c:687,1
    - Dst: h2_iq_sort
      Src: /src/httpd/modules/http2/h2_mplx.c:693,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:694,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:695,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - m
    - cmp
    - session
    argTypes:
    - h2_mplx*
    - h2_stream_pri_cmp_fn*
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: h2_mplx_c1_reprioritize
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - ap_log_cerror
    - H2_MPLX_ENTER
    - H2_MPLX_LEAVE
    - H2_MPLX_MSG
    - h2_iq_sort
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_mplx_c1_reprioritize(h2_mplx *m, h2_stream_pri_cmp_fn
      *cmp,\n                                    h2_session *session)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APLOGctrace1
      Src: /src/httpd/modules/http2/h2_mplx.c:718,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:720,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:721,1
    - Dst: h2_ihash_add
      Src: /src/httpd/modules/http2/h2_mplx.c:730,1
    - Dst: h2_stream_is_ready
      Src: /src/httpd/modules/http2/h2_mplx.c:731,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:733,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:734,1
    - Dst: h2_stream_prepare_processing
      Src: /src/httpd/modules/http2/h2_mplx.c:739,1
    - Dst: h2_iq_add
      Src: /src/httpd/modules/http2/h2_mplx.c:741,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:742,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - m
    - stream
    - cmp
    - session
    argTypes:
    - h2_mplx*
    - h2_stream*
    - h2_stream_pri_cmp_fn*
    - h2_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 748
    functionName: c1_process_stream
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_stream_is_ready
    - ap_log_cerror
    - h2_stream_prepare_processing
    - H2_STRM_MSG
    - h2_ihash_add
    - h2_iq_add
    - APLOGctrace1
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t c1_process_stream(h2_mplx *m,\n                                      h2_stream
      *stream,\n                                      h2_stream_pri_cmp_fn *cmp,\n
      \                                     h2_session *session)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:760,1
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_mplx.c:762,1
    - Dst: get_stream
      Src: /src/httpd/modules/http2/h2_mplx.c:763,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:765,1
    - Dst: c1_process_stream
      Src: /src/httpd/modules/http2/h2_mplx.c:766,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_mplx.c:768,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:772,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:773,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:776,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:777,1
    - Dst: h2_workers_activate
      Src: /src/httpd/modules/http2/h2_mplx.c:778,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:779,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:781,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:781,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:782,1
    - Dst: h2_ihash_count
      Src: /src/httpd/modules/http2/h2_mplx.c:785,1
    - Dst: apr_pool_num_bytes
      Src: /src/httpd/modules/http2/h2_mplx.c:791,1
    - Dst: apr_pool_num_bytes
      Src: /src/httpd/modules/http2/h2_mplx.c:792,1
    - Dst: apr_pool_num_bytes
      Src: /src/httpd/modules/http2/h2_mplx.c:793,1
    - Dst: apr_pool_num_bytes
      Src: /src/httpd/modules/http2/h2_mplx.c:794,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:795,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:796,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - m
    - ready_to_process
    - get_stream
    - stream_pri_cmp
    - session
    - pstream_count
    argTypes:
    - h2_mplx*
    - h2_iqueue*
    - h2_stream_get_fn*
    - h2_stream_pri_cmp_fn*
    - h2_session*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 750
    functionDepth: 5
    functionLinenumber: 750
    functionLinenumberEnd: 803
    functionName: h2_mplx_c1_process
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - h2_stream_rst
    - c1_process_stream
    - ap_log_cerror
    - APLOGNO
    - h2_iq_shift
    - H2_MPLX_ENTER_ALWAYS
    - get_stream
    - h2_ihash_count
    - h2_workers_activate
    - apr_pool_num_bytes
    - h2_iq_empty
    - H2_MPLX_MSG
    - H2_MPLX_LEAVE
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void h2_mplx_c1_process(h2_mplx *m,\n                        h2_iqueue
      *ready_to_process,\n                        h2_stream_get_fn *get_stream,\n
      \                       h2_stream_pri_cmp_fn *stream_pri_cmp,\n                        h2_session
      *session,\n                        unsigned int *pstream_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:808,1
    - Dst: apr_file_putc
      Src: /src/httpd/modules/http2/h2_mplx.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - beam
    argTypes:
    - void*
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 814
    functionName: c2_beam_input_write_notify
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - apr_file_putc
    linkageType: ''
    returnType: void
    signature: void c2_beam_input_write_notify(void *ctx, h2_bucket_beam *beam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_mplx.c:818,1
    - Dst: h2_iq_append
      Src: /src/httpd/modules/http2/h2_mplx.c:819,1
    - Dst: h2_iq_count
      Src: /src/httpd/modules/http2/h2_mplx.c:819,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/modules/http2/h2_mplx.c:821,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_mplx.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - m
    - stream_id
    - q
    argTypes:
    - h2_mplx*
    - int
    - h2_iqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 3
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: add_stream_poll_event
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - h2_iq_append
    - apr_pollset_wakeup
    - h2_iq_count
    linkageType: ''
    returnType: void
    signature: void add_stream_poll_event(h2_mplx *m, int stream_id, h2_iqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:829,1
    - Dst: add_stream_poll_event
      Src: /src/httpd/modules/http2/h2_mplx.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - beam
    argTypes:
    - void*
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 826
    functionDepth: 4
    functionLinenumber: 826
    functionLinenumberEnd: 835
    functionName: c2_beam_input_read_notify
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - add_stream_poll_event
    linkageType: ''
    returnType: void
    signature: void c2_beam_input_read_notify(void *ctx, h2_bucket_beam *beam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:840,1
    - Dst: h2_util_drain_pipe
      Src: /src/httpd/modules/http2/h2_mplx.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - beam
    argTypes:
    - void*
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: c2_beam_input_read_eagain
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_util_drain_pipe
    - h2_conn_ctx_get
    linkageType: ''
    returnType: void
    signature: void c2_beam_input_read_eagain(void *ctx, h2_bucket_beam *beam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:853,1
    - Dst: add_stream_poll_event
      Src: /src/httpd/modules/http2/h2_mplx.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - beam
    argTypes:
    - void*
    - h2_bucket_beam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 4
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: c2_beam_output_write_notify
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - add_stream_poll_event
    linkageType: ''
    returnType: void
    signature: void c2_beam_output_write_notify(void *ctx, h2_bucket_beam *beam)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_init_for_c2
      Src: /src/httpd/modules/http2/h2_mplx.c:867,1
    - Dst: h2_beam_create
      Src: /src/httpd/modules/http2/h2_mplx.c:872,1
    - Dst: h2_beam_buffer_size_set
      Src: /src/httpd/modules/http2/h2_mplx.c:876,1
    - Dst: h2_beam_on_was_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:877,1
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_mplx.c:880,1
    - Dst: apr_file_pipe_create_pools
      Src: /src/httpd/modules/http2/h2_mplx.c:885,1
    - Dst: h2_beam_on_send
      Src: /src/httpd/modules/http2/h2_mplx.c:891,1
    - Dst: h2_beam_on_received
      Src: /src/httpd/modules/http2/h2_mplx.c:892,1
    - Dst: h2_beam_on_consumed
      Src: /src/httpd/modules/http2/h2_mplx.c:893,1
    - Dst: h2_beam_on_eagain
      Src: /src/httpd/modules/http2/h2_mplx.c:894,1
    - Dst: h2_beam_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:895,1
    - Dst: c2_beam_input_write_notify
      Src: /src/httpd/modules/http2/h2_mplx.c:896,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:902,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_mplx.c:903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:903,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - m
    - c2
    - stream
    - transit
    argTypes:
    - h2_mplx*
    - conn_rec*
    - h2_stream*
    - h2_c2_transit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 907
    functionName: c2_setup_io
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_beam_on_send
    - h2_beam_buffer_size_set
    - h2_beam_on_eagain
    - memset
    - h2_beam_create
    - h2_beam_empty
    - ap_log_cerror
    - c2_beam_input_write_notify
    - APLOGNO
    - H2_STRM_LOG
    - h2_conn_ctx_init_for_c2
    - apr_file_pipe_create_pools
    - h2_beam_on_received
    - h2_beam_on_consumed
    - h2_beam_on_was_empty
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t c2_setup_io(h2_mplx *m, conn_rec *c2, h2_stream *stream,
      h2_c2_transit *transit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_mplx.c:918,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:919,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:923,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:924,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:925,1
    - Dst: c2_transit_get
      Src: /src/httpd/modules/http2/h2_mplx.c:936,1
    - Dst: ap_create_secondary_connection
      Src: /src/httpd/modules/http2/h2_mplx.c:938,1
    - Dst: h2_c2_create
      Src: /src/httpd/modules/http2/h2_mplx.c:940,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:943,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:944,1
    - Dst: c2_setup_io
      Src: /src/httpd/modules/http2/h2_mplx.c:946,1
    - Dst: h2_c2_destroy
      Src: /src/httpd/modules/http2/h2_mplx.c:954,1
    - Dst: c2_transit_recycle
      Src: /src/httpd/modules/http2/h2_mplx.c:958,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 909
    functionDepth: 4
    functionLinenumber: 909
    functionLinenumberEnd: 961
    functionName: s_next_c2
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - h2_c2_create
    - c2_setup_io
    - ap_log_cerror
    - h2_iq_shift
    - h2_ihash_get
    - H2_STRM_MSG
    - h2_iq_empty
    - c2_transit_recycle
    - H2_MPLX_MSG
    - c2_transit_get
    - ap_create_secondary_connection
    - h2_c2_destroy
    linkageType: ''
    returnType: conn_rec
    signature: conn_rec *s_next_c2(h2_mplx *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:968,1
    - Dst: s_next_c2
      Src: /src/httpd/modules/http2/h2_mplx.c:970,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:971,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - baton
    - phas_more
    argTypes:
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 963
    functionDepth: 5
    functionLinenumber: 963
    functionLinenumberEnd: 975
    functionName: c2_prod_next
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - H2_MPLX_LEAVE
    - s_next_c2
    - H2_MPLX_ENTER_ALWAYS
    - h2_iq_empty
    linkageType: ''
    returnType: conn_rec
    signature: conn_rec *c2_prod_next(void *baton, int *phas_more)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:981,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:982,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_mplx.c:985,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/http2/h2_mplx.c:985,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/http2/h2_mplx.c:986,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_mplx.c:987,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_mplx.c:992,1
    - Dst: ap_set_time_process_request
      Src: /src/httpd/modules/http2/h2_mplx.c:993,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:995,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1001,1
    - Dst: h2_beam_abort
      Src: /src/httpd/modules/http2/h2_mplx.c:1006,1
    - Dst: h2_beam_is_complete
      Src: /src/httpd/modules/http2/h2_mplx.c:1008,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1009,1
    - Dst: h2_beam_abort
      Src: /src/httpd/modules/http2/h2_mplx.c:1013,1
    - Dst: s_mplx_be_happy
      Src: /src/httpd/modules/http2/h2_mplx.c:1016,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1019,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1023,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1024,1
    - Dst: c2_beam_output_write_notify
      Src: /src/httpd/modules/http2/h2_mplx.c:1025,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1027,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1029,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1030,1
    - Dst: c1c2_stream_joined
      Src: /src/httpd/modules/http2/h2_mplx.c:1031,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_mplx.c:1037,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1039,1
    - Dst: H2_STRM_LOG
      Src: /src/httpd/modules/http2/h2_mplx.c:1040,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:1040,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:1041,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1046,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:1046,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:1049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - m
    - c2
    - conn_ctx
    argTypes:
    - h2_mplx*
    - conn_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 1051
    functionName: s_c2_done
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - c1c2_stream_joined
    - h2_beam_is_complete
    - apr_atomic_read32
    - apr_time_now
    - ap_log_cerror
    - APR_ARRAY_IDX
    - apr_atomic_set32
    - c2_beam_output_write_notify
    - AP_DEBUG_ASSERT
    - h2_beam_abort
    - H2_STRM_LOG
    - h2_ihash_get
    - APLOGNO
    - H2_STRM_MSG
    - AP_MODULE_MAGIC_AT_LEAST
    - s_mplx_be_happy
    - ap_assert
    - ap_set_time_process_request
    linkageType: ''
    returnType: void
    signature: void s_c2_done(h2_mplx *m, conn_rec *c2, h2_conn_ctx_t *conn_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1056,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_mplx.c:1058,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:1059,1
    - Dst: s_c2_done
      Src: /src/httpd/modules/http2/h2_mplx.c:1062,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/modules/http2/h2_mplx.c:1063,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - baton
    - c2
    argTypes:
    - void*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1053
    functionDepth: 6
    functionLinenumber: 1053
    functionLinenumberEnd: 1066
    functionName: c2_prod_done
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - s_c2_done
    - h2_conn_ctx_get
    - AP_DEBUG_ASSERT
    - H2_MPLX_ENTER_ALWAYS
    - H2_MPLX_LEAVE
    - apr_thread_cond_signal
    linkageType: ''
    returnType: void
    signature: void c2_prod_done(void *baton, conn_rec *c2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_mplx.c:1072,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1074,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1075,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/modules/http2/h2_mplx.c:1080,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_mplx.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - baton
    - graceful
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: workers_shutdown
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_lock
    - ap_log_cerror
    - apr_thread_mutex_unlock
    - apr_pollset_wakeup
    - H2_MPLX_MSG
    linkageType: ''
    returnType: void
    signature: void workers_shutdown(void *baton, int graceful)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_mplx.c:1096,1
    - Dst: H2MIN
      Src: /src/httpd/modules/http2/h2_mplx.c:1098,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1101,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - m
    - c
    - conn_ctx
    argTypes:
    - h2_mplx*
    - conn_rec*
    - h2_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1107
    functionName: s_mplx_be_happy
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - H2MIN
    - apr_time_now
    - ap_log_cerror
    - H2_MPLX_MSG
    linkageType: ''
    returnType: void
    signature: void s_mplx_be_happy(h2_mplx *m, conn_rec *c, h2_conn_ctx_t *conn_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/http2/h2_mplx.c:1115,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1132,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1138
    functionName: m_be_annoyed
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_log_cerror
    - H2_MPLX_MSG
    linkageType: ''
    returnType: void
    signature: void m_be_annoyed(h2_mplx *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stream_is_running
      Src: /src/httpd/modules/http2/h2_mplx.c:1160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1165
    functionName: reset_is_acceptable
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 0
    functionsReached:
    - stream_is_running
    linkageType: ''
    returnType: int
    signature: int reset_is_acceptable(h2_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:1172,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1173,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1177,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1178,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_mplx.c:1179,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1184,1
    - Dst: H2_STRM_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1185,1
    - Dst: h2_stream_set_monitor
      Src: /src/httpd/modules/http2/h2_mplx.c:1186,1
    - Dst: h2_stream_rst
      Src: /src/httpd/modules/http2/h2_mplx.c:1187,1
    - Dst: h2_stream_dispatch
      Src: /src/httpd/modules/http2/h2_mplx.c:1188,1
    - Dst: m_stream_cleanup
      Src: /src/httpd/modules/http2/h2_mplx.c:1189,1
    - Dst: m_be_annoyed
      Src: /src/httpd/modules/http2/h2_mplx.c:1190,1
    - Dst: reset_is_acceptable
      Src: /src/httpd/modules/http2/h2_mplx.c:1192,1
    - Dst: m_be_annoyed
      Src: /src/httpd/modules/http2/h2_mplx.c:1193,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:1195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - m
    - stream_id
    - stream
    argTypes:
    - h2_mplx*
    - int
    - h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1167
    functionDepth: 4
    functionLinenumber: 1167
    functionLinenumberEnd: 1197
    functionName: h2_mplx_c1_client_rst
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 3
    functionsReached:
    - h2_stream_rst
    - ap_log_cerror
    - h2_stream_dispatch
    - AP_DEBUG_ASSERT
    - reset_is_acceptable
    - H2_MPLX_ENTER_ALWAYS
    - h2_ihash_get
    - h2_stream_set_monitor
    - H2_STRM_MSG
    - m_be_annoyed
    - H2_MPLX_MSG
    - H2_MPLX_LEAVE
    - m_stream_cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_mplx_c1_client_rst(h2_mplx *m, int stream_id, h2_stream
      *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_create
      Src: /src/httpd/modules/http2/h2_mplx.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - h2_mplx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1204
    functionName: mplx_pollset_create
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - apr_pollset_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mplx_pollset_create(h2_mplx *m)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_mplx.c:1218,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1221,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1222,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/http2/h2_mplx.c:1223,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/http2/h2_mplx.c:1225,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/http2/h2_mplx.c:1226,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/http2/h2_mplx.c:1230,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:1231,1
    - Dst: h2_iq_empty
      Src: /src/httpd/modules/http2/h2_mplx.c:1232,1
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_mplx.c:1233,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1234,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_mplx.c:1236,1
    - Dst: h2_iq_shift
      Src: /src/httpd/modules/http2/h2_mplx.c:1239,1
    - Dst: h2_ihash_get
      Src: /src/httpd/modules/http2/h2_mplx.c:1240,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_mplx.c:1242,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_mplx.c:1247,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/http2/h2_mplx.c:1250,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:1252,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/modules/http2/h2_mplx.c:1253,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:1254,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/http2/h2_mplx.c:1255,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/http2/h2_mplx.c:1261,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/http2/h2_mplx.c:1264,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1265,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1266,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_mplx.c:1269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_mplx.c:1269,1
    - Dst: H2_MPLX_MSG
      Src: /src/httpd/modules/http2/h2_mplx.c:1270,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_mplx.c:1279,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_mplx.c:1282,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:1289,1
    - Dst: on_stream_input
      Src: /src/httpd/modules/http2/h2_mplx.c:1291,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_mplx.c:1291,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:1293,1
    - Dst: H2_MPLX_LEAVE
      Src: /src/httpd/modules/http2/h2_mplx.c:1296,1
    - Dst: on_stream_output
      Src: /src/httpd/modules/http2/h2_mplx.c:1298,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_mplx.c:1298,1
    - Dst: H2_MPLX_ENTER_ALWAYS
      Src: /src/httpd/modules/http2/h2_mplx.c:1300,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 5
    argNames:
    - m
    - timeout
    - on_stream_input
    - on_stream_output
    - on_ctx
    argTypes:
    - h2_mplx*
    - apr_interval_time_t
    - stream_ev_callback*
    - stream_ev_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1206
    functionDepth: 9
    functionLinenumber: 1206
    functionLinenumberEnd: 1308
    functionName: mplx_pollset_poll
    functionSourceFile: /src/httpd/modules/http2/h2_mplx.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_unlock
    - apr_array_clear
    - H2_MPLX_ENTER_ALWAYS
    - apr_pollset_poll
    - APR_STATUS_IS_TIMEUP
    - on_stream_input
    - ap_log_cerror
    - h2_iq_empty
    - H2_MPLX_MSG
    - H2_MPLX_LEAVE
    - apr_time_sec
    - APR_ARRAY_IDX
    - h2_ihash_get
    - on_stream_output
    - ap_assert
    - apr_thread_mutex_lock
    - APR_ARRAY_PUSH
    - APR_STATUS_IS_EINTR
    - APLOGNO
    - h2_iq_shift
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mplx_pollset_poll(h2_mplx *m, apr_interval_time_t timeout,\n
      \                           stream_ev_callback *on_stream_input,\n                            stream_ev_callback
      *on_stream_output,\n                            void *on_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:59,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:60,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:61,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:63,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:74,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:76,1
    - Dst: h2_config_rgeti
      Src: /src/httpd/modules/http2/h2_c2_filter.c:82,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_c2_filter.c:83,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:85,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:87,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 93
    functionName: h2_c2_filter_notes_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - h2_config_sgeti
    - ap_log_cerror
    - h2_config_rgeti
    - apr_table_setn
    - AP_BUCKET_IS_RESPONSE
    - apr_table_get
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_filter_notes_out(ap_filter_t *f, apr_bucket_brigade
      *bb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:106,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/http2/h2_c2_filter.c:110,1
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:112,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2_filter.c:117,1
    - Dst: h2_ws_rewrite_request
      Src: /src/httpd/modules/http2/h2_c2_filter.c:118,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:123,1
    - Dst: h2_request_create_bucket
      Src: /src/httpd/modules/http2/h2_c2_filter.c:126,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:127,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:131,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:134,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:136,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:141,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:142,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 149
    functionName: h2_c2_filter_request_in
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - h2_conn_ctx_get
    - strcmp
    - ap_log_cerror
    - h2_ws_rewrite_request
    - apr_bucket_eos_create
    - ap_bucket_error_create
    - APR_BRIGADE_INSERT_TAIL
    - h2_request_create_bucket
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_c2_filter_request_in(ap_filter_t *f,\n                                     apr_bucket_brigade
      *bb,\n                                     ap_input_mode_t mode,\n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - name
    - ','
    - c
    - ','
    - level
    - ','
    - rv
    - ','
    - msg
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: H2_FILTER_LOG
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FILTER_LOG(name, c, level, rv, msg, bb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:183,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http2/h2_c2_filter.c:188,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/http2/h2_c2_filter.c:195,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_c2_filter.c:207,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http2/h2_c2_filter.c:212,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - d
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 217
    functionName: uniq_field_values
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_pstrdup
    - apr_isspace
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int uniq_field_values(void *d, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_c2_filter.c:228,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_c2_filter.c:234,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:239,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http2/h2_c2_filter.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: fix_vary
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_table_setn
    - apr_array_make
    - apr_array_pstrcat
    linkageType: ''
    returnType: void
    signature: void fix_vary(request_rec *r)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_c2_filter.c:254,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http2/h2_c2_filter.c:255,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http2/h2_c2_filter.c:257,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:265,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:266,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/http2/h2_c2_filter.c:267,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:268,1
    - Dst: fix_vary
      Src: /src/httpd/modules/http2/h2_c2_filter.c:271,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:278,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:279,1
    - Dst: ap_set_keepalive
      Src: /src/httpd/modules/http2/h2_c2_filter.c:283,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:285,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:286,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:287,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/http2/h2_c2_filter.c:293,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:294,1
    - Dst: ap_make_content_type
      Src: /src/httpd/modules/http2/h2_c2_filter.c:297,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:299,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:303,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/http2/h2_c2_filter.c:307,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:310,1
    - Dst: ap_get_list_item
      Src: /src/httpd/modules/http2/h2_c2_filter.c:312,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_c2_filter.c:315,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/http2/h2_c2_filter.c:319,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/http2/h2_c2_filter.c:323,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:324,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:331,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http2/h2_c2_filter.c:332,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/modules/http2/h2_c2_filter.c:333,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_c2_filter.c:334,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:350,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2_filter.c:351,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_c2_filter.c:352,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:360,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http2/h2_c2_filter.c:361,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/modules/http2/h2_c2_filter.c:362,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:363,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:366,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/http2/h2_c2_filter.c:367,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2_filter.c:369,1
    - Dst: h2_headers_rcreate
      Src: /src/httpd/modules/http2/h2_c2_filter.c:373,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 374
    functionName: create_response
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_table_add
    - apr_array_push
    - fix_vary
    - ap_get_list_item
    - ap_cstr_casecmp
    - h2_headers_rcreate
    - apr_table_clear
    - apr_table_get
    - strcmp
    - AP_STATUS_IS_HEADER_ONLY
    - ap_make_content_type
    - apr_array_pstrcat
    - ap_recent_rfc822_date
    - apr_table_mergen
    - apr_palloc
    - apr_table_setn
    - ap_get_server_banner
    - apr_table_unset
    - apr_table_overlay
    - apr_is_empty_table
    - HTTP_VERSION
    - ap_set_keepalive
    linkageType: ''
    returnType: h2_headers
    signature: h2_headers *create_response(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_pop
      Src: /src/httpd/modules/http2/h2_c2_filter.c:403,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_c2_filter.c:408,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:412,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/http2/h2_c2_filter.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - parser
    - line
    argTypes:
    - h2_response_parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 416
    functionName: parse_header
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - APR_ARRAY_PUSH
    - apr_array_pop
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t parse_header(h2_response_parser *parser, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:424,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/http2/h2_c2_filter.c:426,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/http2/h2_c2_filter.c:430,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2_filter.c:438,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:441,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:442,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http2/h2_c2_filter.c:461,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:463,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:463,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:469,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:473,1
    - Dst: ap_save_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:485,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:487,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - parser
    - bb
    - line
    - len
    argTypes:
    - h2_response_parser*
    - apr_bucket_brigade*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 494
    functionName: get_line
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 1
    functionsReached:
    - strcmp
    - apr_brigade_split_line
    - ap_log_cerror
    - APLOGNO
    - apr_brigade_create
    - apr_brigade_flatten
    - ap_save_brigade
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_CONCAT
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_line(h2_response_parser *parser, apr_bucket_brigade
      *bb,\n                             char *line, apr_size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_c2_filter.c:500,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/http2/h2_c2_filter.c:505,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:507,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:508,1
    - Dst: h2_util_ignore_resp_header
      Src: /src/httpd/modules/http2/h2_c2_filter.c:518,1
    - Dst: apr_table_merge
      Src: /src/httpd/modules/http2/h2_c2_filter.c:519,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_c2_filter.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - parser
    argTypes:
    - h2_response_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 527
    functionName: make_table
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - ap_log_cerror
    - APLOGNO
    - h2_util_ignore_resp_header
    - apr_table_merge
    - apr_table_make
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *make_table(h2_response_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:534,1
    - Dst: make_table
      Src: /src/httpd/modules/http2/h2_c2_filter.c:535,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:538,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:539,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:540,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:541,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:542,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:543,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:544,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/http2/h2_c2_filter.c:548,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:553,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - conn_ctx
    - f
    - parser
    argTypes:
    - h2_conn_ctx_t*
    - ap_filter_t*
    - h2_response_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 557
    functionName: pass_response
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_cerror
    - h2_headers_create
    - apr_array_clear
    - APLOGNO
    - apr_bucket_flush_create
    - h2_bucket_headers_create
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    - make_table
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t pass_response(h2_conn_ctx_t *conn_ctx, ap_filter_t *f,\n
      \                                 h2_response_parser *parser)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_date_checkmask
      Src: /src/httpd/modules/http2/h2_c2_filter.c:561,1
    - Dst: apr_date_checkmask
      Src: /src/httpd/modules/http2/h2_c2_filter.c:562,1
    - Dst: atoi
      Src: /src/httpd/modules/http2/h2_c2_filter.c:567,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:580,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - parser
    - line
    argTypes:
    - h2_response_parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: parse_status
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - atoi
    - apr_date_checkmask
    - APLOGNO
    - ap_log_cerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t parse_status(h2_response_parser *parser, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:593,1
    - Dst: get_line
      Src: /src/httpd/modules/http2/h2_c2_filter.c:597,1
    - Dst: parse_status
      Src: /src/httpd/modules/http2/h2_c2_filter.c:607,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:611,1
    - Dst: pass_response
      Src: /src/httpd/modules/http2/h2_c2_filter.c:613,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:616,1
    - Dst: parse_header
      Src: /src/httpd/modules/http2/h2_c2_filter.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - parser
    - conn_ctx
    - f
    - bb
    argTypes:
    - h2_response_parser*
    - h2_conn_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 627
    functionName: parse_response
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - get_line
    - ap_log_cerror
    - parse_status
    - APR_BRIGADE_EMPTY
    - pass_response
    - parse_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t parse_response(h2_response_parser *parser,\n                                   h2_conn_ctx_t
      *conn_ctx,\n                                   ap_filter_t* f, apr_bucket_brigade
      *bb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:631,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2_filter.c:635,1
    - Dst: H2_FILTER_LOG
      Src: /src/httpd/modules/http2/h2_c2_filter.c:636,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_c2_filter.c:640,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_c2_filter.c:641,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_c2_filter.c:645,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:649,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:650,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/http2/h2_c2_filter.c:651,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/http2/h2_c2_filter.c:656,1
    - Dst: h2_create_request_rec
      Src: /src/httpd/modules/http2/h2_c2_filter.c:658,1
    - Dst: ap_die
      Src: /src/httpd/modules/http2/h2_c2_filter.c:660,1
    - Dst: ap_bucket_eor_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:661,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:662,1
    - Dst: parse_response
      Src: /src/httpd/modules/http2/h2_c2_filter.c:669,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:670,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:672,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 679
    functionName: h2_c2_filter_catch_h1_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - h2_conn_ctx_get
    - APR_BRIGADE_INSERT_TAIL
    - ap_pass_brigade
    - apr_pcalloc
    - H2_FILTER_LOG
    - ap_die
    - ap_log_cerror
    - parse_response
    - ap_map_http_request_error
    - h2_create_request_rec
    - apr_psprintf
    - APR_BRIGADE_EMPTY
    - ap_assert
    - ap_bucket_eor_create
    - apr_array_make
    - AP_BUCKET_IS_EOR
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_filter_catch_h1_out(ap_filter_t* f, apr_bucket_brigade*
      bb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:683,1
    - Dst: H2_FILTER_LOG
      Src: /src/httpd/modules/http2/h2_c2_filter.c:690,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:693,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:699,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:700,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:701,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/http2/h2_c2_filter.c:703,1
    - Dst: AP_BUCKET_IS_EOC
      Src: /src/httpd/modules/http2/h2_c2_filter.c:706,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http2/h2_c2_filter.c:710,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:711,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:713,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:715,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/http2/h2_c2_filter.c:718,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:726,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:726,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/http2/h2_c2_filter.c:731,1
    - Dst: ap_die
      Src: /src/httpd/modules/http2/h2_c2_filter.c:732,1
    - Dst: create_response
      Src: /src/httpd/modules/http2/h2_c2_filter.c:739,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:741,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:741,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:746,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:748,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/http2/h2_c2_filter.c:751,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/httpd/modules/http2/h2_c2_filter.c:755,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:759,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:760,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:762,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:763,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:764,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:765,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/http2/h2_c2_filter.c:765,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:768,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:769,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:770,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http2/h2_c2_filter.c:777,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:779,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 681
    functionDepth: 5
    functionLinenumber: 681
    functionLinenumberEnd: 780
    functionName: h2_c2_filter_response_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - H2_FILTER_LOG
    - APR_BRIGADE_INSERT_HEAD
    - AP_BUCKET_IS_EOR
    - apr_bucket_destroy
    - H2_BUCKET_IS_HEADERS
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_REMOVE
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - AP_STATUS_IS_HEADER_ONLY
    - ap_die
    - AP_BUCKET_IS_EOC
    - apr_brigade_cleanup
    - h2_bucket_headers_create
    - ap_remove_output_filter
    - ap_remove_output_filter_byhandle
    - h2_conn_ctx_get
    - AP_BUCKET_IS_ERROR
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BRIGADE_SENTINEL
    - create_response
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_filter_response_out(ap_filter_t *f, apr_bucket_brigade
      *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/http2/h2_c2_filter.c:803,1
    - Dst: H2_ALEN
      Src: /src/httpd/modules/http2/h2_c2_filter.c:803,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:805,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:806,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:807,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:809,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:812,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - c
    - fctx
    - bb
    - first
    - chunk_len
    - tail
    argTypes:
    - conn_rec*
    - h2_chunk_filter_t*
    - apr_bucket_brigade*
    - apr_bucket*
    - apr_off_t
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: make_chunk
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - H2_ALEN
    - apr_bucket_immortal_create
    - ap_log_cerror
    - apr_snprintf
    - apr_bucket_heap_create
    - APR_BRIGADE_INSERT_TAIL
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: "void make_chunk(conn_rec *c, h2_chunk_filter_t *fctx, apr_bucket_brigade
      *bb,\n                       apr_bucket *first, apr_off_t chunk_len,\n                       apr_bucket
      *tail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/http2/h2_c2_filter.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: ser_header
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_brigade_printf
    linkageType: ''
    returnType: int
    signature: int ser_header(void *ctx, const char *name, const char *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:834,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2_filter.c:837,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:844,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:850,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:851,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:853,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/http2/h2_c2_filter.c:854,1
    - Dst: make_chunk
      Src: /src/httpd/modules/http2/h2_c2_filter.c:856,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:860,1
    - Dst: h2_bucket_headers_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:861,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2_filter.c:863,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:864,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/http2/h2_c2_filter.c:867,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_c2_filter.c:868,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/http2/h2_c2_filter.c:869,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_c2_filter.c:870,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/http2/h2_c2_filter.c:871,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/http2/h2_c2_filter.c:874,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_c2_filter.c:876,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:877,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:878,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:879,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:880,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:883,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:884,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/http2/h2_c2_filter.c:888,1
    - Dst: apr_brigade_puts
      Src: /src/httpd/modules/http2/h2_c2_filter.c:889,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:890,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:891,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:897,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:898,1
    - Dst: make_chunk
      Src: /src/httpd/modules/http2/h2_c2_filter.c:910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 3
    argNames:
    - f
    - conn_ctx
    - block
    argTypes:
    - ap_filter_t*
    - h2_conn_ctx_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 914
    functionName: read_and_chunk
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - apr_brigade_puts
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_bucket_destroy
    - H2_BUCKET_IS_HEADERS
    - APR_BUCKET_IS_EOS
    - apr_table_clone
    - APR_BUCKET_REMOVE
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - h2_bucket_headers_get
    - APR_BRIGADE_EMPTY
    - ap_assert
    - APR_BRIGADE_CONCAT
    - apr_table_do
    - ap_log_rerror
    - make_chunk
    - APR_BUCKET_IS_METADATA
    - apr_is_empty_table
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_and_chunk(ap_filter_t *f, h2_conn_ctx_t *conn_ctx,\n
      \                                  apr_read_type_e block)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:922,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_c2_filter.c:928,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2_filter.c:930,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_c2_filter.c:933,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_c2_filter.c:934,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:938,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:944,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:946,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:947,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:948,1
    - Dst: H2_BUCKET_IS_HEADERS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:949,1
    - Dst: h2_bucket_headers_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:950,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2_filter.c:951,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:952,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http2/h2_c2_filter.c:957,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:960,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/http2/h2_c2_filter.c:961,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/http2/h2_c2_filter.c:962,1
    - Dst: h2_c_logio_add_bytes_in
      Src: /src/httpd/modules/http2/h2_c2_filter.c:965,1
    - Dst: read_and_chunk
      Src: /src/httpd/modules/http2/h2_c2_filter.c:978,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:984,1
    - Dst: h2_brigade_concat_length
      Src: /src/httpd/modules/http2/h2_c2_filter.c:987,1
    - Dst: h2_brigade_copy_length
      Src: /src/httpd/modules/http2/h2_c2_filter.c:990,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/http2/h2_c2_filter.c:996,1
    - Dst: APLOGctrace1
      Src: /src/httpd/modules/http2/h2_c2_filter.c:997,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1000,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1002,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1010,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1011,1
    - Dst: h2_util_bb_log
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1016,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 1018
    functionName: h2_c2_filter_request_in
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_flatten
    - ap_get_module_config
    - apr_bucket_destroy
    - H2_BUCKET_IS_HEADERS
    - ap_log_cerror
    - h2_util_bb_log
    - apr_psprintf
    - APR_BUCKET_REMOVE
    - APLOGctrace1
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - apr_brigade_split_line
    - read_and_chunk
    - h2_bucket_headers_get
    - h2_brigade_copy_length
    - ap_assert
    - APR_BRIGADE_CONCAT
    - h2_conn_ctx_get
    - ap_log_rerror
    - apr_pcalloc
    - h2_c_logio_add_bytes_in
    - APLOGNO
    - apr_table_overlay
    - APR_BRIGADE_SENTINEL
    - h2_brigade_concat_length
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_c2_filter_request_in(ap_filter_t* f,\n                                     apr_bucket_brigade*
      bb,\n                                     ap_input_mode_t mode,\n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1022,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1030,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1031,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1032,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1034,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1034,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1035,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1039,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1039,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1042,1
    - Dst: h2_headers_rcreate
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1043,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1044,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1045,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1046,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1047,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/http2/h2_c2_filter.c:1053,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1054
    functionName: h2_c2_filter_trailers_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2_filter.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - h2_conn_ctx_get
    - ap_pass_brigade
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - h2_headers_rcreate
    - APLOGNO
    - apr_table_clear
    - ap_remove_output_filter
    - apr_is_empty_table
    - apr_table_clone
    - APR_BRIGADE_SENTINEL
    - h2_bucket_headers_create
    - AP_BUCKET_IS_EOR
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_filter_trailers_out(ap_filter_t *f, apr_bucket_brigade
      *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: H2_CONFIG_GET
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_CONFIG_GET(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: H2_CONFIG_SET
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_CONFIG_SET(a, n, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cmd
    - ','
    - dir
    - ','
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: CONFIG_CMD_SET
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONFIG_CMD_SET(cmd,dir,var,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cmd
    - ','
    - dir
    - ','
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: CONFIG_CMD_SET64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONFIG_CMD_SET64(cmd,dir,var,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: h2_config_init
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_config_init(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_config.c:145,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/h2_config.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: h2_config_create_svr
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void *h2_config_create_svr(apr_pool_t *pool, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_config.c:183,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/h2_config.c:184,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:187,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:188,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:189,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:190,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:191,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:192,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:193,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:194,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:195,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:196,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:197,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:198,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/http2/h2_config.c:200,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:205,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:206,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:207,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/http2/h2_config.c:209,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http2/h2_config.c:215,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:220,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:221,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:222,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:223,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:224,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:225,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:226,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:227,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: h2_config_merge
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - apr_array_append
    - apr_table_overlay
    - H2_CONFIG_GET
    - apr_hash_overlay
    linkageType: ''
    returnType: void
    signature: void *h2_config_merge(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_merge
      Src: /src/httpd/modules/http2/h2_config.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: h2_config_merge_svr
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_config_merge
    linkageType: ''
    returnType: void
    signature: void *h2_config_merge_svr(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_config.c:239,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/h2_config.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - x
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: h2_config_create_dir
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void *h2_config_create_dir(apr_pool_t *pool, char *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_config.c:255,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/http2/h2_config.c:257,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:258,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:259,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/http2/h2_config.c:261,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/http2/h2_config.c:267,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:272,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pool
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 275
    functionName: h2_config_merge_dir
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - apr_array_append
    - apr_table_overlay
    - H2_CONFIG_GET
    linkageType: ''
    returnType: void
    signature: void *h2_config_merge_dir(apr_pool_t *pool, void *basev, void *addv)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:281,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:283,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:285,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:287,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:289,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:291,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:293,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:295,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:297,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:299,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:301,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:303,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:305,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:307,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:309,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:311,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:313,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:315,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:317,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:319,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:321,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:323,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:325,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 2
    argNames:
    - conf
    - var
    argTypes:
    - h2_config*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 332
    functionName: h2_srv_config_geti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_GET
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_srv_config_geti64(const h2_config *conf, h2_config_var_t
      var)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:338,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:341,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:344,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:347,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:350,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:353,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:356,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:359,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:362,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:365,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:368,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:371,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:374,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:377,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:380,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:383,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:386,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:389,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:392,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:395,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:398,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:401,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - conf
    - var
    - val
    argTypes:
    - h2_config*
    - h2_config_var_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 405
    functionName: h2_srv_config_seti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_SET
    linkageType: ''
    returnType: void
    signature: void h2_srv_config_seti(h2_config *conf, h2_config_var_t var, int val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:411,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:414,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:417,1
    - Dst: h2_srv_config_seti
      Src: /src/httpd/modules/http2/h2_config.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - conf
    - var
    - val
    argTypes:
    - h2_config*
    - h2_config_var_t
    - apr_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: h2_srv_config_seti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_SET
    - h2_srv_config_seti
    linkageType: ''
    returnType: void
    signature: void h2_srv_config_seti64(h2_config *conf, h2_config_var_t var, apr_int64_t
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_config.c:427,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_config.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: h2_config_sget
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - ap_get_module_config
    linkageType: ''
    returnType: h2_config
    signature: h2_config *h2_config_sget(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_config.c:435,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_config.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: h2_config_rget
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - ap_get_module_config
    linkageType: ''
    returnType: h2_dir_config
    signature: h2_dir_config *h2_config_rget(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:445,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:447,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:449,1
    - Dst: H2_CONFIG_GET
      Src: /src/httpd/modules/http2/h2_config.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - conf
    - var
    argTypes:
    - h2_dir_config*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 456
    functionName: h2_dir_config_geti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_GET
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_dir_config_geti64(const h2_dir_config *conf, h2_config_var_t
      var)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:464,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:467,1
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:470,1
    - Dst: h2_srv_config_seti
      Src: /src/httpd/modules/http2/h2_config.c:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - dconf
    - conf
    - var
    - val
    argTypes:
    - h2_dir_config*
    - h2_config*
    - h2_config_var_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 482
    functionName: h2_config_seti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_SET
    - h2_srv_config_seti
    linkageType: ''
    returnType: void
    signature: void h2_config_seti(h2_dir_config *dconf, h2_config *conf, h2_config_var_t
      var, int val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_CONFIG_SET
      Src: /src/httpd/modules/http2/h2_config.c:490,1
    - Dst: h2_srv_config_seti64
      Src: /src/httpd/modules/http2/h2_config.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - dconf
    - conf
    - var
    - val
    argTypes:
    - h2_dir_config*
    - h2_config*
    - h2_config_var_t
    - apr_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: h2_config_seti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - H2_CONFIG_SET
    - h2_srv_config_seti64
    linkageType: ''
    returnType: void
    signature: void h2_config_seti64(h2_dir_config *dconf, h2_config *conf, h2_config_var_t
      var, apr_int64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_config.c:506,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:509,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: h2_config_get
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - h2_config_sget
    linkageType: ''
    returnType: h2_config
    signature: h2_config *h2_config_get(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_srv_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:516,1
    - Dst: h2_config_get
      Src: /src/httpd/modules/http2/h2_config.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - var
    argTypes:
    - conn_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: h2_config_cgeti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 4
    functionsReached:
    - h2_config_get
    - h2_srv_config_geti64
    linkageType: ''
    returnType: int
    signature: int h2_config_cgeti(conn_rec *c, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_srv_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:521,1
    - Dst: h2_config_get
      Src: /src/httpd/modules/http2/h2_config.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - var
    argTypes:
    - conn_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: h2_config_cgeti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_config_get
    - h2_srv_config_geti64
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_config_cgeti64(conn_rec *c, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_srv_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:526,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - var
    argTypes:
    - server_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: h2_config_sgeti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 7
    functionsReached:
    - h2_config_sget
    - h2_srv_config_geti64
    linkageType: ''
    returnType: int
    signature: int h2_config_sgeti(server_rec *s, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_srv_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:531,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - var
    argTypes:
    - server_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: h2_config_sgeti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached:
    - h2_config_sget
    - h2_srv_config_geti64
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_config_sgeti64(server_rec *s, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - s
    - var
    argTypes:
    - request_rec*
    - server_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: h2_config_geti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached:
    - h2_config_geti64
    linkageType: ''
    returnType: int
    signature: int h2_config_geti(request_rec *r, server_rec *s, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_dir_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:541,1
    - Dst: h2_config_rget
      Src: /src/httpd/modules/http2/h2_config.c:541,1
    - Dst: h2_config_sgeti64
      Src: /src/httpd/modules/http2/h2_config.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - s
    - var
    argTypes:
    - request_rec*
    - server_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: h2_config_geti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached:
    - h2_dir_config_geti64
    - h2_config_rget
    - h2_config_sgeti64
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_config_geti64(request_rec *r, server_rec *s, h2_config_var_t
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_geti
      Src: /src/httpd/modules/http2/h2_config.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - var
    argTypes:
    - request_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: h2_config_rgeti
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 3
    functionsReached:
    - h2_config_geti
    linkageType: ''
    returnType: int
    signature: int h2_config_rgeti(request_rec *r, h2_config_var_t var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_geti64
      Src: /src/httpd/modules/http2/h2_config.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - var
    argTypes:
    - request_rec*
    - h2_config_var_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: h2_config_rgeti64
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_config_geti64
    linkageType: ''
    returnType: apr_int64_t
    signature: apr_int64_t h2_config_rgeti64(request_rec *r, h2_config_var_t var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_rget
      Src: /src/httpd/modules/http2/h2_config.c:558,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: h2_config_push_list
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_config_rget
    - h2_config_sget
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *h2_config_push_list(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_rget
      Src: /src/httpd/modules/http2/h2_config.c:570,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 577
    functionName: h2_config_early_headers
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - h2_config_rget
    - h2_config_sget
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *h2_config_early_headers(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_get
      Src: /src/httpd/modules/http2/h2_config.c:581,1
    - Dst: strcspn
      Src: /src/httpd/modules/http2/h2_config.c:583,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http2/h2_config.c:584,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/http2/h2_config.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - content_type
    argTypes:
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: h2_cconfig_get_priority
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached:
    - h2_config_get
    - apr_hash_get
    - strcspn
    linkageType: ''
    returnType: struct h2_priority
    signature: struct h2_priority *h2_cconfig_get_priority(conn_rec *c, const char
      *content_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:593,1
    - Dst: CONFIG_CMD_SET64
      Src: /src/httpd/modules/http2/h2_config.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: h2_conf_set_max_streams
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - CONFIG_CMD_SET64
    - apr_atoi64
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_streams(cmd_parms *cmd,\n                                           void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:604,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: h2_conf_set_window_size
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_window_size(cmd_parms *cmd,\n                                           void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:615,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: h2_conf_set_min_workers
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_min_workers(cmd_parms *cmd,\n                                           void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:626,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: h2_conf_set_max_workers
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_workers(cmd_parms *cmd,\n                                           void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/http2/h2_config.c:638,1
    - Dst: CONFIG_CMD_SET64
      Src: /src/httpd/modules/http2/h2_config.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 647
    functionName: h2_conf_set_max_worker_idle_limit
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - CONFIG_CMD_SET64
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_worker_idle_limit(cmd_parms *cmd,\n                                                     void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:652,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: h2_conf_set_stream_max_mem_size
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_stream_max_mem_size(cmd_parms *cmd,\n                                                   void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:663,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: h2_conf_set_max_data_frame_len
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_data_frame_len(cmd_parms *cmd,\n                                                  void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:674,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: h2_conf_set_max_hd_block_len
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_hd_block_len(cmd_parms *cmd,\n                                                void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:685,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: h2_conf_set_max_stream_errors
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_max_stream_errors(cmd_parms *cmd,\n                                               void
      *dirconf, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_config.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 702
    functionName: h2_conf_set_session_extra_files
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_session_extra_files(cmd_parms *cmd,\n                                                   void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:707,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_config.c:708,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_config.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: h2_conf_set_serialize_headers
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_log_error
    - APLOGNO
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_serialize_headers(cmd_parms *parms,\n                                                 void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:718,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:719,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:722,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: h2_conf_set_direct
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_direct(cmd_parms *cmd,\n                                      void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:731,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:732,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:735,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 740
    functionName: h2_conf_set_push
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: char *h2_conf_set_push(cmd_parms *cmd, void *dirconf, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:745,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:747,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:755,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 760
    functionName: h2_conf_set_websockets
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_websockets(cmd_parms *cmd,\n                                          void
      *dirconf, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:766,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/http2/h2_config.c:779,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:785,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:788,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:794,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:802,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_config.c:804,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_config.c:808,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/http2/h2_config.c:813,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/http2/h2_config.c:815,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_config.c:815,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - cmd
    - _cfg
    - ctype
    - sdependency
    - sweight
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 817
    functionName: h2_conf_add_push_priority
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - apr_hash_make
    - h2_config_sget
    - apr_isdigit
    - strcasecmp
    - apr_psprintf
    - apr_atoi64
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_add_push_priority(cmd_parms *cmd, void *_cfg,\n                                             const
      char *ctype, const char *sdependency,\n                                             const
      char *sweight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:822,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:823,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:826,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: h2_conf_set_modern_tls_only
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_modern_tls_only(cmd_parms *cmd,\n                                               void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:836,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:837,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:840,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 845
    functionName: h2_conf_set_upgrade
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_upgrade(cmd_parms *cmd,\n                                       void
      *dirconf, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:850,1
    - Dst: CONFIG_CMD_SET64
      Src: /src/httpd/modules/http2/h2_config.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 853
    functionName: h2_conf_set_tls_warmup_size
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - CONFIG_CMD_SET64
    - apr_atoi64
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_tls_warmup_size(cmd_parms *cmd,\n                                               void
      *dirconf, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:858,1
    - Dst: CONFIG_CMD_SET64
      Src: /src/httpd/modules/http2/h2_config.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: h2_conf_set_tls_cooldown_secs
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - CONFIG_CMD_SET64
    - apr_atoi64
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_tls_cooldown_secs(cmd_parms *cmd,\n                                                 void
      *dirconf, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:866,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 878
    functionName: h2_conf_set_push_diary_size
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_push_diary_size(cmd_parms *cmd,\n                                               void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:883,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:884,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:887,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 892
    functionName: h2_conf_set_copy_files
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_copy_files(cmd_parms *cmd,\n                                          void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/http2/h2_config.c:898,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/http2/h2_config.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - plist
    - pool
    - push
    argTypes:
    - apr_array_header_t**
    - apr_pool_t*
    - h2_push_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 903
    functionName: add_push
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 1
    functionsReached:
    - apr_array_make
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: void
    signature: void add_push(apr_array_header_t **plist, apr_pool_t *pool, h2_push_res
      *push)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/http2/h2_config.c:912,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:913,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:925,1
    - Dst: add_push
      Src: /src/httpd/modules/http2/h2_config.c:934,1
    - Dst: add_push
      Src: /src/httpd/modules/http2/h2_config.c:937,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - cmd
    - dirconf
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 940
    functionName: h2_conf_add_push_res
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - memset
    - add_push
    - h2_config_sget
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_add_push_res(cmd_parms *cmd, void *dirconf,\n                                        const
      char *arg1, const char *arg2,\n                                        const
      char *arg3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/http2/h2_config.c:951,1
    - Dst: ap_scan_http_field_content
      Src: /src/httpd/modules/http2/h2_config.c:955,1
    - Dst: h2_config_sget
      Src: /src/httpd/modules/http2/h2_config.c:962,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_config.c:966,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_config.c:968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - cmd
    - dirconf
    - name
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 971
    functionName: h2_conf_add_early_hint
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_table_add
    - apr_isspace
    - h2_config_sget
    - ap_scan_http_field_content
    - apr_table_make
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_add_early_hint(cmd_parms *cmd, void *dirconf,\n                                          const
      char *name, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:978,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:979,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:982,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/http2/h2_config.c:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 988
    functionName: h2_conf_set_early_hints
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_log_perror
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_early_hints(cmd_parms *cmd,\n                                           void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/modules/http2/h2_config.c:994,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1003
    functionName: h2_conf_set_padding
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: char *h2_conf_set_padding(cmd_parms *cmd, void *dirconf, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:1008,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:1009,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:1012,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: h2_conf_set_output_buffer
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_output_buffer(cmd_parms *cmd,\n                                      void
      *dirconf, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/http2/h2_config.c:1025,1
    - Dst: CONFIG_CMD_SET64
      Src: /src/httpd/modules/http2/h2_config.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1031
    functionName: h2_conf_set_stream_timeout
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - CONFIG_CMD_SET64
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_stream_timeout(cmd_parms *cmd,\n                                            void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:1036,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:1037,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/http2/h2_config.c:1040,1
    - Dst: CONFIG_CMD_SET
      Src: /src/httpd/modules/http2/h2_config.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1045
    functionName: h2_conf_set_proxy_requests
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - CONFIG_CMD_SET
    linkageType: ''
    returnType: char
    signature: "char *h2_conf_set_proxy_requests(cmd_parms *cmd,\n                                              void
      *dirconf, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_config.c:1052,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_config.c:1053,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/http2/h2_config.c:1055,1
    - Dst: H2MAX
      Src: /src/httpd/modules/http2/h2_config.c:1060,1
    - Dst: h2_config_sgeti64
      Src: /src/httpd/modules/http2/h2_config.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - s
    - pminw
    - pmaxw
    - pidle_limit
    argTypes:
    - server_rec*
    - int*
    - int*
    - apr_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1063
    functionName: h2_get_workers_config
    functionSourceFile: /src/httpd/modules/http2/h2_config.c
    functionUses: 2
    functionsReached:
    - H2MAX
    - ap_mpm_query
    - h2_config_sgeti
    - h2_config_sgeti64
    linkageType: ''
    returnType: void
    signature: "void h2_get_workers_config(server_rec *s, int *pminw, int *pmaxw,\n
      \                          apr_time_t *pidle_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_sha1_init
      Src: /src/httpd/modules/http2/h2_ws.c:67,1
    - Dst: apr_sha1_update
      Src: /src/httpd/modules/http2/h2_ws.c:68,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_ws.c:68,1
    - Dst: apr_sha1_update
      Src: /src/httpd/modules/http2/h2_ws.c:69,1
    - Dst: strlen
      Src: /src/httpd/modules/http2/h2_ws.c:69,1
    - Dst: apr_sha1_final
      Src: /src/httpd/modules/http2/h2_ws.c:70,1
    - Dst: apr_pencode_base64_binary
      Src: /src/httpd/modules/http2/h2_ws.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - key_base64
    argTypes:
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: gen_ws_accept
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 0
    functionsReached:
    - apr_pencode_base64_binary
    - apr_sha1_init
    - strlen
    - apr_sha1_final
    - apr_sha1_update
    linkageType: ''
    returnType: char
    signature: char *gen_ws_accept(conn_rec *c, const char *key_base64)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_ws.c:79,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_ws.c:86,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/http2/h2_ws.c:89,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:90,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:96,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:102,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:108,1
    - Dst: h2_request_clone
      Src: /src/httpd/modules/http2/h2_ws.c:113,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/http2/h2_ws.c:116,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_ws.c:117,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/modules/http2/h2_ws.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/http2/h2_ws.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_ws.c:121,1
    - Dst: apr_pencode_base64_binary
      Src: /src/httpd/modules/http2/h2_ws.c:125,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/http2/h2_ws.c:127,1
    - Dst: gen_ws_accept
      Src: /src/httpd/modules/http2/h2_ws.c:133,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_ws.c:143,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/httpd/modules/http2/h2_ws.c:146,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_ws.c:147,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_ws.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - req
    - c2
    - no_body
    argTypes:
    - h2_request*
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 154
    functionName: h2_ws_rewrite_request
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 1
    functionsReached:
    - apr_pencode_base64_binary
    - h2_conn_ctx_get
    - strcmp
    - apr_table_add
    - ap_log_cerror
    - ap_cstr_casecmp
    - apr_generate_random_bytes
    - apr_pcalloc
    - ap_remove_output_filter_byhandle
    - APLOGNO
    - apr_table_set
    - ap_log_error
    - ap_add_output_filter
    - gen_ws_accept
    - h2_request_clone
    linkageType: ''
    returnType: h2_request
    signature: "h2_request *h2_ws_rewrite_request(const h2_request *req,\n                                        conn_rec
      *c2, int no_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_ws.c:161,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_ws.c:162,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_ws.c:163,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_ws.c:164,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/http2/h2_ws.c:165,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_ws.c:166,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_ws.c:167,1
    - Dst: ap_bucket_response_create
      Src: /src/httpd/modules/http2/h2_ws.c:169,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_ws.c:172,1
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_ws.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - c2
    - status
    - headers
    - notes
    argTypes:
    - conn_rec*
    - int
    - apr_table_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: make_valid_resp
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 0
    functionsReached:
    - h2_headers_create
    - ap_bucket_response_create
    - apr_table_unset
    - h2_bucket_headers_create
    - apr_table_clone
    - ap_assert
    - apr_table_make
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *make_valid_resp(conn_rec *c2, int status,\n                                   apr_table_t
      *headers, apr_table_t *notes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_ws.c:183,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_ws.c:184,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/http2/h2_ws.c:185,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_ws.c:186,1
    - Dst: ap_bucket_response_create
      Src: /src/httpd/modules/http2/h2_ws.c:188,1
    - Dst: h2_bucket_headers_create
      Src: /src/httpd/modules/http2/h2_ws.c:191,1
    - Dst: h2_headers_create
      Src: /src/httpd/modules/http2/h2_ws.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - c2
    - status
    - notes
    argTypes:
    - conn_rec*
    - int
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: make_invalid_resp
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 0
    functionsReached:
    - h2_headers_create
    - apr_table_setn
    - ap_bucket_response_create
    - h2_bucket_headers_create
    - apr_table_clone
    - apr_table_make
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *make_invalid_resp(conn_rec *c2, int status,\n                                     apr_table_t
      *notes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: h2_bucket_headers_get
      Src: /src/httpd/modules/http2/h2_ws.c:203,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:214,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_ws.c:220,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_ws.c:221,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:222,1
    - Dst: make_valid_resp
      Src: /src/httpd/modules/http2/h2_ws.c:226,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:232,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_ws.c:232,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:240,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_ws.c:240,1
    - Dst: make_invalid_resp
      Src: /src/httpd/modules/http2/h2_ws.c:246,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_ws.c:255,1
    - Dst: make_invalid_resp
      Src: /src/httpd/modules/http2/h2_ws.c:258,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/http2/h2_ws.c:267,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/http2/h2_ws.c:268,1
    - Dst: APR_BUCKET_INSERT_AFTER
      Src: /src/httpd/modules/http2/h2_ws.c:272,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_ws.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - c2
    - conn_ctx
    - ws_ctx
    - b
    argTypes:
    - conn_rec*
    - h2_conn_ctx_t*
    - struct ws_filter_ctx*
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 279
    functionName: ws_handle_resp
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 0
    functionsReached:
    - strcmp
    - make_valid_resp
    - ap_log_cerror
    - make_invalid_resp
    - apr_bucket_delete
    - APLOGNO
    - apr_bucket_eos_create
    - h2_bucket_headers_get
    - APR_BUCKET_INSERT_AFTER
    - apr_table_get
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: "void ws_handle_resp(conn_rec *c2, h2_conn_ctx_t *conn_ctx,\n                           struct
      ws_filter_ctx *ws_ctx, apr_bucket *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_ws.c:329,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_ws.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: ws_post_read
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - h2_config_sgeti
    linkageType: ''
    returnType: int
    signature: int ws_post_read(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/http2/h2_ws.c:340,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_ws.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: h2_ws_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void h2_ws_register_hooks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - c2
    - no_body
    argTypes:
    - h2_request*
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: h2_ws_rewrite_request
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: h2_request
    signature: "h2_request *h2_ws_rewrite_request(const h2_request *req,\n                                        conn_rec
      *c2, int no_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: h2_ws_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_ws.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_ws_register_hooks(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:79,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:83,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:87,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:91,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:101,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:106,1
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - force
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 117
    functionName: check_modules
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void check_modules(int force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_modules
      Src: /src/httpd/modules/http2/h2_c2.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: h2_conn_mpm_name
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - check_modules
    linkageType: ''
    returnType: char
    signature: char *h2_conn_mpm_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_modules
      Src: /src/httpd/modules/http2/h2_c2.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: h2_mpm_supported
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 3
    functionsReached:
    - check_modules
    linkageType: ''
    returnType: int
    signature: int h2_mpm_supported(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_modules
      Src: /src/httpd/modules/http2/h2_c2.c:133,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/http2/h2_c2.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: h2_c2_child_init
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - apr_socket_create
    - check_modules
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_child_init(apr_pool_t *pool, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_c_logio_add_bytes_out
      Src: /src/httpd/modules/http2/h2_c2.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - c2
    - bytes_sent
    argTypes:
    - conn_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: h2_c2_log_io
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - h2_c_logio_add_bytes_out
    linkageType: ''
    returnType: void
    signature: void h2_c2_log_io(conn_rec *c2, apr_off_t bytes_sent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:147,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:149,1
    - Dst: h2_c2_log_io
      Src: /src/httpd/modules/http2/h2_c2.c:152,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/http2/h2_c2.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c2
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: h2_c2_destroy
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 2
    functionsReached:
    - h2_c2_log_io
    - h2_conn_ctx_get
    - ap_log_cerror
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void h2_c2_destroy(conn_rec *c2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:159,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_c2.c:161,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_c2.c:162,1
    - Dst: h2_c2_log_io
      Src: /src/httpd/modules/http2/h2_c2.c:164,1
    - Dst: h2_beam_abort
      Src: /src/httpd/modules/http2/h2_c2.c:168,1
    - Dst: h2_beam_abort
      Src: /src/httpd/modules/http2/h2_c2.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - c2
    - from
    argTypes:
    - conn_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: h2_c2_abort
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 2
    functionsReached:
    - h2_c2_log_io
    - h2_conn_ctx_get
    - h2_beam_abort
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: void h2_c2_abort(conn_rec *c2, conn_rec *from)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:195,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/http2/h2_c2.c:196,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/http2/h2_c2.c:199,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:206,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:207,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/http2/h2_c2.c:214,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/http2/h2_c2.c:216,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_c2.c:218,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2.c:219,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/http2/h2_c2.c:228,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/http2/h2_c2.c:229,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2.c:233,1
    - Dst: APLOGctrace2
      Src: /src/httpd/modules/http2/h2_c2.c:235,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:236,1
    - Dst: h2_beam_receive
      Src: /src/httpd/modules/http2/h2_c2.c:244,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_c2.c:246,1
    - Dst: h2_util_wait_on_pipe
      Src: /src/httpd/modules/http2/h2_c2.c:247,1
    - Dst: h2_beam_receive
      Src: /src/httpd/modules/http2/h2_c2.c:254,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:262,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:263,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_c2.c:267,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/http2/h2_c2.c:274,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:282,1
    - Dst: h2_util_bb_log
      Src: /src/httpd/modules/http2/h2_c2.c:283,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http2/h2_c2.c:287,1
    - Dst: h2_c_logio_add_bytes_in
      Src: /src/httpd/modules/http2/h2_c2.c:288,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2.c:293,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:297,1
    - Dst: h2_util_bb_log
      Src: /src/httpd/modules/http2/h2_c2.c:298,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/http2/h2_c2.c:302,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:303,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:304,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/http2/h2_c2.c:313,1
    - Dst: h2_brigade_concat_length
      Src: /src/httpd/modules/http2/h2_c2.c:316,1
    - Dst: h2_brigade_copy_length
      Src: /src/httpd/modules/http2/h2_c2.c:319,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/http2/h2_c2.c:325,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:327,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/http2/h2_c2.c:330,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:332,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:340,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/http2/h2_c2.c:341,1
    - Dst: APLOGctrace3
      Src: /src/httpd/modules/http2/h2_c2.c:347,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/http2/h2_c2.c:348,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:349,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 106
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 354
    functionName: h2_c2_filter_in
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_brigade_flatten
    - ap_log_cerror
    - APLOGctrace2
    - h2_util_bb_log
    - APLOGctrace3
    - h2_util_wait_on_pipe
    - apr_brigade_length
    - h2_beam_receive
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - APR_STATUS_IS_EOF
    - apr_brigade_split_line
    - apr_bucket_eos_create
    - h2_brigade_copy_length
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - h2_conn_ctx_get
    - apr_pcalloc
    - h2_c_logio_add_bytes_in
    - AP_DEBUG_ASSERT
    - APLOGNO
    - h2_brigade_concat_length
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t h2_c2_filter_in(ap_filter_t* f,\n                                           apr_bucket_brigade*
      bb,\n                                           ap_input_mode_t mode,\n                                           apr_read_type_e
      block,\n                                           apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_beam_send
      Src: /src/httpd/modules/http2/h2_c2.c:361,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/http2/h2_c2.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c2
    - conn_ctx
    - bb
    argTypes:
    - conn_rec*
    - h2_conn_ctx_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: beam_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EAGAIN
    - h2_beam_send
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t beam_out(conn_rec *c2, h2_conn_ctx_t *conn_ctx, apr_bucket_brigade*
      bb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:370,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_c2.c:374,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_c2.c:381,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2.c:387,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/http2/h2_c2.c:392,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/http2/h2_c2.c:393,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/http2/h2_c2.c:394,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/modules/http2/h2_c2.c:396,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/http2/h2_c2.c:403,1
    - Dst: beam_out
      Src: /src/httpd/modules/http2/h2_c2.c:409,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:411,1
    - Dst: h2_c2_abort
      Src: /src/httpd/modules/http2/h2_c2.c:415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 368
    functionDepth: 6
    functionLinenumber: 368
    functionLinenumberEnd: 418
    functionName: h2_c2_filter_out
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - h2_conn_ctx_get
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - h2_c2_abort
    - AP_BUCKET_IS_RESPONSE
    - APR_BRIGADE_SENTINEL
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_assert
    - beam_out
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_filter_out(ap_filter_t* f, apr_bucket_brigade* bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/http2/h2_c2.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - udata
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: addn_headers
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int addn_headers(void *udata, const char *name, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_config_push_list
      Src: /src/httpd/modules/http2/h2_c2.c:429,1
    - Dst: h2_config_early_headers
      Src: /src/httpd/modules/http2/h2_c2.c:430,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_c2.c:434,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2.c:438,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/http2/h2_c2.c:442,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/http2/h2_c2.c:443,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/http2/h2_c2.c:444,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/http2/h2_c2.c:449,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/http2/h2_c2.c:450,1
    - Dst: h2_config_rgeti
      Src: /src/httpd/modules/http2/h2_c2.c:458,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_c2.c:459,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/http2/h2_c2.c:460,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/http2/h2_c2.c:466,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/modules/http2/h2_c2.c:471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - r
    - tag
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 476
    functionName: check_early_hints
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - ap_log_rerror
    - apr_table_add
    - APR_ARRAY_IDX
    - h2_config_sgeti
    - h2_config_rgeti
    - apr_table_setn
    - h2_config_push_list
    - ap_send_interim_response
    - h2_config_early_headers
    - apr_is_empty_table
    - apr_psprintf
    - ap_get_status_line
    linkageType: ''
    returnType: void
    signature: void check_early_hints(request_rec *r, const char *tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:483,1
    - Dst: check_early_hints
      Src: /src/httpd/modules/http2/h2_c2.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: c2_hook_fixups
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - check_early_hints
    - h2_conn_ctx_get
    linkageType: ''
    returnType: int
    signature: int c2_hook_fixups(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:498,1
    - Dst: h2_beam_timeout_get
      Src: /src/httpd/modules/http2/h2_c2.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - c
    - pfd
    - ptimeout
    argTypes:
    - conn_rec*
    - struct apr_pollfd_t*
    - apr_interval_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: http2_get_pollfd_from_conn
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - h2_beam_timeout_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t http2_get_pollfd_from_conn(conn_rec *c,\n                                               struct
      apr_pollfd_t *pfd,\n                                               apr_interval_time_t
      *ptimeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:529,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2.c:532,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/http2/h2_c2.c:535,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http2/h2_c2.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - r
    - c2
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 537
    functionName: c2_pre_read_request
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter_handle
    - h2_conn_ctx_get
    - ap_log_rerror
    - ap_add_output_filter_handle
    linkageType: ''
    returnType: void
    signature: void c2_pre_read_request(request_rec *r, conn_rec *c2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:545,1
    - Dst: h2_config_geti64
      Src: /src/httpd/modules/http2/h2_c2.c:550,1
    - Dst: h2_conn_ctx_set_timeout
      Src: /src/httpd/modules/http2/h2_c2.c:554,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2.c:562,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_c2.c:566,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2.c:567,1
    - Dst: h2_beam_set_copy_files
      Src: /src/httpd/modules/http2/h2_c2.c:570,1
    - Dst: h2_c_logio_add_bytes_in
      Src: /src/httpd/modules/http2/h2_c2.c:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 579
    functionName: c2_post_read_request
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - ap_log_rerror
    - h2_config_sgeti
    - h2_c_logio_add_bytes_in
    - h2_beam_set_copy_files
    - apr_table_get
    - h2_config_geti64
    - h2_conn_ctx_set_timeout
    linkageType: ''
    returnType: int
    signature: int c2_post_read_request(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:585,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:589,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/http2/h2_c2.c:592,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/http2/h2_c2.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - c2
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 611
    functionName: c2_hook_pre_connection
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter_handle
    - h2_conn_ctx_get
    - ap_add_output_filter_handle
    - ap_log_cerror
    linkageType: ''
    returnType: int
    signature: int c2_hook_pre_connection(conn_rec *c2, void *csd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/http2/h2_c2.c:618,1
    - Dst: ap_hook_pre_read_request
      Src: /src/httpd/modules/http2/h2_c2.c:623,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/http2/h2_c2.c:624,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/http2/h2_c2.c:626,1
    - Dst: ap_hook_get_pollfd_from_conn
      Src: /src/httpd/modules/http2/h2_c2.c:628,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/http2/h2_c2.c:631,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:634,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:637,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:640,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 645
    functionName: h2_c2_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - ap_hook_pre_connection
    - ap_register_output_filter
    - ap_register_input_filter
    - ap_hook_get_pollfd_from_conn
    - ap_hook_pre_read_request
    - ap_hook_fixups
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void h2_c2_register_hooks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_pre_connection
      Src: /src/httpd/modules/http2/h2_c2.c:666,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c2
    - csd
    argTypes:
    - conn_rec*
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 670
    functionName: c2_run_pre_connection
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - ap_run_pre_connection
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t c2_run_pre_connection(conn_rec *c2, apr_socket_t *csd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:674,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2.c:676,1
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2.c:677,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:711,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:714,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:715,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:716,1
    - Dst: c2_run_pre_connection
      Src: /src/httpd/modules/http2/h2_c2.c:718,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/http2/h2_c2.c:718,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:722,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/modules/http2/h2_c2.c:727,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - c2
    - thread
    - worker_id
    argTypes:
    - conn_rec*
    - apr_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 734
    functionName: h2_c2_process
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - h2_conn_ctx_get
    - c2_run_pre_connection
    - ap_get_conn_socket
    - ap_log_cerror
    - ap_run_process_connection
    - ap_add_output_filter
    - ap_assert
    - ap_add_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t h2_c2_process(conn_rec *c2, apr_thread_t *thread, int
      worker_id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/http2/h2_c2.c:745,1
    - Dst: h2_ws_rewrite_request
      Src: /src/httpd/modules/http2/h2_c2.c:746,1
    - Dst: h2_create_request_rec
      Src: /src/httpd/modules/http2/h2_c2.c:753,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:756,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:762,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/http2/h2_c2.c:768,1
    - Dst: ap_is_chunked
      Src: /src/httpd/modules/http2/h2_c2.c:769,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:771,1
    - Dst: h2_config_geti64
      Src: /src/httpd/modules/http2/h2_c2.c:775,1
    - Dst: h2_conn_ctx_set_timeout
      Src: /src/httpd/modules/http2/h2_c2.c:779,1
    - Dst: h2_config_sgeti
      Src: /src/httpd/modules/http2/h2_c2.c:781,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:782,1
    - Dst: h2_beam_set_copy_files
      Src: /src/httpd/modules/http2/h2_c2.c:785,1
    - Dst: ap_update_child_status
      Src: /src/httpd/modules/http2/h2_c2.c:788,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:792,1
    - Dst: h2_c_logio_add_bytes_in
      Src: /src/httpd/modules/http2/h2_c2.c:799,1
    - Dst: ap_process_request
      Src: /src/httpd/modules/http2/h2_c2.c:802,1
    - Dst: h2_beam_close
      Src: /src/httpd/modules/http2/h2_c2.c:807,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:810,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - conn_ctx
    - c
    argTypes:
    - h2_conn_ctx_t*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 736
    functionDepth: 5
    functionLinenumber: 736
    functionLinenumberEnd: 818
    functionName: c2_process
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - ap_is_chunked
    - strcmp
    - ap_log_cerror
    - h2_config_sgeti
    - h2_c_logio_add_bytes_in
    - h2_ws_rewrite_request
    - ap_update_child_status
    - h2_beam_set_copy_files
    - h2_create_request_rec
    - ap_process_request
    - apr_table_get
    - h2_config_geti64
    - h2_beam_close
    - h2_conn_ctx_set_timeout
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t c2_process(h2_conn_ctx_t *conn_ctx, conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/http2/h2_c2.c:827,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:828,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/http2/h2_c2.c:836,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/http2/h2_c2.c:837,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/http2/h2_c2.c:839,1
    - Dst: memcpy
      Src: /src/httpd/modules/http2/h2_c2.c:840,1
    - Dst: ap_create_conn_config
      Src: /src/httpd/modules/http2/h2_c2.c:844,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/http2/h2_c2.c:845,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_c2.c:849,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/http2/h2_c2.c:852,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/http2/h2_c2.c:853,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/h2_c2.c:868,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/http2/h2_c2.c:875,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/http2/h2_c2.c:876,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - c1
    - parent
    - buckt_alloc
    argTypes:
    - conn_rec*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 882
    functionName: h2_c2_create
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - ap_log_cerror
    - apr_bucket_alloc_create
    - ap_set_module_config
    - apr_pool_tag
    - apr_pool_create
    - ap_create_conn_config
    - ap_get_module_config
    - AP_MODULE_MAGIC_AT_LEAST
    - ap_assert
    - apr_table_make
    - memcpy
    linkageType: ''
    returnType: conn_rec
    signature: "conn_rec *h2_c2_create(conn_rec *c1, apr_pool_t *parent,\n                       apr_bucket_alloc_t
      *buckt_alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:886,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/http2/h2_c2.c:888,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/http2/h2_c2.c:890,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:895,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/httpd/modules/http2/h2_c2.c:899,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:901,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 905
    functionName: h2_c2_hook_post_read_request
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - h2_conn_ctx_get
    - ap_log_rerror
    - ap_is_initial_req
    - ap_add_output_filter
    - ap_remove_output_filter_byhandle
    linkageType: ''
    returnType: int
    signature: int h2_c2_hook_post_read_request(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_conn_ctx_get
      Src: /src/httpd/modules/http2/h2_c2.c:915,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:917,1
    - Dst: c2_process
      Src: /src/httpd/modules/http2/h2_c2.c:919,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/http2/h2_c2.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 907
    functionDepth: 6
    functionLinenumber: 907
    functionLinenumberEnd: 927
    functionName: h2_c2_hook_process
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 0
    functionsReached:
    - h2_conn_ctx_get
    - c2_process
    - ap_log_cerror
    linkageType: ''
    returnType: int
    signature: int h2_c2_hook_process(conn_rec* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/http2/h2_c2.c:934,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/http2/h2_c2.c:938,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/http2/h2_c2.c:939,1
    - Dst: ap_hook_get_pollfd_from_conn
      Src: /src/httpd/modules/http2/h2_c2.c:941,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/http2/h2_c2.c:944,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:946,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:948,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:950,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/http2/h2_c2.c:953,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:955,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/http2/h2_c2.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 959
    functionName: h2_c2_register_hooks
    functionSourceFile: /src/httpd/modules/http2/h2_c2.c
    functionUses: 1
    functionsReached:
    - ap_hook_process_connection
    - ap_register_output_filter
    - ap_register_input_filter
    - ap_hook_get_pollfd_from_conn
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void h2_c2_register_hooks(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:58,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_dumpio.c:61,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_dumpio.c:65,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/debugging/mod_dumpio.c:72,1
    - Dst: memcpy
      Src: /src/httpd/modules/debugging/mod_dumpio.c:84,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/debugging/mod_dumpio.c:85,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:87,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_dumpio.c:89,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:100,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_dumpio.c:102,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:109,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_dumpio.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - f
    - b
    - ptr
    argTypes:
    - ap_filter_t*
    - apr_bucket*
    - dumpio_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 115
    functionName: dumpit
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_log_cerror
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - memcpy
    linkageType: ''
    returnType: void
    signature: void dumpit(ap_filter_t *f, apr_bucket *b, dumpio_conf_t *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: whichmode
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: whichmode( mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:135,1
    - Dst: whichmode
      Src: /src/httpd/modules/debugging/mod_dumpio.c:138,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/debugging/mod_dumpio.c:142,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/debugging/mod_dumpio.c:145,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/debugging/mod_dumpio.c:145,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/debugging/mod_dumpio.c:145,1
    - Dst: dumpit
      Src: /src/httpd/modules/debugging/mod_dumpio.c:146,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 156
    functionName: dumpio_input_filter
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - ap_log_cerror
    - dumpit
    - whichmode
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: int
    signature: "int dumpio_input_filter (ap_filter_t *f, apr_bucket_brigade *bb,\n
      \   ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_dumpio.c:164,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/debugging/mod_dumpio.c:166,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/debugging/mod_dumpio.c:166,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/debugging/mod_dumpio.c:166,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/debugging/mod_dumpio.c:170,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/debugging/mod_dumpio.c:171,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/debugging/mod_dumpio.c:172,1
    - Dst: dumpit
      Src: /src/httpd/modules/debugging/mod_dumpio.c:174,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/debugging/mod_dumpio.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: dumpio_output_filter
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - ap_log_cerror
    - APR_BUCKET_IS_EOS
    - apr_bucket_flush_create
    - dumpit
    - APR_BRIGADE_SENTINEL
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: int
    signature: int dumpio_output_filter (ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APLOGctrace7
      Src: /src/httpd/modules/debugging/mod_dumpio.c:184,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_dumpio.c:189,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/debugging/mod_dumpio.c:193,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/debugging/mod_dumpio.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: dumpio_pre_conn
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    - APLOGctrace7
    - ap_add_input_filter
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int dumpio_pre_conn(conn_rec *c, void *csd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/debugging/mod_dumpio.c:204,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/debugging/mod_dumpio.c:207,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/debugging/mod_dumpio.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: dumpio_register_hooks
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_register_input_filter
    - ap_hook_pre_connection
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void dumpio_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_dumpio.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: dumpio_create_sconfig
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *dumpio_create_sconfig(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_dumpio.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: dumpio_enable_input
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *dumpio_enable_input(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_dumpio.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: dumpio_enable_output
    functionSourceFile: /src/httpd/modules/debugging/mod_dumpio.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *dumpio_enable_output(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: filter_output_cleanup
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t filter_output_cleanup(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: filter_input_cleanup
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t filter_input_cleanup(void *dummy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/modules/debugging/mod_firehose.c:135,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/debugging/mod_firehose.c:136,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/debugging/mod_firehose.c:138,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/debugging/mod_firehose.c:140,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/debugging/mod_firehose.c:146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/debugging/mod_firehose.c:146,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_firehose.c:151,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/debugging/mod_firehose.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: pumpit_cleanup
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_time_now
    - ap_log_rerror
    - ap_log_cerror
    - apr_file_write_full
    - APLOGNO
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pumpit_cleanup(void *dummy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_firehose.c:184,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/debugging/mod_firehose.c:188,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/debugging/mod_firehose.c:202,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/debugging/mod_firehose.c:203,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/debugging/mod_firehose.c:205,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/debugging/mod_firehose.c:214,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/debugging/mod_firehose.c:220,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/debugging/mod_firehose.c:220,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/debugging/mod_firehose.c:225,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/debugging/mod_firehose.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - f
    - b
    - ctx
    argTypes:
    - ap_filter_t*
    - apr_bucket*
    - firehose_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 244
    functionName: pumpit
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_time_now
    - ap_log_rerror
    - ap_log_cerror
    - APLOGNO
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - apr_file_writev_full
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pumpit(ap_filter_t *f, apr_bucket *b, firehose_ctx_t *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/debugging/mod_firehose.c:258,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/debugging/mod_firehose.c:261,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/debugging/mod_firehose.c:271,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/debugging/mod_firehose.c:275,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/debugging/mod_firehose.c:275,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/debugging/mod_firehose.c:276,1
    - Dst: pumpit
      Src: /src/httpd/modules/debugging/mod_firehose.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 284
    functionName: firehose_input_filter
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - pumpit
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t firehose_input_filter(ap_filter_t *f,\n                                          apr_bucket_brigade
      *bb,\n                                          ap_input_mode_t mode,\n                                          apr_read_type_e
      block,\n                                          apr_off_t readbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/debugging/mod_firehose.c:293,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/debugging/mod_firehose.c:295,1
    - Dst: pumpit
      Src: /src/httpd/modules/debugging/mod_firehose.c:297,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/debugging/mod_firehose.c:303,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_firehose.c:304,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/debugging/mod_firehose.c:309,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/debugging/mod_firehose.c:310,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/debugging/mod_firehose.c:311,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/debugging/mod_firehose.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 319
    functionName: firehose_output_filter
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_pass_brigade
    - APR_BUCKET_IS_EOS
    - pumpit
    - apr_bucket_flush_create
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t firehose_output_filter(ap_filter_t *f,\n                                           apr_bucket_brigade
      *bb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pumpit_cleanup
      Src: /src/httpd/modules/debugging/mod_firehose.c:340,1
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/debugging/mod_firehose.c:342,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/debugging/mod_firehose.c:345,1
    - Dst: pumpit_cleanup
      Src: /src/httpd/modules/debugging/mod_firehose.c:356,1
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/debugging/mod_firehose.c:358,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/debugging/mod_firehose.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 368
    functionName: firehose_create_request
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - apr_uuid_format
    - apr_uuid_get
    - pumpit_cleanup
    linkageType: ''
    returnType: int
    signature: int firehose_create_request(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_firehose.c:401,1
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/debugging/mod_firehose.c:405,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_firehose.c:417,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/debugging/mod_firehose.c:418,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/debugging/mod_firehose.c:421,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/debugging/mod_firehose.c:423,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:426,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/debugging/mod_firehose.c:427,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:432,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/debugging/mod_firehose.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 441
    functionName: firehose_pre_conn
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - apr_uuid_get
    - apr_pcalloc
    - apr_brigade_create
    - apr_uuid_format
    - ap_get_module_config
    - ap_add_output_filter
    - ap_add_input_filter
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int firehose_pre_conn(conn_rec *c, void *csd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/debugging/mod_firehose.c:453,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/debugging/mod_firehose.c:455,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_firehose.c:462,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/debugging/mod_firehose.c:467,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/debugging/mod_firehose.c:470,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/debugging/mod_firehose.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 483
    functionName: firehose_open_logs
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - ap_log_error
    - apr_file_open
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int firehose_open_logs(apr_pool_t *p, apr_pool_t *plog,\n        apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:490,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/debugging/mod_firehose.c:493,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/modules/debugging/mod_firehose.c:496,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:497,1
    - Dst: ap_hook_create_request
      Src: /src/httpd/modules/debugging/mod_firehose.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: firehose_register_hooks
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_connection
    - ap_hook_open_logs
    - ap_hook_create_request
    - ap_register_output_filter
    - ap_register_input_filter
    linkageType: ''
    returnType: void
    signature: void firehose_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_firehose.c:504,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/debugging/mod_firehose.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: firehose_create_sconfig
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *firehose_create_sconfig(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_firehose.c:514,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/debugging/mod_firehose.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: firehose_merge_sconfig
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: "void *firehose_merge_sconfig(apr_pool_t *p, void *basev,\n        void
      *overridesv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_firehose.c:533,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/debugging/mod_firehose.c:536,1
    - Dst: strcmp
      Src: /src/httpd/modules/debugging/mod_firehose.c:544,1
    - Dst: strcmp
      Src: /src/httpd/modules/debugging/mod_firehose.c:551,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/debugging/mod_firehose.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - cmd
    - arg1
    - arg2
    - proxy
    - direction
    - request
    argTypes:
    - cmd_parms*
    - char*
    - char*
    - proxy_enum
    - direction_enum
    - request_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 564
    functionName: firehose_enable_connection
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_array_push
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_connection(cmd_parms *cmd, const char *arg1,\n
      \       const char *arg2, proxy_enum proxy, direction_enum direction,\n        request_enum
      request)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:570,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: firehose_enable_connection_input
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_connection_input(cmd_parms *cmd,\n        void
      *dummy, const char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:585,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: firehose_enable_connection_output
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_connection_output(cmd_parms *cmd,\n        void
      *dummy, const char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:600,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 609
    functionName: firehose_enable_request_input
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_request_input(cmd_parms *cmd, void *dummy,\n
      \       const char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:615,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 624
    functionName: firehose_enable_request_output
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_request_output(cmd_parms *cmd, void *dummy,\n
      \       const char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:630,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 639
    functionName: firehose_enable_proxy_connection_input
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_proxy_connection_input(cmd_parms *cmd,\n        void
      *dummy, const char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/debugging/mod_firehose.c:645,1
    - Dst: firehose_enable_connection
      Src: /src/httpd/modules/debugging/mod_firehose.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: firehose_enable_proxy_connection_output
    functionSourceFile: /src/httpd/modules/debugging/mod_firehose.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - firehose_enable_connection
    linkageType: ''
    returnType: char
    signature: "char *firehose_enable_proxy_connection_output(cmd_parms *cmd,\n        void
      *dummy, const char *arg1, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: create_bucketeer_server_config
    functionSourceFile: /src/httpd/modules/debugging/mod_bucketeer.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_bucketeer_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:70,1
    - Dst: strncmp
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:74,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:75,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:76,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:80,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:81,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:82,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:85,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:89,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:91,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:92,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:93,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:98,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:99,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:100,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:104,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:109,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:113,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:115,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:116,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:117,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:122,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:132,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:132,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:138,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:142,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:143,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:146,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:150,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:157,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:157,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:164,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 172
    functionName: bucketeer_out_filter
    functionSourceFile: /src/httpd/modules/debugging/mod_bucketeer.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_setaside
    - apr_bucket_read
    - apr_bucket_pool_create
    - strncmp
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BUCKET_REMOVE
    - apr_pmemdup
    - ap_pass_brigade
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - apr_pcalloc
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t bucketeer_out_filter(ap_filter_t *f,\n                                         apr_bucket_brigade
      *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/debugging/mod_bucketeer.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/debugging/mod_bucketeer.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/session/mod_session.c:65,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:65,1
    - Dst: strncmp
      Src: /src/httpd/modules/session/mod_session.c:74,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - r
    - conf
    argTypes:
    - request_rec*
    - session_dir_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: session_included
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int session_included(request_rec * r, session_dir_conf * conf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session.c:94,1
    - Dst: session_included
      Src: /src/httpd/modules/session/mod_session.c:106,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:107,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:107,1
    - Dst: ap_run_session_load
      Src: /src/httpd/modules/session/mod_session.c:113,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:115,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:121,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/session/mod_session.c:128,1
    - Dst: ap_run_session_decode
      Src: /src/httpd/modules/session/mod_session.c:132,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:137,1
    - Dst: memset
      Src: /src/httpd/modules/session/mod_session.c:141,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/session/mod_session.c:143,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:148,1
    - Dst: memset
      Src: /src/httpd/modules/session/mod_session.c:150,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/session/mod_session.c:152,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session.c:160,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/session/mod_session.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 177
    functionName: ap_session_load
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_time_now
    - ap_run_session_load
    - session_included
    - memset
    - apr_pcalloc
    - APLOGNO
    - apr_table_make
    - ap_get_module_config
    - ap_run_session_decode
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_session_load(request_rec * r, session_rec ** z)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/session/mod_session.c:191,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session.c:195,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:200,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:200,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:206,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:206,1
    - Dst: ap_run_session_encode
      Src: /src/httpd/modules/session/mod_session.c:235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:237,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:237,1
    - Dst: ap_run_session_save
      Src: /src/httpd/modules/session/mod_session.c:244,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:246,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:246,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session.c:252,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session.c:252,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 264
    functionName: ap_session_save
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_time_now
    - APLOGNO
    - ap_run_session_save
    - ap_run_session_encode
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_session_save(request_rec * r, session_rec * z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_session_load
      Src: /src/httpd/modules/session/mod_session.c:280,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/session/mod_session.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - r
    - z
    - key
    - value
    argTypes:
    - request_rec*
    - session_rec*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: ap_session_get
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - ap_session_load
    - apr_table_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_session_get(request_rec * r, session_rec * z,\n        const
      char *key, const char **value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_session_load
      Src: /src/httpd/modules/session/mod_session.c:309,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/session/mod_session.c:316,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/session/mod_session.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - r
    - z
    - key
    - value
    argTypes:
    - request_rec*
    - session_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 324
    functionName: ap_session_set
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - ap_session_load
    - apr_table_unset
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_session_set(request_rec * r, session_rec * z,\n        const
      char *key, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:330,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: identity_count
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int identity_count(void *v, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:337,1
    - Dst: ap_escape_urlencoded_buffer
      Src: /src/httpd/modules/session/mod_session.c:344,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session.c:345,1
    - Dst: ap_escape_urlencoded_buffer
      Src: /src/httpd/modules/session/mod_session.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 350
    functionName: identity_concat
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_escape_urlencoded_buffer
    linkageType: ''
    returnType: int
    signature: int identity_concat(void *v, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/session/mod_session.c:371,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/session/mod_session.c:372,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/session/mod_session.c:374,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session.c:375,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/session/mod_session.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: session_identity_encode
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_table_do
    - apr_table_setn
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_identity_encode(request_rec * r, session_rec *
      z)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session.c:412,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session.c:413,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session.c:417,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session.c:419,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/session/mod_session.c:421,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/modules/session/mod_session.c:423,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/modules/session/mod_session.c:423,1
    - Dst: strcmp
      Src: /src/httpd/modules/session/mod_session.c:424,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/session/mod_session.c:425,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/session/mod_session.c:428,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session.c:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 437
    functionName: session_identity_decode
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strcmp
    - apr_table_set
    - apr_table_unset
    - apr_atoi64
    - apr_pstrdup
    - ap_unescape_urlencoded
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_identity_decode(request_rec * r, session_rec *
      z)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session.c:466,1
    - Dst: ap_session_load
      Src: /src/httpd/modules/session/mod_session.c:471,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/session/mod_session.c:479,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/session/mod_session.c:481,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/session/mod_session.c:484,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/session/mod_session.c:485,1
    - Dst: session_identity_decode
      Src: /src/httpd/modules/session/mod_session.c:488,1
    - Dst: ap_session_save
      Src: /src/httpd/modules/session/mod_session.c:494,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/session/mod_session.c:500,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/session/mod_session.c:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 505
    functionName: session_output_filter
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_session_save
    - apr_table_unset
    - ap_remove_output_filter
    - apr_table_get
    - ap_get_module_config
    - ap_session_load
    - session_identity_decode
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t session_output_filter(ap_filter_t * f,\n        apr_bucket_brigade
      * in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/session/mod_session.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: session_insert_output_filter
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - ap_add_output_filter
    linkageType: ''
    returnType: void
    signature: void session_insert_output_filter(request_rec * r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session.c:528,1
    - Dst: ap_session_load
      Src: /src/httpd/modules/session/mod_session.c:537,1
    - Dst: session_identity_encode
      Src: /src/httpd/modules/session/mod_session.c:541,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/session/mod_session.c:543,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/session/mod_session.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: session_fixups
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - session_identity_encode
    - apr_table_set
    - apr_table_unset
    - ap_get_module_config
    - ap_session_load
    linkageType: ''
    returnType: int
    signature: int session_fixups(request_rec * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session.c:558,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/session/mod_session.c:560,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/session/mod_session.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: create_session_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_session_dir_config(apr_pool_t * p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session.c:568,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/session/mod_session.c:580,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/session/mod_session.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: merge_session_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_session_dir_config(apr_pool_t * p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 600
    functionName: set_session_enable
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_session_enable(cmd_parms * parms, void *dconf, int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/session/mod_session.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 611
    functionName: set_session_maxage
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: char
    signature: "char *\n     set_session_maxage(cmd_parms * parms, void *dconf, const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: set_session_header
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_session_header(cmd_parms * parms, void *dconf, const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: set_session_env
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_session_env(cmd_parms * parms, void *dconf, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/session/mod_session.c:639,1
    - Dst: f::f
      Src: /src/httpd/modules/session/mod_session.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - f
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: add_session_include
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - f::f
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: char *add_session_include(cmd_parms * cmd, void *dconf, const char
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/session/mod_session.c:649,1
    - Dst: f::f
      Src: /src/httpd/modules/session/mod_session.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - f
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: add_session_exclude
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - f::f
    - apr_array_push
    linkageType: ''
    returnType: char
    signature: char *add_session_exclude(cmd_parms * cmd, void *dconf, const char
      *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/session/mod_session.c:660,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/session/mod_session.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 668
    functionName: set_session_expiry_update
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *\n     set_session_expiry_update(cmd_parms * parms, void *dconf,
      const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/session/mod_session.c:693,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/session/mod_session.c:695,1
    - Dst: ap_hook_insert_error_filter
      Src: /src/httpd/modules/session/mod_session.c:697,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/session/mod_session.c:699,1
    - Dst: ap_hook_session_encode
      Src: /src/httpd/modules/session/mod_session.c:700,1
    - Dst: ap_hook_session_decode
      Src: /src/httpd/modules/session/mod_session.c:702,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session.c:704,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session.c:705,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session.c:706,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 708
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/session/mod_session.c
    functionUses: 1
    functionsReached:
    - ap_hook_session_decode
    - ap_hook_insert_error_filter
    - ap_register_output_filter
    - ap_hook_session_encode
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: ROTL64
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL64(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: U8TO64_LE
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO64_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: U64TO8_LE
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: SIPROUND
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIPROUND()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: U8TO64_LE
      Src: /src/httpd/modules/session/mod_session_crypto.c:117,1
    - Dst: U8TO64_LE
      Src: /src/httpd/modules/session/mod_session_crypto.c:118,1
    - Dst: U8TO64_LE
      Src: /src/httpd/modules/session/mod_session_crypto.c:126,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:128,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:129,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:144,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:145,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:149,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:150,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:151,1
    - Dst: SIPROUND
      Src: /src/httpd/modules/session/mod_session_crypto.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 3
    argNames:
    - src
    - len
    - key
    argTypes:
    - void*
    - apr_size_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 155
    functionName: ap_siphash24
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - U8TO64_LE
    - SIPROUND
    linkageType: ''
    returnType: apr_uint64_t
    signature: "apr_uint64_t ap_siphash24(const void *src, apr_size_t len,\n                                 const
      unsigned char key[AP_SIPHASH_KSIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_siphash24
      Src: /src/httpd/modules/session/mod_session_crypto.c:162,1
    - Dst: U64TO8_LE
      Src: /src/httpd/modules/session/mod_session_crypto.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - src
    - len
    - key
    argTypes:
    - unsigned char[]
    - void*
    - apr_size_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: ap_siphash24_auth
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_siphash24
    - U64TO8_LE
    linkageType: ''
    returnType: void
    signature: "void ap_siphash24_auth(unsigned char out[AP_SIPHASH_DSIZE],\n                              const
      void *src, apr_size_t len,\n                              const unsigned char
      key[AP_SIPHASH_KSIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5
      Src: /src/httpd/modules/session/mod_session_crypto.c:179,1
    - Dst: ap_siphash24_auth
      Src: /src/httpd/modules/session/mod_session_crypto.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - src
    - len
    - passphrase
    - passlen
    - auth
    argTypes:
    - void*
    - apr_size_t
    - char*
    - apr_size_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: compute_auth
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_md5
    - ap_siphash24_auth
    linkageType: ''
    returnType: void
    signature: "void compute_auth(const void *src, apr_size_t len,\n                         const
      char *passphrase, apr_size_t passlen,\n                         unsigned char
      auth[AP_SIPHASH_DSIZE])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_crypto_get_block_key_types
      Src: /src/httpd/modules/session/mod_session_crypto.c:196,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:198,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:198,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/session/mod_session_crypto.c:204,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/session/mod_session_crypto.c:213,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/session/mod_session_crypto.c:213,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/session/mod_session_crypto.c:214,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/session/mod_session_crypto.c:217,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/session/mod_session_crypto.c:217,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/session/mod_session_crypto.c:218,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:220,1
    - Dst: strncpy
      Src: /src/httpd/modules/session/mod_session_crypto.c:226,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:231,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - r
    - f
    - cipher
    - dconf
    argTypes:
    - request_rec*
    - apr_crypto_t*
    - apr_crypto_block_key_type_e**
    - session_crypto_dir_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 239
    functionName: crypt_init
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_crypto_get_block_key_types
    - apr_hash_this
    - apr_hash_next
    - apr_hash_first
    - apr_hash_get
    - strncpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t crypt_init(request_rec *r,\n        const apr_crypto_t
      *f, apr_crypto_block_key_type_e **cipher,\n        session_crypto_dir_conf *
      dconf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/session/mod_session_crypto.c:265,1
    - Dst: crypt_init
      Src: /src/httpd/modules/session/mod_session_crypto.c:266,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/session/mod_session_crypto.c:272,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session_crypto.c:273,1
    - Dst: apr_crypto_passphrase
      Src: /src/httpd/modules/session/mod_session_crypto.c:274,1
    - Dst: APR_STATUS_IS_ENOKEY
      Src: /src/httpd/modules/session/mod_session_crypto.c:277,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:278,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:278,1
    - Dst: APR_STATUS_IS_EPADDING
      Src: /src/httpd/modules/session/mod_session_crypto.c:281,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:282,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:282,1
    - Dst: APR_STATUS_IS_EKEYTYPE
      Src: /src/httpd/modules/session/mod_session_crypto.c:285,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:286,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:286,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:290,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:290,1
    - Dst: apr_crypto_block_encrypt_init
      Src: /src/httpd/modules/session/mod_session_crypto.c:295,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:297,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:297,1
    - Dst: apr_crypto_block_encrypt
      Src: /src/httpd/modules/session/mod_session_crypto.c:303,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session_crypto.c:304,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:307,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:307,1
    - Dst: apr_crypto_block_encrypt_finish
      Src: /src/httpd/modules/session/mod_session_crypto.c:311,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:313,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:321,1
    - Dst: memcpy
      Src: /src/httpd/modules/session/mod_session_crypto.c:322,1
    - Dst: memcpy
      Src: /src/httpd/modules/session/mod_session_crypto.c:323,1
    - Dst: memcpy
      Src: /src/httpd/modules/session/mod_session_crypto.c:324,1
    - Dst: compute_auth
      Src: /src/httpd/modules/session/mod_session_crypto.c:327,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:331,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/modules/session/mod_session_crypto.c:331,1
    - Dst: apr_base64_encode
      Src: /src/httpd/modules/session/mod_session_crypto.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 5
    argNames:
    - r
    - f
    - dconf
    - in
    - out
    argTypes:
    - request_rec*
    - apr_crypto_t*
    - session_crypto_dir_conf*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 337
    functionName: encrypt_string
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EKEYTYPE
    - ap_log_rerror
    - apr_uuid_get
    - APR_ARRAY_IDX
    - apr_palloc
    - crypt_init
    - APLOGNO
    - apr_crypto_block_encrypt_finish
    - APR_STATUS_IS_ENOKEY
    - apr_base64_encode
    - APR_STATUS_IS_EPADDING
    - apr_crypto_passphrase
    - apr_crypto_block_encrypt_init
    - apr_crypto_block_encrypt
    - compute_auth
    - apr_base64_encode_len
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t encrypt_string(request_rec * r, const apr_crypto_t *f,\n
      \       session_crypto_dir_conf *dconf, const char *in, char **out)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:361,1
    - Dst: apr_base64_decode_len
      Src: /src/httpd/modules/session/mod_session_crypto.c:361,1
    - Dst: apr_base64_decode
      Src: /src/httpd/modules/session/mod_session_crypto.c:362,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:367,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:367,1
    - Dst: crypt_init
      Src: /src/httpd/modules/session/mod_session_crypto.c:372,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/session/mod_session_crypto.c:381,1
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session_crypto.c:382,1
    - Dst: compute_auth
      Src: /src/httpd/modules/session/mod_session_crypto.c:389,1
    - Dst: ap_memeq_timingsafe
      Src: /src/httpd/modules/session/mod_session_crypto.c:390,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:391,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:391,1
    - Dst: apr_crypto_passphrase
      Src: /src/httpd/modules/session/mod_session_crypto.c:397,1
    - Dst: APR_STATUS_IS_ENOKEY
      Src: /src/httpd/modules/session/mod_session_crypto.c:401,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:402,1
    - Dst: APR_STATUS_IS_EPADDING
      Src: /src/httpd/modules/session/mod_session_crypto.c:406,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:407,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:407,1
    - Dst: APR_STATUS_IS_EKEYTYPE
      Src: /src/httpd/modules/session/mod_session_crypto.c:411,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:412,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:412,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:417,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:417,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:424,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:424,1
    - Dst: apr_crypto_block_decrypt_init
      Src: /src/httpd/modules/session/mod_session_crypto.c:434,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:437,1
    - Dst: apr_crypto_block_decrypt
      Src: /src/httpd/modules/session/mod_session_crypto.c:447,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:450,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:450,1
    - Dst: apr_crypto_block_decrypt_finish
      Src: /src/httpd/modules/session/mod_session_crypto.c:456,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:458,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:458,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:469,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 5
    argNames:
    - r
    - f
    - dconf
    - in
    - out
    argTypes:
    - request_rec*
    - apr_crypto_t*
    - session_crypto_dir_conf*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 475
    functionName: decrypt_string
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_crypto_block_decrypt_finish
    - APR_STATUS_IS_EKEYTYPE
    - ap_log_rerror
    - apr_crypto_block_decrypt
    - apr_palloc
    - apr_base64_decode
    - APR_ARRAY_IDX
    - apr_base64_decode_len
    - crypt_init
    - APLOGNO
    - apr_crypto_block_decrypt_init
    - APR_STATUS_IS_ENOKEY
    - compute_auth
    - apr_crypto_passphrase
    - APR_STATUS_IS_EPADDING
    - strlen
    - ap_memeq_timingsafe
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t decrypt_string(request_rec * r, const apr_crypto_t *f,\n
      \       session_crypto_dir_conf *dconf, const char *in, char **out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_crypto.c:489,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/session/mod_session_crypto.c:493,1
    - Dst: encrypt_string
      Src: /src/httpd/modules/session/mod_session_crypto.c:494,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:496,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 505
    functionName: session_crypto_encode
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - encrypt_string
    - apr_pool_userdata_get
    - APLOGNO
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_crypto_encode(request_rec * r, session_rec * z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_crypto.c:520,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/session/mod_session_crypto.c:524,1
    - Dst: decrypt_string
      Src: /src/httpd/modules/session/mod_session_crypto.c:526,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_crypto.c:528,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 513
    functionDepth: 5
    functionLinenumber: 513
    functionLinenumberEnd: 537
    functionName: session_crypto_decode
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - decrypt_string
    - apr_pool_userdata_get
    - APLOGNO
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t session_crypto_decode(request_rec * r,\n        session_rec
      * z)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_crypto.c:548,1
    - Dst: apr_crypto_init
      Src: /src/httpd/modules/session/mod_session_crypto.c:556,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:558,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:558,1
    - Dst: apr_crypto_get_driver
      Src: /src/httpd/modules/session/mod_session_crypto.c:563,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:565,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:565,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:571,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:571,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:576,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:576,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:582,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:582,1
    - Dst: apr_crypto_make
      Src: /src/httpd/modules/session/mod_session_crypto.c:588,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:590,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:590,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/session/mod_session_crypto.c:596,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_crypto.c:596,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/session/mod_session_crypto.c:600,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 606
    functionName: session_crypto_init
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_crypto_init
    - apr_crypto_make
    - apr_pool_userdata_set
    - APLOGNO
    - ap_log_error
    - apr_crypto_get_driver
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int session_crypto_init(apr_pool_t *p, apr_pool_t *plog,\n        apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: create_session_crypto_config
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_session_crypto_config(apr_pool_t * p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:626,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/session/mod_session_crypto.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: create_session_crypto_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_session_crypto_dir_config(apr_pool_t * p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_crypto.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: merge_session_crypto_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_session_crypto_dir_config(apr_pool_t * p, void *basev,
      void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_crypto.c:653,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/session/mod_session_crypto.c:656,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/session/mod_session_crypto.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 667
    functionName: set_crypto_driver
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_get_module_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_crypto_driver(cmd_parms * cmd, void *config, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/session/mod_session_crypto.c:671,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/session/mod_session_crypto.c:677,1
    - Dst: strncmp
      Src: /src/httpd/modules/session/mod_session_crypto.c:679,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/session/mod_session_crypto.c:680,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_crypto.c:681,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/session/mod_session_crypto.c:685,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_crypto.c:688,1
    - Dst: ap_get_exec_line
      Src: /src/httpd/modules/session/mod_session_crypto.c:692,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_crypto.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 709
    functionName: set_crypto_passphrase
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - apr_array_push
    - apr_tokenize_to_argv
    - ap_get_exec_line
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *set_crypto_passphrase(cmd_parms * cmd, void *config, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/session/mod_session_crypto.c:720,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/session/mod_session_crypto.c:721,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/session/mod_session_crypto.c:723,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/session/mod_session_crypto.c:727,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/session/mod_session_crypto.c:729,1
    - Dst: set_crypto_passphrase
      Src: /src/httpd/modules/session/mod_session_crypto.c:733,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/session/mod_session_crypto.c:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - config
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 740
    functionName: set_crypto_passphrase_file
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached:
    - ap_cfg_closefile
    - ap_server_root_relative
    - set_crypto_passphrase
    - ap_pcfg_openfile
    - ap_cfg_getline
    - apr_psprintf
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_passphrase_file(cmd_parms *cmd, void *config,\n                                  const
      char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - cipher
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 750
    functionName: set_crypto_cipher
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_crypto_cipher(cmd_parms * cmd, void *config, const char *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_session_encode
      Src: /src/httpd/modules/session/mod_session_crypto.c:767,1
    - Dst: ap_hook_session_decode
      Src: /src/httpd/modules/session/mod_session_crypto.c:768,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/session/mod_session_crypto.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/session/mod_session_crypto.c
    functionUses: 1
    functionsReached:
    - ap_hook_session_decode
    - ap_hook_session_encode
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session_dbd.c:66,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/session/mod_session_dbd.c:67,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:69,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:69,1
    - Dst: session_dbd_acquire_fn
      Src: /src/httpd/modules/session/mod_session_dbd.c:75,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:77,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:77,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/session/mod_session_dbd.c:82,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - r
    - query
    - dbdp
    - statementp
    argTypes:
    - request_rec*
    - char*
    - ap_dbd_t**
    - apr_dbd_prepared_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: dbd_init
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 4
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - APR_RETRIEVE_OPTIONAL_FN
    - apr_hash_get
    - session_dbd_acquire_fn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_init(request_rec *r, const char *query, ap_dbd_t
      **dbdp,\n                             apr_dbd_prepared_t **statementp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/session/mod_session_dbd.c:109,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_dbd.c:111,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:115,1
    - Dst: dbd_init
      Src: /src/httpd/modules/session/mod_session_dbd.c:120,1
    - Dst: apr_dbd_pvbselect
      Src: /src/httpd/modules/session/mod_session_dbd.c:124,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:127,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/session/mod_session_dbd.c:130,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/session/mod_session_dbd.c:133,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/session/mod_session_dbd.c:135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:137,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/session/mod_session_dbd.c:140,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session_dbd.c:144,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/session/mod_session_dbd.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - p
    - r
    - key
    - val
    argTypes:
    - apr_pool_t*
    - request_rec*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: dbd_load
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_init
    - ap_log_rerror
    - apr_time_now
    - apr_dbd_error
    - APLOGNO
    - apr_dbd_get_entry
    - apr_dbd_get_row
    - ap_get_module_config
    - apr_dbd_pvbselect
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_load(apr_pool_t *p, request_rec * r,\n                             const
      char *key, const char **val)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_dbd.c:170,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_dbd.c:196,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/session/mod_session_dbd.c:197,1
    - Dst: ap_cookie_read
      Src: /src/httpd/modules/session/mod_session_dbd.c:207,1
    - Dst: dbd_load
      Src: /src/httpd/modules/session/mod_session_dbd.c:209,1
    - Dst: dbd_load
      Src: /src/httpd/modules/session/mod_session_dbd.c:220,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:233,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/session/mod_session_dbd.c:235,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:237,1
    - Dst: apr_uuid_parse
      Src: /src/httpd/modules/session/mod_session_dbd.c:238,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/session/mod_session_dbd.c:246,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/session/mod_session_dbd.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 253
    functionName: session_dbd_load
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - apr_table_setn
    - ap_cookie_read
    - dbd_load
    - apr_table_addn
    - apr_uuid_parse
    - apr_table_get
    - ap_get_module_config
    - apr_table_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_dbd_load(request_rec * r, session_rec ** z)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_dbd.c:267,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:271,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:271,1
    - Dst: dbd_init
      Src: /src/httpd/modules/session/mod_session_dbd.c:276,1
    - Dst: apr_dbd_pvbquery
      Src: /src/httpd/modules/session/mod_session_dbd.c:282,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:286,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/session/mod_session_dbd.c:287,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:301,1
    - Dst: dbd_init
      Src: /src/httpd/modules/session/mod_session_dbd.c:306,1
    - Dst: apr_dbd_pvbquery
      Src: /src/httpd/modules/session/mod_session_dbd.c:310,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:313,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/session/mod_session_dbd.c:316,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:328,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - r
    - oldkey
    - newkey
    - val
    - expiry
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - apr_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 334
    functionName: dbd_save
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_init
    - ap_log_rerror
    - apr_dbd_error
    - APLOGNO
    - ap_get_module_config
    - apr_dbd_pvbquery
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dbd_save(request_rec * r, const char *oldkey,\n        const
      char *newkey, const char *val, apr_int64_t expiry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_dbd.c:347,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:351,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:351,1
    - Dst: dbd_init
      Src: /src/httpd/modules/session/mod_session_dbd.c:356,1
    - Dst: apr_dbd_pvbquery
      Src: /src/httpd/modules/session/mod_session_dbd.c:363,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:366,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - key
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: dbd_remove
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_init
    - ap_log_rerror
    - APLOGNO
    - ap_get_module_config
    - apr_dbd_pvbquery
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_remove(request_rec * r, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: dbd_clean
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dbd_clean(apr_pool_t *p, server_rec *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_dbd.c:408,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:417,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/session/mod_session_dbd.c:418,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:421,1
    - Dst: apr_uuid_get
      Src: /src/httpd/modules/session/mod_session_dbd.c:422,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:423,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/session/mod_session_dbd.c:424,1
    - Dst: dbd_save
      Src: /src/httpd/modules/session/mod_session_dbd.c:432,1
    - Dst: dbd_remove
      Src: /src/httpd/modules/session/mod_session_dbd.c:435,1
    - Dst: ap_cookie_write
      Src: /src/httpd/modules/session/mod_session_dbd.c:443,1
    - Dst: ap_cookie_write2
      Src: /src/httpd/modules/session/mod_session_dbd.c:449,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/session/mod_session_dbd.c:461,1
    - Dst: dbd_save
      Src: /src/httpd/modules/session/mod_session_dbd.c:464,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/session/mod_session_dbd.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/session/mod_session_dbd.c:471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 479
    functionName: session_dbd_save
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_save
    - ap_log_rerror
    - apr_uuid_get
    - apr_pcalloc
    - dbd_remove
    - ap_cookie_write2
    - APLOGNO
    - apr_table_addn
    - ap_cookie_write
    - apr_uuid_format
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_dbd_save(request_rec * r, session_rec * z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbd_clean
      Src: /src/httpd/modules/session/mod_session_dbd.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: session_dbd_monitor
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - dbd_clean
    linkageType: ''
    returnType: int
    signature: int session_dbd_monitor(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: create_session_dbd_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_session_dbd_dir_config(apr_pool_t * p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_dbd.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: merge_session_dbd_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_session_dbd_dir_config(apr_pool_t * p, void *basev, void
      *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cookie_check_string
      Src: /src/httpd/modules/session/mod_session_dbd.c:538,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_dbd.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmd
    - string
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: check_string
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 1
    functionsReached:
    - ap_cookie_check_string
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *check_string(cmd_parms * cmd, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: set_dbd_peruser
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_dbd_peruser(cmd_parms * parms, void *dconf, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: set_dbd_cookie_remove
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_dbd_cookie_remove(cmd_parms * parms, void *dconf,
      int flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session_dbd.c:571,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session_dbd.c:573,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_dbd.c:575,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/session/mod_session_dbd.c:581,1
    - Dst: check_string
      Src: /src/httpd/modules/session/mod_session_dbd.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - config
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 586
    functionName: set_cookie_name
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_isspace
    - apr_pstrcat
    - check_string
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *set_cookie_name(cmd_parms * cmd, void *config, const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session_dbd.c:591,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session_dbd.c:593,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_dbd.c:595,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/session/mod_session_dbd.c:601,1
    - Dst: check_string
      Src: /src/httpd/modules/session/mod_session_dbd.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - config
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 606
    functionName: set_cookie_name2
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_isspace
    - apr_pstrcat
    - check_string
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *set_cookie_name2(cmd_parms * cmd, void *config, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_session_load
      Src: /src/httpd/modules/session/mod_session_dbd.c:635,1
    - Dst: ap_hook_session_save
      Src: /src/httpd/modules/session/mod_session_dbd.c:636,1
    - Dst: ap_hook_monitor
      Src: /src/httpd/modules/session/mod_session_dbd.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/session/mod_session_dbd.c
    functionUses: 1
    functionsReached:
    - ap_hook_session_load
    - ap_hook_session_save
    - ap_hook_monitor
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_cookie.c:62,1
    - Dst: ap_cookie_write
      Src: /src/httpd/modules/session/mod_session_cookie.c:69,1
    - Dst: ap_cookie_remove
      Src: /src/httpd/modules/session/mod_session_cookie.c:74,1
    - Dst: ap_cookie_write2
      Src: /src/httpd/modules/session/mod_session_cookie.c:82,1
    - Dst: ap_cookie_remove2
      Src: /src/httpd/modules/session/mod_session_cookie.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: session_cookie_save
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - ap_cookie_remove
    - ap_cookie_write2
    - ap_cookie_write
    - ap_cookie_remove2
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_cookie_save(request_rec * r, session_rec * z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/session/mod_session_cookie.c:115,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_cookie.c:145,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/session/mod_session_cookie.c:146,1
    - Dst: ap_cookie_read
      Src: /src/httpd/modules/session/mod_session_cookie.c:153,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_cookie.c:156,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/session/mod_session_cookie.c:158,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/session/mod_session_cookie.c:163,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/session/mod_session_cookie.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - request_rec*
    - session_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 170
    functionName: session_cookie_load
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - apr_table_setn
    - ap_cookie_read
    - apr_table_addn
    - apr_table_get
    - ap_get_module_config
    - apr_table_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t session_cookie_load(request_rec * r, session_rec ** z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_cookie.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: create_session_cookie_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_session_cookie_dir_config(apr_pool_t * p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/session/mod_session_cookie.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: merge_session_cookie_dir_config
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void *merge_session_cookie_dir_config(apr_pool_t * p, void *basev,\n
      \                                            void *addv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/session/mod_session_cookie.c:211,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/session/mod_session_cookie.c:211,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/session/mod_session_cookie.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cmd
    - string
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: check_string
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 3
    functionsReached:
    - ap_strchr_c
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *check_string(cmd_parms * cmd, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session_cookie.c:223,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session_cookie.c:225,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/session/mod_session_cookie.c:228,1
    - Dst: check_string
      Src: /src/httpd/modules/session/mod_session_cookie.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: set_cookie_name
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - check_string
    - apr_strtok
    - apr_pstrdup
    - apr_isspace
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_name(cmd_parms * cmd, void *config,\n                                   const
      char *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/session/mod_session_cookie.c:239,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/session/mod_session_cookie.c:241,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/session/mod_session_cookie.c:244,1
    - Dst: check_string
      Src: /src/httpd/modules/session/mod_session_cookie.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: set_cookie_name2
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached:
    - check_string
    - apr_strtok
    - apr_pstrdup
    - apr_isspace
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_name2(cmd_parms * cmd, void *config,\n                                    const
      char *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: set_remove
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_remove(cmd_parms * parms, void *dconf, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: set_maxage
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n     set_maxage(cmd_parms * parms, void *dconf, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_session_load
      Src: /src/httpd/modules/session/mod_session_cookie.c:289,1
    - Dst: ap_hook_session_save
      Src: /src/httpd/modules/session/mod_session_cookie.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/session/mod_session_cookie.c
    functionUses: 1
    functionsReached:
    - ap_hook_session_load
    - ap_hook_session_save
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: SESSION_DECLARE
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SESSION_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: SESSION_DECLARE
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: SESSION_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: SESSION_DECLARE
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SESSION_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: SESSION_DECLARE
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: SESSION_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/session/mod_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_DECLARE_NONSTD(type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:80,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:84,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:84,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:89,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:91,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:91,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:97,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:99,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:99,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:104,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:106,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:106,1
    - Dst: apr_mcast_join
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:111,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:114,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:114,1
    - Dst: apr_mcast_loopback
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hm_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 127
    functionName: hm_listen
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - apr_socket_opt_set
    - APLOGNO
    - ap_log_error
    - apr_socket_bind
    - apr_mcast_loopback
    - apr_mcast_join
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_listen(hm_ctx_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:142,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:144,1
    - Dst: strchr
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:146,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:154,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:155,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:156,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - input
    - parms
    - p
    argTypes:
    - char*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: qs_to_table
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strchr
    - apr_table_set
    - apr_pstrdup
    - ap_unescape_url
    linkageType: ''
    returnType: void
    signature: "void qs_to_table(const char *input, apr_table_t *parms,\n                        apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:174,1
    - Dst: ip::ip
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:174,1
    - Dst: busy::busy
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:176,1
    - Dst: ready::ready
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:177,1
    - Dst: seen::seen
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - data
    - p
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: hm_update
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - strcmp
    - busy::busy
    - seen::seen
    - ip::ip
    - ready::ready
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_update(void* mem, void *data, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:188,1
    - Dst: ip::ip
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - data
    - p
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: hm_readid
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ip::ip
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_readid(void* mem, void *data, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doall
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:201,1
    - Dst: memset
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:205,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:206,1
    - Dst: grab
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:211,1
    - Dst: put
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - s
    - pool
    argTypes:
    - hm_server_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: hm_slotmem_update_stat
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - memset
    - apr_cpystrn
    - doall
    - put
    - grab
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_slotmem_update_stat(hm_server_t *s, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doall
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:222,1
    - Dst: release
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - pool
    argTypes:
    - hm_server_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: hm_slotmem_remove_stat
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - doall
    - release
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_slotmem_remove_stat(hm_server_t *s, apr_pool_t *pool)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:237,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:241,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:244,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:244,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:248,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:251,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:254,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:259,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:261,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:267,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:268,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:269,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:270,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:271,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:277,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:278,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:281,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:285,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:290,1
    - Dst: strchr
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:295,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:297,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:305,1
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:307,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:313,1
    - Dst: qs_to_table
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:314,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:314,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:315,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:316,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:322,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:323,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:329,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:330,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:337,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:338,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:343,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:348,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:349,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:358,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:359,1
    - Dst: apr_file_flush
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:363,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:365,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:365,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:370,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:372,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:372,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:377,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:381,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:387,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:390,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:390,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 3
    argNames:
    - ctx
    - s
    - pool
    argTypes:
    - hm_ctx_t*
    - hm_server_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 397
    functionName: hm_file_update_stat
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_file_mktemp
    - apr_file_close
    - apr_brigade_create
    - apr_file_rename
    - apr_brigade_flatten
    - apr_pstrmemdup
    - atoi
    - apr_table_make
    - apr_pstrcat
    - apr_bucket_alloc_create
    - strchr
    - apr_table_clear
    - apr_file_open
    - apr_table_get
    - qs_to_table
    - apr_time_sec
    - strcmp
    - apr_brigade_split_line
    - apr_file_perms_set
    - apr_file_info_get
    - apr_brigade_insert_file
    - ap_log_error
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - apr_file_printf
    - APLOGNO
    - apr_file_flush
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_file_update_stat(hm_ctx_t *ctx, hm_server_t *s, apr_pool_t
      *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hm_slotmem_update_stat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:401,1
    - Dst: hm_file_update_stat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - s
    - pool
    argTypes:
    - hm_ctx_t*
    - hm_server_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: hm_update_stat
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - hm_slotmem_update_stat
    - hm_file_update_stat
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_update_stat(hm_ctx_t *ctx, hm_server_t *s, apr_pool_t
      *pool)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:413,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:415,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:418,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:418,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:423,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:424,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:425,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:428,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:429,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:437,1
    - Dst: apr_file_flush
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:442,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:444,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:444,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:449,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:451,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:451,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:456,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:460,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:466,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - hm_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 476
    functionName: hm_file_update_stats
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - apr_time_now
    - apr_pstrcat
    - apr_file_mktemp
    - APLOGNO
    - apr_file_flush
    - apr_hash_this
    - apr_file_close
    - apr_file_rename
    - apr_hash_next
    - ap_log_error
    - apr_hash_first
    - apr_file_printf
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_file_update_stats(hm_ctx_t *ctx, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:483,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:484,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:485,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:488,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:489,1
    - Dst: hm_slotmem_remove_stat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:492,1
    - Dst: hm_slotmem_update_stat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - hm_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: hm_slotmem_update_stats
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - hm_slotmem_update_stat
    - apr_time_now
    - apr_hash_this
    - hm_slotmem_remove_stat
    - apr_hash_next
    - apr_hash_first
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_slotmem_update_stats(hm_ctx_t *ctx, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hm_slotmem_update_stats
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:506,1
    - Dst: hm_file_update_stats
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - hm_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: hm_update_stats
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - hm_slotmem_update_stats
    - hm_file_update_stats
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_update_stats(hm_ctx_t *ctx, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:515,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:518,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:519,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - ip
    - port
    argTypes:
    - hm_ctx_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: hm_get_server
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pstrdup
    - apr_hash_get
    - apr_hash_set
    linkageType: ''
    returnType: hm_server_t
    signature: hm_server_t *hm_get_server(hm_ctx_t *ctx, const char *ip, const int
      port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:538,1
    - Dst: qs_to_table
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:540,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:542,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:543,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:544,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:549,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:549,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:551,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:551,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:553,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:555,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:556,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:556,1
    - Dst: hm_get_server
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:558,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:560,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:560,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:561,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:561,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:562,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:565,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - p
    - from
    - buf
    - len
    argTypes:
    - hm_ctx_t*
    - apr_pool_t*
    - apr_sockaddr_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 570
    functionName: hm_processmsg
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - APLOGNO
    - hm_get_server
    - atoi
    - ap_log_error
    - apr_table_get
    - apr_sockaddr_ip_get
    - qs_to_table
    - apr_table_make
    linkageType: ''
    returnType: void
    signature: "void hm_processmsg(hm_ctx_t *ctx, apr_pool_t *p,\n                          apr_sockaddr_t
      *from, char *buf, apr_size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_recvfrom
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:582,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:584,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:585,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:585,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:589,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:589,1
    - Dst: hm_processmsg
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - hm_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: hm_recv
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_socket_recvfrom
    - APLOGNO
    - hm_processmsg
    - ap_log_error
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_recv(hm_ctx_t *ctx, apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hm_listen
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:611,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:614,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:614,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:619,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:619,1
    - Dst: hm_update_stats
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:626,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:627,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:627,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:629,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:636,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:637,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:644,1
    - Dst: apr_poll
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:646,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:649,1
    - Dst: hm_recv
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:653,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:655,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:655,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:656,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:660,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:666,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - state
    - data
    - pool
    argTypes:
    - int
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 672
    functionName: hm_watchdog_callback
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_poll
    - apr_time_from_sec
    - apr_time_now
    - hm_recv
    - hm_listen
    - APLOGNO
    - apr_pool_tag
    - apr_socket_close
    - apr_pool_create
    - ap_log_error
    - hm_update_stats
    - apr_time_sec
    - apr_pool_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t hm_watchdog_callback(int state, void *data,\n                                         apr_pool_t
      *pool)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:678,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:680,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:681,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:683,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:684,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:686,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:686,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:692,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:695,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:698,1
    - Dst: create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:704,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:706,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:706,1
    - Dst: hm_watchdog_get_instance
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:716,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:720,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:720,1
    - Dst: hm_watchdog_register_callback
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:726,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:731,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:731,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:736,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 739
    functionName: hm_post_config
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - hm_watchdog_get_instance
    - APLOGNO
    - ap_lookup_provider
    - create
    - ap_log_error
    - ap_get_module_config
    - APR_OPTIONAL_FN_TYPE
    - hm_watchdog_register_callback
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int hm_post_config(apr_pool_t *p, apr_pool_t *plog,\n                          apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:752,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:760,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:763,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:764,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:765,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:767,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:769,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:773,1
    - Dst: qs_to_table
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:774,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:775,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:778,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:779,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:779,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:780,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:780,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:781,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:781,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:782,1
    - Dst: hm_update_stat
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:783,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:785,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:786,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:787,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 741
    functionDepth: 4
    functionLinenumber: 741
    functionLinenumberEnd: 791
    functionName: hm_handler
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - strcmp
    - apr_time_now
    - apr_pcalloc
    - ap_set_content_type_ex
    - hm_update_stat
    - apr_brigade_create
    - apr_brigade_flatten
    - atoi
    - ap_map_http_request_error
    - ap_rputs
    - ap_get_module_config
    - apr_sockaddr_ip_get
    - apr_table_get
    - qs_to_table
    - ap_set_content_length
    - apr_table_make
    - ap_rflush
    linkageType: ''
    returnType: int
    signature: int hm_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:796,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 799
    functionName: hm_register_hooks
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void hm_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:803,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:806,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:809,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:811,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:812,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 816
    functionName: hm_create_config
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_palloc
    - apr_hash_make
    - apr_pool_tag
    - apr_pool_create
    - ap_runtime_dir_relative
    linkageType: ''
    returnType: void
    signature: void *hm_create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:823,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:825,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - path
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 834
    functionName: cmd_hm_storage
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *cmd_hm_storage(cmd_parms *cmd,\n                                  void
      *dconf, const char *path)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:845,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:847,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:860,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - cmd
    - dconf
    - mcast_addr
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 883
    functionName: cmd_hm_listen
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - apr_parse_addr_port
    - ap_check_cmd_context
    - ap_get_module_config
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *cmd_hm_listen(cmd_parms *cmd,\n                                 void
      *dconf, const char *mcast_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:888,1
    - Dst: atoi
      Src: /src/httpd/modules/cluster/mod_heartmonitor.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dconf
    - data
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: cmd_hm_maxworkers
    functionSourceFile: /src/httpd/modules/cluster/mod_heartmonitor.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *cmd_hm_maxworkers(cmd_parms *cmd,\n                                  void
      *dconf, const char *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:55,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:59,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:81,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:85,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:89,1
    - Dst: apr_mcast_loopback
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:93,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:95,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:96,1
    - Dst: apr_socket_sendto
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:100,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:103,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - hb_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 113
    functionName: hb_monitor
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - ap_mpm_query
    - APLOGNO
    - apr_socket_close
    - ap_log_error
    - apr_mcast_loopback
    - ap_get_scoreboard_process
    - apr_socket_sendto
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int hb_monitor(hb_ctx_t *ctx, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:117,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:119,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - name
    - pool
    argTypes:
    - server_rec*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: hb_watchdog_init
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int hb_watchdog_init(server_rec *s, const char *name, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - name
    - pool
    argTypes:
    - server_rec*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: hb_watchdog_exit
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hb_watchdog_exit(server_rec *s, const char *name, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:132,1
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:134,1
    - Dst: hb_monitor
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - s
    - name
    - pool
    argTypes:
    - server_rec*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: hb_watchdog_step
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_module_config
    - hb_monitor
    linkageType: ''
    returnType: int
    signature: int hb_watchdog_step(server_rec *s, const char *name, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:143,1
    - Dst: strcmp
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - s
    - name
    - parent
    - singleton
    argTypes:
    - server_rec*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: hb_watchdog_need
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int hb_watchdog_need(server_rec *s, const char *name,\n                          int
      parent, int singleton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_watchdog_need
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:153,1
    - Dst: ap_hook_watchdog_init
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:154,1
    - Dst: ap_hook_watchdog_step
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:155,1
    - Dst: ap_hook_watchdog_exit
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: hb_register_hooks
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_hook_watchdog_need
    - ap_hook_watchdog_init
    - ap_hook_watchdog_exit
    - ap_hook_watchdog_step
    linkageType: ''
    returnType: void
    signature: void hb_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: hb_create_config
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *hb_create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:175,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:177,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:190,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/cluster/mod_heartbeat.c:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - cmd
    - dconf
    - addr
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 212
    functionName: cmd_hb_address
    functionSourceFile: /src/httpd/modules/cluster/mod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_parse_addr_port
    - ap_check_cmd_context
    - ap_get_module_config
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *cmd_hb_address(cmd_parms *cmd,\n                                  void
      *dconf, const char *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_socache_dc.c:48,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_dc.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - arg
    - tmp
    - p
    argTypes:
    - ap_socache_instance_t**
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: socache_dc_create
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *socache_dc_create(ap_socache_instance_t **context,\n                                     const
      char *arg,\n                                     apr_pool_t *tmp, apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DC_CTX_new
      Src: /src/httpd/modules/cache/mod_socache_dc.c:76,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:78,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:78,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:81,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - namespace
    - hints
    - s
    - p
    argTypes:
    - ap_socache_instance_t*
    - char*
    - struct ap_socache_hints*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: socache_dc_init
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - DC_CTX_new
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dc_init(ap_socache_instance_t *ctx,\n                                    const
      char *namespace,\n                                    const struct ap_socache_hints
      *hints,\n                                    server_rec *s, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DC_CTX_free
      Src: /src/httpd/modules/cache/mod_socache_dc.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: socache_dc_destroy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - DC_CTX_free
    linkageType: ''
    returnType: void
    signature: void socache_dc_destroy(ap_socache_instance_t *ctx, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_dc.c:104,1
    - Dst: DC_CTX_add_session
      Src: /src/httpd/modules/cache/mod_socache_dc.c:106,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/cache/mod_socache_dc.c:107,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:108,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:108,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - s
    - id
    - idlen
    - expiry
    - der
    - der_len
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_time_t
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: socache_dc_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - APLOGNO
    - apr_time_msec
    - ap_log_error
    - DC_CTX_add_session
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dc_store(ap_socache_instance_t *ctx, server_rec
      *s,\n                                     const unsigned char *id, unsigned
      int idlen,\n                                     apr_time_t expiry,\n                                     unsigned
      char *der, unsigned int der_len,\n                                     apr_pool_t
      *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DC_CTX_get_session
      Src: /src/httpd/modules/cache/mod_socache_dc.c:123,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:124,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:124,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:128,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:132,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - s
    - id
    - idlen
    - dest
    - destlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: socache_dc_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - DC_CTX_get_session
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dc_retrieve(ap_socache_instance_t *ctx, server_rec
      *s,\n                                        const unsigned char *id, unsigned
      int idlen,\n                                        unsigned char *dest, unsigned
      int *destlen,\n                                        apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DC_CTX_remove_session
      Src: /src/httpd/modules/cache/mod_socache_dc.c:141,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:142,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:142,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dc.c:146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - s
    - id
    - idlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: socache_dc_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - DC_CTX_remove_session
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dc_remove(ap_socache_instance_t *ctx,\n                                      server_rec
      *s, const unsigned char *id,\n                                      unsigned
      int idlen, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_dc.c:153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dc.c:153,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dc.c:156,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_dc.c:160,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/cache/mod_socache_dc.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - r
    - flags
    argTypes:
    - ap_socache_instance_t*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: socache_dc_status
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_rputs
    - ap_rprintf
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: void socache_dc_status(ap_socache_instance_t *ctx, request_rec *r,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - instance
    - s
    - userctx
    - iterator
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - ap_socache_iterator_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: socache_dc_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dc_iterate(ap_socache_instance_t *instance,\n
      \                                      server_rec *s, void *userctx,\n                                       ap_socache_iterator_t
      *iterator,\n                                       apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_dc.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dc.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_file_cache.c:119,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/cache/mod_file_cache.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/cache/mod_file_cache.c:134,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:136,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:136,1
    - Dst: apr_stat
      Src: /src/httpd/modules/cache/mod_file_cache.c:141,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:143,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:148,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:148,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:153,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cache/mod_file_cache.c:158,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:161,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:161,1
    - Dst: apr_file_inherit_set
      Src: /src/httpd/modules/cache/mod_file_cache.c:165,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_file_cache.c:168,1
    - Dst: apr_mmap_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:177,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_file_cache.c:180,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:181,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_file_cache.c:185,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/cache/mod_file_cache.c:198,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/cache/mod_file_cache.c:199,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_file_cache.c:201,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/cache/mod_file_cache.c:202,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_file_cache.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - cmd
    - filename
    - mmap
    argTypes:
    - cmd_parms*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 204
    functionName: cache_the_file
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_server_root_relative
    - apr_pcalloc
    - apr_file_close
    - APLOGNO
    - apr_rfc822_date
    - apr_mmap_create
    - strlen
    - apr_file_inherit_set
    - ap_log_error
    - apr_file_open
    - ap_get_module_config
    - apr_stat
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void cache_the_file(cmd_parms *cmd, const char *filename, int mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_the_file
      Src: /src/httpd/modules/cache/mod_file_cache.c:209,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:212,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dummy
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: cachefilehandle
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - cache_the_file
    linkageType: ''
    returnType: char
    signature: char *cachefilehandle(cmd_parms *cmd, void *dummy, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_the_file
      Src: /src/httpd/modules/cache/mod_file_cache.c:220,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_file_cache.c:223,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_file_cache.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dummy
    - filename
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: cachefilemmap
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - cache_the_file
    linkageType: ''
    returnType: char
    signature: char *cachefilemmap(cmd_parms *cmd, void *dummy, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: file_cache_post_config
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int file_cache_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                   apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_file_cache.c:245,1
    - Dst: apr_hash_count
      Src: /src/httpd/modules/cache/mod_file_cache.c:248,1
    - Dst: ap_core_translate
      Src: /src/httpd/modules/cache/mod_file_cache.c:252,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/cache/mod_file_cache.c:258,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/cache/mod_file_cache.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: file_cache_xlat
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_hash_count
    - ap_core_translate
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: int file_cache_xlat(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:275,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:277,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_file_cache.c:279,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:280,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_file_cache.c:281,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_file_cache.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - file
    argTypes:
    - request_rec*
    - a_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: mmap_handler
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_bucket_immortal_create
    - apr_brigade_create
    - apr_bucket_eos_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int mmap_handler(request_rec *r, a_file *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:294,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/cache/mod_file_cache.c:296,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/cache/mod_file_cache.c:298,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_file_cache.c:299,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_file_cache.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - file
    argTypes:
    - request_rec*
    - a_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: sendfile_handler
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_create
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int sendfile_handler(request_rec *r, a_file *file)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_strcmp_match
      Src: /src/httpd/modules/cache/mod_file_cache.c:316,1
    - Dst: AP_IS_DEFAULT_HANDLER_NAME
      Src: /src/httpd/modules/cache/mod_file_cache.c:316,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_file_cache.c:324,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/cache/mod_file_cache.c:336,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/cache/mod_file_cache.c:339,1
    - Dst: ap_rationalize_mtime
      Src: /src/httpd/modules/cache/mod_file_cache.c:349,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_file_cache.c:353,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/cache/mod_file_cache.c:354,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_file_cache.c:356,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_file_cache.c:363,1
    - Dst: ap_set_etag
      Src: /src/httpd/modules/cache/mod_file_cache.c:365,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/cache/mod_file_cache.c:366,1
    - Dst: mmap_handler
      Src: /src/httpd/modules/cache/mod_file_cache.c:373,1
    - Dst: sendfile_handler
      Src: /src/httpd/modules/cache/mod_file_cache.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 379
    functionName: file_cache_handler
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 0
    functionsReached:
    - AP_IS_DEFAULT_HANDLER_NAME
    - ap_update_mtime
    - apr_palloc
    - ap_discard_request_body
    - ap_meets_conditions
    - apr_table_setn
    - ap_strcmp_match
    - apr_rfc822_date
    - mmap_handler
    - ap_rationalize_mtime
    - ap_get_module_config
    - ap_set_etag
    - sendfile_handler
    linkageType: ''
    returnType: int
    signature: int file_cache_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/cache/mod_file_cache.c:392,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/cache/mod_file_cache.c:393,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/cache/mod_file_cache.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_file_cache.c
    functionUses: 1
    functionsReached:
    - ap_hook_handler
    - ap_hook_post_config
    - ap_hook_translate_name
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:95,1
    - Dst: cache_get_providers
      Src: /src/httpd/modules/cache/mod_cache.c:106,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:111,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:113,1
    - Dst: ap_cache_check_no_store
      Src: /src/httpd/modules/cache/mod_cache.c:121,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:143,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:151,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:162,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:163,1
    - Dst: cache_select
      Src: /src/httpd/modules/cache/mod_cache.c:179,1
    - Dst: cache_try_lock
      Src: /src/httpd/modules/cache/mod_cache.c:191,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:200,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:201,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:203,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:209,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:211,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/cache/mod_cache.c:216,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:218,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:218,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:228,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:234,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:246,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:247,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:262,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:269,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/cache/mod_cache.c:275,1
    - Dst: ap_run_insert_filter
      Src: /src/httpd/modules/cache/mod_cache.c:298,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:311,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:327,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:332,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/cache/mod_cache.c:333,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache.c:334,1
    - Dst: ap_pass_brigade_fchk
      Src: /src/httpd/modules/cache/mod_cache.c:336,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 101
    argCount: 2
    argNames:
    - r
    - lookup
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 339
    functionName: cache_quick_handler
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_run_insert_filter
    - ap_meets_conditions
    - apr_brigade_create
    - ap_pass_brigade_fchk
    - ap_get_module_config
    - cache_try_lock
    - ap_cache_check_no_store
    - apr_pool_userdata_setn
    - apr_table_get
    - ap_add_output_filter_handle
    - cache_select
    - apr_bucket_eos_create
    - ap_remove_output_filter
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - cache_get_providers
    - APLOGNO
    - cache_run_cache_status
    linkageType: ''
    returnType: int
    signature: int cache_quick_handler(request_rec *r, int lookup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:365,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - next
    - from
    - to
    - stop
    argTypes:
    - ap_filter_t*
    - ap_filter_rec_t*
    - ap_filter_rec_t*
    - ap_filter_rec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 372
    functionName: cache_replace_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_remove_output_filter
    linkageType: ''
    returnType: int
    signature: "int cache_replace_filter(ap_filter_t *next, ap_filter_rec_t *from,\n
      \       ap_filter_rec_t *to, ap_filter_rec_t *stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - next
    - rec
    argTypes:
    - ap_filter_t*
    - ap_filter_rec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: cache_get_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ap_filter_t
    signature: ap_filter_t *cache_get_filter(ap_filter_t *next, ap_filter_rec_t *rec)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:405,1
    - Dst: cache_get_providers
      Src: /src/httpd/modules/cache/mod_cache.c:416,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:421,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:423,1
    - Dst: ap_cache_check_no_store
      Src: /src/httpd/modules/cache/mod_cache.c:431,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:443,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:443,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:451,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:463,1
    - Dst: cache_select
      Src: /src/httpd/modules/cache/mod_cache.c:479,1
    - Dst: cache_try_lock
      Src: /src/httpd/modules/cache/mod_cache.c:490,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:499,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:500,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:505,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:506,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:510,1
    - Dst: cache_replace_filter
      Src: /src/httpd/modules/cache/mod_cache.c:525,1
    - Dst: ap_get_input_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:527,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:528,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:529,1
    - Dst: cache_get_filter
      Src: /src/httpd/modules/cache/mod_cache.c:534,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/cache/mod_cache.c:537,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:539,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:539,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:550,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:556,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:557,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:569,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/cache/mod_cache.c:572,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:590,1
    - Dst: cache_replace_filter
      Src: /src/httpd/modules/cache/mod_cache.c:602,1
    - Dst: ap_get_input_filter_handle
      Src: /src/httpd/modules/cache/mod_cache.c:603,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:604,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:605,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:623,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:628,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/cache/mod_cache.c:629,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache.c:630,1
    - Dst: ap_pass_brigade_fchk
      Src: /src/httpd/modules/cache/mod_cache.c:631,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 633
    functionName: cache_handler
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_meets_conditions
    - apr_brigade_create
    - cache_replace_filter
    - ap_pass_brigade_fchk
    - ap_get_module_config
    - cache_try_lock
    - cache_get_filter
    - ap_cache_check_no_store
    - apr_pool_userdata_setn
    - ap_add_output_filter_handle
    - cache_select
    - apr_bucket_eos_create
    - ap_get_input_filter_handle
    - ap_remove_output_filter
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - cache_get_providers
    - APLOGNO
    - cache_run_cache_status
    linkageType: ''
    returnType: int
    signature: int cache_handler(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:649,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:649,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:651,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:652,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:655,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:655,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache.c:659,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/mod_cache.c:660,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/mod_cache.c:661,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:662,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:667,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/cache/mod_cache.c:669,1
    - Dst: cache_request_rec*::provider::recall_body
      Src: /src/httpd/modules/cache/mod_cache.c:676,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/cache/mod_cache.c:677,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:682,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:682,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:684,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/cache/mod_cache.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 691
    functionName: cache_out_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APR_BRIGADE_FIRST
    - ap_log_rerror
    - APR_BRIGADE_PREPEND
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APLOGNO
    - apr_brigade_create
    - cache_request_rec*::provider::recall_body
    - apr_table_get
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - ap_set_content_type
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cache_out_filter(ap_filter_t *f, apr_bucket_brigade *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache.c:713,1
    - Dst: cache_request_rec*::provider::store_body
      Src: /src/httpd/modules/cache/mod_cache.c:715,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:717,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:717,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:719,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:722,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/cache/mod_cache.c:725,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:726,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/mod_cache.c:731,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/cache/mod_cache.c:732,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/cache/mod_cache.c:733,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/mod_cache.c:735,1
    - Dst: cache_request_rec*::provider::commit_entity
      Src: /src/httpd/modules/cache/mod_cache.c:736,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:742,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache.c:744,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache.c:745,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:755,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:755,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:759,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:762,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:764,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - f
    - in
    - conf
    - cache
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - cache_server_conf*
    - cache_request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 772
    functionName: cache_save_store
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_PREPEND
    - ap_pass_brigade
    - ap_log_rerror
    - APR_BRIGADE_FIRST
    - cache_request_rec*::provider::store_body
    - APR_BUCKET_IS_EOS
    - cache_request_rec*::provider::commit_entity
    - APLOGNO
    - APR_BRIGADE_SENTINEL
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - cache_remove_lock
    linkageType: ''
    returnType: int
    signature: "int cache_save_store(ap_filter_t *f, apr_bucket_brigade *in,\n        cache_server_conf
      *conf, cache_request_rec *cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:782,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:783,1
    - Dst: strcmp
      Src: /src/httpd/modules/cache/mod_cache.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - pool
    - left
    - right
    - key
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - apr_table_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 787
    functionName: cache_header_cmp
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cache_table_getm
    linkageType: ''
    returnType: int
    signature: "int cache_header_cmp(apr_pool_t *pool, apr_table_t *left,\n        apr_table_t
      *right, const char *key)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:828,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:836,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:836,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:838,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:839,1
    - Dst: cache_save_store
      Src: /src/httpd/modules/cache/mod_cache.c:861,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:872,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:887,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/cache/mod_cache.c:907,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:907,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:911,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/mod_cache.c:913,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/cache/mod_cache.c:914,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:918,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:919,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:924,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:927,1
    - Dst: cache_use_early_url
      Src: /src/httpd/modules/cache/mod_cache.c:931,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:936,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:938,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/cache/mod_cache.c:941,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:948,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:950,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/cache/mod_cache.c:953,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:963,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:965,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:967,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:968,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:971,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:972,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:981,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/mod_cache.c:983,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/cache/mod_cache.c:991,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:991,1
    - Dst: memset
      Src: /src/httpd/modules/cache/mod_cache.c:996,1
    - Dst: ap_cache_control
      Src: /src/httpd/modules/cache/mod_cache.c:997,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1036,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache.c:1048,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1106,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/cache/mod_cache.c:1118,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1118,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1121,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/cache/mod_cache.c:1130,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1131,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1143,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1145,1
    - Dst: cache_header_cmp
      Src: /src/httpd/modules/cache/mod_cache.c:1155,1
    - Dst: cache_header_cmp
      Src: /src/httpd/modules/cache/mod_cache.c:1159,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache.c:1160,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache.c:1164,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1181,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1197,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1197,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1203,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1204,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1209,1
    - Dst: cache_remove_url
      Src: /src/httpd/modules/cache/mod_cache.c:1210,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1213,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1216,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1219,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1220,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1221,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1222,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1223,1
    - Dst: ap_internal_redirect
      Src: /src/httpd/modules/cache/mod_cache.c:1227,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1234,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1236,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/cache/mod_cache.c:1238,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1243,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1243,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1248,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1252,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1255,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1258,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/mod_cache.c:1270,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/cache/mod_cache.c:1271,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/cache/mod_cache.c:1272,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/mod_cache.c:1274,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/cache/mod_cache.c:1278,1
    - Dst: cache_request_rec*::provider::remove_entity
      Src: /src/httpd/modules/cache/mod_cache.c:1318,1
    - Dst: cache_create_entity
      Src: /src/httpd/modules/cache/mod_cache.c:1332,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:1333,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1340,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1344,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1345,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1346,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1349,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1349,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1356,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1356,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1358,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache.c:1371,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1374,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1376,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/cache/mod_cache.c:1379,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_cache.c:1385,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1403,1
    - Dst: cache_merge_headers_out
      Src: /src/httpd/modules/cache/mod_cache.c:1471,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/cache/mod_cache.c:1472,1
    - Dst: cache_accept_headers
      Src: /src/httpd/modules/cache/mod_cache.c:1476,1
    - Dst: cache_request_rec*::provider::store_headers
      Src: /src/httpd/modules/cache/mod_cache.c:1487,1
    - Dst: cache_request_rec*::provider::commit_entity
      Src: /src/httpd/modules/cache/mod_cache.c:1508,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache.c:1511,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/cache/mod_cache.c:1518,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/mod_cache.c:1526,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/cache/mod_cache.c:1529,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache.c:1530,1
    - Dst: cache_request_rec*::provider::recall_body
      Src: /src/httpd/modules/cache/mod_cache.c:1533,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/cache/mod_cache.c:1535,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache.c:1536,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1547,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1547,1
    - Dst: cache_request_rec*::provider::remove_url
      Src: /src/httpd/modules/cache/mod_cache.c:1551,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1556,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1556,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1561,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1569,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1576,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1578,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1578,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1581,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1585,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1585,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1589,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1592,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1593,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1594,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1598,1
    - Dst: cache_save_store
      Src: /src/httpd/modules/cache/mod_cache.c:1601,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 319
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 1602
    functionName: cache_save_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - APR_BRIGADE_FIRST
    - ap_cache_control
    - apr_time_now
    - cache_accept_headers
    - cache_table_getm
    - ap_meets_conditions
    - cache_header_cmp
    - apr_brigade_create
    - cache_merge_headers_out
    - ap_parse_strict_length
    - cache_use_early_url
    - ap_get_module_config
    - cache_request_rec*::provider::remove_entity
    - cache_request_rec*::provider::commit_entity
    - apr_pstrcat
    - ap_set_content_type
    - APR_BUCKET_IS_EOS
    - cache_remove_url
    - ap_find_token
    - ap_internal_redirect
    - apr_table_clear
    - apr_psprintf
    - apr_table_get
    - cache_request_rec*::provider::remove_url
    - cache_save_store
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - cache_create_entity
    - apr_date_parse_http
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - ap_remove_output_filter
    - apr_table_mergen
    - APR_BRIGADE_INSERT_TAIL
    - cache_remove_lock
    - memcpy
    - ap_log_rerror
    - memset
    - apr_pcalloc
    - APLOGNO
    - cache_request_rec*::provider::recall_body
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - cache_request_rec*::provider::store_headers
    - APR_BRIGADE_SENTINEL
    - cache_run_cache_status
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cache_save_filter(ap_filter_t *f, apr_bucket_brigade *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1640,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1640,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1642,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1643,1
    - Dst: cache_remove_url
      Src: /src/httpd/modules/cache/mod_cache.c:1647,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1650,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1652
    functionName: cache_remove_url_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - cache_remove_url
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_remove_url_filter(ap_filter_t *f,\n                                            apr_bucket_brigade
      *in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1685,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1685,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1692,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1692,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1698,1
    - Dst: cache_invalidate
      Src: /src/httpd/modules/cache/mod_cache.c:1702,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1705,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1706,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1714,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1716
    functionName: cache_invalidate_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - cache_invalidate
    - apr_psprintf
    - ap_remove_output_filter
    - cache_run_cache_status
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_invalidate_filter(ap_filter_t *f,\n                                            apr_bucket_brigade
      *in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:1740,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1745,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1745,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache.c:1751,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache.c:1751,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1758,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/cache/mod_cache.c:1759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1760
    functionName: cache_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - ap_get_module_config
    - ap_remove_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cache_filter(ap_filter_t *f, apr_bucket_brigade *in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:1781,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:1784,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1789,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1793,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1797,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1801,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1806,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1815,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1815,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/mod_cache.c:1829,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - h
    - r
    - headers
    - status
    - reason
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_table_t*
    - ap_cache_status_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1834
    functionName: cache_status
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 4
    functionsReached:
    - apr_table_setn
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int cache_status(cache_handle_t *h, request_rec *r,\n        apr_table_t
      *headers, ap_cache_status_e status, const char *reason)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:1851,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/cache/mod_cache.c:1868,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:1872,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:1881,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache.c:1900,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/mod_cache.c:1902,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/cache/mod_cache.c:1903,1
    - Dst: cache_run_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:1907,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:1912,1
    - Dst: cache_remove_lock
      Src: /src/httpd/modules/cache/mod_cache.c:1918,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1924
    functionName: cache_insert_error_filter
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_pool_userdata_get
    - ap_remove_output_filter
    - apr_psprintf
    - apr_table_get
    - ap_get_module_config
    - apr_table_mergen
    - cache_run_cache_status
    - cache_remove_lock
    linkageType: ''
    returnType: void
    signature: void cache_insert_error_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:1931,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1956
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:1959,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/cache/mod_cache.c:1999,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 2006
    functionName: merge_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:2010,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache.c:2013,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache.c:2015,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache.c:2019,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache.c:2028,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_cache.c:2032,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache.c:2033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2008
    functionDepth: 1
    functionLinenumber: 2008
    functionLinenumberEnd: 2037
    functionName: create_cache_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - ap_runtime_dir_relative
    - apr_pcalloc
    - apr_time_from_sec
    linkageType: ''
    returnType: void
    signature: void * create_cache_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:2041,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/cache/mod_cache.c:2046,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/cache/mod_cache.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2099
    functionName: merge_cache_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void * merge_cache_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2113
    functionName: set_cache_quick_handler
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_quick_handler(cmd_parms *parms, void *dummy,\n                                           int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2124
    functionName: set_cache_ignore_no_last_mod
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_cache_ignore_no_last_mod(cmd_parms *parms, void *dummy,\n
      \                                               int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2137
    functionName: set_cache_ignore_cachecontrol
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_ignore_cachecontrol(cmd_parms *parms,\n                                                 void
      *dummy, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2147
    functionName: set_cache_store_expired
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_cache_store_expired(cmd_parms *parms, void *dummy,\n                                           int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2157
    functionName: set_cache_store_private
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_cache_store_private(cmd_parms *parms, void *dummy,\n                                           int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2167
    functionName: set_cache_store_nostore
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_cache_store_nostore(cmd_parms *parms, void *dummy,\n                                           int
      flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2176,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/mod_cache.c:2178,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/cache/mod_cache.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - parms
    - dummy
    - header
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2195
    functionName: add_ignore_header
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_array_push::apr_array_push
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *add_ignore_header(cmd_parms *parms, void *dummy,\n                                     const
      char *header)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2204,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/mod_cache.c:2206,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/cache/mod_cache.c:2217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - parms
    - dummy
    - identifier
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2223
    functionName: add_ignore_session_id
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_array_push::apr_array_push
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *add_ignore_session_id(cmd_parms *parms, void *dummy,\n                                         const
      char *identifier)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cache/mod_cache.c:2233,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:2240,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:2249,1
    - Dst: strncmp
      Src: /src/httpd/modules/cache/mod_cache.c:2252,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache.c:2252,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2258,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/cache/mod_cache.c:2262,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/cache/mod_cache.c:2266,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/cache/mod_cache.c:2270,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2270,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2273,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache.c:2274,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2274,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - parms
    - dummy
    - type
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2280
    functionName: add_cache_enable
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_uri_parse
    - url::url
    - ap_check_cmd_context
    - apr_psprintf
    - ap_get_module_config
    - apr_array_push::apr_array_push
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: "char *add_cache_enable(cmd_parms *parms, void *dummy,\n                                    const
      char *type,\n                                    const char *url)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/cache/mod_cache.c:2289,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2296,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/mod_cache.c:2300,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/mod_cache.c:2310,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/cache/mod_cache.c:2314,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/cache/mod_cache.c:2315,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2315,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2318,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache.c:2319,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2319,1
    - Dst: url::url
      Src: /src/httpd/modules/cache/mod_cache.c:2322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - parms
    - dummy
    - url
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2282
    functionDepth: 1
    functionLinenumber: 2282
    functionLinenumberEnd: 2325
    functionName: add_cache_disable
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_uri_parse
    - strcasecmp
    - url::url
    - strlen
    - ap_check_cmd_context
    - ap_get_module_config
    - apr_array_push::apr_array_push
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *add_cache_disable(cmd_parms *parms, void *dummy,\n                                     const
      char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/cache/mod_cache.c:2332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2335
    functionName: set_cache_maxex
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: char
    signature: "char *set_cache_maxex(cmd_parms *parms, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/cache/mod_cache.c:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2345
    functionName: set_cache_minex
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: char
    signature: "char *set_cache_minex(cmd_parms *parms, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/cache/mod_cache.c:2352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2355
    functionName: set_cache_defex
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: char
    signature: "char *set_cache_defex(cmd_parms *parms, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/httpd/modules/cache/mod_cache.c:2363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2369
    functionName: set_cache_factor
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: char
    signature: "char *set_cache_factor(cmd_parms *parms, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2382
    functionName: set_cache_ignore_querystring
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_ignore_querystring(cmd_parms *parms, void *dummy,\n
      \                                               int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2395
    functionName: set_cache_lock
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_lock(cmd_parms *parms, void *dummy,\n                                                int
      flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2403,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_cache.c:2406,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache.c:2408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2413
    functionName: set_cache_lock_path
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_lock_path(cmd_parms *parms, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2422,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/cache/mod_cache.c:2424,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache.c:2428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2431
    functionName: set_cache_lock_maxage
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    - apr_time_from_sec
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_cache_lock_maxage(cmd_parms *parms, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2454
    functionName: set_cache_x_cache
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cache_x_cache(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2477
    functionName: set_cache_x_cache_detail
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cache_x_cache_detail(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache.c:2486,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache.c:2488,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/cache/mod_cache.c:2489,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:2491,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache.c:2495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2499
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2499
    functionName: set_cache_key_base_url
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - apr_pcalloc
    - ap_get_module_config
    - apr_uri_parse
    linkageType: ''
    returnType: char
    signature: "char *set_cache_key_base_url(cmd_parms *parms, void *dummy,\n        const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2509
    functionName: set_cache_stale_on_error
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_cache_stale_on_error(cmd_parms *parms, void *dummy,\n        int
      flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/cache/mod_cache.c:2517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2522
    functionName: cache_post_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int cache_post_config(apr_pool_t *p, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_quick_handler
      Src: /src/httpd/modules/cache/mod_cache.c:2605,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/cache/mod_cache.c:2607,1
    - Dst: cache_hook_cache_status
      Src: /src/httpd/modules/cache/mod_cache.c:2609,1
    - Dst: ap_hook_insert_error_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2611,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2632,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2642,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2652,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2663,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2673,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2682,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/cache/mod_cache.c:2687,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/cache/mod_cache.c:2691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2692
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_cache.c
    functionUses: 1
    functionsReached:
    - ap_hook_quick_handler
    - ap_hook_insert_error_filter
    - cache_hook_cache_status
    - ap_register_output_filter
    - ap_hook_handler
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:49,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:49,1
    - Dst: cache_provider_list*::provider::remove_url
      Src: /src/httpd/modules/cache/cache_storage.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - r
    argTypes:
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: cache_remove_url
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 2
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - cache_provider_list*::provider::remove_url
    linkageType: ''
    returnType: int
    signature: int cache_remove_url(cache_request_rec *cache, request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/cache_storage.c:76,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:81,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:81,1
    - Dst: cache_generate_key
      Src: /src/httpd/modules/cache/cache_storage.c:88,1
    - Dst: cache_provider_list*::provider::create_entity
      Src: /src/httpd/modules/cache/cache_storage.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - cache
    - r
    - size
    - in
    argTypes:
    - cache_request_rec*
    - request_rec*
    - apr_off_t
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: cache_create_entity
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - cache_provider_list*::provider::create_entity
    - APLOGNO
    - cache_generate_key
    linkageType: ''
    returnType: int
    signature: "int cache_create_entity(cache_request_rec *cache, request_rec *r,\n
      \                       apr_off_t size, apr_bucket_brigade *in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_storage.c:118,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/cache/cache_storage.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: filter_header_do
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int filter_header_do(void *v, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_storage.c:132,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: remove_header_do
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 0
    functionsReached:
    - apr_table_unset
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int remove_header_do(void *v, const char *key, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/cache/cache_storage.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: add_header_do
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int add_header_do(void *v, const char *key, const char *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/cache_storage.c:167,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/cache/cache_storage.c:168,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/cache/cache_storage.c:171,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/cache/cache_storage.c:173,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/cache/cache_storage.c:174,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:176,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/cache/cache_storage.c:178,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:188,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:189,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:195,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/cache/cache_storage.c:197,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/cache/cache_storage.c:197,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/cache/cache_storage.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - h
    - r
    - top
    - bottom
    - revalidation
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_table_t*
    - apr_table_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 201
    functionName: cache_accept_headers
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 1
    functionsReached:
    - apr_table_do
    - ap_update_mtime
    - apr_date_parse_http
    - apr_table_unset
    - apr_table_copy
    - apr_table_get
    - ap_set_last_modified
    - apr_table_make
    - ap_set_content_type
    linkageType: ''
    returnType: void
    signature: "void cache_accept_headers(cache_handle_t *h, request_rec *r, apr_table_t
      *top,\n        apr_table_t *bottom, int revalidation)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:222,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:222,1
    - Dst: ap_cache_check_no_cache
      Src: /src/httpd/modules/cache/cache_storage.c:231,1
    - Dst: cache_generate_key
      Src: /src/httpd/modules/cache/cache_storage.c:236,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/cache_storage.c:243,1
    - Dst: cache_provider_list*::provider::open_entity
      Src: /src/httpd/modules/cache/cache_storage.c:248,1
    - Dst: cache_provider_list*::provider::recall_headers
      Src: /src/httpd/modules/cache/cache_storage.c:254,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_storage.c:277,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_storage.c:277,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_storage.c:278,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_storage.c:283,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_storage.c:290,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_storage.c:291,1
    - Dst: strcmp
      Src: /src/httpd/modules/cache/cache_storage.c:295,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:300,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:301,1
    - Dst: ap_condition_if_match
      Src: /src/httpd/modules/cache/cache_storage.c:325,1
    - Dst: ap_condition_if_unmodified_since
      Src: /src/httpd/modules/cache/cache_storage.c:326,1
    - Dst: ap_condition_if_none_match
      Src: /src/httpd/modules/cache/cache_storage.c:328,1
    - Dst: ap_condition_if_modified_since
      Src: /src/httpd/modules/cache/cache_storage.c:330,1
    - Dst: ap_condition_if_range
      Src: /src/httpd/modules/cache/cache_storage.c:332,1
    - Dst: cache_check_freshness
      Src: /src/httpd/modules/cache/cache_storage.c:337,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/cache/cache_storage.c:350,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:357,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:358,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:362,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:363,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:364,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:365,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:366,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:368,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:369,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/cache/cache_storage.c:377,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/cache/cache_storage.c:381,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_storage.c:390,1
    - Dst: cache_accept_headers
      Src: /src/httpd/modules/cache/cache_storage.c:401,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:420,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:420,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 90
    argCount: 2
    argNames:
    - cache
    - r
    argTypes:
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 427
    functionName: cache_select
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 2
    functionsReached:
    - cache_check_freshness
    - cache_accept_headers
    - cache_table_getm
    - ap_cache_check_no_cache
    - cache_strqtok
    - cache_provider_list*::provider::recall_headers
    - ap_condition_if_none_match
    - ap_condition_if_match
    - apr_table_copy
    - cache_provider_list*::provider::open_entity
    - apr_table_get
    - ap_condition_if_unmodified_since
    - strcmp
    - ap_condition_if_modified_since
    - ap_condition_if_range
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_table_set
    - apr_table_unset
    - cache_generate_key
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int cache_select(cache_request_rec *cache, request_rec *r)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_storage.c:452,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/cache/cache_storage.c:479,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_storage.c:487,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/cache/cache_storage.c:488,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_storage.c:508,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/cache/cache_storage.c:509,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/cache/cache_storage.c:518,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/cache_storage.c:532,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_storage.c:532,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/cache/cache_storage.c:535,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/cache/cache_storage.c:538,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/cache_storage.c:539,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/cache/cache_storage.c:539,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_storage.c:552,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/cache_storage.c:559,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/cache/cache_storage.c:559,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_storage.c:578,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/cache/cache_storage.c:583,1
    - Dst: strncmp
      Src: /src/httpd/modules/cache/cache_storage.c:584,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/cache_storage.c:586,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/cache_storage.c:587,1
    - Dst: strncmp
      Src: /src/httpd/modules/cache/cache_storage.c:598,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_storage.c:608,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/cache_storage.c:609,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/cache_storage.c:620,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/cache_storage.c:627,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_storage.c:628,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_storage.c:638,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_storage.c:649,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:660,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 97
    argCount: 6
    argNames:
    - r
    - p
    - path
    - query
    - parsed_uri
    - key
    argTypes:
    - request_rec*
    - apr_pool_t*
    - char*
    - char*
    - apr_uri_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 664
    functionName: cache_canonicalise_key
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - ap_str_tolower
    - apr_pstrmemdup
    - ap_get_module_config
    - strncmp
    - apr_tolower
    - apr_pstrcat
    - strlen
    - apr_psprintf
    - ap_strchr_c
    - ap_get_server_name
    - ap_http_scheme
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - ap_get_server_port
    - ap_strrchr_c
    - apr_pstrdup
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_canonicalise_key(request_rec *r, apr_pool_t* p,\n
      \                                          const char *path, const char *query,\n
      \                                          apr_uri_t *parsed_uri,\n                                           const
      char **key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_use_early_url
      Src: /src/httpd/modules/cache/cache_storage.c:675,1
    - Dst: cache_canonicalise_key
      Src: /src/httpd/modules/cache/cache_storage.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - p
    - key
    argTypes:
    - request_rec*
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 680
    functionName: cache_generate_key_default
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 0
    functionsReached:
    - cache_canonicalise_key
    - cache_use_early_url
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_generate_key_default(request_rec *r, apr_pool_t*
      p,\n                                        const char **key)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:705,1
    - Dst: cache_generate_key
      Src: /src/httpd/modules/cache/cache_storage.c:711,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:717,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/cache/cache_storage.c:719,1
    - Dst: cache_canonicalise_key
      Src: /src/httpd/modules/cache/cache_storage.c:720,1
    - Dst: strcmp
      Src: /src/httpd/modules/cache/cache_storage.c:726,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_storage.c:732,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/cache/cache_storage.c:734,1
    - Dst: cache_canonicalise_key
      Src: /src/httpd/modules/cache/cache_storage.c:736,1
    - Dst: strcmp
      Src: /src/httpd/modules/cache/cache_storage.c:743,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/cache_storage.c:750,1
    - Dst: cache_provider_list*::provider::open_entity
      Src: /src/httpd/modules/cache/cache_storage.c:757,1
    - Dst: cache_provider_list*::provider::invalidate_entity
      Src: /src/httpd/modules/cache/cache_storage.c:759,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:762,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:763,1
    - Dst: cache_provider_list*::provider::open_entity
      Src: /src/httpd/modules/cache/cache_storage.c:767,1
    - Dst: cache_provider_list*::provider::invalidate_entity
      Src: /src/httpd/modules/cache/cache_storage.c:769,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:773,1
    - Dst: cache_provider_list*::provider::open_entity
      Src: /src/httpd/modules/cache/cache_storage.c:778,1
    - Dst: cache_provider_list*::provider::invalidate_entity
      Src: /src/httpd/modules/cache/cache_storage.c:780,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_storage.c:783,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_storage.c:784,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - cache
    - r
    argTypes:
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 791
    functionName: cache_invalidate
    functionSourceFile: /src/httpd/modules/cache/cache_storage.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_palloc
    - cache_provider_list*::provider::invalidate_entity
    - apr_uri_parse
    - APLOGNO
    - cache_canonicalise_key
    - cache_provider_list*::provider::open_entity
    - apr_table_get
    - cache_generate_key
    linkageType: ''
    returnType: int
    signature: int cache_invalidate(cache_request_rec *cache, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CACHE_DECLARE
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CACHE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: CACHE_DECLARE
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CACHE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CACHE_DECLARE
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CACHE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CACHE_DECLARE
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CACHE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/cache/mod_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_DECLARE_NONSTD(type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_socache_redis.c:82,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_redis.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - context
    - arg
    - tmp
    - p
    argTypes:
    - ap_socache_instance_t**
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: socache_rd_create
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *socache_rd_create(ap_socache_instance_t **context,\n                                     const
      char *arg,\n                                     apr_pool_t *tmp, apr_pool_t
      *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_socache_redis.c:105,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/cache/mod_socache_redis.c:108,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_redis.c:111,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_redis.c:112,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_redis.c:115,1
    - Dst: apr_redis_create
      Src: /src/httpd/modules/cache/mod_socache_redis.c:118,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:120,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_redis.c:127,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_redis.c:128,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/cache/mod_socache_redis.c:135,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:137,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:143,1
    - Dst: apr_redis_server_create
      Src: /src/httpd/modules/cache/mod_socache_redis.c:153,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:162,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:162,1
    - Dst: apr_redis_add_server
      Src: /src/httpd/modules/cache/mod_socache_redis.c:168,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:170,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_redis.c:176,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_redis.c:179,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_socache_redis.c:180,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/cache/mod_socache_redis.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - namespace
    - hints
    - s
    - p
    argTypes:
    - ap_socache_instance_t*
    - char*
    - struct ap_socache_hints*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 186
    functionName: socache_rd_init
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_redis_server_create
    - apr_strtok
    - ap_mpm_query
    - apr_redis_create
    - apr_pstrcat
    - apr_parse_addr_port
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_redis_add_server
    - strlen
    - ap_log_error
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_rd_init(ap_socache_instance_t *ctx,\n                                    const
      char *namespace,\n                                    const struct ap_socache_hints
      *hints,\n                                    server_rec *s, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: socache_rd_destroy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socache_rd_destroy(ap_socache_instance_t *context, server_rec
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/cache/mod_socache_redis.c:205,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/cache/mod_socache_redis.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - id
    - idlen
    - key
    - keylen
    argTypes:
    - ap_socache_instance_t*
    - unsigned char*
    - unsigned int
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: socache_rd_id2key
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    - ap_bin2hex
    linkageType: ''
    returnType: int
    signature: "int socache_rd_id2key(ap_socache_instance_t *ctx,\n                             const
      unsigned char *id, unsigned int idlen,\n                             char *key,
      apr_size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socache_rd_id2key
      Src: /src/httpd/modules/cache/mod_socache_redis.c:221,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_redis.c:224,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_redis.c:224,1
    - Dst: apr_redis_setex
      Src: /src/httpd/modules/cache/mod_socache_redis.c:229,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:232,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - ctx
    - s
    - id
    - idlen
    - expiry
    - ucaData
    - nData
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_time_t
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: socache_rd_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_redis_setex
    - APLOGNO
    - ap_log_error
    - socache_rd_id2key
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_rd_store(ap_socache_instance_t *ctx, server_rec
      *s,\n                                     const unsigned char *id, unsigned
      int idlen,\n                                     apr_time_t expiry,\n                                     unsigned
      char *ucaData, unsigned int nData,\n                                     apr_pool_t
      *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socache_rd_id2key
      Src: /src/httpd/modules/cache/mod_socache_redis.c:250,1
    - Dst: apr_redis_getp
      Src: /src/httpd/modules/cache/mod_socache_redis.c:257,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:260,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:260,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:266,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_redis.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - ctx
    - s
    - id
    - idlen
    - dest
    - destlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 275
    functionName: socache_rd_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_redis_getp
    - APLOGNO
    - ap_log_error
    - socache_rd_id2key
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_rd_retrieve(ap_socache_instance_t *ctx, server_rec
      *s,\n                                        const unsigned char *id, unsigned
      int idlen,\n                                        unsigned char *dest, unsigned
      int *destlen,\n                                        apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socache_rd_id2key
      Src: /src/httpd/modules/cache/mod_socache_redis.c:284,1
    - Dst: apr_redis_delete
      Src: /src/httpd/modules/cache/mod_socache_redis.c:288,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_redis.c:291,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_redis.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - s
    - id
    - idlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: socache_rd_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - socache_rd_id2key
    - apr_redis_delete
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_rd_remove(ap_socache_instance_t *ctx, server_rec
      *s,\n                                      const unsigned char *id,\n                                      unsigned
      int idlen, apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:313,1
    - Dst: apr_redis_stats
      Src: /src/httpd/modules/cache/mod_socache_redis.c:316,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:320,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:323,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:325,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:327,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:329,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:332,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:334,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:342,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_redis.c:345,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:348,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:351,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:353,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:356,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:358,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:361,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:363,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_redis.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - r
    - flags
    argTypes:
    - ap_socache_instance_t*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 377
    functionName: socache_rd_status
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_redis_stats
    - ap_rputs
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: void socache_rd_status(ap_socache_instance_t *ctx, request_rec *r,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - instance
    - s
    - userctx
    - iterator
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - ap_socache_iterator_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: socache_rd_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_rd_iterate(ap_socache_instance_t *instance,\n
      \                                      server_rec *s, void *userctx,\n                                       ap_socache_iterator_t
      *iterator,\n                                       apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_socache_redis.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void * create_server_config(apr_pool_t* p, server_rec* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_socache_redis.c:416,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/cache/mod_socache_redis.c:419,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_redis.c:420,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_redis.c:424,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_redis.c:424,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_redis.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: socache_rd_set_ttl
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pstrcat
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *socache_rd_set_ttl(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_socache_redis.c:439,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/cache/mod_socache_redis.c:442,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_redis.c:443,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_redis.c:447,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_redis.c:447,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_redis.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: socache_rd_set_rwto
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pstrcat
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *socache_rd_set_rwto(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_redis.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_socache_redis.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/mod_cache_socache.c:150,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - r
    - arr
    - buffer
    - buffer_len
    - slider
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - unsigned char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 168
    functionName: read_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_pstrndup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_array(request_rec *r, apr_array_header_t *arr,\n
      \       unsigned char *buffer, apr_size_t buffer_len, apr_size_t *slider)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:179,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/cache/mod_cache_socache.c:183,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - arr
    - buffer
    - buffer_len
    - slider
    argTypes:
    - apr_array_header_t*
    - unsigned char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: store_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_array(apr_array_header_t *arr, unsigned char *buffer,\n
      \       apr_size_t buffer_len, apr_size_t *slider)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:218,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:218,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/cache/mod_cache_socache.c:223,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/cache/mod_cache_socache.c:226,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:226,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 6
    argNames:
    - handle
    - r
    - table
    - buffer
    - buffer_len
    - slider
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_table_t*
    - unsigned char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 246
    functionName: read_table
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - APLOGNO
    - apr_pstrmemdup
    - apr_table_addn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_table(cache_handle_t *handle, request_rec *r,\n
      \       apr_table_t *table, unsigned char *buffer, apr_size_t buffer_len,\n
      \       apr_size_t *slider)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/cache/mod_cache_socache.c:254,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/cache/mod_cache_socache.c:255,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:257,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:258,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/cache/mod_cache_socache.c:262,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - table
    - buffer
    - buffer_len
    - slider
    argTypes:
    - apr_table_t*
    - unsigned char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 277
    functionName: store_table
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - strlen
    - memcpy
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_table(apr_table_t *table, unsigned char *buffer,\n
      \       apr_size_t buffer_len, apr_size_t *slider)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:290,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_socache.c:318,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:323,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:326,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:330,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/cache/mod_cache_socache.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - p
    - headers
    - varray
    - oldkey
    - newkeylen
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - apr_array_header_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 334
    functionName: regen_key
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_pstrcatv
    - strlen
    - apr_palloc
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char * regen_key(apr_pool_t *p, apr_table_t *headers,\n                             apr_array_header_t
      *varray, const char *oldkey,\n                             apr_size_t *newkeylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/cache/mod_cache_socache.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fn1
    - fn2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: array_alphasort
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int array_alphasort(const void *fn1, const void *fn2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_list_item
      Src: /src/httpd/modules/cache/mod_cache_socache.c:346,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/mod_cache_socache.c:347,1
    - Dst: qsort
      Src: /src/httpd/modules/cache/mod_cache_socache.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - data
    - arr
    argTypes:
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: tokens_to_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - qsort
    - apr_array_push
    - ap_get_list_item
    linkageType: ''
    returnType: void
    signature: "void tokens_to_array(apr_pool_t *p, const char *data,\n        apr_array_header_t
      *arr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:361,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:362,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:375,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:375,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:395,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:395,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:400,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:400,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:408,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:409,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:410,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:412,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:412,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:420,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:420,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:428,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:429,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - h
    - r
    - key
    - len
    - bb
    argTypes:
    - cache_handle_t*
    - request_rec*
    - char*
    - apr_off_t
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 436
    functionName: create_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - store_table
    - apr_pstrdup
    - ap_get_module_config
    - strlen
    linkageType: ''
    returnType: int
    signature: "int create_entity(cache_handle_t *h, request_rec *r, const char *key,\n
      \       apr_off_t len, apr_bucket_brigade *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: sobj_body_pre_cleanup
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_brigade_cleanup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sobj_body_pre_cleanup(void *baton)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:449,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:450,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:470,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:471,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:479,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cache/mod_cache_socache.c:480,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:482,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:487,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:489,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:489,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:491,1
    - Dst: cache_socache_conf*::provider::socache_provider::retrieve
      Src: /src/httpd/modules/cache/mod_cache_socache.c:497,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:499,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:501,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:503,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:503,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:505,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:511,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:511,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:513,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:518,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:518,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:520,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:526,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:533,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache_socache.c:536,1
    - Dst: read_array
      Src: /src/httpd/modules/cache/mod_cache_socache.c:537,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:539,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:539,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:541,1
    - Dst: regen_key
      Src: /src/httpd/modules/cache/mod_cache_socache.c:546,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:550,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:552,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:552,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:554,1
    - Dst: cache_socache_conf*::provider::socache_provider::retrieve
      Src: /src/httpd/modules/cache/mod_cache_socache.c:560,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:565,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:567,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:567,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:569,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:575,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:575,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:577,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:582,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:582,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:589,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:589,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:603,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:606,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:606,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:619,1
    - Dst: strncmp
      Src: /src/httpd/modules/cache/mod_cache_socache.c:622,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:624,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:624,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:626,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:633,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:633,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:640,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:640,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:643,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/mod_cache_socache.c:648,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/mod_cache_socache.c:649,1
    - Dst: read_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:652,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:654,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:654,1
    - Dst: read_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:658,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:660,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:679,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/cache/mod_cache_socache.c:680,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:681,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:683,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:694,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:696,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:698,1
    - Dst: cache_socache_conf*::provider::socache_provider::remove
      Src: /src/httpd/modules/cache/mod_cache_socache.c:704,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:706,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:709,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:711,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:711,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:715,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 173
    argCount: 3
    argNames:
    - h
    - r
    - key
    argTypes:
    - cache_handle_t*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 718
    functionName: open_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 2
    functionsReached:
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_pool_create
    - strncmp
    - apr_table_make
    - apr_global_mutex_unlock
    - cache_socache_conf*::provider::socache_provider::retrieve
    - apr_pool_pre_cleanup_register
    - apr_pool_create
    - cache_socache_conf*::provider::socache_provider::remove
    - apr_pool_destroy
    - APR_BRIGADE_INSERT_TAIL
    - regen_key
    - memcpy
    - read_array
    - read_table
    - ap_log_rerror
    - apr_palloc
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - apr_global_mutex_lock
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int open_entity(cache_handle_t *h, request_rec *r, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - cache_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: remove_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int remove_entity(cache_handle_t *h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:729,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:740,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:742,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:744,1
    - Dst: cache_socache_conf*::provider::socache_provider::remove
      Src: /src/httpd/modules/cache/mod_cache_socache.c:749,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:750,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:752,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:754,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:754,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 763
    functionName: remove_url
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_global_mutex_unlock
    - cache_socache_conf*::provider::socache_provider::remove
    - ap_get_module_config
    - apr_global_mutex_lock
    - apr_pool_destroy
    - strlen
    linkageType: ''
    returnType: int
    signature: int remove_url(cache_handle_t *h, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: recall_headers
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t recall_headers(cache_handle_t *h, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/cache/mod_cache_socache.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - p
    - bb
    argTypes:
    - cache_handle_t*
    - apr_pool_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: recall_body
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 2
    functionsReached:
    - APR_BRIGADE_CONCAT
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t recall_body(cache_handle_t *h, apr_pool_t *p,\n        apr_bucket_brigade
      *bb)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:787,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:788,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:796,1
    - Dst: ap_cache_cacheable_headers_out
      Src: /src/httpd/modules/cache/mod_cache_socache.c:799,1
    - Dst: ap_cache_cacheable_headers_in
      Src: /src/httpd/modules/cache/mod_cache_socache.c:803,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:811,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cache/mod_cache_socache.c:812,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:814,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_socache.c:821,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:827,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:830,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache_socache.c:834,1
    - Dst: tokens_to_array
      Src: /src/httpd/modules/cache/mod_cache_socache.c:835,1
    - Dst: store_array
      Src: /src/httpd/modules/cache/mod_cache_socache.c:837,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:839,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:839,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:842,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:847,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:849,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:849,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:851,1
    - Dst: cache_socache_conf*::provider::socache_provider::store
      Src: /src/httpd/modules/cache/mod_cache_socache.c:856,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:858,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:862,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:864,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:864,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:869,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:871,1
    - Dst: regen_key
      Src: /src/httpd/modules/cache/mod_cache_socache.c:876,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:896,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:898,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:902,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:902,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:905,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:909,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:913,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:915,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:915,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:917,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_socache.c:926,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:928,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:928,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:931,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 93
    argCount: 3
    argNames:
    - h
    - r
    - info
    argTypes:
    - cache_handle_t*
    - request_rec*
    - cache_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 940
    functionName: store_headers
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 1
    functionsReached:
    - tokens_to_array
    - ap_get_module_config
    - cache_socache_conf*::provider::socache_provider::store
    - ap_cache_cacheable_headers_in
    - store_array
    - apr_global_mutex_unlock
    - apr_table_get
    - ap_cache_cacheable_headers_out
    - store_table
    - apr_pool_create
    - apr_pool_destroy
    - regen_key
    - memcpy
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - apr_global_mutex_lock
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_headers(cache_handle_t *h, request_rec *r,\n        cache_info
      *info)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:950,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_cache_socache.c:957,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/cache/mod_cache_socache.c:965,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache_socache.c:968,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/mod_cache_socache.c:972,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_socache.c:976,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:977,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/mod_cache_socache.c:982,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_socache.c:985,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:986,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/cache/mod_cache_socache.c:991,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_socache.c:992,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:993,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/cache/mod_cache_socache.c:998,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_socache.c:999,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1000,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1005,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1006,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1007,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1009,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1009,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1013,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1025,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1025,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1030,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1034,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1047,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1061,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1061,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1065,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1070,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1071,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1073,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1073,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1076,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 4
    argNames:
    - h
    - r
    - in
    - out
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 1086
    functionName: store_body
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 1
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_log_rerror
    - apr_time_now
    - APR_BUCKET_IS_EOS
    - APLOGNO
    - memcpy
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_brigade_partition
    - apr_bucket_read
    - ap_get_module_config
    - apr_table_get
    - APR_BRIGADE_EMPTY
    - ap_parse_strict_length
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - apr_pool_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_body(cache_handle_t *h, request_rec *r,\n        apr_bucket_brigade
      *in, apr_bucket_brigade *out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1090,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1097,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1099,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1099,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1101,1
    - Dst: cache_socache_conf*::provider::socache_provider::store
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1106,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1108,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1111,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1113,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1113,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1115,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1121,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1121,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1126,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1126,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1128,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1130,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1140,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1142,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1142,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1144,1
    - Dst: cache_socache_conf*::provider::socache_provider::remove
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1149,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1150,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1152,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1154,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1162
    functionName: commit_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - cache_socache_conf*::provider::socache_provider::store
    - APLOGNO
    - apr_global_mutex_unlock
    - cache_socache_conf*::provider::socache_provider::remove
    - ap_get_module_config
    - apr_global_mutex_lock
    - apr_pool_destroy
    - strlen
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t commit_entity(cache_handle_t *h, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commit_entity
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1170
    functionName: invalidate_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 1
    functionsReached:
    - commit_entity
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t invalidate_entity(cache_handle_t *h, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1175,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1178,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1184
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1206
    functionName: merge_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: create_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1225
    functionName: merge_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *merge_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1233,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1236,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1241,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1243,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1251,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1260
    functionName: set_cache_socache
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_lookup_provider
    - apr_pstrmemdup
    - apr_psprintf
    - ap_get_module_config
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *set_cache_socache(cmd_parms *cmd, void *in_struct_ptr,\n        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1275
    functionName: set_cache_max
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_cache_max(cmd_parms *parms, void *in_struct_ptr,\n        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1283,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1289
    functionName: set_cache_maxtime
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - apr_time_from_sec
    linkageType: ''
    returnType: char
    signature: "char *set_cache_maxtime(cmd_parms *parms, void *in_struct_ptr,\n        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1297,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1303
    functionName: set_cache_mintime
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - apr_time_from_sec
    linkageType: ''
    returnType: char
    signature: "char *set_cache_mintime(cmd_parms *parms, void *in_struct_ptr,\n        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1316
    functionName: set_cache_readsize
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_cache_readsize(cmd_parms *parms, void *in_struct_ptr,\n
      \       const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1324,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1331
    functionName: set_cache_readtime
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - apr_time_from_msec
    linkageType: ''
    returnType: char
    signature: "char *set_cache_readtime(cmd_parms *parms, void *in_struct_ptr,\n
      \       const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1340
    functionName: remove_lock
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 3
    functionsReached:
    - apr_global_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t remove_lock(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1346,1
    - Dst: cache_socache_conf*::provider::socache_provider::destroy
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1353
    functionName: destroy_cache
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 3
    functionsReached:
    - cache_socache_conf*::provider::socache_provider::destroy
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t destroy_cache(void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1358,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1366,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1375,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1379,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1381,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1388,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1391,1
    - Dst: cache_socache_conf*::provider::socache_provider::status
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1394,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1399,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1401,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1401,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1410
    functionName: socache_status_hook
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - cache_socache_conf*::provider::socache_provider::status
    - APLOGNO
    - ap_rputs
    - apr_global_mutex_unlock
    - ap_get_module_config
    - apr_global_mutex_lock
    linkageType: ''
    returnType: int
    signature: int socache_status_hook(request_rec *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1415
    functionName: socache_status_register
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - APR_OPTIONAL_HOOK
    linkageType: ''
    returnType: void
    signature: void socache_status_register(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1419,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1422,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1422,1
    - Dst: socache_status_register
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptmp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1431
    functionName: socache_precfg
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_perror
    - ap_mutex_register
    - socache_status_register
    linkageType: ''
    returnType: int
    signature: int socache_precfg(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptmp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1444,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1453,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1456,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1456,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1460,1
    - Dst: cache_socache_conf*::provider::socache_provider::create
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1464,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1468,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1469,1
    - Dst: cache_socache_conf*::provider::socache_provider::init
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1473,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1477,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1477,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptmp
    - base_server
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1487
    functionName: socache_post_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - cache_socache_conf*::provider::socache_provider::init
    - APLOGNO
    - ap_global_mutex_create
    - ap_get_module_config
    - cache_socache_conf*::provider::socache_provider::create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int socache_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n        apr_pool_t
      *ptmp, server_rec *base_server)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1496,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1497,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1499,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1502
    functionName: socache_child_init
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lockfile
    linkageType: ''
    returnType: void
    signature: void socache_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1531,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1533,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1534,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/cache/mod_cache_socache.c:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1536
    functionName: cache_socache_register_hook
    functionSourceFile: /src/httpd/modules/cache/mod_cache_socache.c
    functionUses: 0
    functionsReached:
    - ap_hook_child_init
    - ap_register_provider
    - ap_hook_pre_config
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void cache_socache_register_hook(apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:59,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:71,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:72,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/cache_util.c:76,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:82,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:83,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/cache_util.c:87,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/cache/cache_util.c:92,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/cache/cache_util.c:104,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/cache/cache_util.c:106,1
    - Dst: strncmp
      Src: /src/httpd/modules/cache/cache_util.c:129,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 4
    argNames:
    - filter
    - pathlen
    - url
    - path
    argTypes:
    - apr_uri_t*
    - apr_size_t
    - apr_uri_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 130
    functionName: uri_meets_conditions
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - strcasecmp
    - strlen
    - strncmp
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: int
    signature: "int uri_meets_conditions(const apr_uri_t *filter, const apr_size_t
      pathlen,\n                                const apr_uri_t *url, const char *path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: cache_use_early_url
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int cache_use_early_url(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/cache/cache_util.c:153,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/cache_util.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - ent
    - providers
    argTypes:
    - request_rec*
    - struct cache_enable*
    - cache_provider_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 184
    functionName: get_provider
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 5
    functionsReached:
    - ap_lookup_provider
    - apr_pcalloc
    linkageType: ''
    returnType: cache_provider_list
    signature: "cache_provider_list *get_provider(request_rec *r, struct cache_enable
      *ent,\n        cache_provider_list *providers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:189,1
    - Dst: cache_use_early_url
      Src: /src/httpd/modules/cache/cache_util.c:199,1
    - Dst: uri_meets_conditions
      Src: /src/httpd/modules/cache/cache_util.c:205,1
    - Dst: get_provider
      Src: /src/httpd/modules/cache/cache_util.c:216,1
    - Dst: uri_meets_conditions
      Src: /src/httpd/modules/cache/cache_util.c:223,1
    - Dst: get_provider
      Src: /src/httpd/modules/cache/cache_util.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - r
    - conf
    argTypes:
    - request_rec*
    - cache_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 230
    functionName: cache_get_providers
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - uri_meets_conditions
    - get_provider
    - cache_use_early_url
    - ap_get_module_config
    linkageType: ''
    returnType: cache_provider_list
    signature: "cache_provider_list *cache_get_providers(request_rec *r,\n                                         cache_server_conf
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/cache_util.c:242,1
    - Dst: MAX
      Src: /src/httpd/modules/cache/cache_util.c:246,1
    - Dst: MAX
      Src: /src/httpd/modules/cache/cache_util.c:247,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/cache_util.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - info
    - age_value
    - now
    argTypes:
    - cache_info*
    - apr_time_t
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: ap_cache_current_age
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - MAX
    - apr_time_from_sec
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: "void ap_cache_current_age(cache_info *info,\n                                                const
      apr_time_t age_value,\n                                                apr_time_t
      now)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/cache_util.c:288,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/cache/cache_util.c:301,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_util.c:322,1
    - Dst: cache_generate_key
      Src: /src/httpd/modules/cache/cache_util.c:325,1
    - Dst: ap_cache_generate_name
      Src: /src/httpd/modules/cache/cache_util.c:330,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_util.c:342,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/modules/cache/cache_util.c:343,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:345,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:345,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_util.c:350,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/cache/cache_util.c:351,1
    - Dst: apr_stat
      Src: /src/httpd/modules/cache/cache_util.c:354,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:357,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:357,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:364,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/cache_util.c:367,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cache/cache_util.c:371,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/cache/cache_util.c:374,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - conf
    - cache
    - r
    argTypes:
    - cache_server_conf*
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 378
    functionName: cache_try_lock
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_time_now
    - apr_dir_make_recursive
    - apr_pstrcat
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - ap_cache_generate_name
    - APLOGNO
    - apr_stat
    - apr_file_remove
    - cache_generate_key
    - apr_file_open
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_try_lock(cache_server_conf *conf, cache_request_rec
      *cache,\n        request_rec *r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/cache_util.c:405,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/cache/cache_util.c:406,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/cache/cache_util.c:407,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/cache_util.c:409,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/cache/cache_util.c:421,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/cache_util.c:423,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/cache/cache_util.c:425,1
    - Dst: cache_generate_key
      Src: /src/httpd/modules/cache/cache_util.c:432,1
    - Dst: ap_cache_generate_name
      Src: /src/httpd/modules/cache/cache_util.c:436,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/cache_util.c:447,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/cache_util.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - conf
    - cache
    - r
    - bb
    argTypes:
    - cache_server_conf*
    - cache_request_rec*
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 450
    functionName: cache_remove_lock
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 3
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_pstrcat
    - apr_pool_userdata_get
    - apr_file_close
    - ap_cache_generate_name
    - apr_file_remove
    - APR_BRIGADE_SENTINEL
    - cache_generate_key
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cache_remove_lock(cache_server_conf *conf,\n        cache_request_rec
      *cache, request_rec *r, apr_bucket_brigade *bb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:456,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_util.c:473,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_util.c:475,1
    - Dst: ap_cache_control
      Src: /src/httpd/modules/cache/cache_util.c:476,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:485,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - r
    argTypes:
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 493
    functionName: ap_cache_check_no_cache
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 1
    functionsReached:
    - ap_cache_control
    - ap_log_rerror
    - cache_table_getm
    - APLOGNO
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int ap_cache_check_no_cache(cache_request_rec *cache, request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:499,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_util.c:512,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_util.c:514,1
    - Dst: ap_cache_control
      Src: /src/httpd/modules/cache/cache_util.c:515,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:525,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - r
    argTypes:
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 533
    functionName: ap_cache_check_no_store
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - ap_cache_control
    - ap_log_rerror
    - cache_table_getm
    - APLOGNO
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int ap_cache_check_no_store(cache_request_rec *cache, request_rec *r)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:548,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:586,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:587,1
    - Dst: ap_cache_control
      Src: /src/httpd/modules/cache/cache_util.c:589,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:598,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:598,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:617,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/cache_util.c:620,1
    - Dst: ap_cache_current_age
      Src: /src/httpd/modules/cache/cache_util.c:627,1
    - Dst: MIN
      Src: /src/httpd/modules/cache/cache_util.c:659,1
    - Dst: APR_INT64_C
      Src: /src/httpd/modules/cache/cache_util.c:676,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/cache_util.c:701,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:703,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/cache/cache_util.c:707,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/cache_util.c:708,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/cache_util.c:713,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/cache_util.c:716,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/cache/cache_util.c:717,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:727,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/cache_util.c:735,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/cache/cache_util.c:736,1
    - Dst: cache_try_lock
      Src: /src/httpd/modules/cache/cache_util.c:773,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:776,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:776,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/cache/cache_util.c:782,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:784,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:790,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/cache/cache_util.c:792,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/cache/cache_util.c:793,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/cache_util.c:801,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/cache_util.c:801,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 85
    argCount: 3
    argNames:
    - h
    - cache
    - r
    argTypes:
    - cache_handle_t*
    - cache_request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 808
    functionName: cache_check_freshness
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 1
    functionsReached:
    - ap_strstr_c
    - apr_table_mergen
    - ap_cache_control
    - ap_log_rerror
    - apr_strtoff
    - APLOGNO
    - apr_table_set
    - APR_STATUS_IS_EEXIST
    - MIN
    - apr_table_get
    - ap_get_module_config
    - apr_psprintf
    - ap_cache_current_age
    - APR_INT64_C
    - apr_time_sec
    - cache_try_lock
    linkageType: ''
    returnType: int
    signature: "int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache,\n
      \       request_rec *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/cache_util.c:817,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/cache/cache_util.c:822,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:826,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/cache/cache_util.c:828,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/cache_util.c:833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p
    - list
    - str
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 836
    functionName: ap_cache_tokstr
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - apr_isspace
    - apr_pstrmemdup
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_cache_tokstr(apr_pool_t *p, const char *list,\n                                           const
      char **str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/cache/cache_util.c:849,1
    - Dst: apr_isupper
      Src: /src/httpd/modules/cache/cache_util.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 857
    functionName: ap_cache_hex2usec
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - apr_isupper
    linkageType: ''
    returnType: void
    signature: void ap_cache_hex2usec(const char *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - j
    - y
    argTypes:
    - apr_time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: ap_cache_usec2hex
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_cache_usec2hex(apr_time_t j, char *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5_init
      Src: /src/httpd/modules/cache/cache_util.c:887,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/cache/cache_util.c:888,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/cache_util.c:888,1
    - Dst: apr_md5_final
      Src: /src/httpd/modules/cache/cache_util.c:889,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/cache_util.c:910,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/cache_util.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - it
    - val
    - ndepth
    - nlength
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 917
    functionName: cache_hash
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - apr_md5_init
    - apr_md5_update
    - strlen
    - apr_md5_final
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cache_hash(const char *it, char *val, int ndepth, int nlength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_hash
      Src: /src/httpd/modules/cache/cache_util.c:923,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_util.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - dirlevels
    - dirlength
    - name
    argTypes:
    - apr_pool_t*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: ap_cache_generate_name
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - apr_pstrdup
    - cache_hash
    linkageType: ''
    returnType: void
    signature: "void ap_cache_generate_name(apr_pool_t *p, int dirlevels,\n                                            int
      dirlength, const char *name)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/modules/cache/cache_util.c:951,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/cache/cache_util.c:952,1
    - Dst: TEST_CHAR
      Src: /src/httpd/modules/cache/cache_util.c:990,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/cache/cache_util.c:996,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 4
    argNames:
    - str
    - token
    - arg
    - last
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 1024
    functionName: cache_strqtok
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 1
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_strchr_c
    - TEST_CHAR
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cache_strqtok(char *str, char **token, char **arg, char
      **last)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_util.c:1048,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1049,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1051,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1052,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_util.c:1060,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1061,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1063,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1070,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1078,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1081,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1088,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/cache_util.c:1089,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1095,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1098,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/cache_util.c:1103,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1109,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/cache_util.c:1110,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1120,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1127,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1130,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1138,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1145,1
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/cache_util.c:1146,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 5
    argNames:
    - r
    - cc
    - cc_header
    - pragma_header
    - headers
    argTypes:
    - request_rec*
    - cache_control_t*
    - char*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1159
    functionName: ap_cache_control
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 4
    functionsReached:
    - ap_cstr_casecmp
    - apr_pstrdup
    - cache_strqtok
    - apr_strtoff
    linkageType: ''
    returnType: int
    signature: "int ap_cache_control(request_rec *r, cache_control_t *cc,\n        const
      char *cc_header, const char *pragma_header, apr_table_t *headers)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/cache_util.c:1173,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1174,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1176,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1184,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1185,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1187,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1188,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/cache/cache_util.c:1196,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1197,1
    - Dst: cache_strqtok
      Src: /src/httpd/modules/cache/cache_util.c:1199,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - r
    - cc_header
    - headers
    argTypes:
    - request_rec*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1210
    functionName: cache_control_remove
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - apr_table_unset
    - apr_pstrdup
    - cache_strqtok
    linkageType: ''
    returnType: int
    signature: "int cache_control_remove(request_rec *r, const char *cc_header,\n
      \       apr_table_t *headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/cache_util.c:1229,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/cache/cache_util.c:1236,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1238,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1239,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1240,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1241,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1242,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1243,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1244,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1245,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/cache_util.c:1247,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/cache/cache_util.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pool
    - t
    - s
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1258
    functionName: ap_cache_cacheable_headers
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - apr_table_unset
    - apr_table_copy
    - apr_table_make
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: "void ap_cache_cacheable_headers(apr_pool_t *pool,\n                                                        apr_table_t
      *t,\n                                                        server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_cache_cacheable_headers
      Src: /src/httpd/modules/cache/cache_util.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: ap_cache_cacheable_headers_in
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 1
    functionsReached:
    - ap_cache_cacheable_headers
    linkageType: ''
    returnType: void
    signature: void ap_cache_cacheable_headers_in(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_cache_cacheable_headers
      Src: /src/httpd/modules/cache/cache_util.c:1278,1
    - Dst: cache_merge_headers_out
      Src: /src/httpd/modules/cache/cache_util.c:1279,1
    - Dst: cache_control_remove
      Src: /src/httpd/modules/cache/cache_util.c:1282,1
    - Dst: cache_table_getm
      Src: /src/httpd/modules/cache/cache_util.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1274
    functionDepth: 3
    functionLinenumber: 1274
    functionLinenumberEnd: 1287
    functionName: ap_cache_cacheable_headers_out
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 1
    functionsReached:
    - cache_control_remove
    - cache_merge_headers_out
    - cache_table_getm
    - ap_cache_cacheable_headers
    linkageType: ''
    returnType: void
    signature: void ap_cache_cacheable_headers_out(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/cache/cache_util.c:1293,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:1297,1
    - Dst: ap_make_content_type
      Src: /src/httpd/modules/cache/cache_util.c:1298,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/cache_util.c:1300,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/cache_util.c:1305,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/cache/cache_util.c:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1311
    functionName: cache_merge_headers_out
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 2
    functionsReached:
    - ap_make_content_type
    - apr_table_overlay
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *cache_merge_headers_out(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/cache_util.c:1336,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/cache_util.c:1337,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/cache_util.c:1340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1344
    functionName: cache_table_getm_do
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int cache_table_getm_do(void *v, const char *key, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_do
      Src: /src/httpd/modules/cache/cache_util.c:1355,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/cache/cache_util.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p
    - t
    - key
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1366
    functionName: cache_table_getm
    functionSourceFile: /src/httpd/modules/cache/cache_util.c
    functionUses: 6
    functionsReached:
    - apr_table_do
    - apr_array_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *cache_table_getm(apr_pool_t *p, const apr_table_t *t,\n        const
      char *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:85,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:88,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:90,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:94,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - context
    - arg
    - tmp
    - p
    argTypes:
    - ap_socache_instance_t**
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: socache_dbm_create
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - ap_runtime_dir_relative
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *socache_dbm_create(ap_socache_instance_t **context,\n                                      const
      char *arg,\n                                      apr_pool_t *tmp, apr_pool_t
      *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:105,1
    - Dst: chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:106,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:110,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - p
    - s
    - name
    - suffix
    argTypes:
    - apr_pool_t*
    - server_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: try_chown
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 1
    functionsReached:
    - apr_pstrcat
    - APLOGNO
    - chown
    - ap_log_error
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: int
    signature: "int try_chown(apr_pool_t *p, server_rec *s,\n                     const
      char *name, const char *suffix)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:133,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:136,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:139,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:139,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:147,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:150,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:152,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:152,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:157,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:159,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:159,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:165,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:167,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:167,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:173,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:176,1
    - Dst: geteuid
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:184,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:185,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:186,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:187,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:188,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:189,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:190,1
    - Dst: try_chown
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:191,1
    - Dst: socache_dbm_expire
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - namespace
    - hints
    - s
    - p
    argTypes:
    - ap_socache_instance_t*
    - char*
    - struct ap_socache_hints*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 197
    functionName: socache_dbm_init
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - geteuid
    - apr_time_from_sec
    - apr_dbm_get_driver
    - apr_pstrcat
    - apr_dbm_open
    - APLOGNO
    - apr_pool_clear
    - ap_runtime_dir_relative
    - ap_log_error
    - apr_dbm_open2
    - try_chown
    - socache_dbm_expire
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dbm_init(ap_socache_instance_t *ctx,\n                                     const
      char *namespace,\n                                     const struct ap_socache_hints
      *hints,\n                                     server_rec *s, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:202,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:202,1
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:203,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:203,1
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:205,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:205,1
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:206,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:206,1
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:207,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:207,1
    - Dst: unlink
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: socache_dbm_destroy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - unlink
    linkageType: ''
    returnType: void
    signature: void socache_dbm_destroy(ap_socache_instance_t *ctx, server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:229,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:229,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:236,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:236,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:249,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:250,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:251,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:254,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:257,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:259,1
    - Dst: free
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:262,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:265,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:267,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:267,1
    - Dst: free
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:271,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:275,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:277,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:277,1
    - Dst: free
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:281,1
    - Dst: apr_dbm_store
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:285,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:286,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:286,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:289,1
    - Dst: free
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:290,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:293,1
    - Dst: free
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:296,1
    - Dst: socache_dbm_expire
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 8
    argNames:
    - ctx
    - s
    - id
    - idlen
    - expiry
    - ucaData
    - nData
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_time_t
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 302
    functionName: socache_dbm_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - apr_dbm_get_driver
    - apr_dbm_open
    - APLOGNO
    - apr_pool_clear
    - apr_dbm_open2
    - ap_log_error
    - apr_dbm_store
    - socache_dbm_expire
    - ap_malloc
    - free
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dbm_store(ap_socache_instance_t *ctx,\n                                      server_rec
      *s, const unsigned char *id,\n                                      unsigned
      int idlen, apr_time_t expiry,\n                                      unsigned
      char *ucaData,\n                                      unsigned int nData, apr_pool_t
      *pool)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socache_dbm_expire
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:322,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:332,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:336,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:336,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:341,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:343,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:343,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:350,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:352,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:352,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:359,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:361,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:365,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:372,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:377,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:378,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:380,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:383,1
    - Dst: socache_dbm_remove
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:385,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 7
    argNames:
    - ctx
    - s
    - id
    - idlen
    - dest
    - destlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 390
    functionName: socache_dbm_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - apr_time_now
    - apr_dbm_get_driver
    - apr_dbm_open
    - apr_dbm_fetch
    - APLOGNO
    - apr_pool_clear
    - apr_dbm_open2
    - ap_log_error
    - socache_dbm_expire
    - socache_dbm_remove
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dbm_retrieve(ap_socache_instance_t *ctx, server_rec
      *s,\n                                         const unsigned char *id, unsigned
      int idlen,\n                                         unsigned char *dest, unsigned
      int *destlen,\n                                         apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:409,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:412,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:414,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:414,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:419,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:421,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:421,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:428,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:430,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:430,1
    - Dst: apr_dbm_delete
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:437,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - s
    - id
    - idlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 441
    functionName: socache_dbm_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 1
    functionsReached:
    - apr_dbm_close
    - apr_dbm_get_driver
    - apr_dbm_open
    - APLOGNO
    - apr_pool_clear
    - apr_dbm_open2
    - ap_log_error
    - apr_dbm_delete
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dbm_remove(ap_socache_instance_t *ctx,\n                                       server_rec
      *s, const unsigned char *id,\n                                       unsigned
      int idlen, apr_pool_t *p)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:466,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:475,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:477,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:477,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:499,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:501,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:508,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:510,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:510,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:517,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:519,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:519,1
    - Dst: apr_dbm_firstkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:526,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:530,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:534,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:539,1
    - Dst: apr_dbm_nextkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:546,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:548,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:552,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:554,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:554,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:561,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:563,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:563,1
    - Dst: apr_dbm_delete
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:571,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:574,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:580,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:580,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 584
    functionName: socache_dbm_expire
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 3
    functionsReached:
    - apr_dbm_firstkey
    - apr_dbm_nextkey
    - apr_dbm_close
    - apr_time_now
    - apr_dbm_get_driver
    - apr_palloc
    - apr_dbm_open
    - apr_dbm_fetch
    - APLOGNO
    - apr_pool_clear
    - apr_dbm_open2
    - ap_log_error
    - apr_dbm_delete
    - apr_pmemdup
    - memcpy
    linkageType: ''
    returnType: void
    signature: void socache_dbm_expire(ap_socache_instance_t *ctx, server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:604,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:606,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:608,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:608,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:613,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:615,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:615,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:622,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:624,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:624,1
    - Dst: apr_dbm_firstkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:634,1
    - Dst: apr_dbm_nextkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:635,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:636,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:642,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:648,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:649,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:650,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:653,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:654,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:655,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:656,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - r
    - flags
    argTypes:
    - ap_socache_instance_t*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 659
    functionName: socache_dbm_status
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_firstkey
    - apr_dbm_nextkey
    - apr_dbm_close
    - ap_log_rerror
    - apr_dbm_get_driver
    - apr_dbm_open
    - apr_dbm_fetch
    - APLOGNO
    - apr_pool_clear
    - apr_dbm_open2
    - ap_rputs
    - ap_rprintf
    linkageType: ''
    returnType: void
    signature: "void socache_dbm_status(ap_socache_instance_t *ctx, request_rec *r,\n
      \                              int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:681,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:683,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:685,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:685,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:690,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:692,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:692,1
    - Dst: apr_dbm_open
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:698,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:700,1
    - Dst: apr_dbm_firstkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:706,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:709,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:713,1
    - Dst: iterator
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:718,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:722,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:722,1
    - Dst: apr_dbm_nextkey
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:727,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:729,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:732,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:732,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - s
    - userctx
    - iterator
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - ap_socache_iterator_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 738
    functionName: socache_dbm_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_firstkey
    - apr_dbm_nextkey
    - apr_dbm_close
    - apr_time_now
    - apr_dbm_get_driver
    - apr_dbm_open
    - apr_dbm_fetch
    - APLOGNO
    - apr_dbm_open2
    - ap_log_error
    - iterator
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_dbm_iterate(ap_socache_instance_t *ctx,\n                                        server_rec
      *s, void *userctx,\n                                        ap_socache_iterator_t
      *iterator,\n                                        apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_dbm.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_socache_dbm.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:70,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - context
    - arg
    - tmp
    - p
    argTypes:
    - ap_socache_instance_t**
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: socache_mc_create
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *socache_mc_create(ap_socache_instance_t **context,\n                                     const
      char *arg,\n                                     apr_pool_t *tmp, apr_pool_t
      *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:93,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:96,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:99,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:100,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:103,1
    - Dst: apr_memcache_create
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:106,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:108,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:108,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:115,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:116,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:123,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:125,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:125,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:131,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:131,1
    - Dst: apr_memcache_server_create
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:141,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:149,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:149,1
    - Dst: apr_memcache_add_server
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:155,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:157,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:163,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:166,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:167,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - namespace
    - hints
    - s
    - p
    argTypes:
    - ap_socache_instance_t*
    - char*
    - struct ap_socache_hints*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 173
    functionName: socache_mc_init
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_memcache_create
    - ap_mpm_query
    - apr_strtok
    - apr_pstrcat
    - apr_memcache_add_server
    - apr_parse_addr_port
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_memcache_server_create
    - strlen
    - ap_log_error
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_mc_init(ap_socache_instance_t *ctx,\n                                    const
      char *namespace,\n                                    const struct ap_socache_hints
      *hints,\n                                    server_rec *s, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: socache_mc_destroy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socache_mc_destroy(ap_socache_instance_t *context, server_rec
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:192,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - id
    - idlen
    - key
    - keylen
    argTypes:
    - ap_socache_instance_t*
    - unsigned char*
    - unsigned int
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: socache_mc_id2key
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    - ap_bin2hex
    linkageType: ''
    returnType: int
    signature: "int socache_mc_id2key(ap_socache_instance_t *ctx,\n                             const
      unsigned char *id, unsigned int idlen,\n                             char *key,
      apr_size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socache_mc_id2key
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:207,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:213,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:214,1
    - Dst: apr_memcache_set
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:217,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:218,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:221,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - ctx
    - s
    - id
    - idlen
    - expiry
    - ucaData
    - nData
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_time_t
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 228
    functionName: socache_mc_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_memcache_set
    - apr_time_now
    - APLOGNO
    - ap_log_error
    - apr_time_sec
    - socache_mc_id2key
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_mc_store(ap_socache_instance_t *ctx, server_rec
      *s,\n                                     const unsigned char *id, unsigned
      int idlen,\n                                     apr_time_t expiry,\n                                     unsigned
      char *ucaData, unsigned int nData,\n                                     apr_pool_t
      *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socache_mc_id2key
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:239,1
    - Dst: apr_memcache_getp
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:246,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:249,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:249,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:255,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:255,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - ctx
    - s
    - id
    - idlen
    - dest
    - destlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 264
    functionName: socache_mc_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - socache_mc_id2key
    - apr_memcache_getp
    - APLOGNO
    - ap_log_error
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_mc_retrieve(ap_socache_instance_t *ctx, server_rec
      *s,\n                                        const unsigned char *id, unsigned
      int idlen,\n                                        unsigned char *dest, unsigned
      int *destlen,\n                                        apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socache_mc_id2key
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:273,1
    - Dst: apr_memcache_delete
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:277,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - s
    - id
    - idlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: socache_mc_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_memcache_delete
    - ap_log_error
    - socache_mc_id2key
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_mc_remove(ap_socache_instance_t *ctx, server_rec
      *s,\n                                      const unsigned char *id,\n                                      unsigned
      int idlen, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:301,1
    - Dst: apr_memcache_stats
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:304,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:308,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:310,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:312,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:314,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:316,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:318,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:320,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:322,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:325,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:327,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:329,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:331,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:333,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:335,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - r
    - flags
    argTypes:
    - ap_socache_instance_t*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 342
    functionName: socache_mc_status
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_memcache_stats
    - ap_rprintf
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void socache_mc_status(ap_socache_instance_t *ctx, request_rec *r,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - instance
    - s
    - userctx
    - iterator
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - ap_socache_iterator_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: socache_mc_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_mc_iterate(ap_socache_instance_t *instance,\n
      \                                      server_rec *s, void *userctx,\n                                       ap_socache_iterator_t
      *iterator,\n                                       apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:378,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:381,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:382,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:386,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:386,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 395
    functionName: socache_mc_set_ttl
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pstrcat
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *socache_mc_set_ttl(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_memcache.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_socache_memcache.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - 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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: MAX
    functionSourceFile: /src/httpd/modules/cache/cache_util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: MIN
    functionSourceFile: /src/httpd/modules/cache/cache_util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cache_generate_name
      Src: /src/httpd/modules/cache/mod_cache_disk.c:78,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache_disk.c:83,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache_disk.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p
    - conf
    - dobj
    - name
    argTypes:
    - apr_pool_t*
    - disk_cache_conf*
    - disk_cache_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: header_file
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - ap_cache_generate_name
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *header_file(apr_pool_t *p, disk_cache_conf *conf,\n                         disk_cache_object_t
      *dobj, const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cache_generate_name
      Src: /src/httpd/modules/cache/mod_cache_disk.c:96,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache_disk.c:101,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache_disk.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p
    - conf
    - dobj
    - name
    argTypes:
    - apr_pool_t*
    - disk_cache_conf*
    - disk_cache_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: data_file
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - ap_cache_generate_name
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *data_file(apr_pool_t *p, disk_cache_conf *conf,\n                       disk_cache_object_t
      *dobj, const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/cache/mod_cache_disk.c:116,1
    - Dst: apr_dir_make
      Src: /src/httpd/modules/cache/mod_cache_disk.c:121,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/modules/cache/mod_cache_disk.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - conf
    - file
    - pool
    argTypes:
    - disk_cache_conf*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: mkdir_structure
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EEXIST
    - apr_dir_make
    - strchr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mkdir_structure(disk_cache_conf *conf, const char *file,
      apr_pool_t *pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_rename
      Src: /src/httpd/modules/cache/mod_cache_disk.c:141,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/cache/mod_cache_disk.c:148,1
    - Dst: mkdir_structure
      Src: /src/httpd/modules/cache/mod_cache_disk.c:150,1
    - Dst: apr_file_rename
      Src: /src/httpd/modules/cache/mod_cache_disk.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - conf
    - src
    - dest
    - pool
    argTypes:
    - disk_cache_conf*
    - char*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: safe_file_rename
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_sleep
    - apr_file_rename
    - mkdir_structure
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t safe_file_rename(disk_cache_conf *conf,\n                                     const
      char *src, const char *dest,\n                                     apr_pool_t
      *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_file_rename
      Src: /src/httpd/modules/cache/mod_cache_disk.c:174,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:176,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:176,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - conf
    - file
    - r
    argTypes:
    - disk_cache_conf*
    - disk_cache_file_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: file_cache_el_final
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    - APLOGNO
    - ap_log_rerror
    - safe_file_rename
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t file_cache_el_final(disk_cache_conf *conf, disk_cache_file_t
      *file,\n                                        request_rec *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: file_cache_temp_cleanup
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_file_remove
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t file_cache_temp_cleanup(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_cache_disk.c:207,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/cache/mod_cache_disk.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - file
    - pool
    argTypes:
    - disk_cache_conf*
    - disk_cache_file_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: file_cache_create
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_register
    - apr_pstrcat
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t file_cache_create(disk_cache_conf *conf, disk_cache_file_t
      *file,\n                                      apr_pool_t *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:227,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:239,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:243,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:245,1
    - Dst: strcmp
      Src: /src/httpd/modules/cache/mod_cache_disk.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - fd
    - info
    - dobj
    - r
    argTypes:
    - apr_file_t*
    - cache_info*
    - disk_cache_object_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: file_cache_recall_mydata
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_palloc
    - memcpy
    - apr_file_read_full
    linkageType: ''
    returnType: int
    signature: "int file_cache_recall_mydata(apr_file_t *fd, cache_info *info,\n                                    disk_cache_object_t
      *dobj, request_rec *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:270,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_disk.c:298,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:303,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:306,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:310,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/cache/mod_cache_disk.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - p
    - headers
    - varray
    - oldkey
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 314
    functionName: regen_key
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - apr_pstrcatv
    - strlen
    - apr_palloc
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char * regen_key(apr_pool_t *p, apr_table_t *headers,\n                             apr_array_header_t
      *varray, const char *oldkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/cache/mod_cache_disk.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fn1
    - fn2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: array_alphasort
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int array_alphasort(const void *fn1, const void *fn2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_list_item
      Src: /src/httpd/modules/cache/mod_cache_disk.c:326,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/mod_cache_disk.c:327,1
    - Dst: qsort
      Src: /src/httpd/modules/cache/mod_cache_disk.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - data
    - arr
    argTypes:
    - apr_pool_t*
    - char*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: tokens_to_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - qsort
    - apr_array_push
    - ap_get_list_item
    linkageType: ''
    returnType: void
    signature: "void tokens_to_array(apr_pool_t *p, const char *data,\n                            apr_array_header_t
      *arr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:341,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:342,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:354,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:354,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:362,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:362,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:369,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:369,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:377,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:378,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_cache_disk.c:380,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/mod_cache_disk.c:385,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:388,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cache/mod_cache_disk.c:389,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:391,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:392,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:393,1
    - Dst: data_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:395,1
    - Dst: header_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:396,1
    - Dst: header_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 5
    argNames:
    - h
    - r
    - key
    - len
    - bb
    argTypes:
    - cache_handle_t*
    - request_rec*
    - char*
    - apr_off_t
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 402
    functionName: create_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - file_cache_create
    - ap_log_rerror
    - data_file
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - header_file
    - apr_pstrmemdup
    - apr_pool_create
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: "int create_entity(cache_handle_t *h, request_rec *r, const char *key,
      apr_off_t len,\n                         apr_bucket_brigade *bb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:411,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:414,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:429,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:429,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:436,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:437,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/cache/mod_cache_disk.c:445,1
    - Dst: header_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:448,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cache/mod_cache_disk.c:450,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:457,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:464,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache_disk.c:466,1
    - Dst: read_array
      Src: /src/httpd/modules/cache/mod_cache_disk.c:467,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:469,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:472,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:475,1
    - Dst: regen_key
      Src: /src/httpd/modules/cache/mod_cache_disk.c:477,1
    - Dst: header_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:481,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cache/mod_cache_disk.c:484,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:490,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:490,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:493,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/cache/mod_cache_disk.c:507,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:515,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/cache/mod_cache_disk.c:516,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:518,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:519,1
    - Dst: file_cache_create
      Src: /src/httpd/modules/cache/mod_cache_disk.c:520,1
    - Dst: data_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:522,1
    - Dst: file_cache_recall_mydata
      Src: /src/httpd/modules/cache/mod_cache_disk.c:525,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:527,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:527,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:529,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:536,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:536,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:539,1
    - Dst: AP_SENDFILE_ENABLED
      Src: /src/httpd/modules/cache/mod_cache_disk.c:551,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/cache/mod_cache_disk.c:553,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:555,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:557,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/cache/mod_cache_disk.c:561,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:572,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:572,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:593,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:593,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:597,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 102
    argCount: 3
    argNames:
    - h
    - r
    - key
    argTypes:
    - cache_handle_t*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 599
    functionName: open_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - data_file
    - apr_file_close
    - apr_pstrmemdup
    - ap_get_module_config
    - file_cache_create
    - file_cache_recall_mydata
    - apr_file_open
    - apr_file_read_full
    - ap_get_core_module_config
    - apr_file_info_get
    - apr_file_seek
    - header_file
    - apr_pool_create
    - regen_key
    - read_array
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - AP_SENDFILE_ENABLED
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int open_entity(cache_handle_t *h, request_rec *r, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:604,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - disk_cache_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: close_disk_cache_fd
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void close_disk_cache_fd(disk_cache_file_t *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close_disk_cache_fd
      Src: /src/httpd/modules/cache/mod_cache_disk.c:617,1
    - Dst: close_disk_cache_fd
      Src: /src/httpd/modules/cache/mod_cache_disk.c:618,1
    - Dst: close_disk_cache_fd
      Src: /src/httpd/modules/cache/mod_cache_disk.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - cache_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: remove_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - close_disk_cache_fd
    linkageType: ''
    returnType: int
    signature: int remove_entity(cache_handle_t *h)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:639,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:639,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:642,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/cache/mod_cache_disk.c:643,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:647,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:656,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:656,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:659,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/cache/mod_cache_disk.c:660,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:664,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:664,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_cache_disk.c:679,1
    - Dst: strrchr
      Src: /src/httpd/modules/cache/mod_cache_disk.c:682,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:696,1
    - Dst: apr_dir_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:699,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/cache/mod_cache_disk.c:700,1
    - Dst: strrchr
      Src: /src/httpd/modules/cache/mod_cache_disk.c:703,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 710
    functionName: remove_url
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_dir_remove
    - strrchr
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int remove_url(cache_handle_t *h, request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_gets
      Src: /src/httpd/modules/cache/mod_cache_disk.c:720,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:722,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:722,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:727,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/cache/mod_cache_disk.c:742,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/cache/mod_cache_disk.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - arr
    - file
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 746
    functionName: read_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_file_gets
    - APLOGNO
    - apr_array_push
    - apr_pstrdup
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_array(request_rec *r, apr_array_header_t* arr,\n
      \                              apr_file_t *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:760,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:764,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - fd
    - arr
    argTypes:
    - apr_file_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 774
    functionName: store_array
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - strlen
    - apr_file_writev_full
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t store_array(apr_file_t *fd, apr_array_header_t* arr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_gets
      Src: /src/httpd/modules/cache/mod_cache_disk.c:787,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:789,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:789,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:796,1
    - Dst: strchr
      Src: /src/httpd/modules/cache/mod_cache_disk.c:819,1
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/modules/cache/mod_cache_disk.c:825,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/cache/mod_cache_disk.c:826,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/cache/mod_cache_disk.c:826,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/cache/mod_cache_disk.c:828,1
    - Dst: apr_isprint
      Src: /src/httpd/modules/cache/mod_cache_disk.c:828,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:832,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:832,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/cache/mod_cache_disk.c:836,1
    - Dst: strchr
      Src: /src/httpd/modules/cache/mod_cache_disk.c:843,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/cache/mod_cache_disk.c:848,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/cache/mod_cache_disk.c:852,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - handle
    - r
    - table
    - file
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_table_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 856
    functionName: read_table
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - apr_xlate_conv_byte
    - apr_table_add
    - strchr
    - apr_file_gets
    - APLOGNO
    - apr_xlate_conv_buffer
    - apr_isprint
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_table(cache_handle_t *handle, request_rec *r,\n
      \                              apr_table_t *table, apr_file_t *file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:872,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:872,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/mod_cache_disk.c:877,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/cache/mod_cache_disk.c:878,1
    - Dst: read_table
      Src: /src/httpd/modules/cache/mod_cache_disk.c:881,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:883,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:883,1
    - Dst: read_table
      Src: /src/httpd/modules/cache/mod_cache_disk.c:887,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:889,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:889,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:894,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 899
    functionName: recall_headers
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - read_table
    - ap_log_rerror
    - apr_file_close
    - APLOGNO
    - apr_table_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t recall_headers(cache_handle_t *h, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - p
    - bb
    argTypes:
    - cache_handle_t*
    - apr_pool_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: recall_body
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - apr_brigade_insert_file
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t recall_body(cache_handle_t *h, apr_pool_t *p, apr_bucket_brigade
      *bb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/cache/mod_cache_disk.c:920,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/cache/mod_cache_disk.c:921,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:924,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:928,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:932,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - table
    argTypes:
    - apr_file_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: store_table
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 2
    functionsReached:
    - apr_table_elts
    - strlen
    - apr_file_writev_full
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t store_table(apr_file_t *fd, apr_table_t *table)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:948,1
    - Dst: ap_cache_cacheable_headers_out
      Src: /src/httpd/modules/cache/mod_cache_disk.c:951,1
    - Dst: ap_cache_cacheable_headers_in
      Src: /src/httpd/modules/cache/mod_cache_disk.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - h
    - r
    - info
    argTypes:
    - cache_handle_t*
    - request_rec*
    - cache_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 963
    functionName: store_headers
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - ap_cache_cacheable_headers_in
    - ap_cache_cacheable_headers_out
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t store_headers(cache_handle_t *h, request_rec *r, cache_info
      *info)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:967,1
    - Dst: memset
      Src: /src/httpd/modules/cache/mod_cache_disk.c:976,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_disk.c:981,1
    - Dst: mkdir_structure
      Src: /src/httpd/modules/cache/mod_cache_disk.c:996,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/cache/mod_cache_disk.c:998,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1004,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1004,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1011,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1013,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1013,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1016,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1017,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1022,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1025,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1025,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1028,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1029,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1033,1
    - Dst: tokens_to_array
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1034,1
    - Dst: store_array
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1036,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1038,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1038,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1041,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1045,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1047,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1047,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1050,1
    - Dst: regen_key
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1054,1
    - Dst: data_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1057,1
    - Dst: header_file
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1058,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1063,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1068,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1068,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1086,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1088,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1095,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1098,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1098,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1101,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1102,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1107,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1109,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1112,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1113,1
    - Dst: store_table
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1121,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1123,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1126,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1127,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1132,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1134,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1134,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1137,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 108
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 1142
    functionName: write_headers
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - data_file
    - tokens_to_array
    - apr_file_mktemp
    - apr_file_close
    - ap_get_module_config
    - apr_file_writev_full
    - store_array
    - apr_table_get
    - mkdir_structure
    - apr_file_write_full
    - store_table
    - header_file
    - apr_pool_destroy
    - regen_key
    - memcpy
    - ap_log_rerror
    - memset
    - APLOGNO
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t write_headers(cache_handle_t *h, request_rec *r)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1150,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1157,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1161,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1164,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1168,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1172,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1173,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1178,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1181,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1182,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1187,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1188,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1189,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1194,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1195,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1196,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1201,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1202,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1203,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1205,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1205,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1209,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1225,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1229,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1233,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1236,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1245,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1247,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1248,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1250,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1255,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1256,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1259,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1275,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1291,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1294,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1300,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1301,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1304,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1310,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1313,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1317,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1318,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1320,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1321,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1323,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 113
    argCount: 4
    argNames:
    - h
    - r
    - in
    - out
    argTypes:
    - cache_handle_t*
    - request_rec*
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1332
    functionName: store_body
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_time_now
    - apr_file_mktemp
    - apr_file_close
    - ap_parse_strict_length
    - ap_get_module_config
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_brigade_partition
    - apr_table_get
    - APR_BUCKET_REMOVE
    - apr_file_write_full
    - apr_file_info_get
    - APR_BRIGADE_EMPTY
    - apr_pool_destroy
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t store_body(cache_handle_t *h, request_rec *r,\n                               apr_bucket_brigade
      *in, apr_bucket_brigade *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1336,1
    - Dst: write_headers
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1342,1
    - Dst: file_cache_el_final
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1346,1
    - Dst: file_cache_el_final
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1349,1
    - Dst: file_cache_el_final
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1353,1
    - Dst: apr_file_remove
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1356,1
    - Dst: remove_url
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1362,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1363,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1363,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1368,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1368,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1334
    functionDepth: 4
    functionLinenumber: 1334
    functionLinenumberEnd: 1376
    functionName: commit_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - file_cache_el_final
    - apr_file_remove
    - remove_url
    - ap_get_module_config
    - write_headers
    - apr_pool_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t commit_entity(cache_handle_t *h, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recall_headers
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1382,1
    - Dst: commit_entity
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - cache_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1391
    functionName: invalidate_entity
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 1
    functionsReached:
    - commit_entity
    - recall_headers
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t invalidate_entity(cache_handle_t *h, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1403
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1421
    functionName: merge_dir_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: create_config
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1443,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1450
    functionName: set_cache_root
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cache_root(cmd_parms *parms, void *in_struct_ptr, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1461,1
    - Dst: atoi
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: set_cache_dirlevels
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cache_dirlevels(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1474,1
    - Dst: atoi
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1484
    functionName: set_cache_dirlength
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cache_dirlength(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1498
    functionName: set_cache_minfs
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: char *set_cache_minfs(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1512
    functionName: set_cache_maxfs
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: char *set_cache_maxfs(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1526
    functionName: set_cache_readsize
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: char *set_cache_readsize(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1534,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - in_struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1542
    functionName: set_cache_readtime
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - apr_time_from_msec
    linkageType: ''
    returnType: char
    signature: char *set_cache_readtime(cmd_parms *parms, void *in_struct_ptr, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_cache_disk.c:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1582
    functionName: disk_cache_register_hook
    functionSourceFile: /src/httpd/modules/cache/mod_cache_disk.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void disk_cache_register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pHeader
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: SHMCB_SUBCACHE
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_SUBCACHE(pHeader, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pHeader
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: SHMCB_MASK
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_MASK(pHeader, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pHeader
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: SHMCB_MASK_DBG
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_MASK_DBG(pHeader, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSubcache
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: SHMCB_INDEX
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_INDEX(pSubcache, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pHeader
    - ','
    - pSubcache
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: SHMCB_DATA
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_DATA(pHeader, pSubcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - inc
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: SHMCB_CYCLIC_INCREMENT
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_CYCLIC_INCREMENT(val,inc,mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val1
    - ','
    - val2
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: SHMCB_CYCLIC_SPACE
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHMCB_CYCLIC_SPACE(val1,val2,mod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:206,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:209,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - buf_size
    - data
    - dest_offset
    - src
    - src_len
    argTypes:
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: shmcb_cyclic_ntoc_memcpy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void shmcb_cyclic_ntoc_memcpy(unsigned int buf_size, unsigned char
      *data,\n                                     unsigned int dest_offset, const
      unsigned char *src,\n                                     unsigned int src_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:222,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:225,1
    - Dst: memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - buf_size
    - dest
    - data
    - src_offset
    - src_len
    argTypes:
    - unsigned int
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: shmcb_cyclic_cton_memcpy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void shmcb_cyclic_cton_memcpy(unsigned int buf_size, unsigned char
      *dest,\n                                     const unsigned char *data, unsigned
      int src_offset,\n                                     unsigned int src_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:241,1
    - Dst: memcmp
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:246,1
    - Dst: memcmp
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - buf_size
    - data
    - dest_offset
    - src
    - src_len
    argTypes:
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: shmcb_cyclic_memcmp
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int shmcb_cyclic_memcmp(unsigned int buf_size, unsigned char *data,\n
      \                              unsigned int dest_offset,\n                               const
      unsigned char *src,\n                               unsigned int src_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:298,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:308,1
    - Dst: strrchr
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:310,1
    - Dst: strlen
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:311,1
    - Dst: strtol
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:322,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - context
    - arg
    - tmp
    - p
    argTypes:
    - ap_socache_instance_t**
    - char*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 343
    functionName: socache_shmcb_create
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - strtol
    - strrchr
    - ap_runtime_dir_relative
    - apr_psprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *socache_shmcb_create(ap_socache_instance_t **context,\n                                        const
      char *arg,\n                                        apr_pool_t *tmp, apr_pool_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: socache_shmcb_cleanup
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t socache_shmcb_cleanup(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:369,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:372,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:376,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:377,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:382,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:382,1
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:391,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:393,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:397,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:397,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:403,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:406,1
    - Dst: apr_shm_size_get
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:407,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:410,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:410,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:414,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:414,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:428,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:428,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:436,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:436,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:454,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:455,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:456,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:465,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:465,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:467,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:467,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:469,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:471,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:473,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:473,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:475,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:475,1
    - Dst: SHMCB_SUBCACHE
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:479,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:483,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 5
    argNames:
    - ctx
    - namespace
    - hints
    - s
    - p
    argTypes:
    - ap_socache_instance_t*
    - char*
    - struct ap_socache_hints*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 488
    functionName: socache_shmcb_init
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - SHMCB_SUBCACHE
    - APR_STATUS_IS_ENOTIMPL
    - apr_pstrcat
    - apr_shm_remove
    - APLOGNO
    - apr_shm_create
    - apr_shm_baseaddr_get
    - ap_runtime_dir_relative
    - ap_log_error
    - apr_shm_size_get
    - APR_ALIGN_DEFAULT
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_shmcb_init(ap_socache_instance_t *ctx,\n                                       const
      char *namespace,\n                                       const struct ap_socache_hints
      *hints,\n                                       server_rec *s, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: socache_shmcb_destroy
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_run
    linkageType: ''
    returnType: void
    signature: void socache_shmcb_destroy(ap_socache_instance_t *ctx, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_MASK
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:505,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:508,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:508,1
    - Dst: SHMCB_MASK_DBG
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:510,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:513,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:513,1
    - Dst: shmcb_subcache_remove
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:517,1
    - Dst: shmcb_subcache_store
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:518,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:520,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:520,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:530,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - ctx
    - s
    - id
    - idlen
    - expiry
    - encoded
    - len_encoded
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_time_t
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 533
    functionName: socache_shmcb_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - shmcb_subcache_store
    - SHMCB_MASK
    - APLOGNO
    - ap_log_error
    - shmcb_subcache_remove
    - SHMCB_MASK_DBG
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_shmcb_store(ap_socache_instance_t *ctx,\n                                        server_rec
      *s, const unsigned char *id,\n                                        unsigned
      int idlen, apr_time_t expiry,\n                                        unsigned
      char *encoded,\n                                        unsigned int len_encoded,\n
      \                                       apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_MASK
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:542,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:545,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:545,1
    - Dst: SHMCB_MASK_DBG
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:547,1
    - Dst: shmcb_subcache_retrieve
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:550,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:556,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - ctx
    - s
    - id
    - idlen
    - dest
    - destlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 560
    functionName: socache_shmcb_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - SHMCB_MASK
    - APLOGNO
    - shmcb_subcache_retrieve
    - ap_log_error
    - SHMCB_MASK_DBG
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_shmcb_retrieve(ap_socache_instance_t *ctx,\n
      \                                          server_rec *s,\n                                           const
      unsigned char *id, unsigned int idlen,\n                                           unsigned
      char *dest, unsigned int *destlen,\n                                           apr_pool_t
      *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_MASK
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:567,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:570,1
    - Dst: SHMCB_MASK_DBG
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:572,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:574,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:574,1
    - Dst: shmcb_subcache_remove
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:578,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:585,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - s
    - id
    - idlen
    - p
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - unsigned char*
    - unsigned int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: socache_shmcb_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - SHMCB_MASK
    - APLOGNO
    - ap_log_error
    - shmcb_subcache_remove
    - SHMCB_MASK_DBG
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_shmcb_remove(ap_socache_instance_t *ctx,\n                                         server_rec
      *s, const unsigned char *id,\n                                         unsigned
      int idlen, apr_pool_t *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:598,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:602,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:603,1
    - Dst: SHMCB_SUBCACHE
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:609,1
    - Dst: shmcb_subcache_expire
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:610,1
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:614,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:631,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:634,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:638,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:640,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:641,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:642,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:643,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:645,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:648,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:650,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:652,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:654,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:656,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:658,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:661,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:666,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:667,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:669,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:670,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:671,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:675,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:675,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:676,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:676,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:677,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:677,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:681,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:682,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:683,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:684,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:685,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:686,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:687,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:688,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:689,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:690,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:692,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - r
    - flags
    argTypes:
    - ap_socache_instance_t*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 693
    functionName: socache_shmcb_status
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - SHMCB_SUBCACHE
    - ap_log_rerror
    - apr_time_now
    - AP_DEBUG_ASSERT
    - APLOGNO
    - SHMCB_INDEX
    - ap_rputs
    - ap_rprintf
    - shmcb_subcache_expire
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: "void socache_shmcb_status(ap_socache_instance_t *ctx,\n                                 request_rec
      *r, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:702,1
    - Dst: SHMCB_SUBCACHE
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:712,1
    - Dst: shmcb_subcache_iterate
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - instance
    - s
    - userctx
    - iterator
    - pool
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - ap_socache_iterator_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 717
    functionName: socache_shmcb_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 0
    functionsReached:
    - SHMCB_SUBCACHE
    - shmcb_subcache_iterate
    - apr_time_now
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t socache_shmcb_iterate(ap_socache_instance_t *instance,\n
      \                                         server_rec *s, void *userctx,\n                                          ap_socache_iterator_t
      *iterator,\n                                          apr_pool_t *pool)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:731,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:740,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:745,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:745,1
    - Dst: SHMCB_CYCLIC_SPACE
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:754,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:765,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - s
    - header
    - subcache
    - now
    argTypes:
    - server_rec*
    - SHMCBHeader*
    - SHMCBSubcache*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 767
    functionName: shmcb_subcache_expire
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - SHMCB_CYCLIC_SPACE
    - ap_log_error
    - SHMCB_INDEX
    - SHMCB_CYCLIC_INCREMENT
    linkageType: ''
    returnType: void
    signature: "void shmcb_subcache_expire(server_rec *s, SHMCBHeader *header,\n                                  SHMCBSubcache
      *subcache, apr_time_t now)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:781,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:781,1
    - Dst: shmcb_subcache_expire
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:788,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:788,1
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:797,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:798,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:798,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:805,1
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:814,1
    - Dst: SHMCB_CYCLIC_SPACE
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:815,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:824,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:824,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:837,1
    - Dst: shmcb_cyclic_ntoc_memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:839,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:840,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:844,1
    - Dst: shmcb_cyclic_ntoc_memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:846,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:847,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:851,1
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:853,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:860,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:860,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 8
    argNames:
    - s
    - header
    - subcache
    - data
    - data_len
    - id
    - id_len
    - expiry
    argTypes:
    - server_rec*
    - SHMCBHeader*
    - SHMCBSubcache*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 869
    functionName: shmcb_subcache_store
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - APLOGNO
    - SHMCB_DATA
    - SHMCB_INDEX
    - ap_log_error
    - SHMCB_CYCLIC_SPACE
    - shmcb_subcache_expire
    - SHMCB_CYCLIC_INCREMENT
    - shmcb_cyclic_ntoc_memcpy
    linkageType: ''
    returnType: int
    signature: "int shmcb_subcache_store(server_rec *s, SHMCBHeader *header,\n                                SHMCBSubcache
      *subcache,\n                                unsigned char *data, unsigned int
      data_len,\n                                const unsigned char *id, unsigned
      int id_len,\n                                apr_time_t expiry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:878,1
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:883,1
    - Dst: shmcb_cyclic_memcmp
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:893,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:894,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:896,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:902,1
    - Dst: shmcb_cyclic_cton_memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:909,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:910,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:919,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:919,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:926,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:929,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - s
    - header
    - subcache
    - id
    - idlen
    - dest
    - destlen
    argTypes:
    - server_rec*
    - SHMCBHeader*
    - SHMCBSubcache*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 932
    functionName: shmcb_subcache_retrieve
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - SHMCB_DATA
    - APLOGNO
    - SHMCB_INDEX
    - ap_log_error
    - shmcb_cyclic_memcmp
    - SHMCB_CYCLIC_INCREMENT
    - shmcb_cyclic_cton_memcpy
    linkageType: ''
    returnType: int
    signature: "int shmcb_subcache_retrieve(server_rec *s, SHMCBHeader *header,\n
      \                                  SHMCBSubcache *subcache,\n                                   const
      unsigned char *id, unsigned int idlen,\n                                   unsigned
      char *dest, unsigned int *destlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:944,1
    - Dst: shmcb_cyclic_memcmp
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:949,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:950,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:952,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:952,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:957,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:957,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - s
    - header
    - subcache
    - id
    - idlen
    argTypes:
    - server_rec*
    - SHMCBHeader*
    - SHMCBSubcache*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 967
    functionName: shmcb_subcache_remove
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 2
    functionsReached:
    - SHMCB_DATA
    - APLOGNO
    - SHMCB_INDEX
    - ap_log_error
    - shmcb_cyclic_memcmp
    - SHMCB_CYCLIC_INCREMENT
    linkageType: ''
    returnType: int
    signature: "int shmcb_subcache_remove(server_rec *s, SHMCBHeader *header,\n                                 SHMCBSubcache
      *subcache,\n                                 const unsigned char *id,\n                                 unsigned
      int idlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SHMCB_INDEX
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:987,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:992,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:992,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1001,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1007,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1008,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1014,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1015,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1019,1
    - Dst: shmcb_cyclic_cton_memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1022,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1023,1
    - Dst: shmcb_cyclic_cton_memcpy
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1027,1
    - Dst: SHMCB_DATA
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1028,1
    - Dst: iterator
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1032,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1034,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1034,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1043,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1043,1
    - Dst: SHMCB_CYCLIC_INCREMENT
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 10
    argNames:
    - instance
    - s
    - userctx
    - header
    - subcache
    - iterator
    - buf
    - buf_len
    - pool
    - now
    argTypes:
    - ap_socache_instance_t*
    - server_rec*
    - void*
    - SHMCBHeader*
    - SHMCBSubcache*
    - ap_socache_iterator_t*
    - unsigned char**
    - apr_size_t*
    - apr_pool_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 1053
    functionName: shmcb_subcache_iterate
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - APLOGNO
    - SHMCB_DATA
    - APR_ALIGN_DEFAULT
    - SHMCB_INDEX
    - ap_log_error
    - iterator
    - SHMCB_CYCLIC_INCREMENT
    - shmcb_cyclic_cton_memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t shmcb_subcache_iterate(ap_socache_instance_t *instance,\n
      \                                          server_rec *s,\n                                           void
      *userctx,\n                                           SHMCBHeader *header,\n
      \                                          SHMCBSubcache *subcache,\n                                           ap_socache_iterator_t
      *iterator,\n                                           unsigned char **buf,\n
      \                                          apr_size_t *buf_len,\n                                           apr_pool_t
      *pool,\n                                           apr_time_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1070,1
    - Dst: ap_register_provider
      Src: /src/httpd/modules/cache/mod_socache_shmcb.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1079
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/cache/mod_socache_shmcb.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/experimental/mod_noloris.c:66,1
    - Dst: strcmp
      Src: /src/httpd/modules/experimental/mod_noloris.c:68,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/experimental/mod_noloris.c:69,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/experimental/mod_noloris.c:70,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/experimental/mod_noloris.c:70,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/experimental/mod_noloris.c:73,1
    - Dst: ap_update_child_status_from_conn
      Src: /src/httpd/modules/experimental/mod_noloris.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: noloris_conn
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_conn_socket
    - ap_log_cerror
    - APLOGNO
    - apr_socket_close
    - ap_update_child_status_from_conn
    - apr_shm_baseaddr_get
    linkageType: ''
    returnType: int
    signature: int noloris_conn(conn_rec *conn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/experimental/mod_noloris.c:107,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/experimental/mod_noloris.c:115,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/experimental/mod_noloris.c:116,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/experimental/mod_noloris.c:117,1
    - Dst: ap_get_scoreboard_worker_from_indexes
      Src: /src/httpd/modules/experimental/mod_noloris.c:123,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/experimental/mod_noloris.c:125,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/experimental/mod_noloris.c:131,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/experimental/mod_noloris.c:140,1
    - Dst: memset
      Src: /src/httpd/modules/experimental/mod_noloris.c:141,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/experimental/mod_noloris.c:144,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/experimental/mod_noloris.c:144,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/experimental/mod_noloris.c:145,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/experimental/mod_noloris.c:148,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/experimental/mod_noloris.c:149,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/experimental/mod_noloris.c:149,1
    - Dst: strcpy
      Src: /src/httpd/modules/experimental/mod_noloris.c:152,1
    - Dst: apr_hash_clear
      Src: /src/httpd/modules/experimental/mod_noloris.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 159
    functionName: noloris_monitor
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_time_now
    - ap_get_scoreboard_worker_from_indexes
    - apr_palloc
    - apr_hash_make
    - memset
    - APLOGNO
    - apr_hash_this
    - apr_shm_baseaddr_get
    - apr_hash_next
    - ap_log_error
    - strcpy
    - apr_hash_first
    - apr_hash_get
    - apr_hash_clear
    linkageType: ''
    returnType: int
    signature: int noloris_monitor(apr_pool_t *pool, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_create
      Src: /src/httpd/modules/experimental/mod_noloris.c:167,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/experimental/mod_noloris.c:169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/experimental/mod_noloris.c:169,1
    - Dst: apr_hash_clear
      Src: /src/httpd/modules/experimental/mod_noloris.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pconf
    - ptmp
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: noloris_post
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_hash_clear
    - apr_shm_create
    linkageType: ''
    returnType: int
    signature: "int noloris_post(apr_pool_t *pconf, apr_pool_t *ptmp, apr_pool_t *plog,\n
      \                       server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/experimental/mod_noloris.c:178,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/experimental/mod_noloris.c:179,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/experimental/mod_noloris.c:182,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/experimental/mod_noloris.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pconf
    - ptmp
    - plog
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: noloris_pre
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_hash_make
    - apr_time_from_sec
    linkageType: ''
    returnType: int
    signature: int noloris_pre(apr_pool_t *pconf, apr_pool_t *ptmp, apr_pool_t *plog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/experimental/mod_noloris.c:189,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/experimental/mod_noloris.c:190,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/experimental/mod_noloris.c:191,1
    - Dst: ap_hook_monitor
      Src: /src/httpd/modules/experimental/mod_noloris.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: noloris_hooks
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - ap_hook_monitor
    - ap_hook_pre_config
    - ap_hook_process_connection
    linkageType: ''
    returnType: void
    signature: void noloris_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/experimental/mod_noloris.c:196,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/experimental/mod_noloris.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - cfg
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: noloris_trusted
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *noloris_trusted(cmd_parms *cmd, void *cfg, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/experimental/mod_noloris.c:204,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/experimental/mod_noloris.c:206,1
    - Dst: atoi
      Src: /src/httpd/modules/experimental/mod_noloris.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - cfg
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: noloris_recheck
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - apr_time_from_sec
    linkageType: ''
    returnType: char
    signature: char *noloris_recheck(cmd_parms *cmd, void *cfg, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/experimental/mod_noloris.c:212,1
    - Dst: atoi
      Src: /src/httpd/modules/experimental/mod_noloris.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - cfg
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: noloris_max_conn
    functionSourceFile: /src/httpd/modules/experimental/mod_noloris.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *noloris_max_conn(cmd_parms *cmd, void *cfg, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_actions.c:65,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/mappers/mod_actions.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: create_action_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_action_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_actions.c:76,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_actions.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: merge_action_dir_configs
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_action_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_actions.c:98,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_actions.c:99,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_actions.c:103,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_actions.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cmd
    - m_v
    - type
    - script
    - option
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: add_action
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_setn
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *add_action(cmd_parms *cmd, void *m_v,\n                              const
      char *type, const char *script,\n                              const char *option)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/mappers/mod_actions.c:117,1
    - Dst: ap_method_register
      Src: /src/httpd/modules/mappers/mod_actions.c:123,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_actions.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cmd
    - m_v
    - method
    - script
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: set_script
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - ap_method_register
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_script(cmd_parms *cmd, void *m_v,\n                              const
      char *method, const char *script)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_actions.c:152,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/modules/mappers/mod_actions.c:186,1
    - Dst: ap_field_noparam
      Src: /src/httpd/modules/mappers/mod_actions.c:187,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_actions.c:190,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_actions.c:193,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_actions.c:193,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_actions.c:202,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_actions.c:204,1
    - Dst: ap_internal_redirect_handler
      Src: /src/httpd/modules/mappers/mod_actions.c:211,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_actions.c:211,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_actions.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 216
    functionName: action_handler
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    - ap_escape_uri
    - AP_REQUEST_IS_TRUSTED_CT
    - ap_field_noparam
    - apr_table_get
    - ap_get_module_config
    - ap_internal_redirect_handler
    linkageType: ''
    returnType: int
    signature: int action_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/mappers/mod_actions.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_actions.c
    functionUses: 1
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_alias.c:82,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_alias.c:84,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_alias.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: create_alias_config
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_alias_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_alias.c:92,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_alias.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: create_alias_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_alias_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_alias.c:102,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_alias.c:106,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_alias.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: merge_alias_config
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_alias_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_alias.c:114,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_alias.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: merge_alias_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_alias_dir_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:146,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_alias.c:148,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/mappers/mod_alias.c:154,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/mappers/mod_alias.c:161,1
    - Dst: regexp::regexp
      Src: /src/httpd/modules/mappers/mod_alias.c:162,1
    - Dst: alias_matches
      Src: /src/httpd/modules/mappers/mod_alias.c:184,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/mappers/mod_alias.c:185,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_alias.c:186,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - cmd
    - dummy
    - fake
    - real
    - use_regex
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 201
    functionName: add_alias_internal
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_array_push
    - regexp::regexp
    - ap_regexec
    - ap_check_cmd_context
    - ap_log_error
    - ap_pregcomp
    - ap_get_module_config
    - alias_matches
    linkageType: ''
    returnType: char
    signature: "char *add_alias_internal(cmd_parms *cmd, void *dummy,\n                                      const
      char *fake, const char *real,\n                                      int use_regex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_alias_internal
      Src: /src/httpd/modules/mappers/mod_alias.c:208,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/mappers/mod_alias.c:214,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/mappers/mod_alias.c:225,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - cmd
    - dummy
    - fake
    - real
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 242
    functionName: add_alias
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - ap_check_cmd_context
    - apr_pstrcat
    - add_alias_internal
    linkageType: ''
    returnType: char
    signature: "char *add_alias(cmd_parms *cmd, void *dummy, const char *fake,\n        const
      char *real)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_alias_internal
      Src: /src/httpd/modules/mappers/mod_alias.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - dummy
    - fake
    - real
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: add_alias_regex
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - add_alias_internal
    linkageType: ''
    returnType: char
    signature: "char *add_alias_regex(cmd_parms *cmd, void *dummy,\n                                   const
      char *fake, const char *real)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:257,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_alias.c:272,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_alias.c:274,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_alias.c:276,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_alias.c:278,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_alias.c:282,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_alias.c:283,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_alias.c:284,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/mappers/mod_alias.c:313,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:316,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/mappers/mod_alias.c:348,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_alias.c:353,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/mappers/mod_alias.c:359,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/mappers/mod_alias.c:368,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/mappers/mod_alias.c:370,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 6
    argNames:
    - cmd
    - dirconf
    - arg1
    - arg2
    - arg3
    - use_regex
    argTypes:
    - cmd_parms*
    - alias_dir_conf*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 377
    functionName: add_redirect_internal
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - ap_is_url
    - apr_pstrcat
    - apr_isdigit
    - strcasecmp
    - atoi
    - ap_get_module_config
    - ap_pregcomp
    - apr_array_push::apr_array_push
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: char
    signature: "char *add_redirect_internal(cmd_parms *cmd,\n                                         alias_dir_conf
      *dirconf,\n                                         const char *arg1, const
      char *arg2,\n                                         const char *arg3, int
      use_regex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_redirect_internal
      Src: /src/httpd/modules/mappers/mod_alias.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - dirconf
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: add_redirect
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - add_redirect_internal
    linkageType: ''
    returnType: char
    signature: "char *add_redirect(cmd_parms *cmd, void *dirconf,\n                                const
      char *arg1, const char *arg2,\n                                const char *arg3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_redirect_internal
      Src: /src/httpd/modules/mappers/mod_alias.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd
    - dirconf
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: add_redirect2
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - add_redirect_internal
    linkageType: ''
    returnType: char
    signature: "char *add_redirect2(cmd_parms *cmd, void *dirconf,\n                                 const
      char *arg1, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_redirect_internal
      Src: /src/httpd/modules/mappers/mod_alias.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - dirconf
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: add_redirect_regex
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - add_redirect_internal
    linkageType: ''
    returnType: char
    signature: "char *add_redirect_regex(cmd_parms *cmd, void *dirconf,\n                                      const
      char *arg1, const char *arg2,\n                                      const char
      *arg3)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - uri
    - alias_fakename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 436
    functionName: alias_matches
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int alias_matches(const char *uri, const char *alias_fakename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:441,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_alias.c:446,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/mappers/mod_alias.c:447,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:449,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:449,1
    - Dst: alias_matches
      Src: /src/httpd/modules/mappers/mod_alias.c:457,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/mappers/mod_alias.c:460,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:461,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_alias.c:467,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_alias.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 480
    functionName: try_alias
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - ap_log_rerror
    - ap_server_root_relative
    - apr_pstrcat
    - ap_expr_str_exec
    - APLOGNO
    - alias_matches
    - apr_table_setn
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *try_alias(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:485,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_alias.c:494,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/mappers/mod_alias.c:495,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:497,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:497,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/mappers/mod_alias.c:502,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/mappers/mod_alias.c:504,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_alias.c:505,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:507,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - r
    - status
    argTypes:
    - request_rec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 521
    functionName: try_redirect
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - ap_log_rerror
    - apr_pstrcat
    - ap_expr_str_exec
    - apr_uri_parse
    - APLOGNO
    - ap_escape_uri
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *try_redirect(request_rec *r, int *status)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec
      Src: /src/httpd/modules/mappers/mod_alias.c:537,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/mappers/mod_alias.c:539,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/mappers/mod_alias.c:544,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/mappers/mod_alias.c:546,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_alias.c:548,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:550,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:554,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:560,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:560,1
    - Dst: alias_matches
      Src: /src/httpd/modules/mappers/mod_alias.c:573,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/mappers/mod_alias.c:576,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/mappers/mod_alias.c:579,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:581,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/mappers/mod_alias.c:597,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:601,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:601,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:612,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_alias.c:621,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_alias.c:629,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 4
    argNames:
    - r
    - aliases
    - is_redir
    - status
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 640
    functionName: try_alias_list
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - apr_uri_unparse
    - ap_log_rerror
    - ap_os_escape_path
    - ap_server_root_relative
    - apr_pstrcat
    - apr_uri_parse
    - ap_pregsub
    - APLOGNO
    - apr_filepath_merge
    - apr_table_setn
    - ap_escape_uri
    - ap_regexec
    - alias_matches
    linkageType: ''
    returnType: char
    signature: "char *try_alias_list(request_rec *r, apr_array_header_t *aliases,\n
      \                           int is_redir, int *status)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:645,1
    - Dst: try_redirect
      Src: /src/httpd/modules/mappers/mod_alias.c:653,1
    - Dst: try_alias_list
      Src: /src/httpd/modules/mappers/mod_alias.c:654,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_alias.c:658,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:660,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_alias.c:665,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:666,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:666,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/mappers/mod_alias.c:671,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:672,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:672,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_alias.c:682,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:683,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_alias.c:685,1
    - Dst: try_alias
      Src: /src/httpd/modules/mappers/mod_alias.c:690,1
    - Dst: try_alias_list
      Src: /src/httpd/modules/mappers/mod_alias.c:691,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 698
    functionName: translate_alias_redir
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_is_url
    - try_redirect
    - ap_log_rerror
    - ap_strchr
    - apr_pstrcat
    - try_alias
    - APLOGNO
    - apr_table_setn
    - ap_construct_url
    - try_alias_list
    - ap_get_module_config
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: int
    signature: int translate_alias_redir(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_alias.c:704,1
    - Dst: try_redirect
      Src: /src/httpd/modules/mappers/mod_alias.c:710,1
    - Dst: try_alias_list
      Src: /src/httpd/modules/mappers/mod_alias.c:711,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_alias.c:715,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_alias.c:720,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:721,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:721,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/mappers/mod_alias.c:726,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_alias.c:727,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_alias.c:727,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_alias.c:737,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_alias.c:738,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_alias.c:740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 746
    functionName: fixup_redir
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 0
    functionsReached:
    - ap_is_url
    - try_redirect
    - ap_log_rerror
    - ap_strchr
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    - ap_construct_url
    - try_alias_list
    - ap_get_module_config
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: int
    signature: int fixup_redir(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/mappers/mod_alias.c:788,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_alias.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_alias.c
    functionUses: 1
    functionsReached:
    - ap_hook_fixups
    - ap_hook_translate_name
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_userdir.c:106,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/mappers/mod_userdir.c:110,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/mappers/mod_userdir.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: create_userdir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_userdir_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_userdir.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: merge_userdir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_userdir_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_userdir.c:137,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_userdir.c:141,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_userdir.c:154,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_userdir.c:154,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_userdir.c:165,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_userdir.c:165,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_userdir.c:185,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_userdir.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 189
    functionName: set_user_dir
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_setn
    - ap_get_module_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_userdir.c:216,1
    - Dst: ap_getword
      Src: /src/httpd/modules/mappers/mod_userdir.c:223,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_userdir.c:247,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_userdir.c:255,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_userdir.c:264,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/mappers/mod_userdir.c:267,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_userdir.c:269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_userdir.c:269,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_userdir.c:272,1
    - Dst: ap_getword
      Src: /src/httpd/modules/mappers/mod_userdir.c:273,1
    - Dst: strchr
      Src: /src/httpd/modules/mappers/mod_userdir.c:285,1
    - Dst: strchr
      Src: /src/httpd/modules/mappers/mod_userdir.c:287,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:290,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_userdir.c:292,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:296,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:300,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_userdir.c:302,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:303,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_userdir.c:304,1
    - Dst: apr_uid_homepath_get
      Src: /src/httpd/modules/mappers/mod_userdir.c:311,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:312,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_userdir.c:325,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_userdir.c:326,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_userdir.c:326,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_userdir.c:329,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_userdir.c:332,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_userdir.c:332,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/mappers/mod_userdir.c:335,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_userdir.c:335,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/mappers/mod_userdir.c:346,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_userdir.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_userdir.c:350,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 355
    functionName: translate_userdir
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - ap_log_rerror
    - apr_pstrcat
    - strchr
    - APLOGNO
    - ap_set_module_config
    - apr_table_setn
    - apr_stat
    - apr_pstrmemdup
    - apr_uid_homepath_get
    - ap_strchr_c
    - apr_table_get
    - ap_get_module_config
    - ap_getword
    - ap_os_is_path_absolute
    - ap_getword_conf
    linkageType: ''
    returnType: int
    signature: int translate_userdir(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_userdir.c:362,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_userdir.c:368,1
    - Dst: apr_uid_get
      Src: /src/httpd/modules/mappers/mod_userdir.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 379
    functionName: get_suexec_id_doer
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 0
    functionsReached:
    - apr_uid_get
    - apr_palloc
    - ap_get_module_config
    linkageType: ''
    returnType: ap_unix_identity_t
    signature: ap_unix_identity_t *get_suexec_id_doer(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/mappers/mod_userdir.c:387,1
    - Dst: ap_hook_get_suexec_identity
      Src: /src/httpd/modules/mappers/mod_userdir.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_userdir.c
    functionUses: 1
    functionsReached:
    - ap_hook_get_suexec_identity
    - ap_hook_translate_name
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_speling.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: mkconfig
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 2
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *mkconfig(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkconfig
      Src: /src/httpd/modules/mappers/mod_speling.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: create_mconfig_for_server
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 0
    functionsReached:
    - mkconfig
    linkageType: ''
    returnType: void
    signature: void *create_mconfig_for_server(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkconfig
      Src: /src/httpd/modules/mappers/mod_speling.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: create_mconfig_for_directory
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 0
    functionsReached:
    - mkconfig
    linkageType: ''
    returnType: void
    signature: void *create_mconfig_for_directory(apr_pool_t *p, char *dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:165,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:165,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:172,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:172,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:173,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_speling.c:173,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:174,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:177,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:181,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: spdist
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_tolower
    linkageType: ''
    returnType: sp_reason
    signature: sp_reason spdist(const char *s, const char *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - rite
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: sort_by_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sort_by_quality(const void *left, const void *rite)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_speling.c:206,1
    - Dst: ap_rind
      Src: /src/httpd/modules/mappers/mod_speling.c:239,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_speling.c:244,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_speling.c:249,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_speling.c:251,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:253,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_speling.c:255,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_speling.c:256,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_speling.c:259,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_speling.c:264,1
    - Dst: apr_dir_open
      Src: /src/httpd/modules/mappers/mod_speling.c:267,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_speling.c:272,1
    - Dst: ap_ind
      Src: /src/httpd/modules/mappers/mod_speling.c:274,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_speling.c:276,1
    - Dst: apr_dir_read
      Src: /src/httpd/modules/mappers/mod_speling.c:279,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_speling.c:287,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/mappers/mod_speling.c:288,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:296,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:299,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_speling.c:300,1
    - Dst: spdist
      Src: /src/httpd/modules/mappers/mod_speling.c:309,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:312,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_speling.c:313,1
    - Dst: ap_ind
      Src: /src/httpd/modules/mappers/mod_speling.c:341,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_speling.c:343,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_speling.c:347,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:350,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_speling.c:351,1
    - Dst: apr_dir_close
      Src: /src/httpd/modules/mappers/mod_speling.c:356,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_speling.c:365,1
    - Dst: qsort
      Src: /src/httpd/modules/mappers/mod_speling.c:367,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_speling.c:381,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:381,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:385,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_speling.c:387,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_speling.c:388,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_speling.c:390,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_speling.c:392,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_speling.c:393,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/mappers/mod_speling.c:420,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/mappers/mod_speling.c:422,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_speling.c:424,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_speling.c:426,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:431,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:433,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_speling.c:433,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:434,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:446,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:451,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:452,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_speling.c:452,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:453,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:454,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:455,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:457,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:458,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_speling.c:458,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:459,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:460,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_speling.c:460,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:461,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:462,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:463,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:475,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:480,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:484,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:487,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_speling.c:487,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_speling.c:488,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_speling.c:494,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:494,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/mappers/mod_speling.c:496,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_speling.c:497,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/mappers/mod_speling.c:499,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_speling.c:501,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_speling.c:502,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_speling.c:503,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 124
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 512
    functionName: check_speling
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 0
    functionsReached:
    - spdist
    - apr_array_push
    - ap_get_module_config
    - apr_dir_read
    - apr_dir_close
    - apr_pstrcat
    - apr_pstrdup
    - apr_pstrndup
    - apr_table_get
    - strncasecmp
    - strcmp
    - ap_ind
    - ap_escape_uri
    - apr_array_pstrcat
    - apr_pool_create
    - ap_construct_url
    - qsort
    - apr_pool_destroy
    - apr_table_mergen
    - apr_dir_open
    - ap_log_rerror
    - strcasecmp
    - APLOGNO
    - apr_table_setn
    - apr_pool_tag
    - ap_escape_html
    - ap_rind
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: int check_speling(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_speling.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_speling.c
    functionUses: 1
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: mva_create_server_config
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *mva_create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - p
    - parentv
    - childv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: mva_merge_server_config
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *mva_merge_server_config(apr_pool_t *p, void *parentv, void *childv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:127,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:154,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:155,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:179,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:199,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 3
    argNames:
    - cmd
    - dummy
    - map
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 213
    functionName: vhost_alias_set
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - ap_os_is_path_absolute
    - apr_isdigit
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *vhost_alias_set(cmd_parms *cmd, void *dummy, const char *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:244,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - buf
    - pdest
    - size
    argTypes:
    - request_rec*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: vhost_alias_checkspace
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pstrcat
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE vhost_alias_checkspace(request_rec *r, char *buf,\n                                             char
      **pdest, int size)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vhost_alias_checkspace
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:285,1
    - Dst: vhost_alias_checkspace
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:294,1
    - Dst: vhost_alias_checkspace
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:302,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:303,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:303,1
    - Dst: vhost_alias_checkspace
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:362,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:364,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:374,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:376,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:377,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:378,1
    - Dst: ap_set_document_root
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:379,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 4
    argNames:
    - r
    - name
    - map
    - uri
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 380
    functionName: vhost_alias_interpolate
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - apr_tolower
    - apr_pstrcat
    - vhost_alias_checkspace
    - ap_set_document_root
    - ap_get_server_port
    - apr_pstrdup
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void vhost_alias_interpolate(request_rec *r, const char *name,\n                                    const
      char *map, const char *uri)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:389,1
    - Dst: strstr
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:393,1
    - Dst: strspn
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:394,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:401,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:413,1
    - Dst: vhost_alias_interpolate
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:428,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:433,1
    - Dst: ap_set_context_info
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 438
    functionName: mva_translate
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 0
    functionsReached:
    - ap_set_context_info
    - vhost_alias_interpolate
    - strstr
    - apr_table_setn
    - ap_get_module_config
    - strspn
    - ap_get_server_name
    - strlen
    linkageType: ''
    returnType: int
    signature: int mva_translate(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/mappers/mod_vhost_alias.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_vhost_alias.c
    functionUses: 1
    functionsReached:
    - ap_hook_translate_name
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: rewritelog
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rewritelog(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: subreq_ok
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subreq_ok(r)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:578,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:585,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:593,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:601,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:604,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:612,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:619,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:623,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:627,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:631,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:639,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:646,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:654,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:657,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:664,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:672,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:676,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:684,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 2
    argNames:
    - uri
    - supportsqs
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 691
    functionName: is_absolute_uri
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: unsigned
    signature: unsigned is_absolute_uri(char *uri, int *supportsqs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:698,1
    - Dst: apr_isalpha
      Src: /src/httpd/modules/mappers/mod_rewrite.c:699,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: is_absolute_path
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - AP_IS_SLASH
    - apr_isalpha
    linkageType: ''
    returnType: int
    signature: int is_absolute_path(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/modules/mappers/mod_rewrite.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - what
    - prefix
    - where
    argTypes:
    - unsigned
    - unsigned char
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 715
    functionName: c2x
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_xlate_conv_byte
    linkageType: ''
    returnType: APR_INLINE unsigned
    signature: "APR_INLINE unsigned *c2x(unsigned what, unsigned char prefix,\n                                     unsigned
      char *where)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:725,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:725,1
    - Dst: TEST_CHAR
      Src: /src/httpd/modules/mappers/mod_rewrite.c:733,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_rewrite.c:734,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_rewrite.c:735,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/mappers/mod_rewrite.c:736,1
    - Dst: c2x
      Src: /src/httpd/modules/mappers/mod_rewrite.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - p
    - path
    - escapeme
    - noescapeme
    - flags
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 753
    functionName: escape_backref
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - TEST_CHAR
    - strlen
    - apr_isalnum
    - ap_strchr_c
    - c2x
    linkageType: ''
    returnType: char
    signature: "char *escape_backref(apr_pool_t *p, const char *path,\n                            const
      char *escapeme, const char *noescapeme,\n                            int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:766,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:781,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:793,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:797,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:806,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:806,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:807,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:809,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:811,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:813,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:815,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:821,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:821,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - p
    - uri
    - scheme
    argTypes:
    - apr_pool_t*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 823
    functionName: escape_absolute_uri
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_escape_uri
    - strlen
    - apr_pstrndup
    - apr_pstrdup
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: char
    signature: char *escape_absolute_uri(apr_pool_t *p, char *uri, unsigned scheme)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:838,1
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:846,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:854,1
    - Dst: ap_strrchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:857,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:857,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:863,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:867,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:871,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:875,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:885,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 888
    functionName: splitout_queryargs
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_strrchr
    - ap_strchr
    - rewritelog
    - apr_pstrcat
    - strlen
    - apr_pstrdup
    - is_absolute_uri
    linkageType: ''
    returnType: void
    signature: void splitout_queryargs(request_rec *r, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/mappers/mod_rewrite.c:898,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:899,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:900,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:901,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:909,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:925,1
    - Dst: ap_default_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:934,1
    - Dst: ap_default_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:938,1
    - Dst: ap_matches_request_vhost
      Src: /src/httpd/modules/mappers/mod_rewrite.c:943,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:945,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:946,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:947,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:951,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 957
    functionName: reduce_uri
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_default_port
    - rewritelog
    - ap_http_scheme
    - apr_table_setn
    - atoi
    - strlen
    - ap_matches_request_vhost
    - ap_get_module_config
    - apr_pstrdup
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: void
    signature: void reduce_uri(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:968,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/mappers/mod_rewrite.c:973,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:974,1
    - Dst: ap_is_default_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:975,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:977,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:979,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/mappers/mod_rewrite.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 986
    functionName: fully_qualify_uri
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_is_default_port
    - ap_get_server_port
    - apr_psprintf
    - is_absolute_uri
    - ap_http_scheme
    - ap_get_server_name_for_url
    linkageType: ''
    returnType: void
    signature: void fully_qualify_uri(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/mappers/mod_rewrite.c:989,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - haystack
    - needle
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: startsWith
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - rewritelog
    linkageType: ''
    returnType: int
    signature: int startsWith(request_rec *r, const char *haystack, const char *needle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_filepath_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1004,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1013,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1014,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1015,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1021,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1029,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1031,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1035,1
    - Dst: ap_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1041,1
    - Dst: ap_context_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1042,1
    - Dst: startsWith
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1049,1
    - Dst: startsWith
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1050,1
    - Dst: startsWith
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1052,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - r
    - path
    - pool
    - lastsub
    argTypes:
    - request_rec*
    - char*
    - apr_pool_t*
    - rewriterule_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1061
    functionName: prefix_stat
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_filepath_root
    - ap_context_document_root
    - rewritelog
    - apr_filepath_merge
    - startsWith
    - apr_pstrndup
    - ap_strchr_c
    - ap_document_root
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int prefix_stat(request_rec *r, const char *path, apr_pool_t *pool,
      rewriterule_entry *lastsub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1069,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1075,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1079,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1082,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1087,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1088,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1090,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1094,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1097,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - r
    - input
    - match
    - subst
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1105
    functionName: subst_prefix_path
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - rewritelog
    - strlen
    - strncmp
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *subst_prefix_path(request_rec *r, char *input, const char *match,\n
      \                              const char *subst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1123,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1125,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1130,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1132,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1136,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1138,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1140,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1143,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1146,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1147,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1157,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1158,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1159,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - name
    - t
    - key
    - val
    argTypes:
    - char*
    - apr_time_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1167
    functionName: set_cache_value
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_hash_set
    - apr_palloc
    - apr_thread_mutex_unlock
    - apr_hash_make
    - apr_pool_tag
    - apr_pool_create
    - apr_pool_clear
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void set_cache_value(const char *name, apr_time_t t, char *key,\n
      \                           char *val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1177,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1179,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1184,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1185,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1189,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1194,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - name
    - t
    - key
    - p
    argTypes:
    - char*
    - apr_time_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1205
    functionName: get_cache_value
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_hash_make
    - apr_thread_mutex_unlock
    - apr_pool_clear
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *get_cache_value(const char *name, apr_time_t t, char *key,\n
      \                            apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1209,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1210,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1214,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1216,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1222
    functionName: init_cache
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_palloc
    - apr_pool_tag
    - apr_pool_create
    - apr_thread_mutex_create
    linkageType: ''
    returnType: int
    signature: int init_cache(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_str_toupper
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - key
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1243
    functionName: rewrite_mapfunc_toupper
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_str_toupper
    linkageType: ''
    returnType: char
    signature: char *rewrite_mapfunc_toupper(request_rec *r, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - key
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1250
    functionName: rewrite_mapfunc_tolower
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    linkageType: ''
    returnType: char
    signature: char *rewrite_mapfunc_tolower(request_rec *r, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - key
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: rewrite_mapfunc_escape
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_escape_uri
    linkageType: ''
    returnType: char
    signature: char *rewrite_mapfunc_escape(request_rec *r, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - key
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1262
    functionName: rewrite_mapfunc_unescape
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_unescape_url
    linkageType: ''
    returnType: char
    signature: char *rewrite_mapfunc_unescape(request_rec *r, char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1270,1
    - Dst: ap_random_pick
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1276,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - value
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1289
    functionName: select_random_value_part
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_random_pick
    - ap_strchr
    linkageType: ''
    returnType: char
    signature: char *select_random_value_part(request_rec *r, char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - err
    - desc
    argTypes:
    - apr_pool_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: rewrite_child_errfn
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void rewrite_child_errfn(apr_pool_t *p, apr_status_t err,\n                                const
      char *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1308,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1309,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1311,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1312,1
    - Dst: apr_procattr_user_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1313,1
    - Dst: apr_procattr_group_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1314,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1315,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1316,1
    - Dst: apr_procattr_error_check_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1318,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1320,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1321,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1325,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 7
    argNames:
    - p
    - progname
    - argv
    - user
    - group
    - fpout
    - fpin
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - char*
    - char*
    - apr_file_t**
    - apr_file_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1338
    functionName: rewritemap_program_child
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_error_check_set
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - apr_procattr_user_set
    - ap_make_dirstr_parent
    - apr_pool_note_subprocess
    - apr_procattr_child_errfn_set
    - apr_procattr_dir_set
    - apr_procattr_group_set
    - apr_procattr_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rewritemap_program_child(apr_pool_t *p,\n                                             const
      char *progname, char **argv,\n                                             const
      char *user, const char *group,\n                                             apr_file_t
      **fpout,\n                                             apr_file_t **fpin)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1346,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1355,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1355,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1361,1
    - Dst: rewritemap_program_child
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1371,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1375,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1385
    functionName: run_rewritemap_programs
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - rewritemap_program_child
    - APLOGNO
    - apr_hash_this
    - apr_hash_next
    - ap_log_error
    - ap_get_module_config
    - apr_hash_first
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t run_rewritemap_programs(server_rec *s, apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1403,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1406,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1406,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1411,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1413,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1417,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1423,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1429,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1434,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1445,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1448,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1451,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - r
    - file
    - key
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1454
    functionName: lookup_map_txtfile
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - apr_file_gets
    - APLOGNO
    - apr_file_close
    - apr_pstrmemdup
    - apr_file_open
    - strlen
    linkageType: ''
    returnType: char
    signature: char *lookup_map_txtfile(request_rec *r, const char *file, char *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1470,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1472,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1472,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1477,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1479,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1479,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1484,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1487,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1487,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1494,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1496,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1497,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - r
    - file
    - dbmtype
    - key
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1506
    functionName: lookup_map_dbmfile
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - ap_log_rerror
    - apr_dbm_get_driver
    - apr_dbm_fetch
    - APLOGNO
    - apr_pstrmemdup
    - apr_dbm_open2
    - apr_dbm_open_ex
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *lookup_map_dbmfile(request_rec *r, const char *file,\n                                const
      char *dbmtype, char *key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dbd_acquire
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1516,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1519,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1519,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1525,1
    - Dst: apr_dbd_pvselect
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1527,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1530,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1531,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1531,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1535,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1538,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1539,1
    - Dst: rand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1543,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1544,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1545,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1550,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1551,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1551,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - r
    - key
    - label
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1564
    functionName: lookup_map_dbd
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - rand
    - ap_log_rerror
    - rewritelog
    - apr_dbd_error
    - APLOGNO
    - apr_pstrdup
    - apr_dbd_get_row
    - apr_dbd_pvselect
    - apr_dbd_get_entry
    - dbd_acquire
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: char *lookup_map_dbd(request_rec *r, char *key, const char *label)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1593,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1599,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1601,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1601,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1610,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1612,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1614,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1617,1
    - Dst: apr_file_writev_full
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1623,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1626,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1630,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1662,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1668,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1671,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1681,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1696,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1699,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1713,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1715,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1715,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1723,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 4
    argNames:
    - r
    - fpin
    - fpout
    - key
    argTypes:
    - request_rec*
    - apr_file_t*
    - apr_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1728
    functionName: lookup_map_program
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - apr_palloc
    - apr_file_write_full
    - APLOGNO
    - strcasecmp
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    - apr_file_read
    - strlen
    - apr_file_writev_full
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *lookup_map_program(request_rec *r, apr_file_t *fpin,\n                                apr_file_t
      *fpout, char *key)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1742,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1743,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1756,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1758,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1758,1
    - Dst: get_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1764,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1766,1
    - Dst: lookup_map_txtfile
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1769,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1771,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1773,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1777,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1779,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1782,1
    - Dst: select_random_value_part
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1787,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1788,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1797,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1799,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1799,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1806,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1808,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1808,1
    - Dst: get_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1820,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1822,1
    - Dst: lookup_map_dbmfile
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1825,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1827,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1829,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1833,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1836,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1840,1
    - Dst: lookup_map_dbd
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1848,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1850,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1855,1
    - Dst: get_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1864,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1866,1
    - Dst: lookup_map_dbd
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1869,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1871,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1873,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1877,1
    - Dst: set_cache_value
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1880,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1884,1
    - Dst: lookup_map_program
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1892,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1894,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1899,1
    - Dst: rewritemap_entry*::func
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1907,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1909,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1914,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 107
    argCount: 3
    argNames:
    - r
    - name
    - key
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1920
    functionName: lookup_map
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - rewritemap_entry*::func
    - rewritelog
    - get_cache_value
    - select_random_value_part
    - APLOGNO
    - lookup_map_dbd
    - set_cache_value
    - lookup_map_txtfile
    - lookup_map_dbmfile
    - ap_get_module_config
    - lookup_map_program
    - apr_stat
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: char *lookup_map(request_rec *r, char *name, char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1927,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1932,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1934,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - char*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1940
    functionName: lookup_header
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrdup
    - apr_pstrcat
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: char *lookup_header(const char *name, rewrite_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1954,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1959
    functionName: la_u
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE *la_u(rewrite_ctx *ctx)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1968,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1979,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1981,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1984,1
    - Dst: getenv
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1987,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1990,1
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:1991,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2000,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2001,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2003,1
    - Dst: subreq_ok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2004,1
    - Dst: la_u
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2005,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2006,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2008,1
    - Dst: lookup_variable
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2008,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2010,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2012,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2018,1
    - Dst: subreq_ok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2019,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2026,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2032,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2035,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2039,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2043,1
    - Dst: lookup_variable
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2043,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2045,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2047,1
    - Dst: ap_str_toupper
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2061,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2065,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2066,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2066,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2067,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2070,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2073,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2078,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2079,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2081,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2088,1
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2089,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2090,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2097,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2098,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2098,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2099,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2104,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2105,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2105,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2106,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2111,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2112,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2112,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2113,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2118,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2119,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2119,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2120,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2129,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2130,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2130,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2131,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2133,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2134,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2134,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2135,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2140,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2146,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2152,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2158,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2159,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2164,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2165,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2165,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2166,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2175,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2176,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2181,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2184,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2190,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2191,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2193,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2199,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2200,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2207,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2208,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2213,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2214,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2214,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2216,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2217,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2219,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2220,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2225,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2228,1
    - Dst: apr_uid_name_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2231,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2238,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2248,1
    - Dst: apr_gid_name_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2251,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2258,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2259,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2264,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2265,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2270,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2276,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2284,1
    - Dst: ap_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2285,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2290,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2291,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2293,1
    - Dst: ap_context_prefix
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2294,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2296,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2299,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2300,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2307,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2308,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2313,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2319,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2325,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2326,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2333,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2336,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2342,1
    - Dst: lookup_header
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2343,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2345,1
    - Dst: ap_context_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2346,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2352,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 304
    argCount: 2
    argNames:
    - var
    - ctx
    argTypes:
    - char*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 2353
    functionName: lookup_variable
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 1
    functionsReached:
    - ap_ssl_conn_is_ssl
    - apr_time_now
    - ap_destroy_sub_req
    - ap_get_useragent_host
    - subreq_ok
    - ap_get_module_config
    - ap_sub_req_lookup_file
    - IN6_IS_ADDR_V4MAPPED
    - ap_str_toupper
    - apr_pstrcat
    - strlen
    - getenv
    - lookup_header
    - apr_psprintf
    - apr_table_get
    - strncasecmp
    - ap_get_remote_logname
    - strcmp
    - apr_gid_name_get
    - apr_uid_name_get
    - lookup_variable
    - ap_document_root
    - ap_http_scheme
    - ap_get_server_name_for_url
    - la_u
    - ap_context_document_root
    - rewritelog
    - ap_context_prefix
    - apr_itoa
    - ap_get_server_banner
    - ap_get_server_port
    - ap_ssl_var_lookup
    - apr_pstrdup
    - apr_time_exp_lt
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: char
    signature: char *lookup_variable(char *var, rewrite_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2382
    functionName: find_closing_curly
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE *find_closing_curly(char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2401
    functionName: find_char_in_curlies
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE *find_char_in_curlies(char *s, int c)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2427,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2429,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2432,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2445,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2451,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2471,1
    - Dst: find_closing_curly
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2496,1
    - Dst: lookup_variable
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2506,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2506,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2508,1
    - Dst: find_char_in_curlies
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2534,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2544,1
    - Dst: find_char_in_curlies
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2547,1
    - Dst: lookup_map
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2553,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2553,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2556,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2559,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2572,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2583,1
    - Dst: escape_backref
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2584,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2586,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2589,1
    - Dst: memchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2611,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2623,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2626,1
    - Dst: strcspn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2639,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2646,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2661,1
    - Dst: ap_assert
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2664,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2668,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 150
    argCount: 5
    argNames:
    - input
    - ctx
    - entry
    - unsafe_qmark
    - pool
    argTypes:
    - char*
    - rewrite_ctx*
    - rewriterule_entry*
    - int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2417
    functionDepth: 3
    functionLinenumber: 2417
    functionLinenumberEnd: 2677
    functionName: do_expand
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 1
    functionsReached:
    - do_expand
    - lookup_map
    - apr_palloc
    - strcspn
    - rewritelog
    - apr_isdigit
    - find_char_in_curlies
    - memchr
    - ap_assert
    - apr_pstrmemdup
    - escape_backref
    - find_closing_curly
    - lookup_variable
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *do_expand(char *input, rewrite_ctx *ctx, rewriterule_entry *entry,\n
      \                      int *unsafe_qmark, apr_pool_t *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2687,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2690,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2691,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2694,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2700,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ctx
    argTypes:
    - data_item*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2682
    functionDepth: 4
    functionLinenumber: 2682
    functionLinenumberEnd: 2709
    functionName: do_expand_env
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - do_expand
    - ap_strchr
    - rewritelog
    - apr_table_set
    - apr_table_unset
    linkageType: ''
    returnType: void
    signature: void do_expand_env(data_item *env, rewrite_ctx *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2738,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2739,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2740,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2751,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2752,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2756,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2757,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2758,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2759,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2760,1
    - Dst: atol
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2766,1
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2768,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2769,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2770,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2783,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2791,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2792,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2793,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2796,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2797,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2798,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2803,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2803,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2804,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2808,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2809,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2810,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2813,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2819
    functionName: add_cookie
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_time_from_sec
    - strcmp
    - apr_pstrcat
    - ap_cstr_casecmp
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - rewritelog
    - apr_table_addn
    - apr_psprintf
    - apr_time_exp_gmt
    - atol
    linkageType: ''
    returnType: void
    signature: void add_cookie(request_rec *r, char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_cookie
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2824,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cookie
    - ctx
    argTypes:
    - data_item*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2821
    functionDepth: 4
    functionLinenumber: 2821
    functionLinenumberEnd: 2829
    functionName: do_expand_cookie
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - do_expand
    - add_cookie
    linkageType: ''
    returnType: void
    signature: void do_expand_cookie(data_item *cookie, rewrite_ctx *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2849,1
    - Dst: apr_uid_homepath_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2850,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2853,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - r
    - uri
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2868
    functionName: expand_tildepaths
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_uid_homepath_get
    - strlen
    - apr_pstrcat
    - apr_pstrmemdup
    linkageType: ''
    returnType: char
    signature: char *expand_tildepaths(request_rec *r, char *uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2880
    functionDepth: 1
    functionLinenumber: 2880
    functionLinenumberEnd: 2892
    functionName: rewritelock_create
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_global_mutex_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rewritelock_create(server_rec *s, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2902
    functionName: rewritelock_remove
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rewritelock_remove(void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2926,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2937,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2940,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2951,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2962,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2965,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2979,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2994,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:2997,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3005,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3009,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3010,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3012,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 6
    argNames:
    - p
    - str
    - a1
    - a2
    - a2_end
    - a3
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 3015
    functionName: parseargline
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_isspace
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *parseargline(apr_pool_t *p, char *str, char **a1,\n                          char
      **a2, char **a2_end, char **a3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3021,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3025,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3026,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3031
    functionName: config_server_create
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *config_server_create(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3037,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3056,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3058,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3060,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3070,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3072,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3074,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3088
    functionName: config_server_merge
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    - apr_hash_overlay
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *config_server_merge(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3094,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3099,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3100,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3107,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3108,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - path
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3116
    functionName: config_perdir_create
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - strlen
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void *config_perdir_create(apr_pool_t *p, char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3122,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3145,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3147,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3153,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3164
    functionName: config_perdir_merge
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *config_perdir_merge(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3166
    functionDepth: 0
    functionLinenumber: 3166
    functionLinenumberEnd: 3188
    functionName: cmd_rewriteengine
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewriteengine(cmd_parms *cmd,\n                                     void
      *in_dconf, int flag)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3196,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3198,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3201,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3204,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3207,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3210,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3213,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3216,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3217,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3217,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3223,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3226,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3229,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3232,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3235,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3238,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3242,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - option
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3190
    functionDepth: 1
    functionLinenumber: 3190
    functionLinenumberEnd: 3268
    functionName: cmd_rewriteoptions
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - APLOGNO
    - strcasecmp
    - ap_log_error
    - ap_get_module_config
    - strncasecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewriteoptions(cmd_parms *cmd,\n                                      void
      *in_dconf, const char *option)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3278,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3280,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3282,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3283,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3284,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3291,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3294,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3295,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3296,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3303,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3306,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3311,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3319,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3322,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3329,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3333,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3335,1
    - Dst: apr_dbm_get_usednames_ex
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3339,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3343,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3347,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3348,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3359,1
    - Dst: dbd_prepare
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3363,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3365,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3366,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3369,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3371,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3381,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3381,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3382,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3385,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3388,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3388,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3390,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3395,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3396,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3403,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3408,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3410,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3415,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 95
    argCount: 5
    argNames:
    - cmd
    - dconf
    - a1
    - a2
    - a3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3270
    functionDepth: 2
    functionLinenumber: 3270
    functionLinenumberEnd: 3418
    functionName: cmd_rewritemap
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_strtok
    - ap_server_root_relative
    - apr_pcalloc
    - apr_pstrcat
    - apr_dbm_get_usednames_ex
    - apr_pstrdup
    - apr_stat
    - apr_tokenize_to_argv
    - strlen
    - apr_pstrndup
    - apr_psprintf
    - ap_get_module_config
    - dbd_prepare
    - ap_strchr_c
    - apr_hash_get
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1,\n
      \                                 const char *a2, const char *a3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - a1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3439
    functionName: cmd_rewritebase
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewritebase(cmd_parms *cmd, void *in_dconf,\n                                   const
      char *a1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3454,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3465,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3469,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3477,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3483,1
    - Dst: parse
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - p
    - cfg
    - key
    - "(*parse)(apr_pool_t *,\n                                                           void
      *,\n                                                           char *, char
      *)"
    argTypes:
    - apr_pool_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3446
    functionDepth: 2
    functionLinenumber: 3446
    functionLinenumberEnd: 3500
    functionName: cmd_parseflagfield
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - parse
    - strlen
    - apr_isspace
    - ap_strchr
    linkageType: ''
    returnType: char
    signature: "char *cmd_parseflagfield(apr_pool_t *p, void *cfg, char *key,\n                                      const
      char *(*parse)(apr_pool_t *,\n                                                           void
      *,\n                                                           char *, char
      *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3507,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3508,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3511,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3512,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3515,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3516,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - p
    - _cfg
    - key
    - val
    argTypes:
    - apr_pool_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3523
    functionName: cmd_rewritecond_setflag
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewritecond_setflag(apr_pool_t *p, void *_cfg,\n                                           char
      *key, char *val)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3529,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3536,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3540,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3543,1
    - Dst: parseargline
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3551,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3552,1
    - Dst: cmd_parseflagfield
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3566,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3568,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3581,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3667,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3667,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3678,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3682,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3692,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3694,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 135
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - in_str
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3525
    functionDepth: 3
    functionLinenumber: 3525
    functionLinenumberEnd: 3701
    functionName: cmd_rewritecond
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    - parseargline
    - strcasecmp
    - apr_array_push
    - APLOGNO
    - ap_log_error
    - apr_psprintf
    - ap_get_module_config
    - cmd_parseflagfield
    - ap_pregcomp
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewritecond(cmd_parms *cmd, void *in_dconf,\n                                   const
      char *in_str)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3712,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3718,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3726,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3726,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3729,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3738,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3742,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3746,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3752,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3765,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3765,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3771,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3775,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3781,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3788,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3798,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3809,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3820,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3829,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3840,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3843,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3846,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3851,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3855,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3865,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3869,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3879,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3880,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3882,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3883,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3885,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3886,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3896,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3901,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3904,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3907,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3910,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3911,1
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3914,1
    - Dst: ap_index_of_response
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3916,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3917,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3923,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3937,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3938,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3947,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3956,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3959,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3962,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3975,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 222
    argCount: 4
    argNames:
    - p
    - _cfg
    - key
    - val
    argTypes:
    - apr_pool_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3979
      start: 3703
    functionDepth: 2
    functionLinenumber: 3703
    functionLinenumberEnd: 3979
    functionName: cmd_rewriterule_setflag
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_index_of_response
    - apr_pstrcat
    - apr_isdigit
    - strcasecmp
    - atoi
    - apr_psprintf
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewriterule_setflag(apr_pool_t *p, void *_cfg,\n                                           char
      *key, char *val)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3985,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3992,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3996,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_rewrite.c:3999,1
    - Dst: parseargline
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4003,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4004,1
    - Dst: cmd_parseflagfield
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4021,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4023,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4035,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4039,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4067,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4078,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4083,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - in_str
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 3981
    functionDepth: 3
    functionLinenumber: 3981
    functionLinenumberEnd: 4088
    functionName: cmd_rewriterule
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - apr_pstrcat
    - parseargline
    - apr_array_push
    - apr_psprintf
    - ap_get_module_config
    - cmd_parseflagfield
    - ap_pregcomp
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *cmd_rewriterule(cmd_parms *cmd, void *in_dconf,\n                                   const
      char *in_str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4104,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4118
    functionName: compare_lexicography
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE compare_lexicography(char *a, char *b)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4133,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4137,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4139,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4142,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4149,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4151,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4154,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4161,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4163,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4167,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4176,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4178,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4181,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4188,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4190,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4193,1
    - Dst: subreq_ok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4200,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4201,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4205,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4207,1
    - Dst: subreq_ok
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4212,1
    - Dst: ap_stat_check
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4213,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4215,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4218,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4221,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4225,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4228,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4239,1
    - Dst: compare_lexicography
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4242,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4253,1
    - Dst: compare_lexicography
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4256,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4263,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4266,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4270,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4270,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4271,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4271,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4273,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4273,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4274,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4274,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4276,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4276,1
    - Dst: ap_expr_exec_re
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4281,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4284,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4296,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4302,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4307,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4316,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 156
    argCount: 3
    argNames:
    - p
    - ctx
    - pool
    argTypes:
    - rewritecond_entry*
    - rewrite_ctx*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4322
      start: 4123
    functionDepth: 4
    functionLinenumber: 4123
    functionLinenumberEnd: 4322
    functionName: apply_rewrite_cond
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - do_expand
    - strcmp
    - rewritelog
    - ap_destroy_sub_req
    - strcasecmp
    - atoi
    - memcpy
    - ap_expr_exec_re
    - subreq_ok
    - ap_regexec
    - ap_sub_req_lookup_file
    - compare_lexicography
    - ap_stat_check
    - apr_stat
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: cond_return_type
    signature: cond_return_type apply_rewrite_cond(rewritecond_entry *p, rewrite_ctx
      *ctx, apr_pool_t *pool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4331,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4334,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4336,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4339,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4345,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4348,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4350,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p
    - ctx
    argTypes:
    - rewriterule_entry*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4325
    functionDepth: 4
    functionLinenumber: 4325
    functionLinenumberEnd: 4357
    functionName: force_type_handler
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - do_expand
    - apr_table_setn
    - ap_str_tolower
    - rewritelog
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE force_type_handler(rewriterule_entry *p,\n                                          rewrite_ctx
      *ctx)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4377,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4383,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4389,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4391,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4397,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4398,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4400,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4409,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4412,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4428,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4429,1
    - Dst: apply_rewrite_cond
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4444,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4473,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4483,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4495,1
    - Dst: do_expand
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4498,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4500,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4504,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4504,1
    - Dst: do_expand_env
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4513,1
    - Dst: do_expand_cookie
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4514,1
    - Dst: force_type_handler
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4518,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4521,1
    - Dst: is_absolute_path
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4535,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4536,1
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4537,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4539,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4542,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4556,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4559,1
    - Dst: splitout_queryargs
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4571,1
    - Dst: fully_qualify_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4581,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4583,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4586,1
    - Dst: fully_qualify_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4596,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4598,1
    - Dst: reduce_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4613,1
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4619,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4620,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4629,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4629,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4630,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4631,1
    - Dst: force_type_handler
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4638,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 124
    argCount: 2
    argNames:
    - p
    - ctx
    argTypes:
    - rewriterule_entry*
    - rewrite_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4362
    functionDepth: 5
    functionLinenumber: 4362
    functionLinenumberEnd: 4644
    functionName: apply_rewrite_rule
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - splitout_queryargs
    - strncmp
    - do_expand
    - apr_pstrcat
    - strlen
    - do_expand_cookie
    - reduce_uri
    - apr_pool_clear
    - do_expand_env
    - memcpy
    - ap_log_rerror
    - force_type_handler
    - rewritelog
    - APLOGNO
    - apply_rewrite_cond
    - ap_regexec
    - is_absolute_path
    - AP_IS_SLASH
    - apr_pstrdup
    - is_absolute_uri
    - fully_qualify_uri
    linkageType: ''
    returnType: rule_return_type
    signature: "rule_return_type apply_rewrite_rule(rewriterule_entry *p,\n                                           rewrite_ctx
      *ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4662,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4665,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4671,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4672,1
    - Dst: apply_rewrite_rule
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4702,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4707,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4712,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4713,1
    - Dst: apr_table_merge
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4726,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4757,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4759,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4766,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4767,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4784,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 4
    argNames:
    - r
    - rewriterules
    - perdir
    - lastsub
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - char*
    - rewriterule_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4650
    functionDepth: 6
    functionLinenumber: 4650
    functionLinenumberEnd: 4820
    functionName: apply_rewrite_list
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - rewritelog
    - apr_pstrcat
    - apr_pool_userdata_set
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_get_module_config
    - apr_table_merge
    - apply_rewrite_rule
    - strlen
    linkageType: ''
    returnType: int
    signature: "int apply_rewrite_list(request_rec *r, apr_array_header_t *rewriterules,\n
      \                             char *perdir, rewriterule_entry **lastsub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4835,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4838,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4841,1
    - Dst: map_pfn_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4843,1
    - Dst: map_pfn_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4844,1
    - Dst: map_pfn_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4845,1
    - Dst: map_pfn_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4846,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4848,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4851
      start: 4831
    functionDepth: 1
    functionLinenumber: 4831
    functionLinenumberEnd: 4851
    functionName: pre_config
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 28
    functionsReached:
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_mutex_register
    - map_pfn_register
    linkageType: ''
    returnType: int
    signature: "int pre_config(apr_pool_t *pconf,\n                      apr_pool_t
      *plog,\n                      apr_pool_t *ptemp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_linked_module
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4861,1
    - Dst: rewritelock_create
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4864,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4869,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4876,1
    - Dst: run_rewritemap_programs
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4885
      start: 4853
    functionDepth: 3
    functionLinenumber: 4853
    functionLinenumberEnd: 4885
    functionName: post_config
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 37
    functionsReached:
    - ap_state_query
    - rewritelock_create
    - ap_find_linked_module
    - run_rewritemap_programs
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int post_config(apr_pool_t *p,\n                       apr_pool_t
      *plog,\n                       apr_pool_t *ptemp,\n                       server_rec
      *s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4892,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4893,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4895,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4895,1
    - Dst: init_cache
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4902,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4906
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4906
    functionName: init_child
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - init_cache
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_global_mutex_lockfile
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void init_child(apr_pool_t *p, server_rec *s)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4940,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4942,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4966,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4968,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:4978,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5000,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5002,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5005,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5009,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5010,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5018,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5019,1
    - Dst: ap_is_default_port
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5020,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5024,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5026,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5029,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5029,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5031,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5033,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5038,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5039,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5040,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5045,1
    - Dst: apply_rewrite_list
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5052,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5053,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5054,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5057,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5060,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5064,1
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5065,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5066,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5071,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5077,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5077,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5097,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5110,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5117,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5124,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5129,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5131,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5141,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5151,1
    - Dst: escape_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5153,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5160,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5162,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5166,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5169,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5176,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5185,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5186,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5191,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5200,1
    - Dst: expand_tildepaths
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5209,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5211,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5217,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5249,1
    - Dst: prefix_stat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5252,1
    - Dst: ap_core_translate
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5259,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5263,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5269,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5273,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5278,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 142
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5283
      start: 4921
    functionDepth: 7
    functionLinenumber: 4921
    functionLinenumberEnd: 5283
    functionName: hook_uri2file
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - expand_tildepaths
    - atoi
    - ap_core_translate
    - escape_absolute_uri
    - ap_get_module_config
    - ap_scan_vchar_obstext
    - strncmp
    - ap_is_HTTP_REDIRECT
    - apr_pstrcat
    - strlen
    - apr_psprintf
    - apr_table_get
    - apply_rewrite_list
    - strcmp
    - apr_pool_userdata_get
    - ap_escape_uri
    - prefix_stat
    - ap_http_scheme
    - ap_get_server_name_for_url
    - ap_log_rerror
    - rewritelog
    - APLOGNO
    - apr_table_setn
    - ap_is_default_port
    - ap_get_server_port
    - apr_pstrdup
    - is_absolute_uri
    - ap_os_is_path_absolute
    linkageType: ''
    returnType: int
    signature: int hook_uri2file(request_rec *r)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5303,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5329,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5338,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5339,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5341,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5347,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5349,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5357,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5359,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5359,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5378,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5379,1
    - Dst: apply_rewrite_list
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5386,1
    - Dst: is_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5388,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5392,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5393,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5398,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5403,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5403,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5426,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5426,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5433,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5443,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5444,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5454,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5469,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5470,1
    - Dst: subst_prefix_path
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5496,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5500,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5502,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5510,1
    - Dst: escape_absolute_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5512,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5519,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5521,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5524,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5527,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5534,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5543,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5544,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5556,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5557,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5560,1
    - Dst: ap_os_is_path_absolute
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5566,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5577,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5578,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5592,1
    - Dst: subst_prefix_path
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5595,1
    - Dst: ap_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5605,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5607,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5611,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5613,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5617,1
    - Dst: ap_context_document_root
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5631,1
    - Dst: ap_context_prefix
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5632,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5634,1
    - Dst: subst_prefix_path
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5637,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5643,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5646,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5648,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5654,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 143
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 5289
    functionDepth: 7
    functionLinenumber: 5289
    functionLinenumberEnd: 5659
    functionName: hook_fixup
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - escape_absolute_uri
    - ap_get_module_config
    - ap_scan_vchar_obstext
    - ap_allow_options
    - strncmp
    - ap_is_HTTP_REDIRECT
    - apr_pstrcat
    - strlen
    - apr_table_get
    - apply_rewrite_list
    - strcmp
    - ap_strchr
    - apr_pool_userdata_get
    - ap_escape_uri
    - ap_document_root
    - subst_prefix_path
    - ap_log_rerror
    - ap_context_document_root
    - rewritelog
    - ap_context_prefix
    - APLOGNO
    - apr_table_setn
    - apr_pstrdup
    - is_absolute_uri
    - ap_os_is_path_absolute
    linkageType: ''
    returnType: int
    signature: int hook_fixup(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5670,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5672,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5675,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5679,1
    - Dst: rewritelog
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5688
      start: 5665
    functionDepth: 3
    functionLinenumber: 5665
    functionLinenumberEnd: 5688
    functionName: hook_mimetype
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - ap_set_content_type_ex
    - rewritelog
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int hook_mimetype(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5696,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5701,1
    - Dst: ap_internal_redirect
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5706,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5711
      start: 5694
    functionDepth: 5
    functionLinenumber: 5694
    functionLinenumberEnd: 5711
    functionName: handler_redirect
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_internal_redirect
    - strncmp
    - apr_pstrcat
    linkageType: ''
    returnType: int
    signature: int handler_redirect(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5741,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - func
    argTypes:
    - char*
    - rewrite_mapfunc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5742
      start: 5739
    functionDepth: 0
    functionLinenumber: 5739
    functionLinenumberEnd: 5742
    functionName: ap_register_rewrite_mapfunc
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_register_rewrite_mapfunc(char *name, rewrite_mapfunc_t *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5751,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5752,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5754,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5755,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5756,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5757,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5760,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5762,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_rewrite.c:5763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5764
      start: 5744
    functionDepth: 0
    functionLinenumber: 5744
    functionLinenumberEnd: 5764
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_rewrite.c
    functionUses: 1
    functionsReached:
    - ap_hook_pre_config
    - apr_hash_make
    - ap_hook_translate_name
    - ap_hook_handler
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_imagemap.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: create_imap_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_imap_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_imagemap.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: merge_imap_dir_configs
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_imap_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - point
    - coords
    argTypes:
    - double[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: pointinrect
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pointinrect(const double point[2], double coords[MAXVERTS][2])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - point
    - coords
    argTypes:
    - double[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: pointincircle
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pointincircle(const double point[2], double coords[MAXVERTS][2])
  - 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: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: fmin
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fmin(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: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: fmax
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fmax(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/httpd/modules/mappers/mod_imagemap.c:194,1
    - Dst: fmax
      Src: /src/httpd/modules/mappers/mod_imagemap.c:194,1
    - Dst: fmin
      Src: /src/httpd/modules/mappers/mod_imagemap.c:195,1
    - Dst: fmax
      Src: /src/httpd/modules/mappers/mod_imagemap.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - point
    - pgon
    argTypes:
    - double[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: pointinpoly
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: int
    signature: int pointinpoly(const double point[2], double pgon[MAXVERTS][2])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - point
    - coords
    - closest
    argTypes:
    - double[]
    - double[][]
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: is_closer
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int is_closer(const double point[2], double coords[MAXVERTS][2],\n
      \                    double *closest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_imagemap.c:234,1
    - Dst: strtod
      Src: /src/httpd/modules/mappers/mod_imagemap.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: get_x_coord
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - strtod
    linkageType: ''
    returnType: double
    signature: double get_x_coord(const char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_imagemap.c:259,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_imagemap.c:266,1
    - Dst: strtod
      Src: /src/httpd/modules/mappers/mod_imagemap.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 280
    functionName: get_y_coord
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - ap_strchr_c
    - strtod
    linkageType: ''
    returnType: double
    signature: double get_y_coord(const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - string
    - quoted_part
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: read_quoted
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    linkageType: ''
    returnType: void
    signature: void read_quoted(char **string, char **quoted_part)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:329,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:329,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:330,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:333,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:333,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_imagemap.c:334,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:338,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_imagemap.c:339,1
    - Dst: apr_isalpha
      Src: /src/httpd/modules/mappers/mod_imagemap.c:356,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_imagemap.c:363,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_imagemap.c:368,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:371,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_imagemap.c:375,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:375,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_imagemap.c:377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_imagemap.c:377,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_imagemap.c:381,1
    - Dst: strrchr
      Src: /src/httpd/modules/mappers/mod_imagemap.c:398,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:410,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:410,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_imagemap.c:412,1
    - Dst: strrchr
      Src: /src/httpd/modules/mappers/mod_imagemap.c:424,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_imagemap.c:427,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_imagemap.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_imagemap.c:437,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:442,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:442,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_imagemap.c:453,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 78
    argCount: 3
    argNames:
    - r
    - base
    - value
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 456
    functionName: imap_url
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - strcasecmp
    - APLOGNO
    - strlen
    - ap_construct_url
    - strrchr
    - apr_isalpha
    - ap_strchr_c
    - apr_table_get
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *imap_url(request_rec *r, const char *base, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:460,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:464,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_imagemap.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - r
    - redirect
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 474
    functionName: imap_reply
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int imap_reply(request_rec *r, const char *redirect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/mappers/mod_imagemap.c:478,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:480,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_imagemap.c:481,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:484,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:485,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_imagemap.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - menu
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 489
    functionName: menu_header
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - ap_escape_html
    - strcasecmp
    - ap_rvputs
    - ap_set_content_type_ex
    linkageType: ''
    returnType: void
    signature: void menu_header(request_rec *r, char *menu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:493,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:494,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:496,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:497,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:499,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - menu
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: menu_blank
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void menu_blank(request_rec *r, char *menu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:507,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:508,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:510,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:511,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:513,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - r
    - menu
    - comment
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: menu_comment
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_rputs
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: void menu_comment(request_rec *r, char *menu, char *comment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:521,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:521,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_imagemap.c:526,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_imagemap.c:527,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:529,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:530,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:533,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:534,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:537,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - r
    - menu
    - href
    - text
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: menu_default
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_escape_html
    - ap_escape_uri
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: void menu_default(request_rec *r, const char *menu, const char *href,
      const char *text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:545,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:545,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_imagemap.c:550,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_imagemap.c:551,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:553,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:554,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:557,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:558,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:561,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - r
    - menu
    - href
    - text
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 564
    functionName: menu_directive
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_escape_html
    - ap_escape_uri
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: void menu_directive(request_rec *r, const char *menu, const char *href,
      const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: menu_footer
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - ap_rputs
    linkageType: ''
    returnType: void
    signature: void menu_footer(request_rec *r)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_imagemap.c:599,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:606,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:612,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:617,1
    - Dst: get_x_coord
      Src: /src/httpd/modules/mappers/mod_imagemap.c:623,1
    - Dst: get_y_coord
      Src: /src/httpd/modules/mappers/mod_imagemap.c:624,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:632,1
    - Dst: menu_header
      Src: /src/httpd/modules/mappers/mod_imagemap.c:640,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/mappers/mod_imagemap.c:643,1
    - Dst: menu_blank
      Src: /src/httpd/modules/mappers/mod_imagemap.c:646,1
    - Dst: menu_comment
      Src: /src/httpd/modules/mappers/mod_imagemap.c:653,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:672,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:683,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:688,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:691,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:699,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:700,1
    - Dst: read_quoted
      Src: /src/httpd/modules/mappers/mod_imagemap.c:707,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:709,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:710,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:715,1
    - Dst: menu_default
      Src: /src/httpd/modules/mappers/mod_imagemap.c:719,1
    - Dst: sscanf
      Src: /src/httpd/modules/mappers/mod_imagemap.c:727,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:730,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_imagemap.c:733,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_imagemap.c:737,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_imagemap.c:740,1
    - Dst: read_quoted
      Src: /src/httpd/modules/mappers/mod_imagemap.c:753,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:756,1
    - Dst: menu_directive
      Src: /src/httpd/modules/mappers/mod_imagemap.c:760,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:772,1
    - Dst: pointinpoly
      Src: /src/httpd/modules/mappers/mod_imagemap.c:774,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:775,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:776,1
    - Dst: imap_reply
      Src: /src/httpd/modules/mappers/mod_imagemap.c:780,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:785,1
    - Dst: pointincircle
      Src: /src/httpd/modules/mappers/mod_imagemap.c:787,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:788,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:789,1
    - Dst: imap_reply
      Src: /src/httpd/modules/mappers/mod_imagemap.c:793,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:798,1
    - Dst: pointinrect
      Src: /src/httpd/modules/mappers/mod_imagemap.c:800,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:801,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:802,1
    - Dst: imap_reply
      Src: /src/httpd/modules/mappers/mod_imagemap.c:806,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:811,1
    - Dst: is_closer
      Src: /src/httpd/modules/mappers/mod_imagemap.c:813,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_imagemap.c:814,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:823,1
    - Dst: menu_footer
      Src: /src/httpd/modules/mappers/mod_imagemap.c:826,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:831,1
    - Dst: imap_reply
      Src: /src/httpd/modules/mappers/mod_imagemap.c:835,1
    - Dst: imap_url
      Src: /src/httpd/modules/mappers/mod_imagemap.c:840,1
    - Dst: imap_reply
      Src: /src/httpd/modules/mappers/mod_imagemap.c:844,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_imagemap.c:851,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_imagemap.c:851,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/mappers/mod_imagemap.c:856,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/mappers/mod_imagemap.c:861,1
    - Dst: menu_footer
      Src: /src/httpd/modules/mappers/mod_imagemap.c:862,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 202
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 866
    functionName: imap_handler_internal
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - menu_default
    - menu_directive
    - menu_blank
    - ap_get_module_config
    - ap_cfg_getline
    - get_x_coord
    - is_closer
    - apr_isdigit
    - apr_pstrdup
    - pointincircle
    - sscanf
    - strncasecmp
    - ap_cfg_closefile
    - apr_isspace
    - get_y_coord
    - ap_pcfg_openfile
    - imap_reply
    - ap_rputs
    - read_quoted
    - menu_comment
    - ap_log_rerror
    - strcasecmp
    - APLOGNO
    - pointinrect
    - menu_footer
    - pointinpoly
    - menu_header
    - imap_url
    linkageType: ''
    returnType: int
    signature: int imap_handler_internal(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:874,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_imagemap.c:875,1
    - Dst: imap_handler_internal
      Src: /src/httpd/modules/mappers/mod_imagemap.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 881
    functionName: imap_handler
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 0
    functionsReached:
    - imap_handler_internal
    - strcmp
    linkageType: ''
    returnType: int
    signature: int imap_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/mappers/mod_imagemap.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_imagemap.c
    functionUses: 1
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_dir.c:70,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_dir.c:74,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:75,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/mappers/mod_dir.c:78,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/mappers/mod_dir.c:81,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_dir.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 90
    functionName: add_index
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - apr_array_clear
    - strcasecmp
    - apr_array_push
    - apr_array_make
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *add_index(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:96,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:99,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: configure_slash
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *configure_slash(cmd_parms *cmd, void *d_, const char *arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: configure_checkhandler
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *configure_checkhandler(cmd_parms *cmd, void *d_, int arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:122,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:124,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:126,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:128,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:130,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_dir.c:132,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_dir.c:133,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_dir.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: configure_redirect
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - strcasecmp
    - atoi
    - ap_is_HTTP_REDIRECT
    linkageType: ''
    returnType: char
    signature: char *configure_redirect(cmd_parms *cmd, void *d_, const char *arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_dir.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_dir.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: merge_dir_configs
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_dir.c:192,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_dir.c:198,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_dir.c:210,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/mappers/mod_dir.c:212,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:214,1
    - Dst: ap_internal_fast_redirect
      Src: /src/httpd/modules/mappers/mod_dir.c:216,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_dir.c:219,1
    - Dst: apr_pool_join
      Src: /src/httpd/modules/mappers/mod_dir.c:221,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:222,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:223,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:225,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_dir.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 241
    functionName: fixup_dflt
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - ap_internal_fast_redirect
    - strcmp
    - apr_pstrcat
    - apr_pool_join
    - strcasecmp
    - ap_destroy_sub_req
    - apr_table_overlay
    - ap_get_module_config
    - ap_is_HTTP_REDIRECT
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: int fixup_dflt(request_rec *r)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_dir.c:261,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_dir.c:265,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_dir.c:282,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_dir.c:287,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_dir.c:287,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_dir.c:291,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_dir.c:291,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_dir.c:295,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_dir.c:296,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:304,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:306,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:313,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:315,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_dir.c:343,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/mappers/mod_dir.c:346,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_dir.c:359,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_dir.c:362,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_dir.c:363,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/mappers/mod_dir.c:363,1
    - Dst: ap_internal_fast_redirect
      Src: /src/httpd/modules/mappers/mod_dir.c:367,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/mappers/mod_dir.c:373,1
    - Dst: apr_pool_join
      Src: /src/httpd/modules/mappers/mod_dir.c:377,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:379,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:380,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/mappers/mod_dir.c:382,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_dir.c:401,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_dir.c:409,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_dir.c:411,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 80
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 416
    functionName: fixup_dir
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - ap_internal_fast_redirect
    - strcmp
    - apr_pstrcat
    - apr_pool_join
    - ap_destroy_sub_req
    - apr_table_setn
    - ap_escape_uri
    - apr_array_pstrcat
    - ap_construct_url
    - apr_table_overlay
    - apr_table_get
    - ap_get_module_config
    - strlen
    - ap_is_HTTP_REDIRECT
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: int fixup_dir(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fixup_dir
      Src: /src/httpd/modules/mappers/mod_dir.c:422,1
    - Dst: fixup_dflt
      Src: /src/httpd/modules/mappers/mod_dir.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: dir_fixups
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 0
    functionsReached:
    - fixup_dflt
    - fixup_dir
    linkageType: ''
    returnType: int
    signature: int dir_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_dir.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_dir.c
    functionUses: 1
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: create_neg_dir_config
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_neg_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: merge_neg_dir_configs
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_neg_dir_configs(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:103,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - n_
    - lang
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: set_language_priority
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_language_priority(cmd_parms *cmd, void *n_,\n                                         const
      char *lang)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:114,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:120,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:127,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - cmd
    - n_
    - w
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 140
    functionName: set_force_priority
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *set_force_priority(cmd_parms *cmd, void *n_, const char *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/mappers/mod_negotiation.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: cache_negotiated_docs
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: char
    signature: "char *cache_negotiated_docs(cmd_parms *cmd, void *dummy,\n                                         int
      arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_negotiation.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: do_cache_negotiated_docs
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int do_cache_negotiated_docs(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - mime_info
    argTypes:
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: clean_var_rec
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clean_var_rec(var_rec *mime_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:316,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:317,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - var
    - mime_info
    argTypes:
    - var_rec*
    - accept_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: set_mime_fields
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void set_mime_fields(var_rec *var, accept_rec *mime_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/mappers/mod_negotiation.c:330,1
    - Dst: ap_make_etag
      Src: /src/httpd/modules/mappers/mod_negotiation.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - vlistr
    argTypes:
    - request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: set_vlist_validator
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - ap_make_etag
    linkageType: ''
    returnType: void
    signature: void set_vlist_validator(request_rec *r, request_rec *vlistr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:369,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 402
    functionName: atoq
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    linkageType: ''
    returnType: float
    signature: float atoq(const char *string)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:427,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/mappers/mod_negotiation.c:428,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:436,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:439,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:442,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:454,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:458,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_negotiation.c:459,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:467,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:478,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/mappers/mod_negotiation.c:483,1
    - Dst: atoq
      Src: /src/httpd/modules/mappers/mod_negotiation.c:487,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:489,1
    - Dst: atoi
      Src: /src/httpd/modules/mappers/mod_negotiation.c:490,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:492,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 3
    argNames:
    - p
    - result
    - accept_line
    argTypes:
    - apr_pool_t*
    - accept_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 502
    functionName: get_entry
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 7
    functionsReached:
    - strcmp
    - apr_isspace
    - ap_str_tolower
    - apr_tolower
    - ap_get_token
    - atoi
    - atoq
    linkageType: ''
    returnType: char
    signature: "char *get_entry(apr_pool_t *p, accept_rec *result,\n                             const
      char *accept_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:525,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:528,1
    - Dst: get_entry
      Src: /src/httpd/modules/mappers/mod_negotiation.c:529,1
    - Dst: accept_line::accept_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - accept_line
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 533
    functionName: do_header_line
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - get_entry
    - apr_array_make
    - accept_line::accept_line
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *do_header_line(apr_pool_t *p,\n                                          const
      char *accept_line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:542,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:549,1
    - Dst: ap_get_token::ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p
    - lang_line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 558
    functionName: do_languages_line
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    - ap_get_token::ap_get_token
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *do_languages_line(apr_pool_t *p,\n                                             const
      char **lang_line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:568,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/mappers/mod_negotiation.c:575,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/mappers/mod_negotiation.c:578,1
    - Dst: do_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:580,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:580,1
    - Dst: accepts::accepts
      Src: /src/httpd/modules/mappers/mod_negotiation.c:583,1
    - Dst: accepts::accepts
      Src: /src/httpd/modules/mappers/mod_negotiation.c:584,1
    - Dst: do_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:594,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:594,1
    - Dst: do_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:596,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:596,1
    - Dst: do_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:598,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:598,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 607
    functionName: parse_accept_headers
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_array_make
    - ap_get_module_config
    - apr_table_get
    - accepts::accepts
    - do_header_line
    linkageType: ''
    returnType: negotiation_state
    signature: negotiation_state *parse_accept_headers(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:612,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:633,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:641,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:643,1
    - Dst: ap_get_list_item
      Src: /src/httpd/modules/mappers/mod_negotiation.c:649,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:651,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:652,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:653,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/mappers/mod_negotiation.c:654,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:655,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:666,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_negotiation.c:688,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - r
    - neg
    argTypes:
    - request_rec*
    - negotiation_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 695
    functionName: parse_negotiate_header
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_isdigit
    - APLOGNO
    - ap_log_error
    - ap_get_list_item
    - apr_table_get
    - strncmp
    linkageType: ''
    returnType: void
    signature: void parse_negotiate_header(request_rec *r, negotiation_state *neg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:709,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:711,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - neg
    - prefer_scripts
    argTypes:
    - negotiation_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 728
    functionName: maybe_add_default_accepts
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void maybe_add_default_accepts(negotiation_state *neg,\n                                      int
      prefer_scripts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_gets
      Src: /src/httpd/modules/mappers/mod_negotiation.c:753,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:760,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:772,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:777,1
    - Dst: apr_file_getc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:780,1
    - Dst: apr_file_getc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:783,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:787,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:793,1
    - Dst: apr_file_getc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:794,1
    - Dst: apr_file_ungetc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:799,1
    - Dst: apr_file_getc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:808,1
    - Dst: apr_file_ungetc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:820,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - buffer
    - len
    - map
    argTypes:
    - char*
    - int
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 826
    functionName: get_header_line
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_file_getc
    - apr_file_gets
    - apr_file_ungetc
    - strlen
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: enum header_state
    signature: enum header_state get_header_line(char *buffer, int len, apr_file_t
      *map)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/mappers/mod_negotiation.c:842,1
    - Dst: ap_strstr
      Src: /src/httpd/modules/mappers/mod_negotiation.c:847,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:852,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/mappers/mod_negotiation.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - buffer
    - len
    - tag
    - map
    argTypes:
    - char*
    - apr_size_t*
    - char*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 870
    functionName: get_body
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    - apr_file_seek
    - strlen
    - ap_strstr
    linkageType: ''
    returnType: apr_off_t
    signature: "apr_off_t get_body(char *buffer, apr_size_t *len, const char *tag,\n
      \                         apr_file_t *map)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/mappers/mod_negotiation.c:882,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 901
    functionName: strip_paren_comments
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void strip_paren_comments(char *hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/modules/mappers/mod_negotiation.c:910,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:914,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:914,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:922,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:925,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - header
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 932
    functionName: lcase_header_name_return_body
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - APLOGNO
    - ap_log_rerror
    - apr_tolower
    linkageType: ''
    returnType: char
    signature: char *lcase_header_name_return_body(char *header, request_rec *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/mappers/mod_negotiation.c:951,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:953,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:953,1
    - Dst: APR_STATUS_IS_ENOTDIR
      Src: /src/httpd/modules/mappers/mod_negotiation.c:955,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/modules/mappers/mod_negotiation.c:955,1
    - Dst: clean_var_rec
      Src: /src/httpd/modules/mappers/mod_negotiation.c:963,1
    - Dst: get_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:967,1
    - Dst: lcase_header_name_return_body
      Src: /src/httpd/modules/mappers/mod_negotiation.c:970,1
    - Dst: strip_paren_comments
      Src: /src/httpd/modules/mappers/mod_negotiation.c:977,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:980,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:981,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:983,1
    - Dst: get_entry
      Src: /src/httpd/modules/mappers/mod_negotiation.c:986,1
    - Dst: set_mime_fields
      Src: /src/httpd/modules/mappers/mod_negotiation.c:987,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:990,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:993,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/mappers/mod_negotiation.c:994,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:995,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:995,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1004,1
    - Dst: do_languages_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1005,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1009,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1010,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1013,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1014,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1023,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1024,1
    - Dst: strchr
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1025,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1027,1
    - Dst: get_body
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1029,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1030,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1030,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1037,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1042,1
    - Dst: memcpy
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1044,1
    - Dst: clean_var_rec
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1047,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1053,1
    - Dst: set_vlist_validator
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1055,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 3
    argNames:
    - map
    - neg
    - rr
    argTypes:
    - apr_file_t**
    - negotiation_state*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 1058
    functionName: read_type_map
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strip_paren_comments
    - apr_file_close
    - apr_array_push
    - ap_parse_strict_length
    - get_body
    - strncmp
    - set_vlist_validator
    - strchr
    - ap_get_token
    - apr_file_open
    - lcase_header_name_return_body
    - apr_isspace
    - APR_STATUS_IS_ENOTDIR
    - do_languages_line
    - APR_STATUS_IS_ENOENT
    - get_header_line
    - set_mime_fields
    - memcpy
    - clean_var_rec
    - ap_log_rerror
    - get_entry
    - APLOGNO
    - apr_filepath_name_get
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: "int read_type_map(apr_file_t **map, negotiation_state *neg,\n                         request_rec
      *rr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - var_rec*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: variantsortf
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int variantsortf(var_rec *a, var_rec *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1331,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1334,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1343,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1351,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1352,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1353,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - accept_r
    - avail
    argTypes:
    - accept_rec*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1363
    functionName: mime_match
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int mime_match(accept_rec *accept_r, var_rec *avail)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1398,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - var1
    - var2
    argTypes:
    - var_rec*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1427
    functionName: level_cmp
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int level_cmp(var_rec *var1, var_rec *var2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1460,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - accept_langs
    - lang
    argTypes:
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1467
    functionName: find_lang_index
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: int find_lang_index(apr_array_header_t *accept_langs, char *lang)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - neg
    argTypes:
    - negotiation_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1501
    functionName: set_default_lang_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_lang_quality(negotiation_state *neg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1595,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1616,1
    - Dst: strlen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1618,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1619,1
    - Dst: strchr
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1645,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1648,1
    - Dst: find_lang_index
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1709,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 75
    argCount: 2
    argNames:
    - neg
    - variant
    argTypes:
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1730
    functionName: set_language_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    - find_lang_index
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void set_language_quality(negotiation_state *neg, var_rec *variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_full_path
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1746,1
    - Dst: apr_stat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - neg
    - variant
    argTypes:
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1757
    functionName: find_content_length
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - ap_make_full_path
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t find_content_length(negotiation_state *neg, var_rec *variant)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mime_match
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1804,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - neg
    - variant
    argTypes:
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1839
    functionName: set_accept_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - mime_match
    linkageType: ''
    returnType: void
    signature: void set_accept_quality(negotiation_state *neg, var_rec *variant)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1867,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1868,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1869,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1892,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1896,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1907,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - neg
    - variant
    argTypes:
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1913
    functionName: set_charset_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    linkageType: ''
    returnType: void
    signature: void set_charset_quality(negotiation_state *neg, var_rec *variant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1922,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1922,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: is_identity_encoding
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_identity_encoding(const char *enc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_identity_encoding
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1951,1
    - Dst: is_identity_encoding
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1959,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1980,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:1985,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - neg
    - variant
    argTypes:
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 2000
    functionName: set_encoding_quality
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - is_identity_encoding
    linkageType: ''
    returnType: void
    signature: void set_encoding_quality(negotiation_state *neg, var_rec *variant)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2059,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2059,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2066,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - neg
    - variant
    - best
    - p_bestq
    argTypes:
    - negotiation_state*
    - var_rec*
    - var_rec*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2094
    functionName: is_variant_better_rvsa
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_array_pstrcat
    linkageType: ''
    returnType: int
    signature: "int is_variant_better_rvsa(negotiation_state *neg, var_rec *variant,\n
      \                                 var_rec *best, float *p_bestq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2130,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2136,1
    - Dst: level_cmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2186,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2206,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2209,1
    - Dst: find_content_length
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2225,1
    - Dst: find_content_length
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2225,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 4
    argNames:
    - neg
    - variant
    - best
    - p_bestq
    argTypes:
    - negotiation_state*
    - var_rec*
    - var_rec*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2100
    functionDepth: 2
    functionLinenumber: 2100
    functionLinenumberEnd: 2234
    functionName: is_variant_better
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - find_content_length
    - APLOGNO
    - apr_array_pstrcat
    - level_cmp
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int is_variant_better(negotiation_state *neg, var_rec *variant,\n
      \                            var_rec *best, float *p_bestq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - variant
    - lang
    argTypes:
    - var_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2252
    functionName: variant_has_language
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_array_str_contains
    linkageType: ''
    returnType: int
    signature: int variant_has_language(var_rec *variant, const char *lang)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_identity_encoding
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2260,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2261,1
    - Dst: strncmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - variant
    - discard
    argTypes:
    - var_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2269
    functionName: discard_variant_by_env
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - is_identity_encoding
    - strncmp
    linkageType: ''
    returnType: int
    signature: int discard_variant_by_env(var_rec *variant, int discard)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2284,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2288,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2296,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2299,1
    - Dst: set_default_lang_quality
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2304,1
    - Dst: discard_variant_by_env
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2324,1
    - Dst: variant_has_language
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2332,1
    - Dst: set_accept_quality
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2342,1
    - Dst: set_language_quality
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2351,1
    - Dst: set_encoding_quality
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2353,1
    - Dst: set_charset_quality
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2354,1
    - Dst: is_variant_better_rvsa
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2369,1
    - Dst: is_variant_better
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2374,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - neg
    - pbest
    argTypes:
    - negotiation_state*
    - var_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2271
    functionDepth: 3
    functionLinenumber: 2271
    functionLinenumberEnd: 2414
    functionName: best_match
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - set_encoding_quality
    - discard_variant_by_env
    - set_language_quality
    - is_variant_better
    - is_variant_better_rvsa
    - set_default_lang_quality
    - set_charset_quality
    - variant_has_language
    - apr_table_get
    - set_accept_quality
    linkageType: ''
    returnType: int
    signature: int best_match(negotiation_state *neg, var_rec **pbest)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2461,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2474,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2490,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2495,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2501,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2506,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2519,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2520,1
    - Dst: ap_escape_path_segment
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2520,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2521,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2523,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2524,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2536,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2539,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2540,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2541,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2544,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2545,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2546,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2549,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2550,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2551,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2556,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2557,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2558,1
    - Dst: find_content_length
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2577,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2579,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2580,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2580,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2582,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2585,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2586,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2591,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2592,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2598,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2598,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2607,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 3
    argNames:
    - r
    - neg
    - alg_result
    argTypes:
    - request_rec*
    - negotiation_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2433
    functionDepth: 2
    functionLinenumber: 2433
    functionLinenumberEnd: 2610
    functionName: set_neg_headers
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_palloc
    - apr_pstrcat
    - find_content_length
    - apr_snprintf
    - apr_array_push
    - apr_table_setn
    - apr_array_pstrcat
    - apr_table_mergen
    - apr_off_t_toa
    - apr_array_make
    - ap_escape_path_segment
    linkageType: ''
    returnType: void
    signature: "void set_neg_headers(request_rec *r, negotiation_state *neg,\n                            int
      alg_result)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2628,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2630,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2645,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2646,1
    - Dst: ap_escape_path_segment
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2646,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2647,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2648,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2648,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2649,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2650,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2653,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2654,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2657,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2658,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2658,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2662,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2663,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2666,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2667,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2669,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2671,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - r
    - neg
    argTypes:
    - request_rec*
    - negotiation_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2618
    functionDepth: 1
    functionLinenumber: 2618
    functionLinenumberEnd: 2674
    functionName: make_variant_list
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_pstrcat
    - ap_escape_html
    - apr_array_make
    - ap_escape_path_segment
    linkageType: ''
    returnType: char
    signature: char *make_variant_list(request_rec *r, negotiation_state *neg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2679,1
    - Dst: make_variant_list
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2679,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2682,1
    - Dst: make_variant_list
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - neg
    argTypes:
    - request_rec*
    - negotiation_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2676
    functionDepth: 2
    functionLinenumber: 2676
    functionLinenumberEnd: 2685
    functionName: store_variant_list
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - make_variant_list
    linkageType: ''
    returnType: void
    signature: void store_variant_list(request_rec *r, negotiation_state *neg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2702,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2706,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2707,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2739,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2766,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2782,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2783,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2789,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2790,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2793,1
    - Dst: ap_escape_path_segment
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2794,1
    - Dst: set_neg_headers
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - r
    - neg
    - variant
    argTypes:
    - request_rec*
    - negotiation_state*
    - var_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2693
    functionDepth: 3
    functionLinenumber: 2693
    functionLinenumberEnd: 2801
    functionName: setup_choice_response
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - set_neg_headers
    - ap_destroy_sub_req
    - apr_table_setn
    - apr_table_unset
    - apr_table_get
    - ap_sub_req_lookup_file
    - ap_escape_path_segment
    linkageType: ''
    returnType: int
    signature: "int setup_choice_response(request_rec *r, negotiation_state *neg,\n
      \                                var_rec *variant)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2840,1
    - Dst: parse_negotiate_header
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2853,1
    - Dst: maybe_add_default_accepts
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2859,1
    - Dst: best_match
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2861,1
    - Dst: set_neg_headers
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2872,1
    - Dst: store_variant_list
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2873,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2893,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2893,1
    - Dst: setup_choice_response
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2904,1
    - Dst: set_neg_headers
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2909,1
    - Dst: do_cache_negotiated_docs
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2945,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2946,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - r
    - neg
    - bestp
    - prefer_scripts
    argTypes:
    - request_rec*
    - negotiation_state*
    - var_rec**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2808
    functionDepth: 4
    functionLinenumber: 2808
    functionLinenumberEnd: 2952
    functionName: do_negotiation
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - best_match
    - ap_log_rerror
    - store_variant_list
    - set_neg_headers
    - maybe_add_default_accepts
    - APLOGNO
    - setup_choice_response
    - parse_negotiate_header
    - HTTP_VERSION
    - ap_strchr_c
    - do_cache_negotiated_docs
    linkageType: ''
    returnType: int
    signature: "int do_negotiation(request_rec *r, negotiation_state *neg,\n                          var_rec
      **bestp, int prefer_scripts)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2963,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2963,1
    - Dst: parse_accept_headers
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2967,1
    - Dst: read_type_map
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2968,1
    - Dst: do_negotiation
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2972,1
    - Dst: ap_allow_standard_methods
      Src: /src/httpd/modules/mappers/mod_negotiation.c:2983,1
    - Dst: ap_set_accept_ranges
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3000,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3001,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3006,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3006,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3013,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3013,1
    - Dst: apr_array_copy
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3019,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3025,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3029,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3033,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3036,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3038,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3040,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3041,1
    - Dst: ap_pass_brigade_fchk
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3043,1
    - Dst: ap_find_path_info
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3051,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3053,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3054,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3057,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3061,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3066,1
    - Dst: ap_internal_redirect
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3069,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 2954
    functionDepth: 5
    functionLinenumber: 2954
    functionLinenumberEnd: 3071
    functionName: handle_map_file
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_make_dirstr_parent
    - ap_meets_conditions
    - do_negotiation
    - apr_brigade_create
    - ap_find_path_info
    - ap_pass_brigade_fchk
    - parse_accept_headers
    - apr_pstrcat
    - apr_array_copy
    - ap_discard_request_body
    - ap_internal_redirect
    - ap_set_accept_ranges
    - read_type_map
    - ap_allow_standard_methods
    - strcmp
    - ap_escape_uri
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - APR_BRIGADE_INSERT_TAIL
    - ap_set_content_type_ex
    - apr_pstrdup
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int handle_map_file(request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_allow_options
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3082,1
    - Dst: parse_accept_headers
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3086,1
    - Dst: read_types_multi
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3088,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3095,1
    - Dst: do_negotiation
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3104,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3115,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3118,1
    - Dst: ap_internal_fast_redirect
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3127,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3142,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3073
    functionDepth: 5
    functionLinenumber: 3073
    functionLinenumberEnd: 3146
    functionName: handle_multi
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - ap_internal_fast_redirect
    - parse_accept_headers
    - do_negotiation
    - ap_destroy_sub_req
    - ap_sub_req_lookup_file
    - read_types_multi
    - ap_allow_options
    linkageType: ''
    returnType: int
    signature: int handle_multi(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_header_line
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3179,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3180,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3189,1
    - Dst: strcmp
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3163
    functionDepth: 3
    functionLinenumber: 3163
    functionLinenumberEnd: 3205
    functionName: fix_encoding
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 0
    functionsReached:
    - strcmp
    - do_header_line
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int fix_encoding(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3209,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3210,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/mappers/mod_negotiation.c:3211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3212
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/mappers/mod_negotiation.c
    functionUses: 1
    functionsReached:
    - ap_hook_handler
    - ap_hook_type_checker
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ccfg
    - bb
    argTypes:
    - reqtimeout_con_cfg*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: extend_timeout
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - apr_brigade_length
    linkageType: ''
    returnType: void
    signature: void extend_timeout(reqtimeout_con_cfg *ccfg, apr_bucket_brigade *bb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:96,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:101,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ccfg
    - time_left_p
    - now
    argTypes:
    - reqtimeout_con_cfg*
    - apr_time_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: check_time_left
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_time_now
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t check_time_left(reqtimeout_con_cfg *ccfg,\n                                    apr_time_t
      *time_left_p,\n                                    apr_time_t now)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:109,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:111,1
    - Dst: APR_BUCKET_PREV
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:111,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:116,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:119,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - bb
    argTypes:
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: have_lf_or_eos
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_PREV
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t have_lf_or_eos(apr_bucket_brigade *bb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:141,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:142,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:147,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:152,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:153,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:154,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:158,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:160,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - bbOut
    - bbIn
    argTypes:
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 168
    functionName: brigade_append
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - apr_brigade_write
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t brigade_append(apr_bucket_brigade *bbOut, apr_bucket_brigade
      *bbIn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: MIN
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x,y)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:190,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:191,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:194,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:199,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:200,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:203,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:209,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:213,1
    - Dst: check_time_left
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:216,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:221,1
    - Dst: extend_timeout
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:223,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:228,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:229,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:231,1
    - Dst: MIN
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:231,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:232,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:250,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:251,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:255,1
    - Dst: extend_timeout
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:257,1
    - Dst: have_lf_or_eos
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:260,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:265,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:276,1
    - Dst: brigade_append
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:278,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:289,1
    - Dst: apr_poll
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:290,1
    - Dst: apr_socket_wait
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:292,1
    - Dst: check_time_left
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:297,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:301,1
    - Dst: MIN
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:302,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:303,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:308,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:312,1
    - Dst: extend_timeout
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:319,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:323,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:326,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:327,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:327,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:335,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 100
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 345
    functionName: reqtimeout_filter
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - ap_get_conn_socket
    - apr_time_now
    - apr_brigade_create
    - APR_STATUS_IS_TIMEUP
    - brigade_append
    - check_time_left
    - extend_timeout
    - ap_log_cerror
    - MIN
    - apr_brigade_length
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - APR_BRIGADE_PREPEND
    - apr_poll
    - apr_time_from_sec
    - apr_socket_wait
    - apr_socket_timeout_set
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - apr_socket_timeout_get
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_table_setn
    - have_lf_or_eos
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t reqtimeout_filter(ap_filter_t *f,\n                                      apr_bucket_brigade
      *bb,\n                                      ap_input_mode_t mode,\n                                      apr_read_type_e
      block,\n                                      apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:349,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:349,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:349,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: reqtimeout_eor
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_EMPTY
    - ap_pass_brigade
    - AP_BUCKET_IS_EOR
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reqtimeout_eor(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cfg
    - ','
    - ccfg
    - ','
    - stage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: INIT_STAGE
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_STAGE(cfg, ccfg, stage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:374,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:376,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:386,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:388,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:389,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:390,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:391,1
    - Dst: INIT_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 401
    functionName: reqtimeout_init
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - apr_pcalloc
    - AP_DEBUG_ASSERT
    - ap_set_module_config
    - ap_get_module_config
    - INIT_STAGE
    - ap_add_output_filter
    linkageType: ''
    returnType: int
    signature: int reqtimeout_init(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:407,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:414,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:416,1
    - Dst: INIT_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: reqtimeout_before_header
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - INIT_STAGE
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void reqtimeout_before_header(request_rec *r, conn_rec *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:432,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:438,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:440,1
    - Dst: INIT_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 453
    functionName: reqtimeout_before_body
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - INIT_STAGE
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int reqtimeout_before_body(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cfg
    - ','
    - stage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: UNSET_STAGE
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSET_STAGE(cfg, stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:463,1
    - Dst: UNSET_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:465,1
    - Dst: UNSET_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:466,1
    - Dst: UNSET_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: reqtimeout_create_srv_config
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - UNSET_STAGE
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *reqtimeout_create_srv_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cfg
    - ','
    - base
    - ','
    - add
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: MERGE_INT
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MERGE_INT(cfg, base, add, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cfg
    - ','
    - base
    - ','
    - add
    - ','
    - stage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: MERGE_STAGE
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MERGE_STAGE(cfg, base, add, stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:487,1
    - Dst: MERGE_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:489,1
    - Dst: MERGE_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:490,1
    - Dst: MERGE_STAGE
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - base_
    - add_
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: reqtimeout_merge_srv_config
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - MERGE_STAGE
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *reqtimeout_merge_srv_config(apr_pool_t *p, void *base_, void
      *add_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:499,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:502,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - arg
    - val
    argTypes:
    - apr_pool_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 511
    functionName: parse_int
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - strtol
    linkageType: ''
    returnType: char
    signature: char *parse_int(apr_pool_t *p, const char *arg, int *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:522,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:525,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:528,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:535,1
    - Dst: ap_strcasestr
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:537,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:538,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:539,1
    - Dst: parse_int
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:540,1
    - Dst: strchr
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:547,1
    - Dst: parse_int
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:549,1
    - Dst: parse_int
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:554,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:557,1
    - Dst: parse_int
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:559,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:569,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - conf
    - p
    - key
    - val
    argTypes:
    - reqtimeout_srv_cfg*
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 573
    functionName: set_reqtimeout_param
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - ap_strcasestr
    - apr_time_from_sec
    - memset
    - strchr
    - strcasecmp
    - apr_pstrndup
    - ap_strchr_c
    - strlen
    - parse_int
    linkageType: ''
    returnType: char
    signature: "char *set_reqtimeout_param(reqtimeout_srv_cfg *conf,\n                                      apr_pool_t
      *p,\n                                      const char *key,\n                                      const
      char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:579,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:586,1
    - Dst: strchr
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:587,1
    - Dst: set_reqtimeout_param
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:595,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 604
    functionName: set_reqtimeouts
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - set_reqtimeout_param
    - strchr
    - apr_psprintf
    - ap_get_module_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_reqtimeouts(cmd_parms *cmd, void *mconfig,\n                                   const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:612,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:620,1
    - Dst: ap_hook_process_connection
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:633,1
    - Dst: ap_hook_pre_read_request
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:635,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:637,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:641,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:645,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/filters/mod_reqtimeout.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 652
    functionName: reqtimeout_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_reqtimeout.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - ap_hook_process_connection
    - ap_register_output_filter
    - ap_register_input_filter
    - ap_hook_pre_read_request
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void reqtimeout_hooks(apr_pool_t *pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/filters/mod_filter.c:86,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:86,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_filter.c:87,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_filter.c:88,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_filter.c:89,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/filters/mod_filter.c:91,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - c
    - debug
    - fname
    - bb
    argTypes:
    - conn_rec*
    - int
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: filter_trace
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_log_cerror
    - APLOGNO
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: void
    signature: "void filter_trace(conn_rec *c, int debug, const char *fname,\n                         apr_bucket_brigade
      *bb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:107,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/filters/mod_filter.c:110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:110,1
    - Dst: ap_filter_provider_t*::frec::filter_init_func
      Src: /src/httpd/modules/filters/mod_filter.c:116,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/filters/mod_filter.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:117,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: filter_init
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 1
    functionsReached:
    - ap_filter_provider_t*::frec::filter_init_func
    - APLOGNO
    - apr_pcalloc
    - ap_log_cerror
    linkageType: ''
    returnType: int
    signature: int filter_init(ap_filter_t *f)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_filter.c:145,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/filters/mod_filter.c:152,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:154,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:159,1
    - Dst: strcspn
      Src: /src/httpd/modules/filters/mod_filter.c:166,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_filter.c:167,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:168,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_filter.c:172,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:174,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:180,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:185,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:191,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_filter.c:221,1
    - Dst: ap_strcasestr
      Src: /src/httpd/modules/filters/mod_filter.c:224,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/filters/mod_filter.c:229,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_filter.c:230,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_filter.c:238,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_filter.c:239,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_filter.c:241,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_filter.c:247,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/filters/mod_filter.c:248,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_filter.c:252,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_filter.c:256,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - f
    - filter
    argTypes:
    - ap_filter_t*
    - ap_filter_rec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 272
    functionName: filter_lookup
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strcasestr
    - strcspn
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_table_setn
    - apr_table_unset
    - apr_table_addn
    - apr_psprintf
    - ap_get_module_config
    - apr_table_get
    - ap_expr_exec
    - strncmp
    linkageType: ''
    returnType: int
    signature: int filter_lookup(ap_filter_t *f, ap_filter_rec_t *filter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_filter.c:284,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_filter.c:285,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_filter.c:286,1
    - Dst: filter_trace
      Src: /src/httpd/modules/filters/mod_filter.c:289,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_filter.c:296,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_filter.c:297,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_filter.c:301,1
    - Dst: ap_strcasestr
      Src: /src/httpd/modules/filters/mod_filter.c:304,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_filter.c:305,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_filter.c:306,1
    - Dst: filter_lookup
      Src: /src/httpd/modules/filters/mod_filter.c:312,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_filter.c:313,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_filter.c:314,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_filter.c:316,1
    - Dst: harness_ctx*::func
      Src: /src/httpd/modules/filters/mod_filter.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 328
    functionName: filter_harness
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - filter_trace
    - ap_strcasestr
    - AP_DEBUG_ASSERT
    - harness_ctx*::func
    - apr_table_get
    - ap_remove_output_filter
    - filter_lookup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t filter_harness(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:340,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:355,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_filter.c:365,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_filter.c:365,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_filter.c:366,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:368,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:371,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:374,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:377,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:380,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:383,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - cmd
    - CFG
    - fname
    - pname
    - proto
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 399
    functionName: filter_protocol
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - apr_pstrdup
    - apr_hash_get
    - apr_strtok
    linkageType: ''
    returnType: char
    signature: "char *filter_protocol(cmd_parms *cmd, void *CFG, const char *fname,\n
      \                                  const char *pname, const char *proto)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:408,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/filters/mod_filter.c:409,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:418,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:421,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:424,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - cmd
    - CFG
    - fname
    - place
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 433
    functionName: filter_declare
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strcasecmp
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *filter_declare(cmd_parms *cmd, void *CFG, const char *fname,\n
      \                                 const char *place)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_output_filter_handle
      Src: /src/httpd/modules/filters/mod_filter.c:448,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_filter.c:450,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:454,1
    - Dst: filter_declare
      Src: /src/httpd/modules/filters/mod_filter.c:458,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:462,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_filter.c:467,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_filter.c:470,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_filter.c:472,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_filter.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 6
    argNames:
    - cmd
    - CFG
    - fname
    - pname
    - expr
    - types
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 489
    functionName: add_filter
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 1
    functionsReached:
    - ap_expr_parse_cmd
    - filter_declare
    - apr_palloc
    - apr_pstrcat
    - ap_get_output_filter_handle
    - apr_psprintf
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *add_filter(cmd_parms *cmd, void *CFG,\n                              const
      char *fname, const char *pname,\n                              const char *expr,
      const char **types)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_filter
      Src: /src/httpd/modules/filters/mod_filter.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - CFG
    - fname
    - pname
    - expr
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: filter_provider
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - add_filter
    linkageType: ''
    returnType: char
    signature: "char *filter_provider(cmd_parms *cmd, void *CFG,\n                                   const
      char *fname, const char *pname,\n                                   const char
      *expr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:506,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_filter.c:518,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:526,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_filter.c:528,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:543,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:550,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:552,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:558,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: filter_chain
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - strcasecmp
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: char *filter_chain(cmd_parms *cmd, void *CFG, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_filter.c:582,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:587,1
    - Dst: add_filter
      Src: /src/httpd/modules/filters/mod_filter.c:591,1
    - Dst: filter_chain
      Src: /src/httpd/modules/filters/mod_filter.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cmd
    - CFG
    - pname
    - types
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 598
    functionName: filter_bytype1
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - filter_chain
    - add_filter
    - apr_hash_get
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *filter_bytype1(cmd_parms *cmd, void *CFG,\n                                  const
      char *pname, const char **types)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_filter.c:611,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_filter.c:612,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_filter.c:613,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_filter.c:615,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_filter.c:617,1
    - Dst: filter_bytype1
      Src: /src/httpd/modules/filters/mod_filter.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cmd
    - CFG
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 621
    functionName: filter_bytype
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_palloc
    - apr_pstrdup
    - filter_bytype1
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *filter_bytype(cmd_parms *cmd, void *CFG,\n                                 int
      argc, char *const argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:627,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_filter.c:630,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_filter.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cmd
    - CFG
    - fname
    - level
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 635
    functionName: filter_debug
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - atoi
    - apr_hash_get
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *filter_debug(cmd_parms *cmd, void *CFG, const char *fname,\n
      \                               const char *level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_filter.c:641,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_filter.c:645,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_filter.c:646,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_filter.c:658,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_filter.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_filter.c:660,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/modules/filters/mod_filter.c:664,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_filter.c:669,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_filter.c:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 675
    functionName: filter_insert
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_set_module_config
    - APLOGNO
    - apr_table_unset
    - ap_get_module_config
    - apr_table_get
    - ap_add_output_filter_handle
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void filter_insert(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/filters/mod_filter.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: filter_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - ap_hook_insert_filter
    linkageType: ''
    returnType: void
    signature: void filter_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_filter.c:684,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/filters/mod_filter.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - x
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: filter_config
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *filter_config(apr_pool_t *pool, char *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_filter.c:697,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/filters/mod_filter.c:699,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_filter.c:703,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_filter.c:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 739
    functionName: filter_merge
    functionSourceFile: /src/httpd/modules/filters/mod_filter.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    - apr_palloc
    - apr_hash_overlay
    linkageType: ''
    returnType: void
    signature: void *filter_merge(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: GETC
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PEEKC
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEEKC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: UNGETC
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNGETC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: SEDCOMPILE_ERROR
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEDCOMPILE_ERROR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ecmp
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 160
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ecmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: uletter
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uletter(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_errf
      Src: /src/httpd/modules/filters/regexp.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - commands
    - msg
    argTypes:
    - sed_commands_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: comperr
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached:
    - command_errf
    linkageType: ''
    returnType: void
    signature: void comperr(sed_commands_t *commands, char *msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:77,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:81,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:85,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:89,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:93,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:97,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:101,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:105,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:109,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:113,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:117,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:121,1
    - Dst: comperr
      Src: /src/httpd/modules/filters/regexp.c:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - commands
    - err
    argTypes:
    - sed_commands_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 129
    functionName: regerr
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached:
    - comperr
    linkageType: ''
    returnType: int
    signature: int regerr(sed_commands_t *commands, int err)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:149,1
    - Dst: UNGETC
      Src: /src/httpd/modules/filters/regexp.c:151,1
    - Dst: UNGETC
      Src: /src/httpd/modules/filters/regexp.c:161,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:164,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:165,1
    - Dst: PEEKC
      Src: /src/httpd/modules/filters/regexp.c:166,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:171,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:182,1
    - Dst: PEEKC
      Src: /src/httpd/modules/filters/regexp.c:192,1
    - Dst: PEEKC
      Src: /src/httpd/modules/filters/regexp.c:192,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:199,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:207,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:209,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:215,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:219,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:225,1
    - Dst: PLACE
      Src: /src/httpd/modules/filters/regexp.c:226,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:232,1
    - Dst: PLACE
      Src: /src/httpd/modules/filters/regexp.c:238,1
    - Dst: PLACE
      Src: /src/httpd/modules/filters/regexp.c:243,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:244,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:269,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:273,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:281,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:293,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:299,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:300,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:302,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:306,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:307,1
    - Dst: UNGETC
      Src: /src/httpd/modules/filters/regexp.c:310,1
    - Dst: GETC
      Src: /src/httpd/modules/filters/regexp.c:315,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:316,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:320,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:324,1
    - Dst: SEDCOMPILE_ERROR
      Src: /src/httpd/modules/filters/regexp.c:333,1
    - Dst: regerr
      Src: /src/httpd/modules/filters/regexp.c:350,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 192
    argCount: 5
    argNames:
    - commands
    - compargs
    - ep
    - endbuf
    - seof
    argTypes:
    - sed_commands_t*
    - sed_comp_args*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 356
    functionName: sed_compile
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached:
    - PEEKC
    - PLACE
    - GETC
    - regerr
    - UNGETC
    - SEDCOMPILE_ERROR
    linkageType: ''
    returnType: char
    signature: "char *sed_compile(sed_commands_t *commands, sed_comp_args *compargs,\n
      \                 char *ep, char *endbuf, int seof)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _advance
      Src: /src/httpd/modules/filters/regexp.c:365,1
    - Dst: _advance
      Src: /src/httpd/modules/filters/regexp.c:373,1
    - Dst: _advance
      Src: /src/httpd/modules/filters/regexp.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - p1
    - p2
    - circf
    - vars
    argTypes:
    - char*
    - char*
    - int
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 388
    functionName: sed_step
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 0
    functionsReached:
    - _advance
    linkageType: ''
    returnType: int
    signature: int sed_step(char *p1, char *p2, int circf, step_vars_storage *vars)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:424,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:435,1
    - Dst: getrnge
      Src: /src/httpd/modules/filters/regexp.c:455,1
    - Dst: getrnge
      Src: /src/httpd/modules/filters/regexp.c:469,1
    - Dst: getrnge
      Src: /src/httpd/modules/filters/regexp.c:483,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:486,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:492,1
    - Dst: getrnge
      Src: /src/httpd/modules/filters/regexp.c:504,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:507,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:513,1
    - Dst: ecmp
      Src: /src/httpd/modules/filters/regexp.c:527,1
    - Dst: ecmp
      Src: /src/httpd/modules/filters/regexp.c:539,1
    - Dst: _advance
      Src: /src/httpd/modules/filters/regexp.c:543,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:565,1
    - Dst: ISTHERE
      Src: /src/httpd/modules/filters/regexp.c:576,1
    - Dst: _advance
      Src: /src/httpd/modules/filters/regexp.c:584,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 178
    argCount: 3
    argNames:
    - lp
    - ep
    - vars
    argTypes:
    - char*
    - char*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 591
    functionName: _advance
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 2
    functionsReached:
    - ecmp
    - ISTHERE
    - getrnge
    - _advance
    linkageType: ''
    returnType: int
    signature: int _advance(char *lp, char *ep, step_vars_storage *vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - vars
    argTypes:
    - char*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: getrnge
    functionSourceFile: /src/httpd/modules/filters/regexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getrnge(char *str, step_vars_storage *vars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/filters/sed0.c:49,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/filters/sed0.c:50,1
    - Dst: sed_commands_t*::errfn
      Src: /src/httpd/modules/filters/sed0.c:51,1
    - Dst: va_end
      Src: /src/httpd/modules/filters/sed0.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - commands
    - fmt
    argTypes:
    - sed_commands_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: command_errf
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached:
    - va_end
    - sed_commands_t*::errfn
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void command_errf(sed_commands_t *commands, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/filters/sed0.c:62,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed0.c:71,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:73,1
    - Dst: alloc_reptr
      Src: /src/httpd/modules/filters/sed0.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - commands
    - errfn
    - data
    - p
    argTypes:
    - sed_commands_t*
    - sed_err_fn_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 87
    functionName: sed_init_commands
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached:
    - command_errf
    - apr_pcalloc
    - memset
    - alloc_reptr
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sed_init_commands(sed_commands_t *commands, sed_err_fn_t
      *errfn, void *data,\n                               apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - commands
    argTypes:
    - sed_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: sed_destroy_commands
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sed_destroy_commands(sed_commands_t *commands)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcomp
      Src: /src/httpd/modules/filters/sed0.c:106,1
    - Dst: check_finalized
      Src: /src/httpd/modules/filters/sed0.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - commands
    - s
    argTypes:
    - sed_commands_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: sed_compile_string
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached:
    - fcomp
    - check_finalized
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_compile_string(sed_commands_t *commands, const char
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcomp
      Src: /src/httpd/modules/filters/sed0.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - commands
    - fin
    argTypes:
    - sed_commands_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: sed_compile_file
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached:
    - fcomp
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_compile_file(sed_commands_t *commands, apr_file_t
      *fin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/sed0.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - commands
    - pool
    argTypes:
    - sed_commands_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: sed_get_finalize_error
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char * sed_get_finalize_error(const sed_commands_t *commands, apr_pool_t*
      pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - commands
    argTypes:
    - sed_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: sed_canbe_finalized
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sed_canbe_finalized(const sed_commands_t *commands)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - commands
    argTypes:
    - sed_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: check_finalized
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_finalized(const sed_commands_t *commands)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - lpt
    - address
    argTypes:
    - sed_label_t*
    - sed_reptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: dechain
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dechain(sed_label_t *lpt, sed_reptr_t *address)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed0.c:211,1
    - Dst: rline
      Src: /src/httpd/modules/filters/sed0.c:214,1
    - Dst: rline
      Src: /src/httpd/modules/filters/sed0.c:227,1
    - Dst: address
      Src: /src/httpd/modules/filters/sed0.c:243,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:245,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:253,1
    - Dst: address
      Src: /src/httpd/modules/filters/sed0.c:264,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:266,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:278,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:288,1
    - Dst: alloc_reptr
      Src: /src/httpd/modules/filters/sed0.c:299,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:307,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:312,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:323,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:330,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:340,1
    - Dst: search
      Src: /src/httpd/modules/filters/sed0.c:346,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:348,1
    - Dst: dechain
      Src: /src/httpd/modules/filters/sed0.c:351,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:356,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:368,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:374,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:378,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:387,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:391,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:399,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:404,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:408,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:451,1
    - Dst: search
      Src: /src/httpd/modules/filters/sed0.c:457,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:470,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:495,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:499,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:503,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:520,1
    - Dst: comple
      Src: /src/httpd/modules/filters/sed0.c:533,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:541,1
    - Dst: compsub
      Src: /src/httpd/modules/filters/sed0.c:548,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:567,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:588,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:591,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:592,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/sed0.c:596,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:601,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/sed0.c:605,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:607,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:617,1
    - Dst: text
      Src: /src/httpd/modules/filters/sed0.c:620,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:621,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/sed0.c:625,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:630,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/sed0.c:634,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:635,1
    - Dst: ycomp
      Src: /src/httpd/modules/filters/sed0.c:650,1
    - Dst: alloc_reptr
      Src: /src/httpd/modules/filters/sed0.c:656,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:663,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 418
    argCount: 2
    argNames:
    - commands
    - fin
    argTypes:
    - sed_commands_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 671
    functionName: fcomp
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 2
    functionsReached:
    - address
    - search
    - text
    - strcmp
    - rline
    - apr_pcalloc
    - alloc_reptr
    - dechain
    - ycomp
    - comple
    - command_errf
    - compsub
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int fcomp(sed_commands_t *commands, apr_file_t *fin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:682,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:688,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:693,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - commands
    - compargs
    - rhsbuf
    argTypes:
    - sed_commands_t*
    - sed_comp_args*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 709
    functionName: compsub
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached:
    - command_errf
    linkageType: ''
    returnType: char
    signature: "char *compsub(sed_commands_t *commands,\n                     sed_comp_args
      *compargs, char *rhsbuf)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:748,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:776,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/sed0.c:785,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:788,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/sed0.c:798,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 4
    argNames:
    - commands
    - fin
    - lbuf
    - lbend
    argTypes:
    - sed_commands_t*
    - apr_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 807
    functionName: rline
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached:
    - apr_file_read
    - command_errf
    linkageType: ''
    returnType: int
    signature: "int rline(sed_commands_t *commands, apr_file_t *fin,\n                 char
      *lbuf, char *lbend)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:822,1
    - Dst: comple
      Src: /src/httpd/modules/filters/sed0.c:835,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:847,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:855,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - commands
    - expbuf
    - status
    argTypes:
    - sed_commands_t*
    - char*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 864
    functionName: address
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached:
    - command_errf
    - comple
    linkageType: ''
    returnType: char
    signature: "char *address(sed_commands_t *commands, char *expbuf,\n                     apr_status_t*
      status)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - commands
    - textbuf
    - tbend
    argTypes:
    - sed_commands_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 901
    functionName: text
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *text(sed_commands_t *commands, char *textbuf, char *tbend)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/filters/sed0.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - commands
    argTypes:
    - sed_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 921
    functionName: search
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: sed_label_t
    signature: sed_label_t *search(sed_commands_t *commands)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:936,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:944,1
    - Dst: memset
      Src: /src/httpd/modules/filters/sed0.c:949,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:963,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:968,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:971,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - commands
    - expbuf
    argTypes:
    - sed_commands_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 982
    functionName: ycomp
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 1
    functionsReached:
    - command_errf
    - memset
    linkageType: ''
    returnType: char
    signature: char *ycomp(sed_commands_t *commands, char *expbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sed_compile
      Src: /src/httpd/modules/filters/sed0.c:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - commands
    - compargs
    - x1
    - ep
    - x3
    - x4
    argTypes:
    - sed_commands_t*
    - sed_comp_args*
    - char*
    - char*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 997
    functionName: comple
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 2
    functionsReached:
    - sed_compile
    linkageType: ''
    returnType: char
    signature: "char *comple(sed_commands_t *commands, sed_comp_args *compargs,\n
      \                   char *x1, char *ep, char *x3, char x4)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed0.c:1006,1
    - Dst: command_errf
      Src: /src/httpd/modules/filters/sed0.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - commands
    argTypes:
    - sed_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1024
    functionName: alloc_reptr
    functionSourceFile: /src/httpd/modules/filters/sed0.c
    functionUses: 2
    functionsReached:
    - command_errf
    - apr_pcalloc
    linkageType: ''
    returnType: sed_reptr_t
    signature: sed_reptr_t *alloc_reptr(sed_commands_t *commands)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/filters/mod_data.c:83,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_data.c:84,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:85,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_data.c:88,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_data.c:89,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_data.c:91,1
    - Dst: strchr
      Src: /src/httpd/modules/filters/mod_data.c:93,1
    - Dst: strchr
      Src: /src/httpd/modules/filters/mod_data.c:96,1
    - Dst: apr_brigade_printf
      Src: /src/httpd/modules/filters/mod_data.c:103,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_data.c:106,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_data.c:109,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/filters/mod_data.c:110,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/filters/mod_data.c:112,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/modules/filters/mod_data.c:113,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_data.c:116,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_data.c:120,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_data.c:125,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:126,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_data.c:129,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_data.c:138,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_data.c:141,1
    - Dst: apr_base64_encode_binary
      Src: /src/httpd/modules/filters/mod_data.c:145,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_data.c:147,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_data.c:152,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_data.c:153,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_data.c:156,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:157,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_data.c:160,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:161,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_data.c:167,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_data.c:170,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_data.c:171,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:174,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_data.c:179,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_data.c:184,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_data.c:185,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_data.c:190,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_data.c:193,1
    - Dst: apr_base64_encode_binary
      Src: /src/httpd/modules/filters/mod_data.c:202,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_data.c:204,1
    - Dst: apr_base64_encode_binary
      Src: /src/httpd/modules/filters/mod_data.c:212,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_data.c:214,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_data.c:219,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_data.c:223,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_data.c:226,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 239
    functionName: data_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_data.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_create
    - ap_parse_strict_length
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - strchr
    - apr_bucket_delete
    - apr_base64_encode_len
    - apr_brigade_length
    - apr_table_get
    - apr_brigade_partition
    - APR_BUCKET_REMOVE
    - ap_pass_brigade
    - apr_brigade_printf
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - apr_brigade_write
    - APR_BRIGADE_INSERT_TAIL
    - memcpy
    - apr_base64_encode_binary
    - apr_pcalloc
    - ap_set_content_type_ex
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - ap_is_initial_req
    - apr_pstrdup
    - ap_set_content_length
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t data_out_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_data.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_data.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: create_ef_dir_conf
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_ef_dir_conf(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:99,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/filters/mod_ext_filter.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: create_ef_server_conf
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_ef_server_conf(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: merge_ef_dir_conf
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_ef_dir_conf(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:132,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:135,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:138,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:141,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_ext_filter.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - in_dc
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: add_options
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *add_options(cmd_parms *cmd, void *in_dc,\n                               const
      char *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_ext_filter.c:177,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/filters/mod_ext_filter.c:181,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:190,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - p
    - args
    - filter
    argTypes:
    - apr_pool_t*
    - char**
    - ef_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 200
    functionName: parse_cmd
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 9
    functionsReached:
    - apr_palloc
    - ap_getword_white
    - apr_pstrndup
    - apr_tokenize_to_argv
    linkageType: ''
    returnType: char
    signature: char *parse_cmd(apr_pool_t *p, const char **args, ef_filter_t *filter)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:204,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:211,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_ext_filter.c:222,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/filters/mod_ext_filter.c:223,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:225,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:226,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:230,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:234,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_ext_filter.c:237,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:245,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:246,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:247,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:251,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:258,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:260,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:261,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:264,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:268,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:274,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:276,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_ext_filter.c:277,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:281,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:283,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:288,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:290,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:295,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:297,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:301,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/filters/mod_ext_filter.c:303,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:307,1
    - Dst: parse_cmd
      Src: /src/httpd/modules/filters/mod_ext_filter.c:309,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:315,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:323,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:327,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:330,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - cmd
    - dummy
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 334
    functionName: define_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_isspace
    - ap_str_tolower
    - apr_pcalloc
    - parse_cmd
    - ap_assert
    - strcasecmp
    - ap_register_output_filter
    - atoi
    - ap_register_input_filter
    - ap_getword_white
    - apr_psprintf
    - ap_get_module_config
    - apr_pstrdup
    - apr_hash_get
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: char *define_filter(cmd_parms *cmd, void *dummy, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - main_s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: ef_init
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ef_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec
      *main_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 1
    functionsReached:
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:368,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:372,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:373,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:376,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:377,1
    - Dst: apr_procattr_limit_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:380,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - r
    - procattr
    argTypes:
    - request_rec*
    - apr_procattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 387
    functionName: set_resource_limits
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_procattr_limit_set
    - ap_assert
    - ap_get_core_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t set_resource_limits(request_rec *r,\n                                        apr_procattr_t
      *procattr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/filters/mod_ext_filter.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vfile
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: ef_close_file
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ef_close_file(void *vfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:401,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/modules/filters/mod_ext_filter.c:403,1
    - Dst: ap_recent_ctime
      Src: /src/httpd/modules/filters/mod_ext_filter.c:404,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/filters/mod_ext_filter.c:404,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pool
    - err
    - description
    argTypes:
    - apr_pool_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: child_errfn
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_pool_userdata_get
    - apr_file_open_stderr
    - apr_file_printf
    - ap_recent_ctime
    linkageType: ''
    returnType: void
    signature: void child_errfn(apr_pool_t *pool, apr_status_t err, const char *description)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:424,1
    - Dst: apr_procattr_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:426,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:427,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:429,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:433,1
    - Dst: set_resource_limits
      Src: /src/httpd/modules/filters/mod_ext_filter.c:435,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:436,1
    - Dst: apr_procattr_child_err_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:439,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:442,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:445,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:446,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:447,1
    - Dst: apr_procattr_error_check_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:449,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/filters/mod_ext_filter.c:457,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/filters/mod_ext_filter.c:458,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_ext_filter.c:459,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_ext_filter.c:460,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_ext_filter.c:463,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/filters/mod_ext_filter.c:464,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_ext_filter.c:465,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/filters/mod_ext_filter.c:466,1
    - Dst: ap_create_environment
      Src: /src/httpd/modules/filters/mod_ext_filter.c:469,1
    - Dst: apr_proc_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:472,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:479,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:479,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/modules/filters/mod_ext_filter.c:485,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_ext_filter.c:493,1
    - Dst: apr_pollset_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:501,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:502,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/filters/mod_ext_filter.c:508,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:509,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/filters/mod_ext_filter.c:513,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_ext_filter.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 519
    functionName: init_ext_filter_process
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_procattr_child_errfn_set
    - ap_add_common_vars
    - apr_pollset_create
    - apr_procattr_create
    - set_resource_limits
    - apr_procattr_io_set
    - apr_proc_create
    - ap_create_environment
    - ap_escape_shell_cmd
    - ap_assert
    - apr_procattr_error_check_set
    - ap_log_rerror
    - apr_pcalloc
    - apr_pool_userdata_set
    - apr_pool_note_subprocess
    - APLOGNO
    - apr_table_setn
    - apr_procattr_child_err_set
    - ap_add_cgi_vars
    - apr_pstrdup
    - ap_unescape_url
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_ext_filter_process(ap_filter_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_ext_filter.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dc
    - filter
    - p
    argTypes:
    - ef_dir_t*
    - ef_filter_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: get_cfg_string
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *get_cfg_string(ef_dir_t *dc, ef_filter_t *filter, apr_pool_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:544,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:545,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:548,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fname
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: find_filter_def
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - apr_hash_get
    - ap_get_module_config
    linkageType: ''
    returnType: ef_filter_t
    signature: ef_filter_t *find_filter_def(const server_rec *s, const char *fname)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_ext_filter.c:560,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_ext_filter.c:561,1
    - Dst: find_filter_def
      Src: /src/httpd/modules/filters/mod_ext_filter.c:565,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:567,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:567,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:578,1
    - Dst: ap_getword
      Src: /src/httpd/modules/filters/mod_ext_filter.c:585,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_ext_filter.c:587,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:597,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_ext_filter.c:602,1
    - Dst: init_ext_filter_process
      Src: /src/httpd/modules/filters/mod_ext_filter.c:607,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_ext_filter.c:613,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_ext_filter.c:618,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/modules/filters/mod_ext_filter.c:622,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:623,1
    - Dst: get_cfg_string
      Src: /src/httpd/modules/filters/mod_ext_filter.c:629,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 633
    functionName: init_filter_instance
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_set_content_type_ex
    - find_filter_def
    - APLOGNO
    - strcasecmp
    - get_cfg_string
    - apr_table_unset
    - APLOGrtrace1
    - ap_get_module_config
    - apr_table_get
    - init_ext_filter_process
    - ap_getword
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_filter_instance(ap_filter_t *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/mod_ext_filter.c:654,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:655,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:657,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:657,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:662,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 670
    functionName: drain_available_output
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_bucket_heap_create
    - apr_file_read
    - APR_BRIGADE_INSERT_TAIL
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t drain_available_output(ap_filter_t *f,\n                                           apr_bucket_brigade
      *bb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/filters/mod_ext_filter.c:682,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:686,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:687,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:687,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:692,1
    - Dst: drain_available_output
      Src: /src/httpd/modules/filters/mod_ext_filter.c:697,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:698,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/modules/filters/mod_ext_filter.c:703,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/filters/mod_ext_filter.c:705,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:706,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:706,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:711,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/filters/mod_ext_filter.c:717,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/filters/mod_ext_filter.c:717,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - f
    - data
    - len
    - bb
    argTypes:
    - ap_filter_t*
    - char*
    - apr_size_t
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 727
    functionName: pass_data_to_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APR_STATUS_IS_EINTR
    - apr_file_write_full
    - APLOGNO
    - apr_pollset_poll
    - apr_sleep
    - apr_time_from_msec
    - APR_STATUS_IS_EAGAIN
    - drain_available_output
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t pass_data_to_filter(ap_filter_t *f, const char *data,\n
      \                                       apr_size_t len, apr_bucket_brigade *bb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_wait
      Src: /src/httpd/modules/filters/mod_ext_filter.c:739,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:742,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:742,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:747,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:747,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:753,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - ef_ctx_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 761
    functionName: check_filter_process_on_eos
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_proc_wait
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_filter_process_on_eos(ef_ctx_t *ctx, request_rec
      *r)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:782,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_ext_filter.c:784,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:785,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_ext_filter.c:786,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_ext_filter.c:788,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/modules/filters/mod_ext_filter.c:793,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/filters/mod_ext_filter.c:795,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:796,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_ext_filter.c:800,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:802,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:802,1
    - Dst: pass_data_to_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:808,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_ext_filter.c:814,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_ext_filter.c:815,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_ext_filter.c:816,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/filters/mod_ext_filter.c:822,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:823,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:823,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/modules/filters/mod_ext_filter.c:830,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:833,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:833,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/mod_ext_filter.c:842,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/filters/mod_ext_filter.c:843,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:843,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:845,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:845,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_ext_filter.c:847,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/filters/mod_ext_filter.c:850,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:856,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:857,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/filters/mod_ext_filter.c:861,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:866,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:867,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 872
    functionName: ef_unified_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - apr_file_close
    - apr_brigade_create
    - apr_bucket_heap_create
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - APR_STATUS_IS_EAGAIN
    - APR_BUCKET_NEXT
    - apr_bucket_copy
    - APR_STATUS_IS_EOF
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - apr_file_read
    - pass_data_to_filter
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - AP_BUCKET_IS_ERROR
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_file_pipe_timeout_set
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ef_unified_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: init_filter_instance
      Src: /src/httpd/modules/filters/mod_ext_filter.c:881,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:883,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:883,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:887,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:889,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/filters/mod_ext_filter.c:893,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_ext_filter.c:895,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:896,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:899,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:900,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:901,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:902,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:909,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:910,1
    - Dst: ef_unified_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:913,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:915,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:915,1
    - Dst: check_filter_process_on_eos
      Src: /src/httpd/modules/filters/mod_ext_filter.c:920,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:924,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:925,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 874
    functionDepth: 4
    functionLinenumber: 874
    functionLinenumberEnd: 929
    functionName: ef_output_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - check_filter_process_on_eos
    - init_filter_instance
    - APLOGNO
    - ef_unified_filter
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_bucket_error_create
    - ap_get_status_line
    - ap_remove_output_filter
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ef_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:940,1
    - Dst: init_filter_instance
      Src: /src/httpd/modules/filters/mod_ext_filter.c:944,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:946,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:946,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:950,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:952,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/filters/mod_ext_filter.c:965,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ext_filter.c:966,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:971,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:972,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_ext_filter.c:975,1
    - Dst: ef_unified_filter
      Src: /src/httpd/modules/filters/mod_ext_filter.c:980,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ext_filter.c:982,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ext_filter.c:982,1
    - Dst: check_filter_process_on_eos
      Src: /src/httpd/modules/filters/mod_ext_filter.c:987,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 988
    functionName: ef_input_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ext_filter.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_log_rerror
    - check_filter_process_on_eos
    - init_filter_instance
    - APLOGNO
    - ef_unified_filter
    - apr_bucket_eos_create
    - APR_BRIGADE_INSERT_TAIL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ef_input_filter(ap_filter_t *f, apr_bucket_brigade *bb,\n
      \                                   ap_input_mode_t mode, apr_read_type_e block,\n
      \                                   apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: XML2ENC_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: XML2ENC_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: XML2ENC_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: XML2ENC_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: XML2ENC_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: XML2ENC_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: XML2ENC_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: XML2ENC_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML2ENC_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: RAW_ASCII_CHAR
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAW_ASCII_CHAR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: RAW_ASCII_CHAR
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAW_ASCII_CHAR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - token
    - ','
    - ttype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: TYPE_TOKEN
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TOKEN(token, ttype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: CREATE_NODE
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE(ctx, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/filters/mod_include.c:241,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/filters/mod_include.c:242,1
    - Dst: va_end
      Src: /src/httpd/modules/filters/mod_include.c:243,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:245,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:245,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - include_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: debug_printf
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - va_end
    - apr_bucket_pool_create
    - strlen
    - apr_pvsprintf
    - APR_BRIGADE_INSERT_TAIL
    - va_start
    linkageType: ''
    returnType: void
    signature: void debug_printf(include_ctx_t *ctx, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - is
    - ','
    - node
    - ','
    - child
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: DUMP__CHILD
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP__CHILD(ctx, is, node, child)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:282,1
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:286,1
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:294,1
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:305,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_include.c:306,1
    - Dst: DUMP__CHILD
      Src: /src/httpd/modules/filters/mod_include.c:310,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:313,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:313,1
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:321,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_include.c:322,1
    - Dst: DUMP__CHILD
      Src: /src/httpd/modules/filters/mod_include.c:326,1
    - Dst: DUMP__CHILD
      Src: /src/httpd/modules/filters/mod_include.c:327,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:332,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:332,1
    - Dst: debug_printf
      Src: /src/httpd/modules/filters/mod_include.c:349,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - ctx
    - root
    argTypes:
    - include_ctx_t*
    - parse_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 350
    functionName: debug_dump_tree
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_pstrmemdup
    - DUMP__CHILD
    - strlen
    - debug_printf
    linkageType: ''
    returnType: void
    signature: void debug_dump_tree(include_ctx_t *ctx, parse_node_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - filter
    - ','
    - brigade
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: DEBUG_INIT
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_INIT(ctx, filter, brigade)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: DEBUG_PRINTF
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINTF(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: DEBUG_DUMP_TOKEN
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_DUMP_TOKEN(ctx, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 406
    functionName: DEBUG_DUMP_EVAL
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_DUMP_EVAL(ctx, node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - unmatched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: DEBUG_DUMP_UNMATCHED
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_DUMP_UNMATCHED(ctx, unmatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: DEBUG_DUMP_COND
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_DUMP_COND(ctx, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: DEBUG_DUMP_TREE
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_DUMP_TREE(ctx, root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - token
    - ','
    - ttype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: TYPE_TOKEN
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TOKEN(token, ttype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: CREATE_NODE
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE(ctx, name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/filters/mod_include.c:554,1
    - Dst: RAW_ASCII_CHAR
      Src: /src/httpd/modules/filters/mod_include.c:563,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_include.c:574,1
    - Dst: RAW_ASCII_CHAR
      Src: /src/httpd/modules/filters/mod_include.c:583,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 48
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 590
    functionName: decodehtml
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - RAW_ASCII_CHAR
    - strncmp
    linkageType: ''
    returnType: void
    signature: void decodehtml(char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:597,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:598,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:599,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:600,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:601,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:603,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:605,1
    - Dst: strrchr
      Src: /src/httpd/modules/filters/mod_include.c:606,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:607,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:610,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:613,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/filters/mod_include.c:615,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:616,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/filters/mod_include.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 619
    functionName: add_include_vars
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - ap_escape_shell_cmd
    - strrchr
    - apr_pstrdup
    - ap_unescape_url
    linkageType: ''
    returnType: void
    signature: void add_include_vars(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:624,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:625,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:627,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:628,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:630,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:631,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:633,1
    - Dst: apr_uid_name_get
      Src: /src/httpd/modules/filters/mod_include.c:634,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - var
    - timefmt
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 646
    functionName: add_include_vars_lazy
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_setn
    - apr_uid_name_get
    - ap_ht_time
    linkageType: ''
    returnType: char
    signature: char *add_include_vars_lazy(request_rec *r, const char *var, const
      char *timefmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/filters/mod_include.c:653,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:662,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:662,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:668,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:668,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:679,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_include.c:684,1
    - Dst: add_include_vars_lazy
      Src: /src/httpd/modules/filters/mod_include.c:687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - var
    - ctx
    argTypes:
    - char*
    - include_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 692
    functionName: get_include_var
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isdigit
    - APLOGNO
    - apr_pstrmemdup
    - apr_table_get
    - add_include_vars_lazy
    linkageType: ''
    returnType: char
    signature: char *get_include_var(const char *var, include_ctx_t *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_include.c:702,1
    - Dst: get_include_var
      Src: /src/httpd/modules/filters/mod_include.c:704,1
    - Dst: getenv
      Src: /src/httpd/modules/filters/mod_include.c:707,1
    - Dst: get_include_var
      Src: /src/httpd/modules/filters/mod_include.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - eval_ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 712
    functionName: include_expr_var_fn
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - get_include_var
    - getenv
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char *include_expr_var_fn(ap_expr_eval_ctx_t *eval_ctx,\n                                       const
      void *data,\n                                       const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:718,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:719,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:720,1
    - Dst: ap_run_expr_lookup
      Src: /src/httpd/modules/filters/mod_include.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 733
    functionName: include_expr_lookup
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_run_expr_lookup
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int include_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_include.c:753,1
    - Dst: strcspn
      Src: /src/httpd/modules/filters/mod_include.c:759,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:760,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/filters/mod_include.c:765,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:768,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:780,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:785,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:800,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_include.c:829,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:831,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:831,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:837,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/filters/mod_include.c:844,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:849,1
    - Dst: get_include_var
      Src: /src/httpd/modules/filters/mod_include.c:867,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:871,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:880,1
    - Dst: strcspn
      Src: /src/httpd/modules/filters/mod_include.c:899,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:901,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:907,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:936,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:941,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 143
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - length
    - leave_name
    argTypes:
    - include_ctx_t*
    - char*
    - char*
    - apr_size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 952
    functionName: ap_ssi_parse_string
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - strcspn
    - apr_palloc
    - apr_cpystrn
    - get_include_var
    - APLOGNO
    - apr_pstrmemdup
    - strlen
    - ap_strchr_c
    - apr_isalnum
    - ap_assert
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *ap_ssi_parse_string(include_ctx_t *ctx, const char *in, char
      *out,\n                                 apr_size_t length, int leave_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_include.c:969,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:971,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:971,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:977,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:980,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:981,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_include.c:983,1
    - Dst: ap_pregfree
      Src: /src/httpd/modules/filters/mod_include.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - string
    - rexp
    argTypes:
    - include_ctx_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 988
    functionName: re_check
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - ap_pregfree
    - ap_regexec
    - ap_pregcomp
    - apr_pstrdup
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE re_check(include_ctx_t *ctx, const char *string,\n                               const
      char *rexp)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:1003,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1012,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1018,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1021,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1025,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1029,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1033,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1043,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1048,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1055,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1062,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1066,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1070,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1074,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1078,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:1107,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:1139,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:1143,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_include.c:1149,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:1151,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:1159,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 143
    argCount: 4
    argNames:
    - ctx
    - parse
    - token
    - previous
    argTypes:
    - include_ctx_t*
    - char**
    - token_t*
    - token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1165
    functionName: get_ptoken
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_palloc
    - TYPE_TOKEN
    - apr_pstrdup
    - ap_strchr_c
    - memcpy
    linkageType: ''
    returnType: int
    signature: int get_ptoken(include_ctx_t *ctx, const char **parse, token_t *token,
      token_t *previous)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: get_ptoken
      Src: /src/httpd/modules/filters/mod_include.c:1194,1
    - Dst: token::token
      Src: /src/httpd/modules/filters/mod_include.c:1194,1
    - Dst: DEBUG_DUMP_UNMATCHED
      Src: /src/httpd/modules/filters/mod_include.c:1199,1
    - Dst: DEBUG_DUMP_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1200,1
    - Dst: token::token
      Src: /src/httpd/modules/filters/mod_include.c:1200,1
    - Dst: token::token
      Src: /src/httpd/modules/filters/mod_include.c:1204,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1215,1
    - Dst: token::token
      Src: /src/httpd/modules/filters/mod_include.c:1222,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_include.c:1227,1
    - Dst: token::token
      Src: /src/httpd/modules/filters/mod_include.c:1229,1
    - Dst: left::left
      Src: /src/httpd/modules/filters/mod_include.c:1288,1
    - Dst: left::left
      Src: /src/httpd/modules/filters/mod_include.c:1319,1
    - Dst: TYPE_TOKEN
      Src: /src/httpd/modules/filters/mod_include.c:1336,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1340,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1367,1
    - Dst: DEBUG_DUMP_TREE
      Src: /src/httpd/modules/filters/mod_include.c:1372,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1381,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1389,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1389,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1400,1
    - Dst: DEBUG_DUMP_EVAL
      Src: /src/httpd/modules/filters/mod_include.c:1403,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1424,1
    - Dst: DEBUG_DUMP_EVAL
      Src: /src/httpd/modules/filters/mod_include.c:1427,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1454,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1454,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1461,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1464,1
    - Dst: re_check
      Src: /src/httpd/modules/filters/mod_include.c:1468,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1473,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1489,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1489,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1497,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1500,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1503,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1537,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1537,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1544,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/filters/mod_include.c:1546,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1553,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1553,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/filters/mod_include.c:1558,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1563,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1567,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1571,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1576,1
    - Dst: DEBUG_DUMP_EVAL
      Src: /src/httpd/modules/filters/mod_include.c:1581,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 298
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1188
    functionDepth: 4
    functionLinenumber: 1188
    functionLinenumberEnd: 1587
    functionName: CREATE_NODE
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - DEBUG_DUMP_UNMATCHED
    - ap_log_rerror
    - DEBUG_DUMP_TREE
    - strcmp
    - token::token
    - apr_pstrcat
    - TYPE_TOKEN
    - get_ptoken
    - APLOGNO
    - ap_destroy_sub_req
    - DEBUG_DUMP_TOKEN
    - ap_ssi_parse_string
    - left::left
    - re_check
    - DEBUG_DUMP_EVAL
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void CREATE_NODE(ctx, new)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_include.c:1592,1
    - Dst: ap_expr_parse
      Src: /src/httpd/modules/filters/mod_include.c:1602,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1605,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1605,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_include.c:1613,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_include.c:1624,1
    - Dst: ap_expr_exec_ctx
      Src: /src/httpd/modules/filters/mod_include.c:1639,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1641,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - expr
    - was_error
    argTypes:
    - include_ctx_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1651
    functionName: parse_ap_expr
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_expr_exec_ctx
    - ap_expr_parse
    - APLOGNO
    linkageType: ''
    returnType: int
    signature: int parse_ap_expr(include_ctx_t *ctx, const char *expr, int *was_error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decodehtml
      Src: /src/httpd/modules/filters/mod_include.c:1683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - tag
    - tag_val
    - dodecode
    argTypes:
    - include_ctx_t*
    - char**
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1667
    functionDepth: 2
    functionLinenumber: 1667
    functionLinenumberEnd: 1685
    functionName: ap_ssi_get_tag_and_value
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - decodehtml
    linkageType: ''
    returnType: void
    signature: "void ap_ssi_get_tag_and_value(include_ctx_t *ctx, char **tag,\n                                     char
      **tag_val, int dodecode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1696,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/filters/mod_include.c:1700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1705,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/filters/mod_include.c:1711,1
    - Dst: apr_stat
      Src: /src/httpd/modules/filters/mod_include.c:1715,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1718,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1723,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1732,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/filters/mod_include.c:1736,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1740,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/filters/mod_include.c:1743,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_include.c:1746,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/filters/mod_include.c:1748,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1752,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/modules/filters/mod_include.c:1755,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1760,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - r
    - directive
    - tag
    - tag_val
    - finfo
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - apr_finfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1764
    functionName: find_file
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_destroy_sub_req
    - APLOGNO
    - apr_stat
    - memcpy
    - ap_sub_req_lookup_file
    - apr_filepath_merge
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: "int find_file(request_rec *r, const char *directive, const char *tag,\n
      \                    char *tag_val, apr_finfo_t *finfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1773
    functionName: handle_comment
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_comment(include_ctx_t *ctx, ap_filter_t *f,\n
      \                                  apr_bucket_brigade *bb)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1791,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1794,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:1804,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:1818,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1823,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1823,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1823,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1825,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1825,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:1827,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1831,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/modules/filters/mod_include.c:1837,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/filters/mod_include.c:1845,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/filters/mod_include.c:1851,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/filters/mod_include.c:1854,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_include.c:1866,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_include.c:1877,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/filters/mod_include.c:1880,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1887,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:1907,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1784
    functionDepth: 4
    functionLinenumber: 1784
    functionLinenumberEnd: 1911
    functionName: handle_include
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - ap_sub_req_method_uri
    - ap_set_module_config
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - ap_sub_req_lookup_file
    - apr_filepath_merge
    - ap_run_sub_req
    - SSI_CREATE_ERROR_BUCKET
    - strncmp
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_include(include_ctx_t *ctx, ap_filter_t *f,\n
      \                                  apr_bucket_brigade *bb)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1925,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1928,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:1938,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:1946,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:1951,1
    - Dst: get_include_var
      Src: /src/httpd/modules/filters/mod_include.c:1956,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:1956,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:1966,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:1967,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:1970,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:1973,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:1974,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/filters/mod_include.c:1975,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:1978,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:1979,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/modules/filters/mod_include.c:1980,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:1983,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:1984,1
    - Dst: decodehtml
      Src: /src/httpd/modules/filters/mod_include.c:1985,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:1988,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/modules/filters/mod_include.c:1989,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:1992,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:1992,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:1995,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:1999,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2002,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2003,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2006,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2009,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/filters/mod_include.c:2010,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2012,1
    - Dst: ap_escape_urlencoded
      Src: /src/httpd/modules/filters/mod_include.c:2013,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2015,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/filters/mod_include.c:2016,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2018,1
    - Dst: ap_pbase64encode
      Src: /src/httpd/modules/filters/mod_include.c:2020,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2024,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2024,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2027,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2031,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:2034,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:2045,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:2045,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_include.c:2046,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2049,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2052,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2056,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2056,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2058,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 1917
    functionDepth: 4
    functionLinenumber: 1917
    functionLinenumberEnd: 2064
    functionName: handle_echo
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - decodehtml
    - get_include_var
    - apr_bucket_pool_create
    - ap_cstr_casecmp
    - apr_pstrdup
    - SSI_CREATE_ERROR_BUCKET
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - apr_pmemdup
    - strcmp
    - ap_escape_uri
    - ap_pbase64decode
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - APLOGNO
    - ap_pbase64encode
    - ap_escape_html2
    - ap_escape_urlencoded
    - strlen
    - ap_unescape_url
    - ap_unescape_urlencoded
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_echo(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2077,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2080,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2090,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2098,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2103,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2104,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2107,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2109,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:2110,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2112,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2115,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:2118,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:2118,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:2120,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:2120,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:2122,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:2123,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2126,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2129,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2131,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2134,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2138,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2138,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2141,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2146,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2070
    functionDepth: 4
    functionLinenumber: 2070
    functionLinenumberEnd: 2154
    functionName: handle_config
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - apr_table_setn
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - ap_ht_time
    - strlen
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_config(include_ctx_t *ctx, ap_filter_t *f,\n                                  apr_bucket_brigade
      *bb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2165,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2168,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2178,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2188,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2193,1
    - Dst: find_file
      Src: /src/httpd/modules/filters/mod_include.c:2196,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/filters/mod_include.c:2201,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:2201,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_include.c:2208,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:2209,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:2218,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:2221,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:2232,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:2232,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2236,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2159
    functionDepth: 4
    functionLinenumber: 2159
    functionLinenumberEnd: 2242
    functionName: handle_fsize
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - apr_strfsize
    - APLOGNO
    - find_file
    - apr_pstrmemdup
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - apr_psprintf
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_pool_create
    - strlen
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_fsize(include_ctx_t *ctx, ap_filter_t *f,\n                                 apr_bucket_brigade
      *bb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2253,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2256,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2266,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2276,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2281,1
    - Dst: find_file
      Src: /src/httpd/modules/filters/mod_include.c:2284,1
    - Dst: ap_ht_time
      Src: /src/httpd/modules/filters/mod_include.c:2288,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:2289,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:2291,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:2291,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2247
    functionDepth: 4
    functionLinenumber: 2247
    functionLinenumberEnd: 2301
    functionName: handle_flastmod
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - find_file
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_pool_create
    - ap_ht_time
    - strlen
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_flastmod(include_ctx_t *ctx, ap_filter_t *f,\n
      \                                   apr_bucket_brigade *bb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2315,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2320,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2321,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2331,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2337,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2339,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2340,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2340,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2342,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2349,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2349,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2351,1
    - Dst: DEBUG_PRINTF
      Src: /src/httpd/modules/filters/mod_include.c:2357,1
    - Dst: parse_expr
      Src: /src/httpd/modules/filters/mod_include.c:2360,1
    - Dst: parse_ap_expr
      Src: /src/httpd/modules/filters/mod_include.c:2362,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2367,1
    - Dst: DEBUG_DUMP_COND
      Src: /src/httpd/modules/filters/mod_include.c:2378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2306
    functionDepth: 3
    functionLinenumber: 2306
    functionLinenumberEnd: 2383
    functionName: handle_if
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - parse_ap_expr
    - DEBUG_PRINTF
    - ap_ssi_get_tag_and_value
    - DEBUG_DUMP_COND
    - parse_expr
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_if(include_ctx_t *ctx, ap_filter_t *f,\n                              apr_bucket_brigade
      *bb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2397,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2401,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2402,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2411,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2417,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2419,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2420,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2420,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2422,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2429,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2429,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2431,1
    - Dst: DEBUG_PRINTF
      Src: /src/httpd/modules/filters/mod_include.c:2437,1
    - Dst: DEBUG_DUMP_COND
      Src: /src/httpd/modules/filters/mod_include.c:2438,1
    - Dst: parse_expr
      Src: /src/httpd/modules/filters/mod_include.c:2446,1
    - Dst: parse_ap_expr
      Src: /src/httpd/modules/filters/mod_include.c:2448,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2453,1
    - Dst: DEBUG_DUMP_COND
      Src: /src/httpd/modules/filters/mod_include.c:2464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2388
    functionDepth: 3
    functionLinenumber: 2388
    functionLinenumberEnd: 2467
    functionName: handle_elif
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - parse_ap_expr
    - DEBUG_PRINTF
    - ap_ssi_get_tag_and_value
    - DEBUG_DUMP_COND
    - parse_expr
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_elif(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2478,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2480,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2491,1
    - Dst: DEBUG_DUMP_COND
      Src: /src/httpd/modules/filters/mod_include.c:2497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2512
    functionName: handle_else
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - DEBUG_DUMP_COND
    - APLOGNO
    - ap_log_rerror
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_else(include_ctx_t *ctx, ap_filter_t *f,\n                                apr_bucket_brigade
      *bb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2525,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2536,1
    - Dst: DEBUG_DUMP_COND
      Src: /src/httpd/modules/filters/mod_include.c:2540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2517
    functionDepth: 1
    functionLinenumber: 2517
    functionLinenumberEnd: 2546
    functionName: handle_endif
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - DEBUG_DUMP_COND
    - APLOGNO
    - ap_log_rerror
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_endif(include_ctx_t *ctx, ap_filter_t *f,\n                                 apr_bucket_brigade
      *bb)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2562,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2566,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2575,1
    - Dst: ap_ssi_get_tag_and_value
      Src: /src/httpd/modules/filters/mod_include.c:2591,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2597,1
    - Dst: decodehtml
      Src: /src/httpd/modules/filters/mod_include.c:2598,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2599,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2602,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2605,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:2608,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2612,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2612,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2615,1
    - Dst: ap_ssi_parse_string
      Src: /src/httpd/modules/filters/mod_include.c:2619,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2626,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2627,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2630,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2633,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2634,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/filters/mod_include.c:2635,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2638,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2639,1
    - Dst: ap_unescape_urlencoded
      Src: /src/httpd/modules/filters/mod_include.c:2640,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2643,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2644,1
    - Dst: decodehtml
      Src: /src/httpd/modules/filters/mod_include.c:2645,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2648,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/modules/filters/mod_include.c:2649,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2652,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2652,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2655,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2659,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2662,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2663,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2666,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2669,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/filters/mod_include.c:2670,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2672,1
    - Dst: ap_escape_urlencoded
      Src: /src/httpd/modules/filters/mod_include.c:2673,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2675,1
    - Dst: ap_escape_html2
      Src: /src/httpd/modules/filters/mod_include.c:2676,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_include.c:2678,1
    - Dst: ap_pbase64encode
      Src: /src/httpd/modules/filters/mod_include.c:2680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2684,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2684,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2687,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/filters/mod_include.c:2691,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:2700,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2700,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:2701,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2704,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2704,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2706,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 102
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2712
    functionName: handle_set
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_strtok
    - decodehtml
    - ap_cstr_casecmp
    - APLOGNO
    - ap_pbase64encode
    - apr_table_setn
    - ap_escape_uri
    - ap_escape_html2
    - ap_pbase64decode
    - ap_ssi_parse_string
    - ap_ssi_get_tag_and_value
    - ap_unescape_urlencoded
    - ap_escape_urlencoded
    - apr_pstrdup
    - ap_unescape_url
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_set(include_ctx_t *ctx, ap_filter_t *f,\n                               apr_bucket_brigade
      *bb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:2726,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:2730,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:2739,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/filters/mod_include.c:2743,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/filters/mod_include.c:2750,1
    - Dst: add_include_vars_lazy
      Src: /src/httpd/modules/filters/mod_include.c:2755,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/filters/mod_include.c:2756,1
    - Dst: apr_brigade_putstrs
      Src: /src/httpd/modules/filters/mod_include.c:2758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - f
    - bb
    argTypes:
    - include_ctx_t*
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2764
    functionName: handle_printenv
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - add_include_vars_lazy
    - ap_log_rerror
    - APLOGNO
    - apr_table_elts
    - apr_brigade_putstrs
    - ap_escape_html
    - SSI_CREATE_ERROR_BUCKET
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_printenv(include_ctx_t *ctx, ap_filter_t *f,\n
      \                                   apr_bucket_brigade *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:2791,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_include.c:2793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pool
    - n
    - nl
    argTypes:
    - apr_pool_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2803
    functionName: bndm_compile
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - memset
    - apr_palloc
    linkageType: ''
    returnType: bndm_t
    signature: bndm_t *bndm_compile(apr_pool_t *pool, const char *n, apr_size_t nl)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - t
    - h
    - hl
    argTypes:
    - bndm_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2854
    functionName: bndm
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t bndm(bndm_t *t, const char *h, apr_size_t hl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bndm
      Src: /src/httpd/modules/filters/mod_include.c:2875,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2924
    functionName: find_start_sequence
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - bndm
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_start_sequence(include_ctx_t *ctx, const char *data,\n
      \                                     apr_size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - data
    - len
    - release
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 3024
    functionName: find_partial_start_sequence
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_partial_start_sequence(include_ctx_t *ctx,\n                                              const
      char *data,\n                                              apr_size_t len,\n
      \                                             apr_size_t *release)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3040,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3102,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/filters/mod_include.c:3112,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 5
    argNames:
    - ctx
    - data
    - len
    - store
    - store_len
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    - char***
    - apr_size_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3029
    functionDepth: 1
    functionLinenumber: 3029
    functionLinenumberEnd: 3124
    functionName: find_directive
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_isspace
    - apr_tolower
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_directive(include_ctx_t *ctx, const char *data,\n
      \                                apr_size_t len, char ***store,\n                                 apr_size_t
      **store_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3147
    functionName: find_arg_or_tail
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_arg_or_tail(include_ctx_t *ctx, const char *data,\n
      \                                  apr_size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3153
    functionDepth: 0
    functionLinenumber: 3153
    functionLinenumberEnd: 3188
    functionName: find_tail
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_tail(include_ctx_t *ctx, const char *data,\n                            apr_size_t
      len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:3208,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3238,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3238,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3240,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3252,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3265,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3270,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3270,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3272,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/filters/mod_include.c:3277,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3286,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3307,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:3354,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 144
    argCount: 5
    argNames:
    - ctx
    - data
    - len
    - store
    - store_len
    argTypes:
    - include_ctx_t*
    - char*
    - apr_size_t
    - char***
    - apr_size_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3195
    functionDepth: 1
    functionLinenumber: 3195
    functionLinenumberEnd: 3405
    functionName: find_argument
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - apr_palloc
    - ap_str_tolower
    - APLOGNO
    - apr_pstrmemdup
    linkageType: ''
    returnType: apr_size_t
    signature: "apr_size_t find_argument(include_ctx_t *ctx, const char *data,\n                                apr_size_t
      len, char ***store,\n                                apr_size_t **store_len)"
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_include.c:3415,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_include.c:3421,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_include.c:3429,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_include.c:3433,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_include.c:3441,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_include.c:3449,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3450,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_include.c:3452,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_include.c:3454,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/filters/mod_include.c:3475,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3482,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_include.c:3484,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_include.c:3497,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_include.c:3498,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3500,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_include.c:3513,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_include.c:3514,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_include.c:3521,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3525,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3534,1
    - Dst: find_start_sequence
      Src: /src/httpd/modules/filters/mod_include.c:3545,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3548,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3551,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_include.c:3553,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3554,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3557,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3563,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3567,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3568,1
    - Dst: find_partial_start_sequence
      Src: /src/httpd/modules/filters/mod_include.c:3578,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3582,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:3584,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3586,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3592,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3595,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3596,1
    - Dst: find_directive
      Src: /src/httpd/modules/filters/mod_include.c:3607,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3610,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3611,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_include.c:3616,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/filters/mod_include.c:3617,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3618,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/filters/mod_include.c:3624,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_include.c:3626,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3630,1
    - Dst: find_arg_or_tail
      Src: /src/httpd/modules/filters/mod_include.c:3638,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3642,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3644,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3645,1
    - Dst: find_argument
      Src: /src/httpd/modules/filters/mod_include.c:3660,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3663,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3664,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_include.c:3669,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/filters/mod_include.c:3670,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3671,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/filters/mod_include.c:3677,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_include.c:3679,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3683,1
    - Dst: find_tail
      Src: /src/httpd/modules/filters/mod_include.c:3692,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_include.c:3696,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3697,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_include.c:3698,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/filters/mod_include.c:3704,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_include.c:3705,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_include.c:3709,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_include.c:3710,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/filters/mod_include.c:3711,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3712,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:3726,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_include.c:3734,1
    - Dst: DEBUG_INIT
      Src: /src/httpd/modules/filters/mod_include.c:3738,1
    - Dst: handle_func
      Src: /src/httpd/modules/filters/mod_include.c:3739,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3741,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3746,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3746,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3748,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:3752,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/filters/mod_include.c:3758,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_include.c:3759,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_include.c:3773,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3776,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:3777,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3783,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3783,1
    - Dst: SSI_CREATE_ERROR_BUCKET
      Src: /src/httpd/modules/filters/mod_include.c:3787,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3792,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3792,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3798,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3799,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_include.c:3802,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_include.c:3806,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_include.c:3807,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_include.c:3811,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 248
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3814
      start: 3410
    functionDepth: 2
    functionLinenumber: 3410
    functionLinenumberEnd: 3814
    functionName: send_parsed_content
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - find_directive
    - apr_brigade_create
    - DEBUG_INIT
    - apr_pstrmemdup
    - find_start_sequence
    - apr_bucket_setaside
    - apr_bucket_read
    - apr_bucket_pool_create
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - find_arg_or_tail
    - APR_BUCKET_REMOVE
    - apr_pmemdup
    - APR_STATUS_IS_EAGAIN
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - APR_BRIGADE_PREPEND
    - find_tail
    - apr_pool_clear
    - apr_brigade_cleanup
    - find_argument
    - APR_BRIGADE_EMPTY
    - apr_brigade_pflatten
    - apr_pool_destroy
    - APR_BRIGADE_INSERT_TAIL
    - apr_hash_get
    - handle_func
    - apr_bucket_split
    - ap_log_rerror
    - find_partial_start_sequence
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - SSI_CREATE_ERROR_BUCKET
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t send_parsed_content(ap_filter_t *f, apr_bucket_brigade
      *bb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:3827,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:3846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3850
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3850
    functionName: includes_setup
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int includes_setup(ap_filter_t *f)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:3856,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:3859,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/filters/mod_include.c:3862,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_include.c:3863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_include.c:3863,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_include.c:3866,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_include.c:3867,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:3875,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:3877,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/filters/mod_include.c:3879,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/filters/mod_include.c:3880,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_include.c:3883,1
    - Dst: ap_allow_options
      Src: /src/httpd/modules/filters/mod_include.c:3887,1
    - Dst: bndm_compile
      Src: /src/httpd/modules/filters/mod_include.c:3903,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:3904,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:3906,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:3909,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:3912,1
    - Dst: apr_pool_join
      Src: /src/httpd/modules/filters/mod_include.c:3920,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/filters/mod_include.c:3926,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/filters/mod_include.c:3927,1
    - Dst: add_include_vars
      Src: /src/httpd/modules/filters/mod_include.c:3928,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_include.c:3937,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_include.c:3959,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/filters/mod_include.c:3960,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/filters/mod_include.c:3961,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/filters/mod_include.c:3972,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/filters/mod_include.c:3973,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_include.c:3976,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_include.c:3981,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:3983,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/filters/mod_include.c:3984,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_include.c:3985,1
    - Dst: ap_escape_shell_cmd
      Src: /src/httpd/modules/filters/mod_include.c:3986,1
    - Dst: send_parsed_content
      Src: /src/httpd/modules/filters/mod_include.c:3989,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3852
    functionDepth: 3
    functionLinenumber: 3852
    functionLinenumberEnd: 3990
    functionName: includes_filter
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - apr_pool_join
    - apr_brigade_create
    - ap_add_common_vars
    - ap_get_module_config
    - ap_allow_options
    - apr_pstrdup
    - send_parsed_content
    - apr_table_get
    - add_include_vars
    - ap_set_last_modified
    - ap_pass_brigade
    - ap_escape_shell_cmd
    - apr_pool_create
    - bndm_compile
    - ap_remove_output_filter
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - apr_table_setn
    - apr_table_unset
    - ap_add_cgi_vars
    - strlen
    - ap_unescape_url
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t includes_filter(ap_filter_t *f, apr_bucket_brigade *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_include.c:3994,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_include.c:3997,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:4009,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_include.c:4023,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/filters/mod_include.c:4032,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 3992
    functionDepth: 3
    functionLinenumber: 3992
    functionLinenumberEnd: 4034
    functionName: include_fixup
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_set_content_type_ex
    - ap_get_module_config
    - ap_add_output_filter
    - strncmp
    linkageType: ''
    returnType: int
    signature: int include_fixup(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_include.c:4047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4055
    functionName: create_includes_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_includes_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - b
    - ','
    - o
    - ','
    - n
    - ','
    - val
    - ','
    - unset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4058
    functionName: MERGE
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MERGE(b,o,n,val,unset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:4062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4071
    functionName: merge_includes_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_includes_dir_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_include.c:4077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - server
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4082
      start: 4073
    functionDepth: 0
    functionLinenumber: 4073
    functionLinenumberEnd: 4082
    functionName: create_includes_server_config
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_includes_server_config(apr_pool_t *p, server_rec *server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:4088,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:4091,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_include.c:4094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4102
    functionName: set_xbithack
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *set_xbithack(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:4112,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:4118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - tag
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4104
    functionDepth: 0
    functionLinenumber: 4104
    functionLinenumberEnd: 4122
    functionName: set_default_start_tag
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_default_start_tag(cmd_parms *cmd, void *mconfig,\n                                         const
      char *tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_include.c:4132,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_include.c:4138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - tag
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4142
    functionName: set_default_end_tag
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_default_end_tag(cmd_parms *cmd, void *mconfig,\n                                       const
      char *tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - msg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4151
      start: 4144
    functionDepth: 0
    functionLinenumber: 4144
    functionLinenumberEnd: 4151
    functionName: set_undefined_echo
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_undefined_echo(cmd_parms *cmd, void *mconfig,\n                                      const
      char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - msg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4160
      start: 4153
    functionDepth: 0
    functionLinenumber: 4153
    functionLinenumberEnd: 4160
    functionName: set_default_error_msg
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_default_error_msg(cmd_parms *cmd, void *mconfig,\n                                         const
      char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - fmt
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4162
    functionDepth: 0
    functionLinenumber: 4162
    functionLinenumberEnd: 4169
    functionName: set_default_time_fmt
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_default_time_fmt(cmd_parms *cmd, void *mconfig,\n                                        const
      char *fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/filters/mod_include.c:4183,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_include.c:4185,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4188,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4189,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4190,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4191,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4192,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4193,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4194,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4195,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4196,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4197,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4198,1
    - Dst: ssi_pfn_register
      Src: /src/httpd/modules/filters/mod_include.c:4199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4203
    functionName: include_post_config
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - ssi_pfn_register
    - APR_RETRIEVE_OPTIONAL_FN
    - apr_hash_make
    linkageType: ''
    returnType: int
    signature: "int include_post_config(apr_pool_t *p, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/modules/filters/mod_include.c:4237,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_include.c:4237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - func
    argTypes:
    - char*
    - include_handler_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4238
      start: 4235
    functionDepth: 0
    functionLinenumber: 4235
    functionLinenumberEnd: 4238
    functionName: ap_register_include_handler
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_register_include_handler(char *tag, include_handler_fn_t *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_include.c:4242,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_include.c:4243,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_include.c:4244,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/filters/mod_include.c:4245,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/filters/mod_include.c:4246,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_include.c:4247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4240
    functionDepth: 1
    functionLinenumber: 4240
    functionLinenumberEnd: 4249
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_include.c
    functionUses: 1
    functionsReached:
    - ap_hook_post_config
    - ap_register_output_filter
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: AP_RL_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: AP_RL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: AP_RL_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: AP_RL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: AP_RL_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: AP_RL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: AP_RL_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: AP_RL_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: AP_RL_BUCKET_IS_END
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_BUCKET_IS_END(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: AP_RL_BUCKET_IS_START
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_RL_BUCKET_IS_START(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_sed.c:67,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_sed.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: log_sed_errf
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t log_sed_errf(void *data, const char *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: sed_compile_errf
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_compile_errf(void *data, const char *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/filters/mod_sed.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sed_filter_ctxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: clear_ctxpool
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - apr_pool_clear
    linkageType: ''
    returnType: void
    signature: void clear_ctxpool(sed_filter_ctxt* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_sed.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sed_filter_ctxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: alloc_outbuf
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void alloc_outbuf(sed_filter_ctxt* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_sed.c:109,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:111,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_sed.c:115,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:117,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/filters/mod_sed.c:120,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:121,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:122,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_sed.c:123,1
    - Dst: clear_ctxpool
      Src: /src/httpd/modules/filters/mod_sed.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - buf
    - sz
    argTypes:
    - sed_filter_ctxt*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: append_bucket
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 2
    functionsReached:
    - ap_pass_brigade
    - clear_ctxpool
    - apr_bucket_flush_create
    - apr_bucket_transient_create
    - apr_brigade_cleanup
    - apr_bucket_pool_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t append_bucket(sed_filter_ctxt* ctx, char* buf, apr_size_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_sed.c:141,1
    - Dst: append_bucket
      Src: /src/httpd/modules/filters/mod_sed.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sed_filter_ctxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: flush_output_buffer
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - append_bucket
    - apr_pmemdup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t flush_output_buffer(sed_filter_ctxt *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: alloc_outbuf
      Src: /src/httpd/modules/filters/mod_sed.c:159,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_sed.c:164,1
    - Dst: append_bucket
      Src: /src/httpd/modules/filters/mod_sed.c:170,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_sed.c:175,1
    - Dst: append_bucket
      Src: /src/httpd/modules/filters/mod_sed.c:176,1
    - Dst: alloc_outbuf
      Src: /src/httpd/modules/filters/mod_sed.c:179,1
    - Dst: clear_ctxpool
      Src: /src/httpd/modules/filters/mod_sed.c:182,1
    - Dst: alloc_outbuf
      Src: /src/httpd/modules/filters/mod_sed.c:187,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_sed.c:188,1
    - Dst: clear_ctxpool
      Src: /src/httpd/modules/filters/mod_sed.c:193,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_sed.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - dummy
    - buf
    - sz
    argTypes:
    - void*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 201
    functionName: sed_write_output
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - alloc_outbuf
    - append_bucket
    - clear_ctxpool
    - apr_pmemdup
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_write_output(void *dummy, char *buf, apr_size_t sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_sed.c:214,1
    - Dst: sed_init_commands
      Src: /src/httpd/modules/filters/mod_sed.c:215,1
    - Dst: sed_destroy_commands
      Src: /src/httpd/modules/filters/mod_sed.c:218,1
    - Dst: sed_compile_string
      Src: /src/httpd/modules/filters/mod_sed.c:223,1
    - Dst: sed_destroy_commands
      Src: /src/httpd/modules/filters/mod_sed.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sed_cfg
    - cmd
    - expr
    argTypes:
    - sed_expr_config*
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: compile_sed_expr
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - sed_compile_string
    - sed_destroy_commands
    - apr_pcalloc
    - sed_init_commands
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t compile_sed_expr(sed_expr_config *sed_cfg,\n                                     cmd_parms
      *cmd,\n                                     const char *expr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sed_destroy_eval
      Src: /src/httpd/modules/filters/mod_sed.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: sed_eval_cleanup
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - sed_destroy_eval
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_eval_cleanup(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_sed.c:250,1
    - Dst: sed_init_eval
      Src: /src/httpd/modules/filters/mod_sed.c:255,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_sed.c:260,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/filters/mod_sed.c:264,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/filters/mod_sed.c:265,1
    - Dst: alloc_outbuf
      Src: /src/httpd/modules/filters/mod_sed.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - f
    - sed_cfg
    - usetpool
    argTypes:
    - ap_filter_t*
    - sed_expr_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: init_context
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - alloc_outbuf
    - sed_init_eval
    - apr_pool_tag
    - apr_pool_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_context(ap_filter_t *f, sed_expr_config *sed_cfg,
      int usetpool)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_sed.c:281,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_sed.c:288,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:289,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_sed.c:294,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_sed.c:294,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_sed.c:296,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:297,1
    - Dst: init_context
      Src: /src/httpd/modules/filters/mod_sed.c:300,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_sed.c:304,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_sed.c:306,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_sed.c:329,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_sed.c:330,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_sed.c:331,1
    - Dst: sed_finalize_eval
      Src: /src/httpd/modules/filters/mod_sed.c:333,1
    - Dst: flush_output_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:334,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_sed.c:339,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:340,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_sed.c:342,1
    - Dst: flush_output_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:343,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_sed.c:348,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:349,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_sed.c:352,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_sed.c:356,1
    - Dst: sed_eval_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:358,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_sed.c:361,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_sed.c:361,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_sed.c:365,1
    - Dst: flush_output_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:369,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_sed.c:371,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:373,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_sed.c:375,1
    - Dst: clear_ctxpool
      Src: /src/httpd/modules/filters/mod_sed.c:377,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 379
    functionName: sed_response_filter
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - flush_output_buffer
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - clear_ctxpool
    - sed_eval_buffer
    - init_context
    - APR_BUCKET_REMOVE
    - ap_pass_brigade
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - sed_finalize_eval
    - APLOGNO
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sed_response_filter(ap_filter_t *f,\n                                        apr_bucket_brigade
      *bb)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_sed.c:388,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:396,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:401,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/filters/mod_sed.c:405,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_sed.c:406,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:408,1
    - Dst: init_context
      Src: /src/httpd/modules/filters/mod_sed.c:410,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_sed.c:414,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_sed.c:415,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_sed.c:438,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_sed.c:442,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_sed.c:443,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_sed.c:447,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_sed.c:447,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_sed.c:448,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_sed.c:452,1
    - Dst: sed_finalize_eval
      Src: /src/httpd/modules/filters/mod_sed.c:454,1
    - Dst: flush_output_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:455,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_sed.c:456,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_sed.c:457,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_sed.c:460,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_sed.c:464,1
    - Dst: sed_eval_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:466,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_sed.c:468,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_sed.c:468,1
    - Dst: flush_output_buffer
      Src: /src/httpd/modules/filters/mod_sed.c:471,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_sed.c:476,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_sed.c:479,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_sed.c:480,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_sed.c:483,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/filters/mod_sed.c:484,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 488
    functionName: sed_request_filter
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - flush_output_buffer
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_brigade_partition
    - sed_eval_buffer
    - init_context
    - APR_BUCKET_REMOVE
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - sed_finalize_eval
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - ap_is_initial_req
    - APR_BRIGADE_SENTINEL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sed_request_filter(ap_filter_t *f,\n                                       apr_bucket_brigade
      *bb,\n                                       ap_input_mode_t mode,\n                                       apr_read_type_e
      block,\n                                       apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compile_sed_expr
      Src: /src/httpd/modules/filters/mod_sed.c:495,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_sed.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: sed_add_expr
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - compile_sed_expr
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *sed_add_expr(cmd_parms *cmd, void *cfg, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_sed.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: create_sed_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_sed_dir_config(apr_pool_t *p, char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_sed.c:523,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_sed.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_sed.c
    functionUses: 1
    functionsReached:
    - ap_register_input_filter
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: VERBOSE
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERBOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: VERBOSEB
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERBOSEB(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/modules/filters/mod_proxy_html.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - flags
    - vb
    argTypes:
    - unsigned int
    - struct ap_varbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: normalise
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_tolower
    linkageType: ''
    returnType: void
    signature: void normalise(unsigned int flags, struct ap_varbuf *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - inbuf
    - ','
    - bytes
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: consume_buffer
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: consume_buffer(ctx,inbuf,bytes,flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - inbuf
    - ','
    - bytes
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: AP_fwrite
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_fwrite(ctx,inbuf,bytes,flush)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:188,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:189,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:190,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ctxt
    - uchars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: pcharacters
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_fputs
    linkageType: ''
    returnType: void
    signature: void pcharacters(void *ctxt, const xmlChar *uchars, int length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APLOGrtrace1
      Src: /src/httpd/modules/filters/mod_proxy_html.c:210,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:215,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/filters/mod_proxy_html.c:218,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_proxy_html.c:228,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:234,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:249,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:252,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:253,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_proxy_html.c:254,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_proxy_html.c:255,1
    - Dst: VERBOSE
      Src: /src/httpd/modules/filters/mod_proxy_html.c:262,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:262,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/modules/filters/mod_proxy_html.c:266,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:267,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:269,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:272,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:273,1
    - Dst: AP_fwrite
      Src: /src/httpd/modules/filters/mod_proxy_html.c:280,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/modules/filters/mod_proxy_html.c:281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - saxctxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 282
    functionName: dump_content
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - VERBOSE
    - ap_log_rerror
    - ap_varbuf_strmemcat
    - strstr
    - ap_varbuf_grow
    - ap_regexec
    - AP_fwrite
    - ap_varbuf_free
    - apr_pstrndup
    - APLOGrtrace1
    - ap_varbuf_init
    - memmove
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void dump_content(saxctxt *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: VERBOSEB
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrndup
    linkageType: ''
    returnType: void
    signature: "void VERBOSEB(\n                    const char *f = apr_pstrndup(ctx->f->r->pool,\n
      \                   ctx->vb.buf + offs + match, s_from);\n                    ap_log_rerror(APLOG_MARK,
      APLOG_TRACE3, 0, ctx->f->r,\n                                  \"C/RX: match
      at %s, substituting with pattern %s\",\n                                  f,
      m->to);\n                )\n                /* Copy text before the match */\n
      \               ap_varbuf_strmemcat(&temp, ctx->vb.buf+offs, match);\n                /*
      Append the substitution */\n                ap_varbuf_regsub(&temp, m->to, ctx->vb.buf+offs,
      nmatch, pmatch, 0);\n                /* Continue past the match */\n                offs
      += pmatch[0].rm_eo;\n            }\n            /* Copy any remaining text */\n
      \           ap_varbuf_strcat(&temp, ctx->vb.buf+offs);\n            /* Replace
      the original buffer with the result */\n            ctx->vb.strlen"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:295,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:297,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_proxy_html.c:298,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:304,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:306,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctxt
    - name
    - externalID
    - sysID
    argTypes:
    - void*
    - xmlChar*
    - xmlChar*
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 309
    functionName: pinternalSubset
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_fputs
    - ap_fputstrs
    - ap_cstr_casecmpn
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: "void pinternalSubset(void* ctxt, const xmlChar *name,\n                            const
      xmlChar *externalID, const xmlChar *sysID)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:315,1
    - Dst: AP_fwrite
      Src: /src/httpd/modules/filters/mod_proxy_html.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctxt
    - uchars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 323
    functionName: pcdata
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - AP_fwrite
    - ap_varbuf_strmemcat
    linkageType: ''
    returnType: void
    signature: void pcdata(void *ctxt, const xmlChar *uchars, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:332,1
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:333,1
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:334,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:337,1
    - Dst: AP_fwrite
      Src: /src/httpd/modules/filters/mod_proxy_html.c:338,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:338,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctxt
    - uchars
    argTypes:
    - void*
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: pcomment
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_fputs
    - ap_varbuf_strcat
    - AP_fwrite
    - strlen
    linkageType: ''
    returnType: void
    signature: void pcomment(void *ctxt, const xmlChar *uchars)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htmlTagLookup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:346,1
    - Dst: dump_content
      Src: /src/httpd/modules/filters/mod_proxy_html.c:364,1
    - Dst: ap_fprintf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - ctxt
    - uname
    argTypes:
    - void*
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 370
    functionName: pendElement
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - dump_content
    - ap_fprintf
    - htmlTagLookup
    linkageType: ''
    returnType: void
    signature: void pendElement(void *ctxt, const xmlChar *uname)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: APLOGrtrace1
      Src: /src/httpd/modules/filters/mod_proxy_html.c:387,1
    - Dst: htmlTagLookup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:393,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:406,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:406,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:416,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:416,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/filters/mod_proxy_html.c:423,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:435,1
    - Dst: xml2enc_charset
      Src: /src/httpd/modules/filters/mod_proxy_html.c:437,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/filters/mod_proxy_html.c:443,1
    - Dst: ap_fputc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:445,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:446,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_proxy_html.c:454,1
    - Dst: htmlAttrAllowed
      Src: /src/httpd/modules/filters/mod_proxy_html.c:457,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:459,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:459,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:464,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:464,1
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:478,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:483,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:493,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_proxy_html.c:507,1
    - Dst: VERBOSE
      Src: /src/httpd/modules/filters/mod_proxy_html.c:512,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:514,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:516,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:523,1
    - Dst: ap_varbuf_regsub
      Src: /src/httpd/modules/filters/mod_proxy_html.c:525,1
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:527,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:530,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:533,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:534,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:536,1
    - Dst: VERBOSE
      Src: /src/httpd/modules/filters/mod_proxy_html.c:538,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:538,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/modules/filters/mod_proxy_html.c:543,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:544,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:546,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:549,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:550,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_proxy_html.c:571,1
    - Dst: VERBOSE
      Src: /src/httpd/modules/filters/mod_proxy_html.c:575,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:577,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:579,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:585,1
    - Dst: ap_varbuf_regsub
      Src: /src/httpd/modules/filters/mod_proxy_html.c:587,1
    - Dst: ap_varbuf_strcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:593,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:596,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_proxy_html.c:599,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:603,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:604,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:606,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_proxy_html.c:608,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_proxy_html.c:613,1
    - Dst: VERBOSE
      Src: /src/httpd/modules/filters/mod_proxy_html.c:616,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:616,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/modules/filters/mod_proxy_html.c:622,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:623,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:626,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:629,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:630,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:647,1
    - Dst: normalise
      Src: /src/httpd/modules/filters/mod_proxy_html.c:651,1
    - Dst: ap_fputstrs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:656,1
    - Dst: pcharacters
      Src: /src/httpd/modules/filters/mod_proxy_html.c:657,1
    - Dst: ap_fputc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:658,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:661,1
    - Dst: ap_fprintf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:668,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:673,1
    - Dst: ap_fputc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:675,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:679,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:679,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/modules/filters/mod_proxy_html.c:683,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 196
    argCount: 3
    argNames:
    - ctxt
    - uname
    - uattrs
    argTypes:
    - void*
    - xmlChar*
    - xmlChar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 684
    functionName: pstartElement
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_varbuf_regsub
    - htmlTagLookup
    - apr_array_push
    - normalise
    - pcharacters
    - APLOGrtrace1
    - ap_varbuf_strmemcat
    - ap_varbuf_grow
    - xml2enc_charset
    - apr_pstrndup
    - ap_varbuf_init
    - strncasecmp
    - ap_varbuf_strcat
    - strcmp
    - VERBOSE
    - ap_fputstrs
    - ap_fputc
    - ap_varbuf_free
    - htmlAttrAllowed
    - ap_fputs
    - memmove
    - apr_hash_get
    - memcpy
    - ap_log_rerror
    - ap_fprintf
    - strstr
    - APLOGNO
    - strcasecmp
    - ap_regexec
    - strlen
    linkageType: ''
    returnType: void
    signature: "void pstartElement(void *ctxt, const xmlChar *uname,\n                          const
      xmlChar** uattrs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec_len
      Src: /src/httpd/modules/filters/mod_proxy_html.c:698,1
    - Dst: apr_isalpha
      Src: /src/httpd/modules/filters/mod_proxy_html.c:702,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/filters/mod_proxy_html.c:703,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:704,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_proxy_html.c:705,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:706,1
    - Dst: apr_strmatch
      Src: /src/httpd/modules/filters/mod_proxy_html.c:712,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_proxy_html.c:718,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_proxy_html.c:723,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_proxy_html.c:731,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:733,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:740,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_proxy_html.c:744,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 3
    argNames:
    - r
    - buf
    - len
    argTypes:
    - request_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 749
    functionName: metafix
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_regexec_len
    - apr_palloc
    - apr_isspace
    - apr_table_setn
    - apr_pstrmemdup
    - apr_strmatch
    - apr_isalpha
    - apr_isalnum
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: meta
    signature: meta *metafix(request_rec *r, const char *buf, apr_size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/filters/mod_proxy_html.c:761,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_proxy_html.c:764,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_proxy_html.c:767,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:774,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:777,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:780,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_proxy_html.c:782,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:785,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:789,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:790,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 794
    functionName: interpolate_vars
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - ap_log_rerror
    - apr_pstrcat
    - apr_pstrmemdup
    - apr_table_get
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: char *interpolate_vars(request_rec *r, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/filters/mod_proxy_html.c:805,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:807,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:807,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:815,1
    - Dst: interpolate_vars
      Src: /src/httpd/modules/filters/mod_proxy_html.c:818,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:822,1
    - Dst: interpolate_vars
      Src: /src/httpd/modules/filters/mod_proxy_html.c:827,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - saxctxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 843
    functionName: fixup_rules
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_pregcomp
    - interpolate_vars
    - ap_expr_exec
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void fixup_rules(saxctxt *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_proxy_html.c:854,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_proxy_html.c:855,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_proxy_html.c:864,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_proxy_html.c:865,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:876,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:881,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_proxy_html.c:883,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/filters/mod_proxy_html.c:888,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_proxy_html.c:889,1
    - Dst: fixup_rules
      Src: /src/httpd/modules/filters/mod_proxy_html.c:892,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 900
    functionName: check_filter_init
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - apr_brigade_create
    - apr_table_unset
    - apr_table_get
    - ap_get_module_config
    - ap_varbuf_init
    - ap_cstr_casecmpn
    - fixup_rules
    linkageType: ''
    returnType: saxctxt
    signature: saxctxt *check_filter_init (ap_filter_t *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_proxy_html.c:905,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/filters/mod_proxy_html.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctxt
    - bb
    argTypes:
    - saxctxt*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: prepend_rbuf
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_HEAD
    - apr_bucket_transient_create
    linkageType: ''
    returnType: void
    signature: void prepend_rbuf(saxctxt *ctxt, apr_bucket_brigade *bb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: check_filter_init
      Src: /src/httpd/modules/filters/mod_proxy_html.c:923,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:925,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_proxy_html.c:926,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_proxy_html.c:929,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_proxy_html.c:930,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_proxy_html.c:932,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_proxy_html.c:933,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_proxy_html.c:935,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/filters/mod_proxy_html.c:936,1
    - Dst: prepend_rbuf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:939,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:941,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_proxy_html.c:942,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_proxy_html.c:944,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/filters/mod_proxy_html.c:949,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:950,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_proxy_html.c:954,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:965,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_proxy_html.c:967,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_proxy_html.c:972,1
    - Dst: xml2enc_charset
      Src: /src/httpd/modules/filters/mod_proxy_html.c:979,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:981,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:981,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_proxy_html.c:984,1
    - Dst: xml2enc_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:993,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/filters/mod_proxy_html.c:994,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_proxy_html.c:995,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1000,1
    - Dst: ap_fputs
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1003,1
    - Dst: htmlCreatePushParserCtxt
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1006,1
    - Dst: htmlCreatePushParserCtxt
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1012,1
    - Dst: prepend_rbuf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1018,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1019,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1020,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1023,1
    - Dst: xmlCtxtUseOptions
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1027,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1028,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1028,1
    - Dst: metafix
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1032,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1034,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1040,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1043,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1043,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1047,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1050,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1051,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 913
    functionDepth: 4
    functionLinenumber: 913
    functionLinenumberEnd: 1054
    functionName: proxy_html_filter
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - consume_buffer
    - prepend_rbuf
    - apr_bucket_read
    - ap_fflush
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_pstrcat
    - xml2enc_charset
    - ap_pass_brigade
    - APR_BRIGADE_PREPEND
    - xmlCtxtUseOptions
    - check_filter_init
    - xml2enc_filter
    - apr_pool_cleanup_register
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - ap_fputs
    - memcpy
    - ap_log_rerror
    - ap_set_content_type_ex
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - htmlCreatePushParserCtxt
    - metafix
    - ap_set_content_type
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t proxy_html_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - x
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1065
    functionName: proxy_html_config
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *proxy_html_config(apr_pool_t *pool, char *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1071,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1085,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1118
    functionName: proxy_html_merge
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_pmemdup
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *proxy_html_merge(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    functionName: REGFLAG
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGFLAG(n,s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1121
    functionName: XREGFLAG
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XREGFLAG(n,s,c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XREGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1127,1
    - Dst: XREGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1128,1
    - Dst: XREGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1129,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1130,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1131,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1132,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1133,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1134,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1135,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1136,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1144,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1145,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1146,1
    - Dst: REGFLAG
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1147,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1148,1
    - Dst: ap_rxplus_exec
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1161,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1165,1
    - Dst: memmove
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1166,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1166,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - cmd
    - newmap
    - from
    - to
    - flags
    - cond
    argTypes:
    - cmd_parms*
    - urlmap*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1177
    functionName: comp_urlmap
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - ap_rxplus_exec
    - strlen
    - XREGFLAG
    - ap_pregcomp
    - REGFLAG
    - memmove
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *comp_urlmap(cmd_parms *cmd, urlmap *newmap,\n                               const
      char *from, const char *to,\n                               const char *flags,
      const char *cond)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1192,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1194,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1196,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1198,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1203,1
    - Dst: comp_urlmap
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - CFG
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1213
    functionName: set_urlmap
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - comp_urlmap
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_urlmap(cmd_parms *cmd, void *CFG, const char *args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1219,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1222,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1224,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1229,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1231,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - CFG
    - t
    - l
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1248
    functionName: set_doctype
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *set_doctype(cmd_parms *cmd, void *CFG,\n                               const
      char *t, const char *l)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1254,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1256,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1262
    functionName: set_flags
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 3
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *set_flags(cmd_parms *cmd, void *CFG, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1269,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1273
    functionName: set_events
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *set_events(cmd_parms *cmd, void *CFG, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1283,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1285,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1287,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1288,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cmd
    - CFG
    - elt
    - att
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1293
    functionName: set_links
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_hash_make
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_links(cmd_parms *cmd, void *CFG,\n                             const
      char *elt, const char *att)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1333,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1335,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1336,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1343,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1344,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1346,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1346,1
    - Dst: ap_rxplus_compile
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - p
    - p1
    - p2
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1355
    functionName: mod_proxy_html
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - memset
    - apr_strmatch_precompile
    - APLOGNO
    - ap_pregcomp
    - ap_rxplus_compile
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: int mod_proxy_html(apr_pool_t *p, apr_pool_t *p1, apr_pool_t *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1359,1
    - Dst: xml2enc_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1362,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1365
    functionName: proxy_html_insert
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - xml2enc_filter
    - ap_add_output_filter
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void proxy_html_insert(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter_protocol
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1369,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1375,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/filters/mod_proxy_html.c:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1377
    functionName: proxy_html_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_proxy_html.c
    functionUses: 0
    functionsReached:
    - ap_hook_insert_filter
    - ap_hook_pre_config
    - ap_register_output_filter_protocol
    linkageType: ''
    returnType: void
    signature: void proxy_html_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: APR_BRIGADE_DO
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_BRIGADE_DO(b,bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: HAVE_ENCODING
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_ENCODING(enc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/filters/mod_xml2enc.c:110,1
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/filters/mod_xml2enc.c:114,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:123,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:127,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:132,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/filters/mod_xml2enc.c:134,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - r
    - enc
    - mode
    argTypes:
    - request_rec*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 141
    functionName: xml2enc_filter
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - apr_pcalloc
    - APLOGNO
    - apr_xlate_open
    - ap_add_output_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t xml2enc_filter(request_rec* r, const char* enc,\n                                   unsigned
      int mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_xml2enc.c:148,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/filters/mod_xml2enc.c:151,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_xml2enc.c:156,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_xml2enc.c:156,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_xml2enc.c:160,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:162,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_xml2enc.c:163,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_xml2enc.c:164,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:170,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/filters/mod_xml2enc.c:176,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:179,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - r
    - ctx
    argTypes:
    - request_rec*
    - xml2ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 183
    functionName: fix_skipto
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_log_rerror
    - ap_strchr
    - ap_assert
    - apr_bucket_delete
    - APLOGNO
    - apr_brigade_partition
    - ap_get_module_config
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void fix_skipto(request_rec* r, xml2ctx* ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:196,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:196,1
    - Dst: ap_strcasestr
      Src: /src/httpd/modules/filters/mod_xml2enc.c:200,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:202,1
    - Dst: strcspn
      Src: /src/httpd/modules/filters/mod_xml2enc.c:202,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:204,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:204,1
    - Dst: xmlParseCharEncoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:206,1
    - Dst: xmlDetectCharEncoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:213,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:215,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:216,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:216,1
    - Dst: xmlGetCharEncodingName
      Src: /src/httpd/modules/filters/mod_xml2enc.c:218,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_xml2enc.c:224,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_xml2enc.c:226,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:227,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_xml2enc.c:228,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:229,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:233,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_xml2enc.c:235,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:236,1
    - Dst: xmlParseCharEncoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:239,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:240,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:241,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:241,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_xml2enc.c:249,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_xml2enc.c:250,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:264,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_xml2enc.c:265,1
    - Dst: xmlParseCharEncoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:268,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:274,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:276,1
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/filters/mod_xml2enc.c:279,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:283,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:283,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:289,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:291,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:291,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/filters/mod_xml2enc.c:297,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_xml2enc.c:298,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:301,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_xml2enc.c:301,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_xml2enc.c:303,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_xml2enc.c:304,1
    - Dst: strcpy
      Src: /src/httpd/modules/filters/mod_xml2enc.c:305,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - r
    - ctx
    argTypes:
    - request_rec*
    - xml2ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 309
    functionName: sniff_encoding
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - HAVE_ENCODING
    - ap_get_module_config
    - xmlGetCharEncodingName
    - apr_pstrcat
    - apr_bucket_delete
    - apr_pstrndup
    - apr_brigade_partition
    - apr_xlate_open
    - APR_BUCKET_NEXT
    - ap_strcasestr
    - ap_assert
    - memcpy
    - ap_log_rerror
    - strcspn
    - apr_palloc
    - APLOGNO
    - ap_regexec
    - xmlParseCharEncoding
    - xmlDetectCharEncoding
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void sniff_encoding(request_rec* r, xml2ctx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_xml2enc.c:315,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: xml2enc_filter_init
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t xml2enc_filter_init(ap_filter_t* f)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_xml2enc.c:338,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_xml2enc.c:339,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:343,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/filters/mod_xml2enc.c:344,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/filters/mod_xml2enc.c:345,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_xml2enc.c:348,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_xml2enc.c:349,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_xml2enc.c:350,1
    - Dst: strstr
      Src: /src/httpd/modules/filters/mod_xml2enc.c:351,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_xml2enc.c:352,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_xml2enc.c:353,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_xml2enc.c:354,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_xml2enc.c:358,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_xml2enc.c:362,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_xml2enc.c:369,1
    - Dst: APR_BRIGADE_DO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:371,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_xml2enc.c:372,1
    - Dst: APR_BRIGADE_DO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:379,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/filters/mod_xml2enc.c:380,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:381,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:391,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/filters/mod_xml2enc.c:393,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:394,1
    - Dst: sniff_encoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:396,1
    - Dst: fix_skipto
      Src: /src/httpd/modules/filters/mod_xml2enc.c:400,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_xml2enc.c:403,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_xml2enc.c:408,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_xml2enc.c:411,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_xml2enc.c:416,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:417,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_xml2enc.c:418,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_xml2enc.c:422,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_xml2enc.c:424,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_xml2enc.c:425,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_xml2enc.c:427,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_xml2enc.c:428,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_xml2enc.c:429,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_xml2enc.c:434,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_xml2enc.c:435,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_xml2enc.c:436,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_xml2enc.c:438,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_xml2enc.c:445,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:446,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/filters/mod_xml2enc.c:461,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:462,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:469,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/filters/mod_xml2enc.c:472,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_xml2enc.c:473,1
    - Dst: APR_BRIGADE_DO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:474,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:475,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/filters/mod_xml2enc.c:475,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_xml2enc.c:481,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_xml2enc.c:482,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_xml2enc.c:483,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:485,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:485,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_xml2enc.c:490,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_xml2enc.c:492,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:494,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:494,1
    - Dst: xml2enc_run_preprocess
      Src: /src/httpd/modules/filters/mod_xml2enc.c:501,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_xml2enc.c:509,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/filters/mod_xml2enc.c:511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:512,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:512,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/filters/mod_xml2enc.c:518,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:520,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:520,1
    - Dst: ap_fwrite
      Src: /src/httpd/modules/filters/mod_xml2enc.c:525,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:528,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:528,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:536,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:536,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:543,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:543,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:551,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:551,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/filters/mod_xml2enc.c:554,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:556,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:556,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:558,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_xml2enc.c:562,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_xml2enc.c:562,1
    - Dst: apr_bucket_destroy
      Src: /src/httpd/modules/filters/mod_xml2enc.c:566,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_xml2enc.c:573,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_xml2enc.c:574,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 162
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 581
    functionName: xml2enc_ffunc
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_str_tolower
    - APR_BRIGADE_INSERT_HEAD
    - apr_brigade_create
    - apr_brigade_flatten
    - apr_bucket_setaside
    - apr_bucket_read
    - strncmp
    - ap_fflush
    - apr_bucket_destroy
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_pstrdup
    - fix_skipto
    - APR_BRIGADE_DO
    - apr_brigade_partition
    - apr_brigade_length
    - APR_BUCKET_REMOVE
    - ap_pass_brigade
    - strcmp
    - ap_strchr
    - apr_bucket_transient_create
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - ap_assert
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - sniff_encoding
    - ap_log_rerror
    - apr_palloc
    - ap_fwrite
    - strstr
    - ap_set_module_config
    - APLOGNO
    - xml2enc_run_preprocess
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - APR_BUCKET_IS_FLUSH
    - apr_xlate_conv_buffer
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t xml2enc_ffunc(ap_filter_t* f, apr_bucket_brigade* bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_xml2enc.c:586,1
    - Dst: HAVE_ENCODING
      Src: /src/httpd/modules/filters/mod_xml2enc.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - encp
    - encoding
    argTypes:
    - request_rec*
    - xmlCharEncoding*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: xml2enc_charset
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 2
    functionsReached:
    - ap_get_module_config
    - HAVE_ENCODING
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t xml2enc_charset(request_rec* r, xmlCharEncoding* encp,\n
      \                                   const char** encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter_protocol
      Src: /src/httpd/modules/filters/mod_xml2enc.c:598,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_xml2enc.c:601,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_xml2enc.c:602,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_xml2enc.c:603,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_xml2enc.c:606,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_xml2enc.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 609
    functionName: xml2enc_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - APR_REGISTER_OPTIONAL_FN
    - ap_register_output_filter_protocol
    - ap_pregcomp
    linkageType: ''
    returnType: void
    signature: void xml2enc_hooks(apr_pool_t* pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/filters/mod_xml2enc.c:613,1
    - Dst: xmlAddEncodingAlias
      Src: /src/httpd/modules/filters/mod_xml2enc.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - cmd
    - CFG
    - charset
    - alias
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: set_alias
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - xmlAddEncodingAlias
    linkageType: ''
    returnType: char
    signature: "char * set_alias(cmd_parms* cmd, void* CFG,\n                             const
      char* charset, const char* alias)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmlParseCharEncoding
      Src: /src/httpd/modules/filters/mod_xml2enc.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - CFG
    - charset
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: set_default
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 1
    functionsReached:
    - xmlParseCharEncoding
    linkageType: ''
    returnType: char
    signature: char * set_default(cmd_parms* cmd, void* CFG, const char* charset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/filters/mod_xml2enc.c:641,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/filters/mod_xml2enc.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: set_skipto
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char * set_skipto(cmd_parms* cmd, void* CFG, const char* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - x
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: xml2enc_config
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void * xml2enc_config(apr_pool_t* pool, char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_xml2enc.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: xml2enc_merge
    functionSourceFile: /src/httpd/modules/filters/mod_xml2enc.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void * xml2enc_merge(apr_pool_t* pool, void* BASE, void* ADD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_reflector.c:38,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_reflector.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dummy
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: header_do
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int header_do(void *dummy, const char *key, const char *value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_reflector.c:52,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_reflector.c:56,1
    - Dst: ap_allow_methods
      Src: /src/httpd/modules/filters/mod_reflector.c:59,1
    - Dst: ap_send_http_options
      Src: /src/httpd/modules/filters/mod_reflector.c:62,1
    - Dst: ap_status_drops_connection
      Src: /src/httpd/modules/filters/mod_reflector.c:78,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/filters/mod_reflector.c:83,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_reflector.c:86,1
    - Dst: ap_update_mtime
      Src: /src/httpd/modules/filters/mod_reflector.c:87,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/filters/mod_reflector.c:87,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/modules/filters/mod_reflector.c:88,1
    - Dst: ap_set_accept_ranges
      Src: /src/httpd/modules/filters/mod_reflector.c:90,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_reflector.c:93,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/filters/mod_reflector.c:96,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_reflector.c:97,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_reflector.c:97,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/filters/mod_reflector.c:103,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_reflector.c:107,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/filters/mod_reflector.c:109,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_reflector.c:113,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_reflector.c:114,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_reflector.c:120,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_reflector.c:124,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/filters/mod_reflector.c:125,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_reflector.c:128,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_reflector.c:129,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_reflector.c:130,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_reflector.c:134,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_reflector.c:148,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/filters/mod_reflector.c:150,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_reflector.c:154,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_reflector.c:156,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_reflector.c:159,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_reflector.c:159,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_reflector.c:167,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 179
    functionName: reflector_handler
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - ap_update_mtime
    - apr_time_now
    - apr_brigade_create
    - ap_parse_strict_length
    - ap_get_module_config
    - apr_bucket_read
    - ap_allow_methods
    - APR_BUCKET_IS_EOS
    - ap_set_accept_ranges
    - apr_table_get
    - ap_set_last_modified
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - strcmp
    - ap_pass_brigade
    - apr_brigade_cleanup
    - apr_brigade_write
    - apr_table_do
    - ap_log_rerror
    - APLOGNO
    - ap_map_http_request_error
    - ap_status_drops_connection
    - APR_BRIGADE_SENTINEL
    - ap_set_content_length
    - ap_set_content_type
    - ap_send_http_options
    linkageType: ''
    returnType: int
    signature: int reflector_handler(request_rec * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_reflector.c:183,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/filters/mod_reflector.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: create_reflector_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_reflector_dir_config(apr_pool_t * p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_reflector.c:192,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/filters/mod_reflector.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: merge_reflector_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - apr_table_overlay
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_reflector_dir_config(apr_pool_t * p, void *basev, void
      *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/filters/mod_reflector.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - dummy
    - in
    - out
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: reflector_header
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: char
    signature: "char *reflector_header(cmd_parms * cmd, void *dummy, const char *in,\n
      \       const char *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/filters/mod_reflector.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: reflector_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_reflector.c
    functionUses: 0
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void reflector_hooks(apr_pool_t * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/modules/filters/sed1.c:82,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/modules/filters/sed1.c:83,1
    - Dst: sed_eval_t*::errfn
      Src: /src/httpd/modules/filters/sed1.c:84,1
    - Dst: va_end
      Src: /src/httpd/modules/filters/sed1.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eval
    - fmt
    argTypes:
    - sed_eval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: eval_errf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - va_end
    - sed_eval_t*::errfn
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void eval_errf(sed_eval_t *eval, const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed1.c:115,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - pool
    - buffer
    - spend
    - cursize
    - newsize
    argTypes:
    - apr_pool_t*
    - char**
    - char**
    - apr_size_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: grow_buffer
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t grow_buffer(apr_pool_t *pool, char **buffer,\n                        char
      **spend, apr_size_t *cursize,\n                        apr_size_t newsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: grow_buffer
      Src: /src/httpd/modules/filters/sed1.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eval
    - newsize
    argTypes:
    - sed_eval_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: grow_line_buffer
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - grow_buffer
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t grow_line_buffer(sed_eval_t *eval, apr_size_t newsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: grow_buffer
      Src: /src/httpd/modules/filters/sed1.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eval
    - newsize
    argTypes:
    - sed_eval_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: grow_hold_buffer
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - grow_buffer
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t grow_hold_buffer(sed_eval_t *eval, apr_size_t newsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: grow_buffer
      Src: /src/httpd/modules/filters/sed1.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - eval
    - newsize
    - gspend
    argTypes:
    - sed_eval_t*
    - apr_size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: grow_gen_buffer
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - grow_buffer
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t grow_gen_buffer(sed_eval_t *eval, apr_size_t newsize,\n
      \                           char **gspend)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: grow_line_buffer
      Src: /src/httpd/modules/filters/sed1.c:174,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - eval
    - sz
    - len
    argTypes:
    - sed_eval_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: appendmem_to_linebuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - grow_line_buffer
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t appendmem_to_linebuf(sed_eval_t *eval, const char* sz,
      apr_size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:190,1
    - Dst: appendmem_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - eval
    - sz
    - step_vars
    argTypes:
    - sed_eval_t*
    - char*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: append_to_linebuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - strlen
    - appendmem_to_linebuf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t append_to_linebuf(sed_eval_t *eval, const char* sz,\n
      \                             step_vars_storage *step_vars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - eval
    - sz
    - step_vars
    argTypes:
    - sed_eval_t*
    - char*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: copy_to_linebuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - append_to_linebuf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t copy_to_linebuf(sed_eval_t *eval, const char* sz,\n                            step_vars_storage
      *step_vars)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:229,1
    - Dst: grow_hold_buffer
      Src: /src/httpd/modules/filters/sed1.c:233,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eval
    - sz
    argTypes:
    - sed_eval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: append_to_holdbuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - grow_hold_buffer
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t append_to_holdbuf(sed_eval_t *eval, const char* sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_holdbuf
      Src: /src/httpd/modules/filters/sed1.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eval
    - sz
    argTypes:
    - sed_eval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: copy_to_holdbuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - append_to_holdbuf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t copy_to_holdbuf(sed_eval_t *eval, const char* sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:258,1
    - Dst: grow_gen_buffer
      Src: /src/httpd/modules/filters/sed1.c:262,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - eval
    - sz
    - gspend
    argTypes:
    - sed_eval_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: append_to_genbuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - strlen
    - grow_gen_buffer
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t append_to_genbuf(sed_eval_t *eval, const char* sz, char
      **gspend)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:278,1
    - Dst: grow_gen_buffer
      Src: /src/httpd/modules/filters/sed1.c:282,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eval
    - sz
    argTypes:
    - sed_eval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: copy_to_genbuf
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - strlen
    - grow_gen_buffer
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t copy_to_genbuf(sed_eval_t *eval, const char* sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/filters/sed1.c:296,1
    - Dst: sed_reset_eval
      Src: /src/httpd/modules/filters/sed1.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - eval
    - commands
    - errfn
    - data
    - writefn
    - p
    argTypes:
    - sed_eval_t*
    - sed_commands_t*
    - sed_err_fn_t*
    - void*
    - sed_write_fn_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: sed_init_eval
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 1
    functionsReached:
    - sed_reset_eval
    - memset
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_init_eval(sed_eval_t *eval, sed_commands_t *commands,
      sed_err_fn_t *errfn, void *data, sed_write_fn_t *writefn, apr_pool_t* p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed1.c:319,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed1.c:323,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed1.c:327,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/sed1.c:337,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/filters/sed1.c:353,1
    - Dst: eval_errf
      Src: /src/httpd/modules/filters/sed1.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 4
    argNames:
    - eval
    - commands
    - errfn
    - data
    argTypes:
    - sed_eval_t*
    - sed_commands_t*
    - sed_err_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 362
    functionName: sed_reset_eval
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 1
    functionsReached:
    - eval_errf
    - apr_pcalloc
    - apr_file_open
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_reset_eval(sed_eval_t *eval, sed_commands_t *commands,
      sed_err_fn_t *errfn, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/modules/filters/sed1.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - eval
    argTypes:
    - sed_eval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: sed_destroy_eval
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 1
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void sed_destroy_eval(sed_eval_t *eval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/sed1.c:390,1
    - Dst: sed_eval_buffer
      Src: /src/httpd/modules/filters/sed1.c:393,1
    - Dst: sed_finalize_eval
      Src: /src/httpd/modules/filters/sed1.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - eval
    - fin
    - fout
    argTypes:
    - sed_eval_t*
    - apr_file_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: sed_eval_file
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    - sed_eval_buffer
    - sed_finalize_eval
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_eval_file(sed_eval_t *eval, apr_file_t *fin, void
      *fout)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sed_canbe_finalized
      Src: /src/httpd/modules/filters/sed1.c:413,1
    - Dst: sed_get_finalize_error
      Src: /src/httpd/modules/filters/sed1.c:415,1
    - Dst: eval_errf
      Src: /src/httpd/modules/filters/sed1.c:417,1
    - Dst: execute
      Src: /src/httpd/modules/filters/sed1.c:429,1
    - Dst: memchr
      Src: /src/httpd/modules/filters/sed1.c:439,1
    - Dst: appendmem_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:450,1
    - Dst: execute
      Src: /src/httpd/modules/filters/sed1.c:459,1
    - Dst: appendmem_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:468,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - eval
    - buf
    - bufsz
    - fout
    argTypes:
    - sed_eval_t*
    - char*
    - apr_size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 475
    functionName: sed_eval_buffer
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 3
    functionsReached:
    - memchr
    - appendmem_to_linebuf
    - sed_get_finalize_error
    - execute
    - sed_canbe_finalized
    - eval_errf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_eval_buffer(sed_eval_t *eval, const char *buf, apr_size_t
      bufsz, void *fout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: append_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:503,1
    - Dst: execute
      Src: /src/httpd/modules/filters/sed1.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - eval
    - fout
    argTypes:
    - sed_eval_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 518
    functionName: sed_finalize_eval
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 3
    functionsReached:
    - execute
    - append_to_linebuf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t sed_finalize_eval(sed_eval_t *eval, void *fout)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/filters/sed1.c:538,1
    - Dst: match
      Src: /src/httpd/modules/filters/sed1.c:565,1
    - Dst: match
      Src: /src/httpd/modules/filters/sed1.c:585,1
    - Dst: command
      Src: /src/httpd/modules/filters/sed1.c:602,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:626,1
    - Dst: arout
      Src: /src/httpd/modules/filters/sed1.c:632,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 100
    argCount: 1
    argNames:
    - eval
    argTypes:
    - sed_eval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 639
    functionName: execute
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 2
    functionsReached:
    - memset
    - wline
    - arout
    - command
    - match
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t execute(sed_eval_t *eval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sed_step
      Src: /src/httpd/modules/filters/sed1.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - eval
    - expbuf
    - gf
    - step_vars
    argTypes:
    - sed_eval_t*
    - char*
    - int
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: match
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 28
    functionsReached:
    - sed_step
    linkageType: ''
    returnType: int
    signature: "int match(sed_eval_t *eval, char *expbuf, int gf,\n                 step_vars_storage
      *step_vars)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/httpd/modules/filters/sed1.c:668,1
    - Dst: dosub
      Src: /src/httpd/modules/filters/sed1.c:672,1
    - Dst: match
      Src: /src/httpd/modules/filters/sed1.c:677,1
    - Dst: dosub
      Src: /src/httpd/modules/filters/sed1.c:678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - eval
    - ipc
    - step_vars
    argTypes:
    - sed_eval_t*
    - sed_reptr_t*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 683
    functionName: substitute
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 1
    functionsReached:
    - match
    - dosub
    linkageType: ''
    returnType: int
    signature: "int substitute(sed_eval_t *eval, sed_reptr_t *ipc,\n                      step_vars_storage
      *step_vars)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: place
      Src: /src/httpd/modules/filters/sed1.c:703,1
    - Dst: place
      Src: /src/httpd/modules/filters/sed1.c:709,1
    - Dst: place
      Src: /src/httpd/modules/filters/sed1.c:717,1
    - Dst: grow_gen_buffer
      Src: /src/httpd/modules/filters/sed1.c:728,1
    - Dst: append_to_genbuf
      Src: /src/httpd/modules/filters/sed1.c:736,1
    - Dst: copy_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - eval
    - rhsbuf
    - n
    - step_vars
    argTypes:
    - sed_eval_t*
    - char*
    - int
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 688
    functionDepth: 5
    functionLinenumber: 688
    functionLinenumberEnd: 742
    functionName: dosub
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 1
    functionsReached:
    - copy_to_linebuf
    - place
    - grow_gen_buffer
    - append_to_genbuf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dosub(sed_eval_t *eval, char *rhsbuf, int n,\n                          step_vars_storage
      *step_vars)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: grow_gen_buffer
      Src: /src/httpd/modules/filters/sed1.c:754,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/sed1.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - eval
    - asp
    - al1
    - al2
    argTypes:
    - sed_eval_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: place
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 8
    functionsReached:
    - grow_gen_buffer
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *place(sed_eval_t *eval, char *asp, char *al1, char *al2)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: eval_errf
      Src: /src/httpd/modules/filters/sed1.c:781,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:793,1
    - Dst: copy_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:812,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/filters/sed1.c:818,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:819,1
    - Dst: copy_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:823,1
    - Dst: append_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:828,1
    - Dst: append_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:830,1
    - Dst: copy_to_holdbuf
      Src: /src/httpd/modules/filters/sed1.c:835,1
    - Dst: append_to_holdbuf
      Src: /src/httpd/modules/filters/sed1.c:840,1
    - Dst: append_to_holdbuf
      Src: /src/httpd/modules/filters/sed1.c:842,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:848,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:866,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:867,1
    - Dst: isprint
      Src: /src/httpd/modules/filters/sed1.c:876,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:880,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:881,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:889,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:890,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:898,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:899,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:907,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:908,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:917,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:918,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:929,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:930,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:940,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/sed1.c:940,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:945,1
    - Dst: arout
      Src: /src/httpd/modules/filters/sed1.c:951,1
    - Dst: arout
      Src: /src/httpd/modules/filters/sed1.c:961,1
    - Dst: append_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:965,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:971,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:976,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:981,1
    - Dst: arout
      Src: /src/httpd/modules/filters/sed1.c:987,1
    - Dst: eval_errf
      Src: /src/httpd/modules/filters/sed1.c:997,1
    - Dst: substitute
      Src: /src/httpd/modules/filters/sed1.c:1005,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:1011,1
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:1017,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/filters/sed1.c:1023,1
    - Dst: apr_file_printf
      Src: /src/httpd/modules/filters/sed1.c:1035,1
    - Dst: copy_to_genbuf
      Src: /src/httpd/modules/filters/sed1.c:1040,1
    - Dst: copy_to_linebuf
      Src: /src/httpd/modules/filters/sed1.c:1042,1
    - Dst: copy_to_holdbuf
      Src: /src/httpd/modules/filters/sed1.c:1044,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 257
    argCount: 3
    argNames:
    - eval
    - ipc
    - step_vars
    argTypes:
    - sed_eval_t*
    - sed_reptr_t*
    - step_vars_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 1055
    functionName: command
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 3
    functionsReached:
    - wline
    - append_to_holdbuf
    - copy_to_linebuf
    - isprint
    - copy_to_genbuf
    - append_to_linebuf
    - copy_to_holdbuf
    - arout
    - apr_file_printf
    - substitute
    - strlen
    - eval_errf
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t command(sed_eval_t *eval, sed_reptr_t *ipc,\n                            step_vars_storage
      *step_vars)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wline
      Src: /src/httpd/modules/filters/sed1.c:1069,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/filters/sed1.c:1077,1
    - Dst: apr_file_read
      Src: /src/httpd/modules/filters/sed1.c:1080,1
    - Dst: sed_eval_t*::writefn
      Src: /src/httpd/modules/filters/sed1.c:1083,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/filters/sed1.c:1085,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/filters/sed1.c:1090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - eval
    argTypes:
    - sed_eval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1096
    functionName: arout
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 2
    functionsReached:
    - apr_file_close
    - wline
    - apr_file_open
    - apr_file_read
    - sed_eval_t*::writefn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t arout(sed_eval_t *eval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sed_eval_t*::writefn
      Src: /src/httpd/modules/filters/sed1.c:1104,1
    - Dst: sed_eval_t*::writefn
      Src: /src/httpd/modules/filters/sed1.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - eval
    - buf
    - sz
    argTypes:
    - sed_eval_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1109
    functionName: wline
    functionSourceFile: /src/httpd/modules/filters/sed1.c
    functionUses: 3
    functionsReached:
    - sed_eval_t*::writefn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t wline(sed_eval_t *eval, char *buf, apr_size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_brotli.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:70,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:77,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:80,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:83,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_brotli.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: set_filter_note
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_filter_note(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:98,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_brotli.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: set_compression_quality
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_compression_quality(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:113,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_brotli.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: set_compression_lgwin
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_compression_lgwin(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:128,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_brotli.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: set_compression_lgblock
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_compression_lgblock(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:143,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:145,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:148,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: set_etag_mode
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_etag_mode(cmd_parms *cmd, void *dummy,\n                                 const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/filters/mod_brotli.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: alloc_func
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    linkageType: ''
    returnType: void
    signature: void *alloc_func(void *opaque, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/filters/mod_brotli.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - block
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: free_func
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void free_func(void *opaque, void *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/httpd/modules/filters/mod_brotli.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: cleanup_ctx
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderDestroyInstance
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_ctx(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_brotli.c:195,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/httpd/modules/filters/mod_brotli.c:197,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/httpd/modules/filters/mod_brotli.c:198,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/httpd/modules/filters/mod_brotli.c:199,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/httpd/modules/filters/mod_brotli.c:200,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_brotli.c:201,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_brotli.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - quality
    - lgwin
    - lgblock
    - alloc
    - pool
    argTypes:
    - int
    - int
    - int
    - apr_bucket_alloc_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: create_ctx
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_brigade_create
    - BrotliEncoderCreateInstance
    - BrotliEncoderSetParameter
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: brotli_ctx_t
    signature: "brotli_ctx_t *create_ctx(int quality,\n                                int
      lgwin,\n                                int lgblock,\n                                apr_bucket_alloc_t
      *alloc,\n                                apr_pool_t *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCompressStream
      Src: /src/httpd/modules/filters/mod_brotli.c:222,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_brotli.c:226,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_brotli.c:226,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/httpd/modules/filters/mod_brotli.c:231,1
    - Dst: BrotliEncoderTakeOutput
      Src: /src/httpd/modules/filters/mod_brotli.c:244,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_brotli.c:247,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_brotli.c:249,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:251,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_brotli.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - data
    - len
    - f
    argTypes:
    - brotli_ctx_t*
    - void*
    - apr_size_t
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 261
    functionName: process_chunk
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - BrotliEncoderCompressStream
    - ap_log_rerror
    - BrotliEncoderHasMoreOutput
    - APLOGNO
    - apr_bucket_transient_create
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    - BrotliEncoderTakeOutput
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t process_chunk(brotli_ctx_t *ctx,\n                                  const
      void *data,\n                                  apr_size_t len,\n                                  ap_filter_t
      *f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCompressStream
      Src: /src/httpd/modules/filters/mod_brotli.c:276,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_brotli.c:279,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_brotli.c:279,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/httpd/modules/filters/mod_brotli.c:284,1
    - Dst: BrotliEncoderTakeOutput
      Src: /src/httpd/modules/filters/mod_brotli.c:293,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/filters/mod_brotli.c:296,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_brotli.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - op
    - f
    argTypes:
    - brotli_ctx_t*
    - BrotliEncoderOperation
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 302
    functionName: flush
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 20
    functionsReached:
    - BrotliEncoderCompressStream
    - ap_log_rerror
    - BrotliEncoderHasMoreOutput
    - APLOGNO
    - apr_bucket_heap_create
    - APR_BRIGADE_INSERT_TAIL
    - BrotliEncoderTakeOutput
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t flush(brotli_ctx_t *ctx,\n                          BrotliEncoderOperation
      op,\n                          ap_filter_t *f)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:308,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:312,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_brotli.c:314,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:318,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_brotli.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: get_content_encoding
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: char *get_content_encoding(request_rec *r)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_brotli.c:337,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_brotli.c:341,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:358,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:359,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:360,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:361,1
    - Dst: get_content_encoding
      Src: /src/httpd/modules/filters/mod_brotli.c:365,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:370,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_brotli.c:372,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_brotli.c:373,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_brotli.c:374,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_brotli.c:375,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:377,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:378,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:384,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/filters/mod_brotli.c:393,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:395,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:397,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:398,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:402,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:403,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:406,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:412,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_brotli.c:420,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_brotli.c:421,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_brotli.c:427,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_brotli.c:427,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_brotli.c:427,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:428,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:429,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_brotli.c:433,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:434,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/filters/mod_brotli.c:436,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:440,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_brotli.c:444,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_brotli.c:445,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_brotli.c:457,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_brotli.c:460,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_brotli.c:463,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/filters/mod_brotli.c:466,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_brotli.c:467,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:468,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:475,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:476,1
    - Dst: create_ctx
      Src: /src/httpd/modules/filters/mod_brotli.c:479,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_brotli.c:484,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_brotli.c:485,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:495,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:496,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_brotli.c:499,1
    - Dst: flush
      Src: /src/httpd/modules/filters/mod_brotli.c:500,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:507,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/filters/mod_brotli.c:508,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:511,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/filters/mod_brotli.c:512,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:518,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/filters/mod_brotli.c:519,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_brotli.c:522,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_brotli.c:526,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_brotli.c:527,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:529,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_brotli.c:530,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/filters/mod_brotli.c:531,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_brotli.c:534,1
    - Dst: flush
      Src: /src/httpd/modules/filters/mod_brotli.c:535,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_brotli.c:540,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_brotli.c:541,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_brotli.c:543,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_brotli.c:544,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_brotli.c:549,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_brotli.c:550,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_brotli.c:551,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_brotli.c:557,1
    - Dst: process_chunk
      Src: /src/httpd/modules/filters/mod_brotli.c:561,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_brotli.c:565,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 140
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 569
    functionName: compress_filter
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - flush
    - apr_pstrmemdup
    - ap_get_module_config
    - apr_bucket_read
    - get_content_encoding
    - strncmp
    - create_ctx
    - ap_cstr_casecmp
    - apr_pstrcat
    - APR_BUCKET_IS_EOS
    - ap_get_token
    - apr_bucket_delete
    - process_chunk
    - apr_table_get
    - APR_BUCKET_REMOVE
    - apr_pool_cleanup_run
    - ap_pass_brigade
    - strcmp
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - apr_table_mergen
    - apr_off_t_toa
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_itoa
    - apr_table_setn
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t compress_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_brotli.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_brotli.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: PLACE
    functionSourceFile: /src/httpd/modules/filters/regexp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLACE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: ISTHERE
    functionSourceFile: /src/httpd/modules/filters/regexp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISTHERE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: create_charset_dir_conf
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_charset_dir_conf(apr_pool_t *p,char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: merge_charset_dir_conf
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_charset_dir_conf(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - in_dc
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: add_charset_source
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *add_charset_source(cmd_parms *cmd, void *in_dc,\n                                      const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - in_dc
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: add_charset_default
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *add_charset_default(cmd_parms *cmd, void *in_dc,\n                                       const
      char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:167,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:170,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:173,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:176,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_charset_lite.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - in_dc
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: add_charset_options
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *add_charset_options(cmd_parms *cmd, void *in_dc,\n                                       const
      char *flag)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:195,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:201,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:216,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:216,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:230,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:231,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:232,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:233,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:238,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:245,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:252,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:254,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:265,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:266,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:268,1
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/filters/mod_charset_lite.c:271,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:274,1
    - Dst: apr_xlate_sb_get
      Src: /src/httpd/modules/filters/mod_charset_lite.c:279,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 285
    functionName: find_code_page
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - strcasecmp
    - apr_brigade_create
    - ap_set_module_config
    - apr_xlate_sb_get
    - ap_get_module_config
    - apr_xlate_open
    - strncmp
    linkageType: ''
    returnType: int
    signature: int find_code_page(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - filter_name
    - filter_list
    argTypes:
    - request_rec*
    - char*
    - struct ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: configured_in_list
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "int configured_in_list(request_rec *r, const char *filter_name,\n
      \                             struct ap_filter_t *filter_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: configured_in_list
      Src: /src/httpd/modules/filters/mod_charset_lite.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - filter_name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: configured_on_input
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - configured_in_list
    linkageType: ''
    returnType: int
    signature: int configured_on_input(request_rec *r, const char *filter_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: configured_in_list
      Src: /src/httpd/modules/filters/mod_charset_lite.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - filter_name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: configured_on_output
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - configured_in_list
    linkageType: ''
    returnType: int
    signature: int configured_on_output(request_rec *r, const char *filter_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:317,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:319,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:323,1
    - Dst: configured_on_output
      Src: /src/httpd/modules/filters/mod_charset_lite.c:330,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:331,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:334,1
    - Dst: configured_on_input
      Src: /src/httpd/modules/filters/mod_charset_lite.c:340,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:341,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 350
    functionName: xlate_insert_filter
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - ap_log_rerror
    - configured_on_output
    - ap_get_module_config
    - configured_on_input
    - ap_add_output_filter
    linkageType: ''
    returnType: void
    signature: void xlate_insert_filter(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:369,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:370,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_charset_lite.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: send_bucket_downstream
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t send_bucket_downstream(ap_filter_t *f, apr_bucket *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:387,1
    - Dst: send_bucket_downstream
      Src: /src/httpd/modules/filters/mod_charset_lite.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - f
    - tmp
    - len
    argTypes:
    - ap_filter_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: send_downstream
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - send_bucket_downstream
    - apr_bucket_transient_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t send_downstream(ap_filter_t *f, const char *tmp, apr_size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:400,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:401,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:402,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: send_eos
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_create
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_eos_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t send_eos(ap_filter_t *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_charset_lite.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - partial
    - partial_len
    argTypes:
    - charset_filter_ctx_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 428
    functionName: set_aside_partial_char
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t set_aside_partial_char(charset_filter_ctx_t *ctx,\n                                           const
      char *partial,\n                                           apr_size_t partial_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/filters/mod_charset_lite.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - cur_str
    - cur_len
    - out_str
    - out_len
    argTypes:
    - charset_filter_ctx_t*
    - char**
    - apr_size_t*
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 470
    functionName: finish_partial_char
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - apr_xlate_conv_buffer
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t finish_partial_char(charset_filter_ctx_t *ctx,\n                                        /*
      input buffer: */\n                                        const char **cur_str,\n
      \                                       apr_size_t *cur_len,\n                                        /*
      output buffer: */\n                                        char **out_str,\n
      \                                       apr_size_t *out_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:482,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:486,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:490,1
    - Dst: strcpy
      Src: /src/httpd/modules/filters/mod_charset_lite.c:494,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:494,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_charset_lite.c:499,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_charset_lite.c:500,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/filters/mod_charset_lite.c:502,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_charset_lite.c:502,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:506,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:509,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:511,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - f
    - rv
    argTypes:
    - ap_filter_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 512
    functionName: log_xlate_error
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - strcpy
    - ap_bin2hex
    - strlen
    linkageType: ''
    returnType: void
    signature: void log_xlate_error(ap_filter_t *f, apr_status_t rv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:549,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:560,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_charset_lite.c:567,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/modules/filters/mod_charset_lite.c:582,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:585,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:586,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 621
    functionName: chk_filter_chain
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - strcasecmp
    - APLOGNO
    - APLOGrtrace1
    linkageType: ''
    returnType: void
    signature: void chk_filter_chain(ap_filter_t *f)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_charset_lite.c:664,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_charset_lite.c:667,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:668,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_charset_lite.c:669,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_charset_lite.c:672,1
    - Dst: finish_partial_char
      Src: /src/httpd/modules/filters/mod_charset_lite.c:690,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/filters/mod_charset_lite.c:698,1
    - Dst: set_aside_partial_char
      Src: /src/httpd/modules/filters/mod_charset_lite.c:709,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_charset_lite.c:720,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_charset_lite.c:722,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_charset_lite.c:728,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_charset_lite.c:729,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_charset_lite.c:730,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 5
    argNames:
    - ctx
    - bb
    - buffer
    - buffer_avail
    - hit_eos
    argTypes:
    - charset_filter_ctx_t*
    - apr_bucket_brigade*
    - char*
    - apr_size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 746
    functionName: xlate_brigade
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_xlate_conv_buffer
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - finish_partial_char
    - apr_bucket_read
    - set_aside_partial_char
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t xlate_brigade(charset_filter_ctx_t *ctx,\n                                  apr_bucket_brigade
      *bb,\n                                  char *buffer,\n                                  apr_size_t
      *buffer_avail,\n                                  int *hit_eos)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:756,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:758,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:782,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_charset_lite.c:793,1
    - Dst: "APR_CHARSET_EBCDIC\n        /* On an EBCDIC machine, be willing to translate
        mod_autoindex-\n         * generated output.  Otherwise, it doesn't look too
        cool.\n         *\n         * XXX This isn't a perfect fix because this doesn't
        trigger us\n         * to convert from the charset of the source code to ASCII.
        \ The\n         * general solution seems to be to allow a generator to set
        an\n         * indicator in the r specifying that the body is coded in the\n
        \        * implementation character set (i.e., the charset of the source\n
        \        * code).  This would get several different types of documents\n         *
        translated properly: mod_autoindex output, mod_status output,\n         *
        mod_info output, hard-coded error documents, etc.\n         */\n            strcmp"
      Src: /src/httpd/modules/filters/mod_charset_lite.c:794,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/filters/mod_charset_lite.c:809,1
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/filters/mod_charset_lite.c:812,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:815,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_charset_lite.c:815,1
    - Dst: apr_xlate_sb_get
      Src: /src/httpd/modules/filters/mod_charset_lite.c:821,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:829,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:836,1
    - Dst: chk_filter_chain
      Src: /src/httpd/modules/filters/mod_charset_lite.c:843,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_charset_lite.c:849,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:854,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_charset_lite.c:857,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_charset_lite.c:865,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:868,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_charset_lite.c:871,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_charset_lite.c:884,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_charset_lite.c:887,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_charset_lite.c:888,1
    - Dst: send_bucket_downstream
      Src: /src/httpd/modules/filters/mod_charset_lite.c:889,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_charset_lite.c:895,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_charset_lite.c:901,1
    - Dst: finish_partial_char
      Src: /src/httpd/modules/filters/mod_charset_lite.c:915,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/filters/mod_charset_lite.c:920,1
    - Dst: set_aside_partial_char
      Src: /src/httpd/modules/filters/mod_charset_lite.c:932,1
    - Dst: send_downstream
      Src: /src/httpd/modules/filters/mod_charset_lite.c:947,1
    - Dst: send_downstream
      Src: /src/httpd/modules/filters/mod_charset_lite.c:959,1
    - Dst: send_eos
      Src: /src/httpd/modules/filters/mod_charset_lite.c:964,1
    - Dst: log_xlate_error
      Src: /src/httpd/modules/filters/mod_charset_lite.c:968,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 120
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 972
    functionName: xlate_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_get_module_config
    - apr_bucket_read
    - log_xlate_error
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - send_eos
    - send_bucket_downstream
    - apr_xlate_open
    - chk_filter_chain
    - finish_partial_char
    - set_aside_partial_char
    - APR_BUCKET_REMOVE
    - ap_cstr_casecmpn
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - apr_xlate_sb_get
    - "APR_CHARSET_EBCDIC\n        /* On an EBCDIC machine, be willing to translate
      mod_autoindex-\n         * generated output.  Otherwise, it doesn't look too
      cool.\n         *\n         * XXX This isn't a perfect fix because this doesn't
      trigger us\n         * to convert from the charset of the source code to ASCII.
      \ The\n         * general solution seems to be to allow a generator to set an\n
      \        * indicator in the r specifying that the body is coded in the\n         *
      implementation character set (i.e., the charset of the source\n         * code).
      \ This would get several different types of documents\n         * translated
      properly: mod_autoindex output, mod_status output,\n         * mod_info output,
      hard-coded error documents, etc.\n         */\n            strcmp"
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - apr_xlate_conv_buffer
    - send_downstream
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t xlate_out_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:979,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_charset_lite.c:981,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:989,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1005,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1011,1
    - Dst: chk_filter_chain
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1018,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1021,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1031,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1038,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1041,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1042,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1048,1
    - Dst: xlate_brigade
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1052,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1060,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1065,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1072,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1084,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1085,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1086,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1087,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1088,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1089,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1090,1
    - Dst: log_xlate_error
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1095,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1099
    functionName: xlate_in_filter
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_PREPEND
    - xlate_brigade
    - ap_log_rerror
    - APR_BRIGADE_EMPTY
    - apr_pcalloc
    - APR_BRIGADE_FIRST
    - APR_BRIGADE_INSERT_HEAD
    - APR_BUCKET_REMOVE
    - apr_bucket_heap_create
    - APR_BUCKET_IS_METADATA
    - ap_get_module_config
    - chk_filter_chain
    - apr_table_get
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - log_xlate_error
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t xlate_in_filter(ap_filter_t *f, apr_bucket_brigade *bb,\n
      \                                   ap_input_mode_t mode, apr_read_type_e block,\n
      \                                   apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1124,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1125,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1127,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1129,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1132,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_charset_lite.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1137
    functionName: charset_register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_charset_lite.c
    functionUses: 0
    functionsReached:
    - ap_register_input_filter
    - ap_hook_insert_filter
    - ap_register_output_filter
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void charset_register_hooks(apr_pool_t *p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_buffer.c:71,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:72,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_buffer.c:75,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_buffer.c:76,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_buffer.c:77,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:81,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:82,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:86,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:90,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_buffer.c:95,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_buffer.c:98,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:103,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:104,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:107,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_buffer.c:112,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:115,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:116,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:119,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_buffer.c:124,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:129,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:130,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_buffer.c:138,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:142,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_buffer.c:158,1
    - Dst: APR_BUCKET_IS_HEAP
      Src: /src/httpd/modules/filters/mod_buffer.c:167,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:168,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:169,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_buffer.c:174,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_buffer.c:175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 184
    functionName: buffer_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APR_BRIGADE_FIRST
    - apr_pcalloc
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_brigade_create
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_brigade_length
    - ap_get_module_config
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - apr_bucket_read
    - APR_BUCKET_IS_HEAP
    - apr_brigade_write
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t buffer_out_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/filters/mod_buffer.c:197,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_buffer.c:198,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:199,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_buffer.c:204,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_buffer.c:205,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_buffer.c:206,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_buffer.c:207,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:212,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:216,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:225,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_buffer.c:226,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:237,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_buffer.c:243,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_buffer.c:246,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:247,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:248,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_buffer.c:254,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:255,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:256,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_buffer.c:262,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:263,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:264,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_buffer.c:269,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_buffer.c:271,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_buffer.c:273,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_buffer.c:278,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_buffer.c:283,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_buffer.c:284,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_buffer.c:286,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_buffer.c:288,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_buffer.c:290,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_buffer.c:291,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_buffer.c:292,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 296
    functionName: buffer_in_filter
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - apr_pcalloc
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_brigade_create
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_brigade_partition
    - apr_bucket_read
    - ap_is_initial_req
    - ap_get_module_config
    - APR_BRIGADE_EMPTY
    - apr_brigade_write
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t buffer_in_filter(ap_filter_t *f, apr_bucket_brigade *bb,\n
      \       ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_buffer.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: create_buffer_config
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_buffer_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_buffer.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: merge_buffer_config
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_buffer_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/filters/mod_buffer.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: set_buffer_size
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: char *set_buffer_size(cmd_parms *cmd, void *dconf, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_buffer.c:339,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_buffer.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_buffer.c
    functionUses: 1
    functionsReached:
    - ap_register_input_filter
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_ratelimit.c:50,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:51,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:51,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:52,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - bb
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: brigade_dump
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_log_rerror
    - APLOGNO
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: void
    signature: void brigade_dump(request_rec *r, apr_bucket_brigade *bb)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ratelimit.c:74,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:75,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_ratelimit.c:79,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ratelimit.c:82,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:83,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_ratelimit.c:87,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:91,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ratelimit.c:92,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:93,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_ratelimit.c:97,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_ratelimit.c:99,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:101,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:102,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_ratelimit.c:108,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_ratelimit.c:118,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_ratelimit.c:119,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/filters/mod_ratelimit.c:122,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_ratelimit.c:125,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_ratelimit.c:130,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:131,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:131,1
    - Dst: AP_RL_BUCKET_IS_END
      Src: /src/httpd/modules/filters/mod_ratelimit.c:132,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/filters/mod_ratelimit.c:133,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/filters/mod_ratelimit.c:139,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:140,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:141,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_ratelimit.c:142,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:145,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_ratelimit.c:151,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:152,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:152,1
    - Dst: AP_RL_BUCKET_IS_START
      Src: /src/httpd/modules/filters/mod_ratelimit.c:153,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/filters/mod_ratelimit.c:154,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_ratelimit.c:160,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:163,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_ratelimit.c:172,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:174,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:179,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_ratelimit.c:180,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:181,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:183,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/filters/mod_ratelimit.c:184,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_ratelimit.c:187,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:195,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:196,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/filters/mod_ratelimit.c:205,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_ratelimit.c:206,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_ratelimit.c:207,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_ratelimit.c:209,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_ratelimit.c:210,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/filters/mod_ratelimit.c:214,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_ratelimit.c:215,1
    - Dst: brigade_dump
      Src: /src/httpd/modules/filters/mod_ratelimit.c:219,1
    - Dst: brigade_dump
      Src: /src/httpd/modules/filters/mod_ratelimit.c:220,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/filters/mod_ratelimit.c:224,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:230,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_ratelimit.c:231,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_ratelimit.c:235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_ratelimit.c:235,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_ratelimit.c:242,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:246,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:247,1
    - Dst: brigade_dump
      Src: /src/httpd/modules/filters/mod_ratelimit.c:252,1
    - Dst: ap_save_brigade
      Src: /src/httpd/modules/filters/mod_ratelimit.c:256,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 257
    functionName: rate_limit_filter
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - apr_brigade_create
    - atoi
    - ap_save_brigade
    - APR_BUCKET_IS_EOS
    - AP_RL_BUCKET_IS_END
    - apr_brigade_partition
    - apr_brigade_length
    - apr_table_get
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - APR_BRIGADE_PREPEND
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - AP_RL_BUCKET_IS_START
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_palloc
    - brigade_dump
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_sleep
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rate_limit_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: rl_bucket_read
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t rl_bucket_read(apr_bucket *b, const char **str,\n               apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/filters/mod_ratelimit.c:272,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: ap_rl_end_create
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: void ap_rl_end_create(apr_bucket_alloc_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/filters/mod_ratelimit.c:288,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/filters/mod_ratelimit.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: ap_rl_start_create
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: void ap_rl_start_create(apr_bucket_alloc_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_ratelimit.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_ratelimit.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: CRYPTO_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: CRYPTO_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CRYPTO_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CRYPTO_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: CRYPTO_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CRYPTO_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CRYPTO_DECLARE
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CRYPTO_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - f
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: SSI_CREATE_ERROR_BUCKET
    functionSourceFile: /src/httpd/modules/filters/mod_include.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSI_CREATE_ERROR_BUCKET(ctx, f, bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_substitute.c:82,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/filters/mod_substitute.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: create_substitute_dcfg
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_substitute_dcfg(apr_pool_t *p, char *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_substitute.c:94,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/filters/mod_substitute.c:108,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/filters/mod_substitute.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p
    - basev
    - overv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: merge_substitute_dcfg
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_substitute_dcfg(apr_pool_t *p, void *basev, void *overv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b
    - ','
    - offset
    - ','
    - tmp_b
    - ','
    - patlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: SEDRMPATBCKT
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEDRMPATBCKT(b, offset, tmp_b, patlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: CAP2LINEMAX
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAP2LINEMAX(n)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_substitute.c:150,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_substitute.c:153,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:156,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/filters/mod_substitute.c:157,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_substitute.c:172,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_substitute.c:173,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_substitute.c:174,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/filters/mod_substitute.c:175,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_substitute.c:178,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_substitute.c:179,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_substitute.c:180,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_substitute.c:181,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_substitute.c:188,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:192,1
    - Dst: CAP2LINEMAX
      Src: /src/httpd/modules/filters/mod_substitute.c:194,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:195,1
    - Dst: apr_strmatch
      Src: /src/httpd/modules/filters/mod_substitute.c:210,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/filters/mod_substitute.c:216,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:218,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_substitute.c:221,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:227,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_substitute.c:246,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_substitute.c:247,1
    - Dst: SEDRMPATBCKT
      Src: /src/httpd/modules/filters/mod_substitute.c:264,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_substitute.c:269,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/filters/mod_substitute.c:273,1
    - Dst: ap_varbuf_pdup
      Src: /src/httpd/modules/filters/mod_substitute.c:285,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:287,1
    - Dst: CAP2LINEMAX
      Src: /src/httpd/modules/filters/mod_substitute.c:289,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_substitute.c:290,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/filters/mod_substitute.c:292,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_substitute.c:293,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:307,1
    - Dst: CAP2LINEMAX
      Src: /src/httpd/modules/filters/mod_substitute.c:309,1
    - Dst: ap_regexec_len
      Src: /src/httpd/modules/filters/mod_substitute.c:318,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/filters/mod_substitute.c:324,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:326,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_substitute.c:329,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:335,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/modules/filters/mod_substitute.c:348,1
    - Dst: ap_varbuf_regsub
      Src: /src/httpd/modules/filters/mod_substitute.c:350,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:355,1
    - Dst: ap_pregsub_ex
      Src: /src/httpd/modules/filters/mod_substitute.c:364,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_substitute.c:370,1
    - Dst: SEDRMPATBCKT
      Src: /src/httpd/modules/filters/mod_substitute.c:373,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_substitute.c:374,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/filters/mod_substitute.c:376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:377,1
    - Dst: ap_varbuf_pdup
      Src: /src/httpd/modules/filters/mod_substitute.c:392,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:394,1
    - Dst: CAP2LINEMAX
      Src: /src/httpd/modules/filters/mod_substitute.c:396,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_substitute.c:397,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/filters/mod_substitute.c:399,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_substitute.c:400,1
    - Dst: ap_assert
      Src: /src/httpd/modules/filters/mod_substitute.c:405,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/modules/filters/mod_substitute.c:412,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 133
    argCount: 4
    argNames:
    - f
    - inb
    - mybb
    - pool
    argTypes:
    - ap_filter_t*
    - apr_bucket*
    - apr_bucket_brigade*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 414
    functionName: do_pattmatch
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_varbuf_regsub
    - SEDRMPATBCKT
    - CAP2LINEMAX
    - ap_get_module_config
    - apr_bucket_read
    - apr_bucket_pool_create
    - ap_varbuf_strmemcat
    - ap_pregsub_ex
    - apr_bucket_delete
    - ap_varbuf_init
    - APR_BUCKET_NEXT
    - ap_regexec_len
    - ap_expr_str_exec
    - apr_bucket_transient_create
    - apr_strmatch
    - ap_varbuf_free
    - ap_assert
    - APR_BRIGADE_INSERT_TAIL
    - ap_varbuf_pdup
    - ap_log_rerror
    - apr_pcalloc
    - ap_set_module_config
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - strlen
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t do_pattmatch(ap_filter_t *f, apr_bucket *inb,\n                                 apr_bucket_brigade
      *mybb,\n                                 apr_pool_t *pool)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_substitute.c:429,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_substitute.c:440,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_substitute.c:446,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_substitute.c:447,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_substitute.c:448,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_substitute.c:453,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/filters/mod_substitute.c:455,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/filters/mod_substitute.c:456,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_substitute.c:457,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_substitute.c:463,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_substitute.c:492,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_substitute.c:492,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_substitute.c:493,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_substitute.c:499,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/filters/mod_substitute.c:500,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_substitute.c:508,1
    - Dst: do_pattmatch
      Src: /src/httpd/modules/filters/mod_substitute.c:510,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_substitute.c:513,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_substitute.c:514,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_substitute.c:516,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:517,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_substitute.c:518,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_substitute.c:524,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_substitute.c:525,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:526,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_substitute.c:533,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_substitute.c:535,1
    - Dst: memchr
      Src: /src/httpd/modules/filters/mod_substitute.c:540,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_substitute.c:544,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_substitute.c:556,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_substitute.c:557,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_substitute.c:565,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:566,1
    - Dst: apr_brigade_pflatten
      Src: /src/httpd/modules/filters/mod_substitute.c:567,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_substitute.c:578,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_substitute.c:580,1
    - Dst: do_pattmatch
      Src: /src/httpd/modules/filters/mod_substitute.c:582,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_substitute.c:591,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_substitute.c:592,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_substitute.c:593,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_substitute.c:596,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/filters/mod_substitute.c:607,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:609,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_substitute.c:610,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_substitute.c:611,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/filters/mod_substitute.c:613,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_substitute.c:624,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_substitute.c:625,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_substitute.c:631,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_substitute.c:632,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_substitute.c:633,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/filters/mod_substitute.c:637,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_substitute.c:641,1
    - Dst: ap_save_brigade
      Src: /src/httpd/modules/filters/mod_substitute.c:646,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_substitute.c:655,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_substitute.c:655,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/filters/mod_substitute.c:657,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 118
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 659
    functionName: substitute_filter
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - do_pattmatch
    - apr_brigade_create
    - ap_save_brigade
    - ap_get_module_config
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BUCKET_REMOVE
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - apr_bucket_transient_create
    - apr_bucket_flush_create
    - apr_pool_create
    - apr_pool_clear
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - apr_brigade_pflatten
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_split
    - ap_log_rerror
    - apr_pcalloc
    - memchr
    - APLOGNO
    - apr_pool_tag
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t substitute_filter(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/modules/filters/mod_substitute.c:674,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_substitute.c:677,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/filters/mod_substitute.c:706,1
    - Dst: ap_regcomp_get_default_cflags
      Src: /src/httpd/modules/filters/mod_substitute.c:724,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/filters/mod_substitute.c:726,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/filters/mod_substitute.c:730,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_substitute.c:739,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/modules/filters/mod_substitute.c:740,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_substitute.c:748,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/filters/mod_substitute.c:750,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_substitute.c:752,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_substitute.c:756,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 3
    argNames:
    - cmd
    - cfg
    - line
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 764
    functionName: set_pattern
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_tolower
    - apr_strmatch_precompile
    - apr_pstrcat
    - apr_array_push
    - strlen
    - ap_regcomp_get_default_cflags
    - ap_pregcomp
    - apr_pstrdup
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: char *set_pattern(cmd_parms *cmd, void *cfg, const char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/filters/mod_substitute.c:777,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 3
    argNames:
    - cmd
    - cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 808
    functionName: set_max_line_length
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: char *set_max_line_length(cmd_parms *cmd, void *cfg, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_substitute.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 815
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_substitute.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *pool)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:111,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:115,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:125,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:126,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:129,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/filters/mod_deflate.c:135,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/filters/mod_deflate.c:139,1
    - Dst: ap_strrchr
      Src: /src/httpd/modules/filters/mod_deflate.c:142,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:144,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:145,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:148,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/filters/mod_deflate.c:156,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:157,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:158,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:161,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:168,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:183,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 3
    argNames:
    - r
    - hdrs1
    - hdrs2
    argTypes:
    - request_rec*
    - apr_table_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 186
    functionName: check_gzip
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - ap_strrchr
    - apr_isspace
    - ap_cstr_casecmp
    - apr_table_setn
    - apr_table_unset
    - ap_strchr_c
    - apr_table_get
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int check_gzip(request_rec *r, apr_table_t *hdrs1, apr_table_t *hdrs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - string
    - x
    argTypes:
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: putLong
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void putLong(unsigned char *string, unsigned long x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: getLong
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getLong(unsigned char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: create_deflate_server_config
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_deflate_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: create_deflate_dirconf
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_deflate_dirconf(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:233,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: deflate_set_window_size
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_window_size(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:250,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: deflate_set_buffer_size
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_buffer_size(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:265,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:271,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:274,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:277,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/filters/mod_deflate.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: deflate_set_note
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_note(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg1, const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:290,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: deflate_set_memlevel
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_memlevel(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:307,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:310,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:313,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 324
    functionName: deflate_set_etag
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_etag(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:330,1
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: deflate_set_compressionlevel
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_compressionlevel(cmd_parms *cmd, void *dummy,\n
      \                                       const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/filters/mod_deflate.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: deflate_set_inflate_limit
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_inflate_limit(cmd_parms *cmd, void *dirconf,\n                                      const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: deflate_set_inflate_ratio_limit
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_inflate_ratio_limit(cmd_parms *cmd,\n                                                   void
      *dirconf,\n                                                   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/filters/mod_deflate.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dirconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: deflate_set_inflate_ratio_burst
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *deflate_set_inflate_ratio_burst(cmd_parms *cmd,\n                                                   void
      *dirconf,\n                                                   const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/httpd/modules/filters/mod_deflate.c:436,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/filters/mod_deflate.c:440,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/filters/mod_deflate.c:443,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - c
    - len
    - flags
    - bb
    argTypes:
    - deflate_ctx*
    - deflate_filter_config*
    - int
    - unsigned int
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 449
    functionName: consume_buffer
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 1
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_heap_create
    - crc32
    - apr_bucket_transient_create
    linkageType: ''
    returnType: void
    signature: "void consume_buffer(deflate_ctx *ctx, deflate_filter_config *c,\n
      \                          int len, unsigned int flags, apr_bucket_brigade *bb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:462,1
    - Dst: libz_func
      Src: /src/httpd/modules/filters/mod_deflate.c:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - c
    - flush
    - flags
    argTypes:
    - deflate_ctx*
    - deflate_filter_config*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 493
    functionName: flush_libz_buffer
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - libz_func
    - consume_buffer
    linkageType: ''
    returnType: int
    signature: "int flush_libz_buffer(deflate_ctx *ctx, deflate_filter_config *c,\n
      \                            int (*libz_func)(z_streamp, int), int flush,\n
      \                            unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflate_ctx*::libz_end_func
      Src: /src/httpd/modules/filters/mod_deflate.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: deflate_ctx_cleanup
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - deflate_ctx*::libz_end_func
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t deflate_ctx_cleanup(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:512,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:516,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_deflate.c:520,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_deflate.c:522,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_deflate.c:523,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - transform
    - etag_opt
    argTypes:
    - request_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 543
    functionName: deflate_check_etag
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_table_setn
    - apr_table_unset
    - apr_table_get
    - strlen
    linkageType: ''
    returnType: void
    signature: void deflate_check_etag(request_rec *r, const char *transform, int
      etag_opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ctx
    - dc
    argTypes:
    - request_rec*
    - deflate_ctx*
    - deflate_dirconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 559
    functionName: check_ratio
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int check_ratio(request_rec *r, deflate_ctx *ctx,\n                       const
      deflate_dirconf_t *dc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/filters/mod_deflate.c:564,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: have_ssl_compression
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_ssl_var_lookup
    linkageType: ''
    returnType: int
    signature: int have_ssl_compression(request_rec *r)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:584,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:588,1
    - Dst: have_ssl_compression
      Src: /src/httpd/modules/filters/mod_deflate.c:601,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:602,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:605,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:606,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/filters/mod_deflate.c:610,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:611,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_deflate.c:620,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:623,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:624,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:627,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:628,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_deflate.c:630,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_deflate.c:631,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:636,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_deflate.c:648,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:652,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:664,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:665,1
    - Dst: APLOG_R_IS_LEVEL
      Src: /src/httpd/modules/filters/mod_deflate.c:667,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:671,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:673,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:676,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:677,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_deflate.c:685,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:686,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:688,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:689,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:691,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:692,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:700,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:704,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_deflate.c:706,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:710,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_deflate.c:714,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:722,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:725,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:725,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:726,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_deflate.c:726,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:727,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:730,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:731,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:738,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/filters/mod_deflate.c:746,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:751,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:756,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:758,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:759,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:762,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:763,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:767,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:774,1
    - Dst: ap_get_token
      Src: /src/httpd/modules/filters/mod_deflate.c:782,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:783,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_deflate.c:789,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_deflate.c:789,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_deflate.c:789,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:790,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:792,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:793,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:797,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_deflate.c:807,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_deflate.c:808,1
    - Dst: deflateInit2
      Src: /src/httpd/modules/filters/mod_deflate.c:811,1
    - Dst: deflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:816,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:817,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:817,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:826,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:827,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_deflate.c:833,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/filters/mod_deflate.c:848,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:849,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/filters/mod_deflate.c:852,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:856,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:859,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:860,1
    - Dst: deflate_check_etag
      Src: /src/httpd/modules/filters/mod_deflate.c:862,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:867,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:868,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/filters/mod_deflate.c:872,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:874,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:883,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:886,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:899,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:900,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_deflate.c:903,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:905,1
    - Dst: flush_libz_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:910,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_deflate.c:912,1
    - Dst: putLong
      Src: /src/httpd/modules/filters/mod_deflate.c:913,1
    - Dst: putLong
      Src: /src/httpd/modules/filters/mod_deflate.c:914,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/filters/mod_deflate.c:916,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:918,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:919,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:919,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:927,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/filters/mod_deflate.c:929,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:935,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/filters/mod_deflate.c:937,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_deflate.c:943,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/filters/mod_deflate.c:945,1
    - Dst: deflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:952,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:955,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/filters/mod_deflate.c:958,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:961,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:962,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:967,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:968,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_deflate.c:972,1
    - Dst: flush_libz_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:974,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:977,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:977,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:984,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:985,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:986,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:987,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_deflate.c:994,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:999,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1000,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1005,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1007,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1007,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1012,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_deflate.c:1016,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1017,1
    - Dst: crc32
      Src: /src/httpd/modules/filters/mod_deflate.c:1021,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1033,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1037,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1038,1
    - Dst: deflate
      Src: /src/httpd/modules/filters/mod_deflate.c:1044,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1047,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1047,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1054,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 237
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 1058
    functionName: deflate_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - consume_buffer
    - deflateEnd
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_read
    - apr_bucket_pool_create
    - APLOG_R_IS_LEVEL
    - strncmp
    - APR_BUCKET_IS_EOS
    - apr_pstrcat
    - ap_cstr_casecmp
    - ap_get_token
    - deflateInit2
    - apr_pool_cleanup_kill
    - apr_bucket_delete
    - apr_table_get
    - APR_BUCKET_REMOVE
    - putLong
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - strcmp
    - apr_bucket_immortal_create
    - have_ssl_compression
    - deflate
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - apr_table_mergen
    - apr_off_t_toa
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_split
    - ap_log_rerror
    - crc32
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - flush_libz_buffer
    - apr_table_setn
    - apr_itoa
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - APR_BUCKET_IS_FLUSH
    - deflate_check_etag
    - strlen
    - apr_pool_cleanup_register
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t deflate_out_filter(ap_filter_t *f,\n                                       apr_bucket_brigade
      *bb)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - deflate_ctx*
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1148
    functionName: consume_zlib_flags
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t consume_zlib_flags(deflate_ctx *ctx,\n                                       const
      char **data, apr_size_t *len)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1168,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:1171,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:1172,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/filters/mod_deflate.c:1179,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1180,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1181,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:1185,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1186,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1187,1
    - Dst: check_gzip
      Src: /src/httpd/modules/filters/mod_deflate.c:1197,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1198,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1199,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1202,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_deflate.c:1203,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_deflate.c:1204,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1205,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1209,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1212,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1219,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_deflate.c:1224,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:1225,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1230,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1230,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1235,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1236,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1237,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/filters/mod_deflate.c:1241,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:1247,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:1248,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1257,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1257,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1264,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1264,1
    - Dst: inflateInit2
      Src: /src/httpd/modules/filters/mod_deflate.c:1269,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1273,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1274,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1278,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1279,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1286,1
    - Dst: ap_get_limit_req_body
      Src: /src/httpd/modules/filters/mod_deflate.c:1292,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1295,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1296,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_deflate.c:1302,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1303,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1307,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_deflate.c:1311,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_deflate.c:1312,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_deflate.c:1313,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:1318,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1320,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1321,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1321,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1327,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1328,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_deflate.c:1332,1
    - Dst: inflate
      Src: /src/httpd/modules/filters/mod_deflate.c:1337,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1340,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1341,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1341,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1348,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1349,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1349,1
    - Dst: check_ratio
      Src: /src/httpd/modules/filters/mod_deflate.c:1357,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1358,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1359,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1359,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1366,1
    - Dst: APR_BUCKET_PREV
      Src: /src/httpd/modules/filters/mod_deflate.c:1373,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1374,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1375,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1382,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1382,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1388,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_deflate.c:1393,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1394,1
    - Dst: consume_zlib_flags
      Src: /src/httpd/modules/filters/mod_deflate.c:1398,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1414,1
    - Dst: inflate
      Src: /src/httpd/modules/filters/mod_deflate.c:1419,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1422,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1423,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1423,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1430,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1431,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1431,1
    - Dst: check_ratio
      Src: /src/httpd/modules/filters/mod_deflate.c:1439,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1440,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1441,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1441,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1449,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1471,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1476,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1480,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1480,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1486,1
    - Dst: getLong
      Src: /src/httpd/modules/filters/mod_deflate.c:1491,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1493,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1494,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1494,1
    - Dst: getLong
      Src: /src/httpd/modules/filters/mod_deflate.c:1498,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1501,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1502,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1502,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1517,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1517,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1524,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1531,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1533,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1537,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_deflate.c:1538,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_deflate.c:1539,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/filters/mod_deflate.c:1542,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/filters/mod_deflate.c:1543,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:1545,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/filters/mod_deflate.c:1545,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1546,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 229
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1551
    functionName: deflate_in_filter
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - consume_buffer
    - apr_brigade_create
    - apr_brigade_flatten
    - ap_get_module_config
    - apr_bucket_read
    - check_ratio
    - inflateInit2
    - APR_BUCKET_IS_EOS
    - ap_get_limit_req_body
    - consume_zlib_flags
    - apr_brigade_partition
    - apr_table_get
    - APR_BUCKET_REMOVE
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - APR_BRIGADE_LAST
    - inflate
    - getLong
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - memcpy
    - apr_bucket_split
    - ap_log_rerror
    - APR_BUCKET_PREV
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - check_gzip
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - ap_is_initial_req
    - APR_BRIGADE_SENTINEL
    - inflateEnd
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t deflate_in_filter(ap_filter_t *f,\n                                      apr_bucket_brigade
      *bb,\n                                      ap_input_mode_t mode,\n                                      apr_read_type_e
      block,\n                                      apr_off_t readbytes)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1567,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:1571,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_deflate.c:1572,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/filters/mod_deflate.c:1585,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_deflate.c:1586,1
    - Dst: check_gzip
      Src: /src/httpd/modules/filters/mod_deflate.c:1587,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1589,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1590,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:1598,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_deflate.c:1599,1
    - Dst: deflate_check_etag
      Src: /src/httpd/modules/filters/mod_deflate.c:1601,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1606,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1607,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1610,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_deflate.c:1611,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1612,1
    - Dst: inflateInit2
      Src: /src/httpd/modules/filters/mod_deflate.c:1617,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1621,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1622,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1622,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1631,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1632,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/filters/mod_deflate.c:1639,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_deflate.c:1647,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_deflate.c:1652,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_deflate.c:1654,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1660,1
    - Dst: flush_libz_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1671,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1672,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1672,1
    - Dst: getLong
      Src: /src/httpd/modules/filters/mod_deflate.c:1680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1682,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1682,1
    - Dst: getLong
      Src: /src/httpd/modules/filters/mod_deflate.c:1687,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1690,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1690,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1696,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1696,1
    - Dst: inflateEnd
      Src: /src/httpd/modules/filters/mod_deflate.c:1701,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/filters/mod_deflate.c:1703,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1706,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1707,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1713,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1714,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_deflate.c:1718,1
    - Dst: flush_libz_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1720,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1723,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1728,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1728,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1735,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1736,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1737,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1738,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_deflate.c:1745,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_deflate.c:1750,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_deflate.c:1751,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1756,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1758,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/filters/mod_deflate.c:1762,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_deflate.c:1763,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1772,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1774,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1777,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1783,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1783,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1785,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1786,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1790,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1790,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1796,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1796,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1803,1
    - Dst: consume_zlib_flags
      Src: /src/httpd/modules/filters/mod_deflate.c:1811,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1816,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1832,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1839,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1839,1
    - Dst: consume_buffer
      Src: /src/httpd/modules/filters/mod_deflate.c:1857,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_deflate.c:1861,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_deflate.c:1862,1
    - Dst: inflate
      Src: /src/httpd/modules/filters/mod_deflate.c:1868,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1871,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1871,1
    - Dst: check_ratio
      Src: /src/httpd/modules/filters/mod_deflate.c:1878,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1879,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1879,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_deflate.c:1892,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_deflate.c:1896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_deflate.c:1896,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_deflate.c:1905,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_deflate.c:1911,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 197
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1555
    functionDepth: 2
    functionLinenumber: 1555
    functionLinenumberEnd: 1915
    functionName: inflate_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - consume_buffer
    - apr_brigade_create
    - ap_get_module_config
    - apr_bucket_read
    - check_ratio
    - inflateInit2
    - APR_BUCKET_IS_EOS
    - apr_pool_cleanup_kill
    - apr_bucket_delete
    - consume_zlib_flags
    - apr_table_get
    - APR_BUCKET_REMOVE
    - ap_pass_brigade
    - inflate
    - getLong
    - apr_brigade_cleanup
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - memcpy
    - apr_bucket_split
    - ap_log_rerror
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - flush_libz_buffer
    - check_gzip
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - ap_is_initial_req
    - deflate_check_etag
    - inflateEnd
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t inflate_out_filter(ap_filter_t *f,\n                                      apr_bucket_brigade
      *bb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1921
    functionName: mod_deflate_post_config
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mod_deflate_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \                                  apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1927,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1929,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_deflate.c:1931,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/filters/mod_deflate.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1934
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_deflate.c
    functionUses: 1
    functionsReached:
    - ap_register_input_filter
    - ap_register_output_filter
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_crypto.c:123,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:128,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/filters/mod_crypto.c:131,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/filters/mod_crypto.c:135,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/filters/mod_crypto.c:140,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:145,1
    - Dst: apr_crypto_clear
      Src: /src/httpd/modules/filters/mod_crypto.c:147,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/filters/mod_crypto.c:149,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:159,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/filters/mod_crypto.c:160,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:166,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_crypto.c:171,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:176,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_crypto.c:181,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:185,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_crypto.c:192,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:197,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_crypto.c:202,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:206,1
    - Dst: strncmp
      Src: /src/httpd/modules/filters/mod_crypto.c:213,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:218,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/filters/mod_crypto.c:223,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:227,1
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_crypto.c:234,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/filters/mod_crypto.c:239,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - cmd
    - pass
    - arg
    argTypes:
    - cmd_parms*
    - pass_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 245
    functionName: parse_pass_conf_binary
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcmp
    - ap_server_root_relative
    - apr_strerror
    - apr_palloc
    - apr_pstrcat
    - apr_file_info_get
    - apr_file_open
    - apr_crypto_clear
    - strncmp
    - apr_file_read_full
    linkageType: ''
    returnType: char
    signature: "char *parse_pass_conf_binary(cmd_parms *cmd,\n                                          pass_conf
      * pass,\n                                          const char *arg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:260,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/filters/mod_crypto.c:273,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:275,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:276,1
    - Dst: apr_unescape_hex
      Src: /src/httpd/modules/filters/mod_crypto.c:286,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_crypto.c:286,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:288,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_crypto.c:289,1
    - Dst: apr_unescape_hex
      Src: /src/httpd/modules/filters/mod_crypto.c:290,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_crypto.c:290,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:294,1
    - Dst: apr_unescape_hex
      Src: /src/httpd/modules/filters/mod_crypto.c:295,1
    - Dst: strlen
      Src: /src/httpd/modules/filters/mod_crypto.c:295,1
    - Dst: apr_base64_decode_len
      Src: /src/httpd/modules/filters/mod_crypto.c:307,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:309,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_crypto.c:310,1
    - Dst: apr_base64_decode_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:311,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:314,1
    - Dst: apr_base64_decode_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:315,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/filters/mod_crypto.c:330,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:339,1
    - Dst: memset
      Src: /src/httpd/modules/filters/mod_crypto.c:340,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_crypto.c:341,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:344,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_crypto.c:345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - r
    - pass
    - description
    - size
    - k
    argTypes:
    - request_rec*
    - pass_conf*
    - char*
    - apr_size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 357
    functionName: exec_pass_conf_binary
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - memset
    - ap_expr_str_exec
    - apr_base64_decode_len
    - apr_base64_decode_binary
    - APLOGNO
    - apr_unescape_hex
    - apr_atoi64
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t exec_pass_conf_binary(request_rec *r, pass_conf * pass,\n
      \                     const char *description, apr_size_t size,\n                      const
      unsigned char **k)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:368,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:370,1
    - Dst: apr_crypto_get_block_key_types
      Src: /src/httpd/modules/filters/mod_crypto.c:375,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:378,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_crypto.c:382,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/filters/mod_crypto.c:391,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/filters/mod_crypto.c:392,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/filters/mod_crypto.c:393,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/filters/mod_crypto.c:396,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/filters/mod_crypto.c:397,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/filters/mod_crypto.c:398,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:400,1
    - Dst: strncpy
      Src: /src/httpd/modules/filters/mod_crypto.c:406,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:411,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:412,1
    - Dst: apr_crypto_get_block_key_modes
      Src: /src/httpd/modules/filters/mod_crypto.c:422,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:424,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:425,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/filters/mod_crypto.c:429,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/filters/mod_crypto.c:438,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/filters/mod_crypto.c:439,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/filters/mod_crypto.c:440,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/filters/mod_crypto.c:443,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/filters/mod_crypto.c:444,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/filters/mod_crypto.c:445,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:447,1
    - Dst: strncpy
      Src: /src/httpd/modules/filters/mod_crypto.c:453,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:458,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 3
    argNames:
    - r
    - cipher
    - mode
    argTypes:
    - request_rec*
    - apr_crypto_block_key_type_t**
    - apr_crypto_block_key_mode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 468
    functionName: init_cipher
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_crypto_get_block_key_types
    - apr_hash_this
    - apr_hash_next
    - ap_get_module_config
    - apr_hash_first
    - apr_crypto_get_block_key_modes
    - apr_hash_get
    - strncpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t init_cipher(request_rec *r,\n            apr_crypto_block_key_type_t
      ** cipher,\n            apr_crypto_block_key_mode_t ** mode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:476,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:479,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:483,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:484,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_crypto.c:489,1
    - Dst: init_cipher
      Src: /src/httpd/modules/filters/mod_crypto.c:496,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:503,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:504,1
    - Dst: ap_run_crypto_key
      Src: /src/httpd/modules/filters/mod_crypto.c:511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:513,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:514,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:518,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:519,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:524,1
    - Dst: apr_crypto_key
      Src: /src/httpd/modules/filters/mod_crypto.c:529,1
    - Dst: APR_STATUS_IS_ENOKEY
      Src: /src/httpd/modules/filters/mod_crypto.c:530,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:531,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:532,1
    - Dst: APR_STATUS_IS_EPADDING
      Src: /src/httpd/modules/filters/mod_crypto.c:534,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:535,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:536,1
    - Dst: APR_STATUS_IS_EKEYTYPE
      Src: /src/httpd/modules/filters/mod_crypto.c:538,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:539,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:540,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:543,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:544,1
    - Dst: ap_run_crypto_iv
      Src: /src/httpd/modules/filters/mod_crypto.c:549,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:551,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 557
    functionName: init_crypt
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EKEYTYPE
    - ap_log_rerror
    - ap_run_crypto_key
    - APLOGNO
    - apr_brigade_create
    - apr_crypto_key
    - APR_STATUS_IS_ENOKEY
    - init_cipher
    - APR_STATUS_IS_EPADDING
    - ap_get_module_config
    - ap_run_crypto_iv
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t init_crypt(ap_filter_t * f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:564,1
    - Dst: init_crypt
      Src: /src/httpd/modules/filters/mod_crypto.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 573
    functionName: init_encrypt
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - init_crypt
    - apr_pcalloc
    linkageType: ''
    returnType: int
    signature: int init_encrypt(ap_filter_t * f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:580,1
    - Dst: init_crypt
      Src: /src/httpd/modules/filters/mod_crypto.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 589
    functionName: init_decrypt
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - init_crypt
    - apr_pcalloc
    linkageType: ''
    returnType: int
    signature: int init_decrypt(ap_filter_t * f)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: apr_crypto_block_encrypt_init
      Src: /src/httpd/modules/filters/mod_crypto.c:609,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:613,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:614,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:625,1
    - Dst: apr_crypto_clear
      Src: /src/httpd/modules/filters/mod_crypto.c:627,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_crypto.c:632,1
    - Dst: apr_crypto_block_encrypt
      Src: /src/httpd/modules/filters/mod_crypto.c:644,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:648,1
    - Dst: apr_crypto_block_encrypt_finish
      Src: /src/httpd/modules/filters/mod_crypto.c:654,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:656,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:657,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:667,1
    - Dst: apr_crypto_clear
      Src: /src/httpd/modules/filters/mod_crypto.c:669,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_crypto.c:681,1
    - Dst: memcpy
      Src: /src/httpd/modules/filters/mod_crypto.c:686,1
    - Dst: apr_crypto_block_decrypt_init
      Src: /src/httpd/modules/filters/mod_crypto.c:694,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:697,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:698,1
    - Dst: apr_crypto_block_decrypt
      Src: /src/httpd/modules/filters/mod_crypto.c:704,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:707,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:708,1
    - Dst: apr_crypto_block_decrypt_finish
      Src: /src/httpd/modules/filters/mod_crypto.c:713,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:715,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:716,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 81
    argCount: 4
    argNames:
    - f
    - in
    - size
    - finish
    argTypes:
    - ap_filter_t*
    - unsigned char*
    - apr_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 727
    functionName: do_crypto
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_crypto_block_decrypt_finish
    - apr_crypto_block_decrypt
    - ap_log_rerror
    - apr_palloc
    - apr_crypto_block_encrypt_finish
    - APLOGNO
    - apr_crypto_block_decrypt_init
    - apr_crypto_block_encrypt_init
    - apr_crypto_block_encrypt
    - apr_crypto_clear
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t do_crypto(ap_filter_t * f, unsigned char *in, apr_off_t
      size, int finish)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:740,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:741,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_crypto.c:747,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:751,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_crypto.c:752,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:755,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_crypto.c:759,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_crypto.c:762,1
    - Dst: do_crypto
      Src: /src/httpd/modules/filters/mod_crypto.c:765,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_crypto.c:766,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_crypto.c:770,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:773,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:774,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:777,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:779,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_crypto.c:784,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:793,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:794,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:797,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_crypto.c:802,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:807,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:808,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_crypto.c:813,1
    - Dst: do_crypto
      Src: /src/httpd/modules/filters/mod_crypto.c:815,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_crypto.c:816,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_crypto.c:819,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_crypto.c:823,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:824,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 833
    functionName: crypto_out_filter
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - do_crypto
    - apr_table_unset
    - APR_BUCKET_IS_FLUSH
    - apr_brigade_partition
    - APR_BUCKET_IS_METADATA
    - apr_bucket_read
    - ap_remove_output_filter
    - APR_BRIGADE_EMPTY
    - apr_brigade_write
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t crypto_out_filter(ap_filter_t * f, apr_bucket_brigade
      * bb)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_crypto.c:848,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:853,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:857,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:865,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_crypto.c:866,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_crypto.c:877,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:880,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:881,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:890,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_crypto.c:891,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_crypto.c:894,1
    - Dst: do_crypto
      Src: /src/httpd/modules/filters/mod_crypto.c:897,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_crypto.c:898,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:901,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:902,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/filters/mod_crypto.c:908,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:909,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:910,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/filters/mod_crypto.c:915,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:916,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:917,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_crypto.c:922,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_crypto.c:923,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/filters/mod_crypto.c:924,1
    - Dst: do_crypto
      Src: /src/httpd/modules/filters/mod_crypto.c:933,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/filters/mod_crypto.c:934,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/filters/mod_crypto.c:935,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/filters/mod_crypto.c:939,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_crypto.c:946,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_crypto.c:947,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/filters/mod_crypto.c:949,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:951,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/filters/mod_crypto.c:953,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_crypto.c:954,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_crypto.c:955,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_crypto.c:961,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 5
    argNames:
    - f
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 965
    functionName: crypto_in_filter
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - do_crypto
    - apr_brigade_create
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_brigade_partition
    - apr_bucket_read
    - apr_table_unset
    - APR_BRIGADE_EMPTY
    - apr_brigade_write
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    - APR_STATUS_IS_EAGAIN
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t crypto_in_filter(ap_filter_t * f, apr_bucket_brigade
      * bb,\n                 ap_input_mode_t mode, apr_read_type_e block,\n                 apr_off_t
      readbytes)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/filters/mod_crypto.c:973,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:977,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:978,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:982,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:983,1
    - Dst: init_cipher
      Src: /src/httpd/modules/filters/mod_crypto.c:993,1
    - Dst: ap_run_crypto_key
      Src: /src/httpd/modules/filters/mod_crypto.c:999,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:1001,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1002,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:1006,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1007,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_crypto.c:1011,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1012,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/filters/mod_crypto.c:1016,1
    - Dst: ap_set_content_length
      Src: /src/httpd/modules/filters/mod_crypto.c:1017,1
    - Dst: ap_rwrite
      Src: /src/httpd/modules/filters/mod_crypto.c:1018,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 967
    functionDepth: 3
    functionLinenumber: 967
    functionLinenumberEnd: 1029
    functionName: crypto_handler
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_set_content_type_ex
    - ap_run_crypto_key
    - APLOGNO
    - init_cipher
    - ap_rwrite
    - ap_get_module_config
    - ap_set_content_length
    linkageType: ''
    returnType: int
    signature: int crypto_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1033,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1044
    functionName: create_crypto_config
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_crypto_config(apr_pool_t * p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: merge_crypto_config
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_crypto_config(apr_pool_t * p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1071
    functionName: create_crypto_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_crypto_dir_config(apr_pool_t * p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1094
    functionName: merge_crypto_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_crypto_dir_config(apr_pool_t * p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/filters/mod_crypto.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1108
    functionName: set_crypto_size
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_size(cmd_parms *cmd, void *dconf,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:1114,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/filters/mod_crypto.c:1117,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/filters/mod_crypto.c:1123,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1129
    functionName: set_crypto_driver
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_pcalloc
    - ap_get_module_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_driver(cmd_parms *cmd, void *config,\n                                     const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - config
    - cipher
    - mode
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1141
    functionName: set_crypto_cipher
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_cipher(cmd_parms *cmd, void *config,\n                                     const
      char *cipher, const char *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1148,1
    - Dst: parse_pass_conf_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1152
    functionName: set_crypto_key
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - parse_pass_conf_binary
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_key(cmd_parms *cmd, void *config,\n                                  const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1159,1
    - Dst: parse_pass_conf_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: set_crypto_iv
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 0
    functionsReached:
    - parse_pass_conf_binary
    - apr_pcalloc
    linkageType: ''
    returnType: char
    signature: "char *set_crypto_iv(cmd_parms *cmd, void *config,\n                                 const
      char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:1191,1
    - Dst: apr_crypto_init
      Src: /src/httpd/modules/filters/mod_crypto.c:1199,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1201,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1202,1
    - Dst: apr_crypto_get_driver
      Src: /src/httpd/modules/filters/mod_crypto.c:1206,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1209,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1210,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1215,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1216,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1221,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1222,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1227,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1228,1
    - Dst: apr_crypto_make
      Src: /src/httpd/modules/filters/mod_crypto.c:1233,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1236,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/filters/mod_crypto.c:1241,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_crypto.c:1242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1250
    functionName: crypto_init
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 2
    functionsReached:
    - apr_crypto_init
    - apr_crypto_make
    - APLOGNO
    - ap_log_error
    - apr_crypto_get_driver
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int crypto_init(apr_pool_t * p, apr_pool_t * plog,\n            apr_pool_t
      * ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:1261,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_crypto.c:1265,1
    - Dst: exec_pass_conf_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - r
    - cipher
    - mode
    - pad
    - recptr
    argTypes:
    - request_rec*
    - apr_crypto_block_key_type_t*
    - apr_crypto_block_key_mode_t*
    - int
    - apr_crypto_key_rec_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    functionName: crypto_key
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 2
    functionsReached:
    - exec_pass_conf_binary
    - apr_palloc
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t crypto_key(request_rec *r,\n           apr_crypto_block_key_type_t
      * cipher,\n           apr_crypto_block_key_mode_t * mode, int pad,\n           const
      apr_crypto_key_rec_t ** recptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_crypto.c:1281,1
    - Dst: exec_pass_conf_binary
      Src: /src/httpd/modules/filters/mod_crypto.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - cipher
    - v
    argTypes:
    - request_rec*
    - apr_crypto_block_key_type_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1286
    functionName: crypto_iv
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 1
    functionsReached:
    - exec_pass_conf_binary
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t crypto_iv(request_rec *r,\n          apr_crypto_block_key_type_t
      * cipher, const unsigned char **v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_crypto_key
      Src: /src/httpd/modules/filters/mod_crypto.c:1290,1
    - Dst: ap_hook_crypto_iv
      Src: /src/httpd/modules/filters/mod_crypto.c:1291,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/filters/mod_crypto.c:1292,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/filters/mod_crypto.c:1293,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:1294,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:1296,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:1298,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_crypto.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1302
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_crypto.c
    functionUses: 1
    functionsReached:
    - ap_register_output_filter
    - ap_hook_crypto_iv
    - ap_hook_handler
    - ap_register_input_filter
    - ap_hook_post_config
    - ap_hook_crypto_key
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_request.c:46,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/filters/mod_request.c:47,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_request.c:50,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/filters/mod_request.c:51,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_request.c:52,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/filters/mod_request.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bb
    - f
    - http_error
    argTypes:
    - apr_bucket_brigade*
    - ap_filter_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: bail_out_on_error
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_bucket_error_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t bail_out_on_error(apr_bucket_brigade *bb,\n                                      ap_filter_t
      *f,\n                                      int http_error)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_request.c:78,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:83,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_request.c:84,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_request.c:87,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/filters/mod_request.c:90,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/filters/mod_request.c:97,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_request.c:98,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_request.c:98,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:101,1
    - Dst: bail_out_on_error
      Src: /src/httpd/modules/filters/mod_request.c:102,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_request.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_request.c:109,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:113,1
    - Dst: bail_out_on_error
      Src: /src/httpd/modules/filters/mod_request.c:114,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/filters/mod_request.c:119,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_request.c:124,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_request.c:126,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_request.c:132,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_request.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_request.c:135,1
    - Dst: bail_out_on_error
      Src: /src/httpd/modules/filters/mod_request.c:139,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/filters/mod_request.c:146,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/filters/mod_request.c:153,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/filters/mod_request.c:154,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_request.c:155,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/filters/mod_request.c:157,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_request.c:158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - f
    - b
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 162
    functionName: keep_body_filter
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - ap_log_rerror
    - apr_bucket_copy
    - apr_pcalloc
    - APLOGNO
    - apr_brigade_create
    - ap_parse_strict_length
    - apr_brigade_length
    - apr_table_get
    - ap_get_module_config
    - bail_out_on_error
    - apr_brigade_cleanup
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_INSERT_TAIL
    - ap_remove_input_filter
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t keep_body_filter(ap_filter_t *f, apr_bucket_brigade *b,\n
      \                                    ap_input_mode_t mode,\n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_unset
      Src: /src/httpd/modules/filters/mod_request.c:184,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_request.c:185,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/filters/mod_request.c:186,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/filters/mod_request.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: kept_body_filter_init
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - apr_off_t_toa
    - apr_table_unset
    - apr_table_setn
    - apr_brigade_length
    linkageType: ''
    returnType: int
    signature: int kept_body_filter_init(ap_filter_t *f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_request.c:211,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/filters/mod_request.c:216,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/filters/mod_request.c:218,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/filters/mod_request.c:223,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_request.c:232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_request.c:233,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_request.c:233,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/filters/mod_request.c:237,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/filters/mod_request.c:238,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/filters/mod_request.c:238,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/filters/mod_request.c:248,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/filters/mod_request.c:254,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/modules/filters/mod_request.c:255,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/filters/mod_request.c:257,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/filters/mod_request.c:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - f
    - b
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 265
    functionName: kept_body_filter
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - apr_bucket_copy
    - APR_BUCKET_NEXT
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - apr_brigade_partition
    - apr_brigade_length
    - apr_bucket_read
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t kept_body_filter(ap_filter_t *f, apr_bucket_brigade *b,\n
      \                                    ap_input_mode_t mode,\n                                     apr_read_type_e
      block,\n                                     apr_off_t readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - fn
    argTypes:
    - request_rec*
    - ap_filter_rec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: request_is_filter_present
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int request_is_filter_present(request_rec * r, ap_filter_rec_t *fn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/filters/mod_request.c:295,1
    - Dst: request_is_filter_present
      Src: /src/httpd/modules/filters/mod_request.c:299,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/filters/mod_request.c:300,1
    - Dst: request_is_filter_present
      Src: /src/httpd/modules/filters/mod_request.c:305,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/modules/filters/mod_request.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: ap_request_insert_filter
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter_handle
    - request_is_filter_present
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_request_insert_filter(request_rec * r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: ap_request_remove_filter
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - ap_remove_input_filter
    linkageType: ''
    returnType: void
    signature: void ap_request_remove_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_request.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: create_request_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_request_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/filters/mod_request.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: merge_request_dir_config
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_request_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/filters/mod_request.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: set_kept_body_size
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_kept_body_size(cmd_parms *cmd, void *dconf,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:375,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/modules/filters/mod_request.c:378,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/modules/filters/mod_request.c:380,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_request.c:381,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/filters/mod_request.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/filters/mod_request.c
    functionUses: 1
    functionsReached:
    - ap_register_input_filter
    - ap_hook_insert_filter
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: VALID_NONCE
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NONCE(n_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:199,1
    - Dst: apr_rmm_destroy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:203,1
    - Dst: apr_shm_destroy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:208,1
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - not_used
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: cleanup_tables
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    - apr_global_mutex_destroy
    - APLOGNO
    - apr_rmm_destroy
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_tables(void *not_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:224,1
    - Dst: cleanup_tables
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - sts
    - s
    argTypes:
    - char*
    - apr_status_t
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: log_error_and_cleanup
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - cleanup_tables
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void log_error_and_cleanup(char *msg, apr_status_t sts, server_rec
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:235,1
    - Dst: apr_rmm_addr_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rmm
    - size
    argTypes:
    - apr_rmm_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: rmm_malloc
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 1
    functionsReached:
    - apr_rmm_malloc
    - apr_rmm_addr_get
    linkageType: ''
    returnType: void
    signature: void *rmm_malloc(apr_rmm_t *rmm, apr_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_offset_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:246,1
    - Dst: apr_rmm_free
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rmm
    - alloc
    argTypes:
    - apr_rmm_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: rmm_free
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 2
    functionsReached:
    - apr_rmm_offset_get
    - apr_rmm_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rmm_free(apr_rmm_t *rmm, void *alloc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:269,1
    - Dst: ap_append_pid
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:270,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:273,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:274,1
    - Dst: apr_shm_remove
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:277,1
    - Dst: apr_shm_create
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:280,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:285,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:288,1
    - Dst: apr_rmm_init
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:292,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:294,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:297,1
    - Dst: rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:301,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:304,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:314,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:317,1
    - Dst: rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:324,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:326,1
    - Dst: rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:333,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 344
    functionName: initialize_tables
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - rmm_malloc
    - APR_STATUS_IS_ENOTIMPL
    - log_error_and_cleanup
    - apr_shm_remove
    - APLOGNO
    - ap_append_pid
    - apr_shm_create
    - apr_shm_baseaddr_get
    - ap_runtime_dir_relative
    - ap_log_error
    - ap_global_mutex_create
    - apr_rmm_init
    linkageType: ''
    returnType: int
    signature: int initialize_tables(server_rec *s, apr_pool_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:352,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:352,1
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:357,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:361,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:363,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:364,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:367,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:372,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: pre_init
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_generate_random_bytes
    - ap_mutex_register
    - ap_retained_data_create
    - APLOGNO
    - ap_retained_data_get
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int pre_init(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:387,1
    - Dst: initialize_tables
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 401
    functionName: initialize_module
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - initialize_tables
    linkageType: ''
    returnType: int
    signature: "int initialize_module(apr_pool_t *p, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_rmm_attach
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:408,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:410,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:413,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:417,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:418,1
    - Dst: log_error_and_cleanup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 424
    functionName: initialize_child
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - log_error_and_cleanup
    - apr_global_mutex_child_init
    - apr_global_mutex_lockfile
    - apr_shm_baseaddr_get
    - apr_rmm_attach
    linkageType: ''
    returnType: void
    signature: void initialize_child(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: create_digest_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_digest_dir_config(apr_pool_t *p, char *dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:446,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:450,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:457,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 483
    functionName: add_authn_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - apr_pcalloc
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *add_authn_provider(cmd_parms *cmd, void *config,\n                                      const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - op
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: set_qop
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_qop(cmd_parms *cmd, void *config, const char *op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:500,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:501,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:501,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:502,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - t
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 509
    functionName: set_nonce_lifetime
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_isspace
    - apr_pstrcat
    - strtol
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *set_nonce_lifetime(cmd_parms *cmd, void *config,\n                                      const
      char *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: set_nc_check
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_nc_check(cmd_parms *cmd, void *config, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:519,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - config
    - alg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: set_algorithm
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_algorithm(cmd_parms *cmd, void *config, const char *alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:531,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:532,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - uri
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: set_uri_list
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *set_uri_list(cmd_parms *cmd, void *config, const char *uri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:546,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:547,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:558,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:564,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:574,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - cmd
    - config
    - size_str
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 579
    functionName: set_shmem_size
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_pstrcat
    - APLOGNO
    - strtol
    - ap_log_error
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *set_shmem_size(cmd_parms *cmd, void *config,\n                                  const
      char *size_str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:667,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:680,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:683,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:683,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:687,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - key
    - r
    argTypes:
    - unsigned long
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 692
    functionName: get_client
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    linkageType: ''
    returnType: client_entry
    signature: client_entry *get_client(unsigned long key, const request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rmm_free
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:728,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:733,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 745
    functionName: gc
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - rmm_free
    linkageType: ''
    returnType: long
    signature: long gc(server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:764,1
    - Dst: rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:768,1
    - Dst: gc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:770,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:771,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:771,1
    - Dst: rmm_malloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:777,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:779,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:779,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:781,1
    - Dst: memcpy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:788,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:795,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:797,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - key
    - info
    - s
    argTypes:
    - unsigned long
    - client_entry*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 801
    functionName: add_client
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - rmm_malloc
    - gc
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    - memcpy
    linkageType: ''
    returnType: client_entry
    signature: "client_entry *add_client(unsigned long key, client_entry *info,\n
      \                               server_rec *s)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:816,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:825,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:826,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:831,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:833,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:834,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:840,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:845,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:849,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:858,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:876,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:890,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:891,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:892,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:893,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:894,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:895,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:896,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:897,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:898,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:899,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:900,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:901,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:902,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:903,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:904,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:905,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:906,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:907,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:908,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:909,1
    - Dst: VALID_NONCE
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:913,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:914,1
    - Dst: strtol
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:925,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 89
    argCount: 2
    argNames:
    - r
    - resp
    argTypes:
    - request_rec*
    - digest_header_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 932
    functionName: get_digest_rec
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 2
    functionsReached:
    - apr_isspace
    - apr_palloc
    - ap_cstr_casecmp
    - apr_pstrdup
    - strtol
    - ap_getword_white
    - VALID_NONCE
    - apr_table_get
    - strlen
    linkageType: ''
    returnType: int
    signature: int get_digest_rec(request_rec *r, digest_header_rec *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:951,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:955,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:960,1
    - Dst: get_digest_rec
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:962,1
    - Dst: get_client
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 969
    functionName: parse_hdr_and_update_nc
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_set_module_config
    - get_client
    - get_digest_rec
    - ap_is_initial_req
    linkageType: ''
    returnType: int
    signature: int parse_hdr_and_update_nc(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_sha1_init
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:982,1
    - Dst: apr_sha1_update_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:983,1
    - Dst: apr_sha1_update_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:984,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:984,1
    - Dst: apr_sha1_update_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:986,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:986,1
    - Dst: apr_sha1_update_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:988,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:989,1
    - Dst: apr_sha1_final
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:991,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - hash
    - timestr
    - opaque
    - server
    - conf
    - realm
    argTypes:
    - char[]
    - char*
    - char*
    - server_rec*
    - digest_config_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 994
    functionName: gen_nonce_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_sha1_init
    - apr_sha1_update_binary
    - ap_bin2hex
    - apr_sha1_final
    - strlen
    linkageType: ''
    returnType: void
    signature: "void gen_nonce_hash(char hash[NONCE_HASH_LEN+1], const char *timestr,
      const char *opaque,\n                           const server_rec *server,\n
      \                          const digest_config_rec *conf, \n                           const
      char *realm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1004,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1011,1
    - Dst: apr_base64_encode_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1013,1
    - Dst: gen_nonce_hash
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - p
    - now
    - opaque
    - server
    - conf
    - realm
    argTypes:
    - apr_pool_t*
    - apr_time_t
    - char*
    - server_rec*
    - digest_config_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1017
    functionName: gen_nonce
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - gen_nonce_hash
    - apr_base64_encode_binary
    - apr_atomic_inc32
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *gen_nonce(apr_pool_t *p, apr_time_t now, const char *opaque,\n
      \                            const server_rec *server,\n                             const
      digest_config_rec *conf,\n                             const char *realm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1030,1
    - Dst: add_client
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1033,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1034,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1040
    functionName: gen_client
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - add_client
    - apr_atomic_inc32
    - ap_log_rerror
    linkageType: ''
    returnType: client_entry
    signature: client_entry *gen_client(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - num
    argTypes:
    - apr_pool_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1055
    functionName: ltox
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *ltox(apr_pool_t *p, unsigned long num)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gen_client
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1071,1
    - Dst: ltox
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1072,1
    - Dst: gen_client
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1080,1
    - Dst: ltox
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1082,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1097,1
    - Dst: gen_nonce
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1105,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1105,1
    - Dst: memcpy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1107,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1127,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1130,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - r
    - conf
    - resp
    - stale
    argTypes:
    - request_rec*
    - digest_config_rec*
    - digest_header_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1057
    functionDepth: 4
    functionLinenumber: 1057
    functionLinenumberEnd: 1137
    functionName: note_digest_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - gen_client
    - gen_nonce
    - apr_pstrcat
    - ap_auth_name
    - ltox
    - apr_psprintf
    - apr_table_mergen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void note_digest_auth_failure(request_rec *r,\n                                     const
      digest_config_rec *conf,\n                                     digest_header_rec
      *resp, int stale)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1145,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1157,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1164,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - auth_type
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1139
    functionDepth: 5
    functionLinenumber: 1139
    functionLinenumberEnd: 1170
    functionName: hook_note_digest_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - note_digest_auth_failure
    - ap_cstr_casecmp
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int hook_note_digest_auth_failure(request_rec *r, const char *auth_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1197,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1197,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1202,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1206,1
    - Dst: authn_provider*::get_realm_hash
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1211,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1211,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - r
    - user
    - conf
    - rethash
    argTypes:
    - request_rec*
    - char*
    - digest_config_rec*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1234
    functionName: get_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_lookup_provider
    - APLOGNO
    - apr_table_setn
    - authn_provider*::get_realm_hash
    - ap_auth_name
    - apr_table_unset
    linkageType: ''
    returnType: authn_status
    signature: "authn_status get_hash(request_rec *r, const char *user,\n                             digest_config_rec
      *conf, const char **rethash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1247,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1248,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1248,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1249,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1249,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - r
    - resp
    - conf
    argTypes:
    - request_rec*
    - digest_header_rec*
    - digest_config_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1267
    functionName: check_nc
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - APLOGNO
    - strtol
    - strlen
    linkageType: ''
    returnType: int
    signature: "int check_nc(const request_rec *r, const digest_header_rec *resp,\n
      \                   const digest_config_rec *conf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_base64_decode_binary
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1278,1
    - Dst: gen_nonce_hash
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1279,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1279,1
    - Dst: ap_memeq_timingsafe
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1283,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1284,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1284,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1287,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1293,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1293,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1296,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1302,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1302,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1305,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1306,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1307,1
    - Dst: memcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1312,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1313,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - r
    - resp
    - conf
    argTypes:
    - request_rec*
    - digest_header_rec*
    - digest_config_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1269
    functionDepth: 5
    functionLinenumber: 1269
    functionLinenumberEnd: 1323
    functionName: check_nonce
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_time_sec
    - apr_base64_decode_binary
    - gen_nonce_hash
    - ap_auth_name
    - APLOGNO
    - note_digest_auth_failure
    - ap_memeq_timingsafe
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int check_nonce(request_rec *r, digest_header_rec *resp,\n                       const
      digest_config_rec *conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1335,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1336,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1338,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - resp
    argTypes:
    - request_rec*
    - digest_header_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1344
    functionName: new_digest
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_md5
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *new_digest(const request_rec *r,\n                              digest_header_rec
      *resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1356,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1357,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1360,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1367,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1371,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1372,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1379,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - dst
    - src
    - r
    argTypes:
    - apr_uri_t*
    - apr_uri_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1387
    functionName: copy_uri_components
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - ap_get_server_name
    - apr_pstrdup
    - ap_unescape_url
    - ap_get_server_port
    linkageType: ''
    returnType: void
    signature: "void copy_uri_components(apr_uri_t *dst,\n                                apr_uri_t
      *src, request_rec *r)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1415,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1415,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1419,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1420,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1420,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1435,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1439,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1443,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1451,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1451,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1456,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1456,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1462,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1471,1
    - Dst: copy_uri_components
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1477,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1478,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1479,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1479,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1486,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1489,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1493,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1497,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1498,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1498,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1507,1
    - Dst: ap_default_port
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1512,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1517,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1524,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1526,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1526,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1534,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1534,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1537,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1544,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1544,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1547,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1551,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1552,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1552,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1555,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1560,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1561,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1561,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1564,1
    - Dst: get_hash
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1568,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1571,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1571,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1574,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1582,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1582,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1585,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1600,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1602,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1602,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1605,1
    - Dst: new_digest
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1610,1
    - Dst: ap_memeq_timingsafe
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1615,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1616,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1616,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1619,1
    - Dst: check_nc
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1624,1
    - Dst: note_digest_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1625,1
    - Dst: check_nonce
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1631,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 117
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1403
    functionDepth: 6
    functionLinenumber: 1403
    functionLinenumberEnd: 1636
    functionName: authenticate_digest_user
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_auth_type
    - new_digest
    - ap_cstr_casecmp
    - apr_uri_parse
    - ap_default_port
    - copy_uri_components
    - APLOGNO
    - ap_auth_name
    - strcasecmp
    - get_hash
    - check_nc
    - ap_get_module_config
    - note_digest_auth_failure
    - check_nonce
    - ap_unescape_url
    - ap_memeq_timingsafe
    linkageType: ''
    returnType: int
    signature: int authenticate_digest_user(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1642,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1645,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1654,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1664,1
    - Dst: gen_nonce
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1665,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1666,1
    - Dst: gen_nonce
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1673,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1674,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1675,1
    - Dst: memcpy
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1676,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1688,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1689,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1691,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1692,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1702,1
    - Dst: ap_escape_quotes
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1707,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1718,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1726
    functionName: add_auth_info
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 0
    functionsReached:
    - gen_nonce
    - apr_pstrcat
    - ap_auth_name
    - ap_md5
    - ap_escape_quotes
    - apr_table_get
    - ap_get_module_config
    - apr_table_mergen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int add_auth_info(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1733,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1734,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1735,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1736,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1737,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1740,1
    - Dst: ap_hook_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_digest.c:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1744
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_digest.c
    functionUses: 1
    functionsReached:
    - ap_hook_check_authn
    - ap_hook_pre_config
    - ap_hook_note_auth_failure
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_child_init
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:93,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:99,1
    - Dst: apr_crypto_init
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:107,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:110,1
    - Dst: apr_crypto_get_driver
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:114,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:118,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:124,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:129,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:130,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:136,1
    - Dst: apr_crypto_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:141,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:144,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:149,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 159
    functionName: auth_bearer_init
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - apr_crypto_init
    - apr_crypto_make
    - APLOGNO
    - ap_log_error
    - apr_crypto_get_driver
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int auth_bearer_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,\n
      \       server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:164,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: create_auth_bearer_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_auth_bearer_config(apr_pool_t * p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: merge_auth_bearer_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_auth_bearer_config(apr_pool_t * p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:194,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:196,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:197,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: create_auth_bearer_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_auth_bearer_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:205,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: merge_auth_bearer_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_overlay
    linkageType: ''
    returnType: void
    signature: void *merge_auth_bearer_dir_config(apr_pool_t *p, void *basev, void
      *overridesv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:229,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:232,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:235,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:240,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:242,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:244,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - cmd
    - config
    - op
    - key
    - expression
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: set_jwt_claim
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcasecmp
    - apr_psprintf
    - apr_hash_set
    linkageType: ''
    returnType: char
    signature: "char *set_jwt_claim(cmd_parms *cmd, void *config,\n        const char
      *op, const char *key, const char *expression)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:262,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:265,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:271,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:275,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:280,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:285,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:287,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:291,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:292,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:297,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:301,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:302,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:307,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:310,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:314,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:315,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:320,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - cmd
    - config
    - alg
    - type
    - sig
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 332
    functionName: set_jwt_sign
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_strerror
    - apr_palloc
    - apr_file_info_get
    - strcasecmp
    - apr_array_push
    - apr_file_close
    - apr_psprintf
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: char
    signature: "char *set_jwt_sign(cmd_parms * cmd, void *config,\n        const char
      *alg, const char *type, const char *sig)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:339,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:342,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:348,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:352,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:357,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:362,1
    - Dst: apr_file_open
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:364,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:368,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:369,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:374,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:378,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:379,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:384,1
    - Dst: apr_file_read_full
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:387,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:391,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:392,1
    - Dst: apr_file_close
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:397,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - cmd
    - config
    - alg
    - type
    - sig
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 409
    functionName: set_jwt_verify
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_strerror
    - apr_palloc
    - apr_file_info_get
    - strcasecmp
    - apr_array_push
    - apr_file_close
    - apr_psprintf
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: char
    signature: "char *set_jwt_verify(cmd_parms * cmd, void *config,\n        const
      char *alg, const char *type, const char *sig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:414,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:417,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: set_jwt_driver
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_get_module_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_jwt_driver(cmd_parms * cmd, void *config, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:459,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:461,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:461,1
    - Dst: apr_json_object_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:469,1
    - Dst: apr_json_string_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:470,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - key
    - klen
    - val
    argTypes:
    - void*
    - void*
    - apr_ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 473
    functionName: claim_iter
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_json_string_create
    - ap_log_rerror
    - ap_expr_str_exec
    - APLOGNO
    - apr_json_object_set
    - strlen
    linkageType: ''
    returnType: int
    signature: "int claim_iter(void *ctx, const void *key, apr_ssize_t klen,\n                     const
      void *val)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:480,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:483,1
    - Dst: apr_crypto_key_rec_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:511,1
    - Dst: apr_crypto_key
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:517,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:519,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:520,1
    - Dst: apr_crypto_digest_rec_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:525,1
    - Dst: apr_crypto_digest_init
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:527,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:529,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:530,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:535,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:535,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:536,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:541,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:545,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:547,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:548,1
    - Dst: apr_crypto_digest_update
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:553,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:556,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:557,1
    - Dst: apr_crypto_digest_final
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:563,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:565,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:566,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 69
    argCount: 5
    argNames:
    - bb
    - jose
    - signature
    - ctx
    - pool
    argTypes:
    - apr_bucket_brigade*
    - apr_jose_t*
    - apr_jose_signature_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 584
    functionName: sign_cb
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_crypto_digest_rec_make
    - apr_crypto_digest_init
    - APR_BRIGADE_FIRST
    - apr_strerror
    - APR_BUCKET_NEXT
    - apr_pcalloc
    - APR_BUCKET_IS_EOS
    - apr_crypto_digest_update
    - apr_crypto_digest_final
    - apr_crypto_key
    - apr_bucket_read
    - apr_crypto_key_rec_make
    - ap_get_module_config
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sign_cb(apr_bucket_brigade *bb, apr_jose_t *jose,\n        apr_jose_signature_t
      *signature, void *ctx, apr_pool_t *pool)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:603,1
    - Dst: apr_hash_count
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:611,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:612,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:613,1
    - Dst: apr_json_object_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:624,1
    - Dst: apr_hash_do
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:629,1
    - Dst: apr_jose_jwt_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:633,1
    - Dst: apr_json_object_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:634,1
    - Dst: apr_json_object_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:636,1
    - Dst: apr_json_string_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:638,1
    - Dst: apr_json_object_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:645,1
    - Dst: apr_json_string_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:647,1
    - Dst: apr_json_object_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:653,1
    - Dst: apr_json_string_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:655,1
    - Dst: apr_json_object_set
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:665,1
    - Dst: apr_json_string_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:667,1
    - Dst: apr_jose_signature_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:671,1
    - Dst: apr_jose_jws_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:672,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:674,1
    - Dst: apr_jose_encode
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:676,1
    - Dst: apr_jose_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:678,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:679,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:680,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:685,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:686,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 692
    functionName: jwt_get_token
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_json_string_create
    - ap_log_rerror
    - apr_json_object_create
    - apr_jose_jwt_make
    - apr_jose_signature_make
    - apr_pcalloc
    - APLOGNO
    - apr_hash_do
    - apr_hash_count
    - apr_brigade_create
    - apr_brigade_flatten
    - apr_json_object_set
    - apr_jose_encode
    - apr_jose_error
    - ap_get_module_config
    - apr_brigade_length
    - apr_jose_jws_make
    linkageType: ''
    returnType: char
    signature: char *jwt_get_token(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:698,1
    - Dst: jwt_get_token
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: jwt_expr_var_fn
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - jwt_get_token
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *jwt_expr_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 718
    functionName: jwt_expr_lookup
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int jwt_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:727,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:730,1
    - Dst: apr_json_object_get
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:740,1
    - Dst: apr_errprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:747,1
    - Dst: apr_errprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:756,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:766,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:772,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:779,1
    - Dst: apr_errprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:791,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:801,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:807,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:814,1
    - Dst: apr_crypto_key_rec_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:831,1
    - Dst: apr_crypto_key
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:837,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:839,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:840,1
    - Dst: apr_crypto_digest_rec_make
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:845,1
    - Dst: apr_crypto_digest_init
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:847,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:849,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:850,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:855,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:855,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:856,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:861,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:865,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:867,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:868,1
    - Dst: apr_crypto_digest_update
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:873,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:876,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:877,1
    - Dst: apr_crypto_digest_final
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:883,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:885,1
    - Dst: apr_strerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:886,1
    - Dst: memcmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:892,1
    - Dst: apr_errprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:904,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 6
    argNames:
    - bb
    - jose
    - signature
    - ctx
    - vflags
    - pool
    argTypes:
    - apr_bucket_brigade*
    - apr_jose_t*
    - apr_jose_signature_t*
    - void*
    - int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 910
    functionName: verify_cb
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_crypto_digest_init
    - APR_BRIGADE_FIRST
    - apr_crypto_key
    - ap_get_module_config
    - apr_bucket_read
    - strncmp
    - memcmp
    - APR_BUCKET_IS_EOS
    - apr_crypto_digest_rec_make
    - APR_BUCKET_NEXT
    - apr_strerror
    - apr_crypto_digest_final
    - APR_ARRAY_IDX
    - apr_crypto_key_rec_make
    - apr_pcalloc
    - apr_crypto_digest_update
    - apr_json_object_get
    - apr_errprintf
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t verify_cb(apr_bucket_brigade *bb,\n        apr_jose_t
      *jose, apr_jose_signature_t *signature, void *ctx,\n        int *vflags, apr_pool_t
      *pool)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:937,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:940,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:940,1
    - Dst: apr_jose_decode
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:943,1
    - Dst: apr_jose_error
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:946,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:947,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:948,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:954,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:955,1
    - Dst: apr_json_object_first
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:961,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:969,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:971,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:976,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:978,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:983,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:990,1
    - Dst: apr_json_object_next
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:998,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1001,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1002,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1003,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1007,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1007,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1008,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1009,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1010,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1015,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1018,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1019,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1020,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1022,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1027,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1028,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1029,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1031,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1039,1
    - Dst: apr_json_object_first
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1043,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1053,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1056,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1057,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1065,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1068,1
    - Dst: apr_json_object_next
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1070,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 3
    argNames:
    - r
    - type
    - token
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 1073
    functionName: check_token
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_brigade_create
    - apr_json_object_first
    - strncmp
    - apr_toupper
    - apr_json_object_next
    - strlen
    - apr_pstrndup
    - apr_jose_error
    - apr_psprintf
    - apr_time_sec
    - strcmp
    - apr_brigade_write
    - ap_log_rerror
    - APLOGNO
    - ap_auth_name
    - apr_table_setn
    - apr_jose_decode
    - apr_isalnum
    - apr_pstrdup
    linkageType: ''
    returnType: autht_status
    signature: "autht_status check_token(request_rec *r, const char *type,\n                                   const
      char *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1082,1
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1085,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_autht_jwt.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1087
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 1
    functionsReached:
    - ap_hook_expr_lookup
    - ap_register_auth_provider
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1109
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_jwt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_autht_core.c:67,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_core.c:70,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_autht_core.c:74,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/aaa/mod_autht_core.c:81,1
    - Dst: provider_alias_rec*::provider::check_token
      Src: /src/httpd/modules/aaa/mod_autht_core.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - r
    - type
    - token
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: authn_alias_check_token
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_core.c
    functionUses: 0
    functionsReached:
    - provider_alias_rec*::provider::check_token
    - ap_merge_per_dir_configs
    - apr_table_get
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: autht_status
    signature: "autht_status authn_alias_check_token(request_rec *r, const char *type,\n
      \                                           const char *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_core.c:96,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_autht_core.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: create_autht_alias_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_autht_alias_svr_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: merge_autht_alias_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *merge_autht_alias_svr_config(apr_pool_t *p, void *basev, void
      *overridesv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/aaa/mod_autht_core.c:115,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/modules/aaa/mod_autht_core.c:122,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_autht_core.c:124,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_autht_core.c:127,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_autht_core.c:133,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_autht_core.c:137,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_autht_core.c:140,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_autht_core.c:145,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_autht_core.c:146,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_autht_core.c:149,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_autht_core.c:153,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_autht_core.c:154,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_autht_core.c:159,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_autht_core.c:162,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/aaa/mod_autht_core.c:170,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_autht_core.c:174,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_autht_core.c:175,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_autht_core.c:181,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_autht_core.c:192,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_autht_core.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 202
    functionName: authaliassection
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_register_auth_provider
    - apr_pcalloc
    - apr_pstrcat
    - ap_getword_conf
    - strcasecmp
    - ap_lookup_provider
    - ap_walk_config
    - ap_check_cmd_context
    - apr_pstrndup
    - apr_psprintf
    - ap_get_module_config
    - ap_strrchr_c
    - ap_create_per_dir_config
    linkageType: ''
    returnType: char
    signature: char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_autht_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:38,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:45,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:46,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:47,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:58,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:66,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:67,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:72,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: ah_fixups
    functionSourceFile: /src/httpd/modules/aaa/mod_allowhandlers.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - strcasecmp
    - apr_table_get
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int ah_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ah_create_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_allowhandlers.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *ah_create_conf(apr_pool_t * p, char *dummy)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:92,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:99,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:101,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:103,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:109,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:116,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 121
    functionName: set_allowed_handlers
    functionSourceFile: /src/httpd/modules/aaa/mod_allowhandlers.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_table_clear
    - apr_table_setn
    - ap_check_cmd_context
    - apr_table_make
    linkageType: ''
    returnType: char
    signature: char *set_allowed_handlers(cmd_parms *cmd, void *d, int argc, char
      *const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/aaa/mod_allowhandlers.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ah_register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_allowhandlers.c
    functionUses: 0
    functionsReached:
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void ah_register_hooks(apr_pool_t * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: create_authz_groupfile_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authz_groupfile_dir_config(apr_pool_t *p, char *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:89,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:96,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:100,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:101,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:103,1
    - Dst: ap_varbuf_cfg_getline
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:105,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:110,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:112,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:113,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:115,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:120,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:121,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:122,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:122,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:128,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:129,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - p
    - user
    - grpfile
    - out
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_table_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 134
    functionName: groups_for_user
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_cfg_closefile
    - apr_isspace
    - ap_pcfg_openfile
    - apr_pool_tag
    - apr_table_setn
    - apr_pstrmemdup
    - apr_pool_create
    - strlen
    - apr_pool_clear
    - ap_varbuf_free
    - apr_pool_destroy
    - ap_varbuf_init
    - ap_getword
    - ap_varbuf_cfg_getline
    - apr_table_make
    - ap_getword_conf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t groups_for_user(apr_pool_t *p, char *user, char *grpfile,\n
      \                                   apr_table_t ** out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:140,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:160,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:160,1
    - Dst: groups_for_user
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:165,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:169,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:169,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:175,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:177,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:177,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:184,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:186,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:186,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:193,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:194,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 205
    functionName: group_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - groups_for_user
    - ap_expr_str_exec
    - APLOGNO
    - apr_is_empty_table
    - ap_get_module_config
    - apr_table_get
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status group_check_authorization(request_rec *r,\n                                              const
      char *require_args,\n                                              const void
      *parsed_require_args)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:213,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:228,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:228,1
    - Dst: groups_for_user
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:236,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:236,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:242,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:244,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:244,1
    - Dst: authz_owner_get_file_group
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:251,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:254,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 272
    functionName: filegroup_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - groups_for_user
    - APLOGNO
    - authz_owner_get_file_group
    - apr_is_empty_table
    - ap_get_module_config
    - apr_table_get
    linkageType: ''
    returnType: authz_status
    signature: "authz_status filegroup_check_authorization(request_rec *r,\n                                                  const
      char *require_args,\n                                                  const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:280,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: groupfile_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *groupfile_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                         const void **parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: authz_groupfile_getfns
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void authz_groupfile_getfns(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:313,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:317,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authz_groupfile.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_groupfile.c
    functionUses: 1
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: create_authn_anon_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_anon.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authn_anon_dir_config(apr_pool_t *p, char *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:100,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cmd
    - my_config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: anon_set_string_slots
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_anon.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *anon_set_string_slots(cmd_parms *cmd,\n                                         void
      *my_config, const char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:138,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:161,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:179,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:179,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:181,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - r
    - user
    - sent_pw
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 191
    functionName: check_anonymous
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_anon.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - strcasecmp
    - APLOGNO
    - ap_get_module_config
    - ap_is_initial_req
    - ap_strchr_c
    linkageType: ''
    returnType: authn_status
    signature: "authn_status check_anonymous(request_rec *r, const char *user,\n                                    const
      char *sent_pw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_anon.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_anon.c
    functionUses: 1
    functionsReached:
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:49,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:49,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:63,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:63,1
    - Dst: apr_stat
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:69,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:71,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:73,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:73,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:81,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:81,1
    - Dst: apr_uid_name_get
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:87,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:90,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:96,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:97,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:99,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 108
    functionName: fileowner_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_owner.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - apr_uid_name_get
    - APLOGNO
    - apr_psprintf
    - apr_stat
    linkageType: ''
    returnType: authz_status
    signature: "authz_status fileowner_check_authorization(request_rec *r,\n                                                  const
      char *require_args,\n                                                  const
      void *parsed_require_args)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:127,1
    - Dst: apr_stat
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:133,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:137,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:145,1
    - Dst: apr_gid_name_get
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:151,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:154,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 162
    functionName: authz_owner_get_file_group
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_owner.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_gid_name_get
    - apr_pstrcat
    - APLOGNO
    - apr_stat
    linkageType: ''
    returnType: char
    signature: char *authz_owner_get_file_group(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:172,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_owner.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_owner.c
    functionUses: 1
    functionsReached:
    - ap_register_auth_provider
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authz_user.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: create_authz_user_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_user.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authz_user_dir_config(apr_pool_t *p, char *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_user.c:62,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_user.c:64,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_user.c:64,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_user.c:71,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authz_user.c:72,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_user.c:77,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_user.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 83
    functionName: user_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_user.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_expr_str_exec
    - APLOGNO
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status user_check_authorization(request_rec *r,\n                                             const
      char *require_args,\n                                             const void
      *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: validuser_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_user.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: authz_status
    signature: "authz_status validuser_check_authorization(request_rec *r,\n                                                  const
      char *require_line,\n                                                  const
      void *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_user.c:102,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_user.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: user_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_user.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *user_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                    const void **parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_user.c:128,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_user.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_user.c
    functionUses: 1
    functionsReached:
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: create_authz_core_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_authz_core_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: op::op
      Src: /src/httpd/modules/aaa/mod_authz_core.c:122,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:122,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:125,1
    - Dst: op::op
      Src: /src/httpd/modules/aaa/mod_authz_core.c:127,1
    - Dst: op::op
      Src: /src/httpd/modules/aaa/mod_authz_core.c:127,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:128,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:129,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:135,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:136,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:139,1
    - Dst: op::op
      Src: /src/httpd/modules/aaa/mod_authz_core.c:141,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:144,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:146,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:146,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:147,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:149,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:154,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:154,1
    - Dst: section::section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:154,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:157,1
    - Dst: op::op
      Src: /src/httpd/modules/aaa/mod_authz_core.c:160,1
    - Dst: authz_forbidden_on_fail::authz_forbidden_on_fail
      Src: /src/httpd/modules/aaa/mod_authz_core.c:163,1
    - Dst: authz_forbidden_on_fail::authz_forbidden_on_fail
      Src: /src/httpd/modules/aaa/mod_authz_core.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - p
    - basev
    - newv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 169
    functionName: merge_authz_core_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - authz_forbidden_on_fail::authz_forbidden_on_fail
    - apr_pcalloc
    - section::section
    - op::op
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: "void *merge_authz_core_dir_config(apr_pool_t *p,\n                                         void
      *basev, void *newv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - newv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: merge_authz_core_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *merge_authz_core_svr_config(apr_pool_t *p,\n                                         void
      *basev, void *newv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:182,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authz_core.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: create_authz_core_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_authz_core_svr_config(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authz_core.c:203,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:209,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authz_core.c:212,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/aaa/mod_authz_core.c:222,1
    - Dst: provider_alias_rec*::provider::check_authorization
      Src: /src/httpd/modules/aaa/mod_authz_core.c:225,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 240
    functionName: authz_alias_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - ap_merge_per_dir_configs
    - apr_table_get
    - ap_get_module_config
    - provider_alias_rec*::provider::check_authorization
    - apr_hash_get
    linkageType: ''
    returnType: authz_status
    signature: "authz_status authz_alias_check_authorization(request_rec *r,\n                                                    const
      char *require_args,\n                                                    const
      void *parsed_require_args)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/aaa/mod_authz_core.c:251,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authz_core.c:259,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:265,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:269,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:272,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:277,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:278,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:279,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:280,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:283,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authz_core.c:290,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:290,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:297,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:303,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:311,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:321,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:328,1
    - Dst: provider_alias_rec*::provider::parse_require_line
      Src: /src/httpd/modules/aaa/mod_authz_core.c:333,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:336,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:341,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authz_core.c:344,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 355
    functionName: authz_require_alias_section
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - provider_alias_rec*::provider::parse_require_line
    - ap_register_auth_provider
    - apr_pcalloc
    - apr_pstrcat
    - APLOGNO
    - ap_walk_config
    - ap_lookup_provider
    - ap_check_cmd_context
    - apr_pstrndup
    - ap_log_error
    - apr_psprintf
    - ap_get_module_config
    - ap_strrchr_c
    - ap_create_per_dir_config
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *authz_require_alias_section(cmd_parms *cmd, void *mconfig,\n
      \                                              const char *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - authz_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: format_authz_result
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * format_authz_result(authz_status result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:372,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - section
    argTypes:
    - apr_pool_t*
    - authz_section_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: format_authz_command
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char * format_authz_command(apr_pool_t *p,\n                                        authz_section_conf
      *section)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: create_default_section
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: authz_section_conf
    signature: authz_section_conf * create_default_section(apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:395,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:398,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:400,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:401,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:408,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:416,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:423,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/aaa/mod_authz_core.c:433,1
    - Dst: authz_section_conf*::provider::parse_require_line
      Src: /src/httpd/modules/aaa/mod_authz_core.c:437,1
    - Dst: create_default_section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:445,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:449,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - cmd
    - config
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 471
    functionName: add_authz_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - authz_section_conf*::provider::parse_require_line
    - apr_pcalloc
    - format_authz_command
    - ap_lookup_provider
    - strcasecmp
    - apr_pool_userdata_setn
    - create_default_section
    - apr_psprintf
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *add_authz_provider(cmd_parms *cmd, void *config,\n                                      const
      char *args)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/aaa/mod_authz_core.c:477,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:485,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:489,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:492,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:497,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:499,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:502,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:505,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:520,1
    - Dst: create_default_section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:535,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:539,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:541,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:542,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:566,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:567,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 573
    functionName: add_authz_section
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pstrcat
    - format_authz_command
    - strcasecmp
    - ap_walk_config
    - create_default_section
    - apr_pstrndup
    - apr_psprintf
    - ap_strrchr_c
    linkageType: ''
    returnType: char
    signature: "char *add_authz_section(cmd_parms *cmd, void *mconfig,\n                                     const
      char *args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:580,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:583,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:586,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 595
    functionName: authz_merge_sections
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *authz_merge_sections(cmd_parms *cmd, void *mconfig,\n                                        const
      char *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: authz_core_check_section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:606,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authz_core.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:647,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:650,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - p
    - s
    - section
    - is_conf
    argTypes:
    - apr_pool_t*
    - server_rec*
    - authz_section_conf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 654
    functionName: authz_core_check_section
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 1
    functionsReached:
    - format_authz_command
    - APLOGNO
    - authz_core_check_section
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int authz_core_check_section(apr_pool_t *p, server_rec *s,\n                                    authz_section_conf
      *section, int is_conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: authz_core_pre_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int authz_core_pre_config(apr_pool_t *p, apr_pool_t *plog,\n                                 apr_pool_t
      *ptemp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authz_core_check_section
      Src: /src/httpd/modules/aaa/mod_authz_core.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 680
    functionName: authz_core_check_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - authz_core_check_section
    linkageType: ''
    returnType: int
    signature: "int authz_core_check_config(apr_pool_t *p, apr_pool_t *plog,\n                                   apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:733,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:733,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:736,1
    - Dst: format_authz_result
      Src: /src/httpd/modules/aaa/mod_authz_core.c:737,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authz_core.c:743,1
    - Dst: authz_section_conf*::provider::check_authorization
      Src: /src/httpd/modules/aaa/mod_authz_core.c:747,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authz_core.c:750,1
    - Dst: apply_authz_sections
      Src: /src/httpd/modules/aaa/mod_authz_core.c:760,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:815,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:815,1
    - Dst: format_authz_command
      Src: /src/httpd/modules/aaa/mod_authz_core.c:817,1
    - Dst: format_authz_result
      Src: /src/httpd/modules/aaa/mod_authz_core.c:818,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - r
    - section
    - parent_op
    argTypes:
    - request_rec*
    - authz_section_conf*
    - authz_logic_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 821
    functionName: apply_authz_sections
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - format_authz_command
    - APLOGNO
    - authz_section_conf*::provider::check_authorization
    - apr_table_setn
    - apply_authz_sections
    - apr_table_unset
    - format_authz_result
    linkageType: ''
    returnType: authz_status
    signature: "authz_status apply_authz_sections(request_rec *r,\n                                         authz_section_conf
      *section,\n                                         authz_logic_op parent_op)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:828,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authz_core.c:831,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:836,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:836,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:843,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:843,1
    - Dst: apply_authz_sections
      Src: /src/httpd/modules/aaa/mod_authz_core.c:849,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:856,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:856,1
    - Dst: ap_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_authz_core.c:865,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authz_core.c:878,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:879,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:879,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:887,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:887,1
    - Dst: ap_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_authz_core.c:901,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - r
    - after_authn
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 912
    functionName: authorize_user_core
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_auth_type
    - APLOGNO
    - apply_authz_sections
    - ap_get_module_config
    - ap_note_auth_failure
    linkageType: ''
    returnType: int
    signature: int authorize_user_core(request_rec *r, int after_authn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authorize_user_core
      Src: /src/httpd/modules/aaa/mod_authz_core.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: authorize_userless
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - authorize_user_core
    linkageType: ''
    returnType: int
    signature: int authorize_userless(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authorize_user_core
      Src: /src/httpd/modules/aaa/mod_authz_core.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: authorize_user
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - authorize_user_core
    linkageType: ''
    returnType: int
    signature: int authorize_user(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: authz_some_auth_required
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int authz_some_auth_required(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:952,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authz_core.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 959
    functionName: env_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status env_check_authorization(request_rec *r,\n                                            const
      char *require_line,\n                                            const void
      *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 980
    functionName: all_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: authz_status
    signature: "authz_status all_check_authorization(request_rec *r,\n                                            const
      char *require_line,\n                                            const void
      *parsed_require_line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:991,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1002
    functionName: all_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *all_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                   const void **parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1024
    functionName: method_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: authz_status
    signature: "authz_status method_check_authorization(request_rec *r,\n                                               const
      char *require_line,\n                                               const void
      *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1030,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1034,1
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1035,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1045
    functionName: method_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - apr_pcalloc
    - apr_pstrcat
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *method_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                      const void **parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1066,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1068,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1069,1
    - Dst: ap_expr_lookup_default
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1073
    functionName: expr_lookup_fn
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_get
    - strcasecmp
    - ap_expr_lookup_default
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: int expr_lookup_fn(ap_expr_lookup_parms *parms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1079,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1083,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1086,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1091,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1093,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1104
    functionName: expr_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pcalloc
    - apr_pstrcat
    - apr_pool_userdata_setn
    - apr_pstrndup
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *expr_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                    const void **parsed_require_line)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1112,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1115,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1129
    functionName: expr_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 0
    functionsReached:
    - ap_expr_exec
    - ap_log_rerror
    - APLOGNO
    linkageType: ''
    returnType: authz_status
    signature: "authz_status expr_check_authorization(request_rec *r,\n                                             const
      char *require_line,\n                                             const void
      *parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1140,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1142,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1143,1
    - Dst: ap_hook_check_authz
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1144,1
    - Dst: ap_hook_check_access_ex
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1146,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1149,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1152,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1155,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_core.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1161
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_core.c
    functionUses: 1
    functionsReached:
    - ap_register_auth_provider
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_check_access_ex
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_check_authz
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: create_auth_bearer_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_auth_bearer_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: merge_auth_bearer_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_auth_bearer_dir_config(apr_pool_t *p, void *basev, void
      *overridesv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:88,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:92,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:99,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 125
    functionName: add_autht_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - apr_pcalloc
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *add_autht_provider(cmd_parms *cmd, void *config,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: set_authoritative
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_authoritative(cmd_parms * cmd, void *config, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:143,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:150,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - config
    - user
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: set_bearer_proxy
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcasecmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *set_bearer_proxy(cmd_parms * cmd, void *config,\n        const
      char *user)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:188,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:191,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: note_bearer_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_auth_name
    - apr_table_setn
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void note_bearer_auth_failure(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:197,1
    - Dst: note_bearer_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - auth_type
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: hook_note_bearer_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - note_bearer_auth_failure
    linkageType: ''
    returnType: int
    signature: int hook_note_bearer_auth_failure(request_rec *r, const char *auth_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:209,1
    - Dst: note_bearer_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:214,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:218,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:218,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:220,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:220,1
    - Dst: note_bearer_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:222,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - r
    - token
    argTypes:
    - request_rec*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: get_bearer_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - strcasecmp
    - APLOGNO
    - note_bearer_auth_failure
    - apr_table_get
    - ap_getword
    linkageType: ''
    returnType: int
    signature: int get_bearer_auth(request_rec *r, const char **token)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:241,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:249,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:250,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:255,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:256,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:256,1
    - Dst: get_bearer_auth
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:263,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:276,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:281,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:281,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:286,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:290,1
    - Dst: autht_provider*::check_token
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:293,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:295,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:320,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:320,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:327,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:327,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:334,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:341,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:341,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:343,1
    - Dst: note_bearer_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:357,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 363
    functionName: authenticate_bearer_token
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_auth_type
    - autht_provider*::check_token
    - strcasecmp
    - ap_auth_name
    - APLOGNO
    - ap_lookup_provider
    - apr_table_setn
    - note_bearer_auth_failure
    - apr_table_unset
    - ap_get_module_config
    - get_bearer_auth
    linkageType: ''
    returnType: int
    signature: int authenticate_bearer_token(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:371,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:378,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:380,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:380,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:385,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:385,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:388,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:393,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:395,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:397,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 402
    functionName: authenticate_bearer_fixup
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - ap_expr_str_exec
    - APLOGNO
    - apr_table_setn
    - apr_table_unset
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int authenticate_bearer_fixup(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_check_autht
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:406,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:408,1
    - Dst: ap_hook_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_bearer.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_bearer.c
    functionUses: 1
    functionsReached:
    - ap_hook_note_auth_failure
    - ap_hook_check_autht
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: create_auth_basic_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_auth_basic_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: merge_auth_basic_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_auth_basic_dir_config(apr_pool_t *p, void *basev, void
      *overridesv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:93,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:97,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:104,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 130
    functionName: add_authn_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - apr_pcalloc
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *add_authn_provider(cmd_parms *cmd, void *config,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: set_authoritative
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_authoritative(cmd_parms * cmd, void *config, int flag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:148,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:162,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:165,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:170,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cmd
    - config
    - user
    - pass
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 181
    functionName: add_basic_fake
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcasecmp
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *add_basic_fake(cmd_parms * cmd, void *config,\n        const
      char *user, const char *pass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:188,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:188,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - alg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: set_use_digest_algorithm
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_use_digest_algorithm(cmd_parms *cmd, void *config,\n                                            const
      char *alg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:232,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:235,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: note_basic_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 1
    functionsReached:
    - ap_auth_name
    - apr_table_setn
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void note_basic_auth_failure(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:241,1
    - Dst: note_basic_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - auth_type
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: hook_note_basic_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - note_basic_auth_failure
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int hook_note_basic_auth_failure(request_rec *r, const char *auth_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:255,1
    - Dst: note_basic_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:260,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:264,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:264,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:266,1
    - Dst: note_basic_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:268,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:277,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - r
    - user
    - pw
    argTypes:
    - request_rec*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 286
    functionName: get_basic_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_cstr_casecmp
    - ap_getword_nulls
    - APLOGNO
    - ap_pbase64decode
    - note_basic_auth_failure
    - apr_table_get
    - ap_getword
    linkageType: ''
    returnType: int
    signature: "int get_basic_auth(request_rec *r, const char **user,\n                          const
      char **pw)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:293,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:303,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:304,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:309,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:310,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:310,1
    - Dst: get_basic_auth
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:317,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:323,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:324,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:325,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:326,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:339,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:344,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:344,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:349,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:353,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:360,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:360,1
    - Dst: authn_provider*::get_realm_hash
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:367,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:370,1
    - Dst: authn_provider*::check_password
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:375,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:378,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:403,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:403,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:410,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:410,1
    - Dst: note_basic_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:428,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 434
    functionName: authenticate_basic_user
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_auth_type
    - authn_provider*::check_password
    - ap_cstr_casecmp
    - apr_pstrcat
    - ap_auth_name
    - APLOGNO
    - ap_md5
    - ap_lookup_provider
    - apr_table_setn
    - authn_provider*::get_realm_hash
    - apr_table_unset
    - note_basic_auth_failure
    - ap_get_module_config
    - get_basic_auth
    linkageType: ''
    returnType: int
    signature: int authenticate_basic_user(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:442,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:449,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:451,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:451,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:456,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:456,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:459,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:464,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:466,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:466,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:471,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:474,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:479,1
    - Dst: ap_pbase64encode
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:480,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:481,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:484,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:486,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 491
    functionName: authenticate_basic_fake
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - ap_expr_str_exec
    - APLOGNO
    - ap_pbase64encode
    - apr_table_setn
    - apr_table_unset
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int authenticate_basic_fake(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:495,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:497,1
    - Dst: ap_hook_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_basic.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_basic.c
    functionUses: 1
    functionsReached:
    - ap_hook_note_auth_failure
    - ap_hook_check_authn
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_host.c:61,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_host.c:62,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authz_host.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - domain
    - what
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: in_domain
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int in_domain(const char *domain, const char *what)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:101,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_host.c:107,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:111,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authz_host.c:112,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authz_host.c:117,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authz_host.c:124,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/aaa/mod_authz_host.c:127,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/aaa/mod_authz_host.c:129,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:131,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:134,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authz_host.c:139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 144
    functionName: ip_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_strchr
    - apr_pcalloc
    - apr_ipsubnet_create
    - apr_psprintf
    - APR_STATUS_IS_EINVAL
    - apr_pstrdup
    - apr_hash_get
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ip_parse_config(cmd_parms *cmd,\n                                   const
      char *require_line,\n                                   const void **parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/aaa/mod_authz_host.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: ip_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ip_check_authorization(request_rec *r,\n                                           const
      char *require_line,\n                                           const void *parsed_require_line)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/aaa/mod_authz_host.c:171,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:174,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_host.c:183,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:185,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:185,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_authz_host.c:199,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:202,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:202,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:208,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authz_host.c:213,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:216,1
    - Dst: in_domain
      Src: /src/httpd/modules/aaa/mod_authz_host.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 225
    functionName: host_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_expr_str_exec
    - APLOGNO
    - ap_get_useragent_host
    - apr_pstrmemdup
    - in_domain
    - ap_strchr_c
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status host_check_authorization(request_rec *r,\n                                             const
      char *require_line,\n                                             const void
      *parsed_require_line)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_host.c:238,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:240,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:240,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authz_host.c:248,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authz_host.c:255,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/aaa/mod_authz_host.c:263,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/modules/aaa/mod_authz_host.c:267,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:269,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:269,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_host.c:280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_host.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 291
    functionName: forward_dns_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - ap_expr_str_exec
    - APLOGNO
    - apr_sockaddr_equal
    - apr_sockaddr_info_get
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status forward_dns_check_authorization(request_rec *r,\n                                const
      char *require_line,\n                                const void *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/modules/aaa/mod_authz_host.c:297,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/aaa/mod_authz_host.c:299,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/aaa/mod_authz_host.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: local_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - apr_sockaddr_equal
    linkageType: ''
    returnType: authz_status
    signature: "authz_status local_check_authorization(request_rec *r,\n                                              const
      char *require_line,\n                                              const void
      *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_host.c:317,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_host.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 328
    functionName: host_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *host_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                    const void **parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authz_host.c:359,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/aaa/mod_authz_host.c:361,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authz_host.c:362,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/aaa/mod_authz_host.c:365,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authz_host.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: authz_host_pre_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_ipsubnet_create
    - apr_hash_make
    linkageType: ''
    returnType: int
    signature: "int authz_host_pre_config(apr_pool_t *p, apr_pool_t *plog,\n                                 apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: authz_host_post_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int authz_host_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                  apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/aaa/mod_authz_host.c:383,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_authz_host.c:384,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_host.c:386,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_host.c:389,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_host.c:392,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_host.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_host.c
    functionUses: 1
    functionsReached:
    - ap_hook_post_config
    - ap_register_auth_provider
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authn_core.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: create_authn_core_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_authn_core_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authn_core.c:88,1
    - Dst: auth_type_set::auth_type_set
      Src: /src/httpd/modules/aaa/mod_authn_core.c:90,1
    - Dst: ap_auth_type::ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authn_core.c:91,1
    - Dst: ap_auth_name::ap_auth_name
      Src: /src/httpd/modules/aaa/mod_authn_core.c:99,1
    - Dst: ap_auth_name::ap_auth_name
      Src: /src/httpd/modules/aaa/mod_authn_core.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - a
    - basev
    - newv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: merge_authn_core_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - ap_auth_type::ap_auth_type
    - ap_auth_name::ap_auth_name
    - apr_pcalloc
    - auth_type_set::auth_type_set
    linkageType: ''
    returnType: void
    signature: void *merge_authn_core_dir_config(apr_pool_t *a, void *basev, void
      *newv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authn_core.c:116,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:119,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authn_core.c:123,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/aaa/mod_authn_core.c:130,1
    - Dst: provider_alias_rec*::provider::check_password
      Src: /src/httpd/modules/aaa/mod_authn_core.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: authn_alias_check_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - provider_alias_rec*::provider::check_password
    - ap_merge_per_dir_configs
    - apr_table_get
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_alias_check_password(request_rec *r, const char
      *user,\n                                              const char *password)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authn_core.c:148,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:151,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authn_core.c:155,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/aaa/mod_authn_core.c:162,1
    - Dst: provider_alias_rec*::provider::get_realm_hash
      Src: /src/httpd/modules/aaa/mod_authn_core.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - r
    - user
    - realm
    - rethash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: authn_alias_get_realm_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - provider_alias_rec*::provider::get_realm_hash
    - ap_merge_per_dir_configs
    - apr_table_get
    - ap_get_module_config
    - apr_hash_get
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_alias_get_realm_hash(request_rec *r, const char
      *user,\n                                               const char *realm, char
      **rethash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authn_core.c:177,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authn_core.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: create_authn_alias_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_authn_alias_svr_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: merge_authn_alias_svr_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *merge_authn_alias_svr_config(apr_pool_t *p, void *basev, void
      *overridesv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/aaa/mod_authn_core.c:203,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:210,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:212,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authn_core.c:215,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:221,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_authn_core.c:225,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:228,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authn_core.c:233,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authn_core.c:234,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:237,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authn_core.c:241,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:242,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authn_core.c:247,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:250,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:258,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authn_core.c:262,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authn_core.c:263,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authn_core.c:269,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authn_core.c:280,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_core.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 292
    functionName: authaliassection
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_register_auth_provider
    - apr_pcalloc
    - apr_pstrcat
    - ap_getword_conf
    - strcasecmp
    - ap_lookup_provider
    - ap_walk_config
    - ap_check_cmd_context
    - apr_pstrndup
    - apr_psprintf
    - ap_get_module_config
    - ap_strrchr_c
    - ap_create_per_dir_config
    linkageType: ''
    returnType: char
    signature: char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authn_core.c:304,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - word1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: set_authname
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_authname(cmd_parms *cmd, void *mconfig,\n                                const
      char *word1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authn_core.c:321,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_core.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - word1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 332
    functionName: set_authtype
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_authtype(cmd_parms *cmd, void *mconfig,\n                                const
      char *word1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:338,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authn_core.c:343,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_core.c:345,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_core.c:346,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_authn_core.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: authn_ap_auth_type
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_cstr_casecmp
    - ap_expr_str_exec
    - APLOGNO
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *authn_ap_auth_type(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_core.c:361,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authn_core.c:365,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_core.c:367,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_core.c:368,1
    - Dst: ap_escape_quotes
      Src: /src/httpd/modules/aaa/mod_authn_core.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: authn_ap_auth_name
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_expr_str_exec
    - APLOGNO
    - ap_escape_quotes
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *authn_ap_auth_name(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authn_core.c:394,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_core.c:401,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_core.c:401,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authn_core.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: authenticate_no_user
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - ap_auth_type
    linkageType: ''
    returnType: int
    signature: int authenticate_no_user(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_core.c:410,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_core.c:411,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/aaa/mod_authn_core.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_core.c
    functionUses: 1
    functionsReached:
    - ap_hook_check_authn
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - user
    - ','
    - realm
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: AUTHN_CACHE_STORE
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHN_CACHE_STORE(r,user,realm,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_file.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: create_authn_file_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authn_file_dir_config(apr_pool_t *p, char *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_file.c:60,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_file.c:68,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_file.c:68,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/aaa/mod_authn_file.c:73,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_file.c:76,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_file.c:76,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/aaa/mod_authn_file.c:81,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authn_file.c:90,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_file.c:92,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authn_file.c:93,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/aaa/mod_authn_file.c:97,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_file.c:102,1
    - Dst: ap_password_validate
      Src: /src/httpd/modules/aaa/mod_authn_file.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 110
    functionName: check_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 2
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_cfg_closefile
    - AUTHN_CACHE_STORE
    - APLOGNO
    - ap_pcfg_openfile
    - ap_password_validate
    - ap_get_module_config
    - ap_getword
    - ap_cfg_getline
    linkageType: ''
    returnType: authn_status
    signature: "authn_status check_password(request_rec *r, const char *user,\n                                   const
      char *password)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_file.c:115,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_file.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_file.c:123,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/aaa/mod_authn_file.c:128,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_file.c:131,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_file.c:131,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/aaa/mod_authn_file.c:136,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authn_file.c:145,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authn_file.c:146,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_file.c:148,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_file.c:148,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authn_file.c:150,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/aaa/mod_authn_file.c:154,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_file.c:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - r
    - user
    - realm
    - rethash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 164
    functionName: get_realm_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 3
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_cfg_closefile
    - AUTHN_CACHE_STORE
    - APLOGNO
    - ap_pcfg_openfile
    - ap_get_module_config
    - ap_getword
    - ap_cfg_getline
    linkageType: ''
    returnType: authn_status
    signature: "authn_status get_realm_hash(request_rec *r, const char *user,\n                                   const
      char *realm, char **rethash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_file.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: opt_retr
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void opt_retr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_file.c:178,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authn_file.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_file.c
    functionUses: 1
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: create_auth_form_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_auth_form_dir_config(apr_pool_t * p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: merge_auth_form_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_auth_form_dir_config(apr_pool_t * p, void *basev, void
      *addv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:150,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_form.c:154,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_form.c:163,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_form.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 189
    functionName: add_authn_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - apr_pcalloc
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *add_authn_provider(cmd_parms * cmd, void *config,\n                                           const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_auth_form.c:197,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_auth_form.c:197,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cmd
    - string
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: check_string
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 5
    functionsReached:
    - ap_strchr_c
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *check_string(cmd_parms * cmd, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - location
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: set_cookie_form_location
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_location(cmd_parms * cmd, void *config, const
      char *location)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - username
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: set_cookie_form_username
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_username(cmd_parms * cmd, void *config, const
      char *username)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - password
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: set_cookie_form_password
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_password(cmd_parms * cmd, void *config, const
      char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - method
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: set_cookie_form_method
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_method(cmd_parms * cmd, void *config, const char
      *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - mimetype
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: set_cookie_form_mimetype
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_mimetype(cmd_parms * cmd, void *config, const
      char *mimetype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_string
      Src: /src/httpd/modules/aaa/mod_auth_form.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - body
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: set_cookie_form_body
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - check_string
    linkageType: ''
    returnType: char
    signature: char *set_cookie_form_body(cmd_parms * cmd, void *config, const char
      *body)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/modules/aaa/mod_auth_form.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: set_cookie_form_size
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_cookie_form_size(cmd_parms * cmd, void *config,\n                                             const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_form.c:274,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_form.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - loginrequired
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: set_login_required_location
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *set_login_required_location(cmd_parms * cmd, void *config, const
      char *loginrequired)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_form.c:291,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_form.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - loginsuccess
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: set_login_success_location
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *set_login_success_location(cmd_parms * cmd, void *config, const
      char *loginsuccess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_auth_form.c:308,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_auth_form.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - config
    - logout
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: set_logout_location
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *set_logout_location(cmd_parms * cmd, void *config, const char
      *logout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - site
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: set_site_passphrase
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_site_passphrase(cmd_parms * cmd, void *config, const char
      *site)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: set_authoritative
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_authoritative(cmd_parms * cmd, void *config, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: set_fake_basic_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_fake_basic_auth(cmd_parms * cmd, void *config, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - config
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: set_disable_no_store
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_disable_no_store(cmd_parms * cmd, void *config, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:411,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_auth_form.c:414,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: note_cookie_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - apr_table_setn
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void note_cookie_auth_failure(request_rec * r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:422,1
    - Dst: note_cookie_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_form.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - auth_type
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: hook_note_cookie_auth_failure
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - note_cookie_auth_failure
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: "int hook_note_cookie_auth_failure(request_rec * r,\n                                         const
      char *auth_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_form.c:451,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:453,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:453,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:456,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:456,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:459,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:459,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:462,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - r
    - user
    - pw
    - method
    - mimetype
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 465
    functionName: set_notes_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_auth_name
    - apr_table_setn
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void set_notes_auth(request_rec * r,\n                                const
      char *user, const char *pw,\n                                const char *method,
      const char *mimetype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_form.c:488,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_form.c:490,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:490,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_form.c:493,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:493,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_form.c:496,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:496,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_auth_form.c:499,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:499,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - r
    - user
    - pw
    - method
    - mimetype
    argTypes:
    - request_rec*
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 512
    functionName: get_notes_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_auth_name
    - ap_log_rerror
    - apr_pstrcat
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void get_notes_auth(request_rec *r,\n                           const
      char **user, const char **pw,\n                           const char **method,
      const char **mimetype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_form.c:524,1
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_form.c:528,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:529,1
    - Dst: ap_session_load_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:532,1
    - Dst: ap_session_set_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:533,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:533,1
    - Dst: ap_session_set_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:534,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:534,1
    - Dst: ap_session_set_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:535,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - r
    - user
    - pw
    - site
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: set_session_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_auth_name
    - ap_md5
    - ap_session_load_fn
    - ap_session_set_fn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t set_session_auth(request_rec * r,\n                                     const
      char *user, const char *pw, const char *site)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_form.c:548,1
    - Dst: ap_session_load_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:551,1
    - Dst: ap_session_get_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:554,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:554,1
    - Dst: ap_session_get_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:557,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:557,1
    - Dst: ap_session_get_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:560,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:560,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - r
    - user
    - pw
    - hash
    argTypes:
    - request_rec*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 576
    functionName: get_session_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - ap_session_get_fn
    - ap_auth_name
    - ap_session_load_fn
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_session_auth(request_rec * r,\n                                     const
      char **user, const char **pw, const char **hash)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_notes_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:614,1
    - Dst: ap_parse_form_data
      Src: /src/httpd/modules/aaa/mod_auth_form.c:619,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/aaa/mod_auth_form.c:623,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/aaa/mod_auth_form.c:624,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:625,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_auth_form.c:626,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:628,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_auth_form.c:629,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:633,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_auth_form.c:634,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:636,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_auth_form.c:637,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:641,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_auth_form.c:642,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:644,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_auth_form.c:645,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:649,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_auth_form.c:650,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:652,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_auth_form.c:653,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:657,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/aaa/mod_auth_form.c:658,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:660,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_auth_form.c:661,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:665,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:670,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:685,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:685,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:693,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:693,1
    - Dst: set_notes_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:704,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 14
    argNames:
    - r
    - username
    - password
    - location
    - method
    - mimetype
    - body
    - sent_user
    - sent_pw
    - sent_loc
    - sent_method
    - sent_mimetype
    - sent_body
    - conf
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char**
    - char**
    - char**
    - char**
    - char**
    - apr_bucket_brigade**
    - auth_form_config_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 708
    functionName: get_form_auth
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - strcmp
    - ap_log_rerror
    - apr_palloc
    - get_notes_auth
    - APLOGNO
    - apr_brigade_flatten
    - set_notes_auth
    - apr_array_pop
    - apr_brigade_length
    - ap_parse_form_data
    linkageType: ''
    returnType: int
    signature: "int get_form_auth(request_rec * r,\n                             const
      char *username,\n                             const char *password,\n                             const
      char *location,\n                             const char *method,\n                             const
      char *mimetype,\n                             const char *body,\n                             const
      char **sent_user,\n                             const char **sent_pw,\n                             const
      char **sent_loc,\n                             const char **sent_method,\n                             const
      char **sent_mimetype,\n                             apr_bucket_brigade **sent_body,\n
      \                            auth_form_config_rec * conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_md5
      Src: /src/httpd/modules/aaa/mod_auth_form.c:737,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:738,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - r
    - site
    - sent_user
    - sent_hash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 750
    functionName: check_site
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_md5
    - apr_pstrcat
    linkageType: ''
    returnType: int
    signature: int check_site(request_rec * r, const char *site, const char *sent_user,
      const char *sent_hash)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:762,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_auth_form.c:774,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:779,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:779,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:784,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:788,1
    - Dst: authn_provider*::check_password
      Src: /src/httpd/modules/aaa/mod_auth_form.c:796,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_auth_form.c:798,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:823,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:823,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:830,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:830,1
    - Dst: note_cookie_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_form.c:846,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - r
    - sent_user
    - sent_pw
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 856
    functionName: check_authn
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 6
    functionsReached:
    - authn_provider*::check_password
    - ap_log_rerror
    - note_cookie_auth_failure
    - APLOGNO
    - ap_lookup_provider
    - apr_table_setn
    - apr_table_unset
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int check_authn(request_rec * r, const char *sent_user, const char
      *sent_pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:863,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_auth_form.c:864,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_auth_form.c:865,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/modules/aaa/mod_auth_form.c:866,1
    - Dst: apr_base64_encode
      Src: /src/httpd/modules/aaa/mod_auth_form.c:867,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:868,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_auth_form.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - r
    - conf
    - user
    - pw
    argTypes:
    - request_rec*
    - auth_form_config_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 871
    functionName: fake_basic_authentication
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pstrcat
    - apr_table_setn
    - strlen
    - apr_base64_encode_len
    - apr_base64_encode
    linkageType: ''
    returnType: void
    signature: "void fake_basic_authentication(request_rec *r, auth_form_config_rec
      *conf,\n                                      const char *user, const char *pw)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:883,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_auth_form.c:893,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:894,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:905,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:905,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_auth_form.c:912,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:913,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:913,1
    - Dst: get_notes_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:921,1
    - Dst: get_session_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:925,1
    - Dst: check_site
      Src: /src/httpd/modules/aaa/mod_auth_form.c:934,1
    - Dst: fake_basic_authentication
      Src: /src/httpd/modules/aaa/mod_auth_form.c:936,1
    - Dst: check_authn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:943,1
    - Dst: fake_basic_authentication
      Src: /src/httpd/modules/aaa/mod_auth_form.c:945,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/aaa/mod_auth_form.c:978,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/modules/aaa/mod_auth_form.c:983,1
    - Dst: ap_run_insert_filter
      Src: /src/httpd/modules/aaa/mod_auth_form.c:989,1
    - Dst: get_form_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:992,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1000,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1012,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1016,1
    - Dst: ap_request_insert_filter_fn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1018,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1024,1
    - Dst: check_authn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1030,1
    - Dst: fake_basic_authentication
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1032,1
    - Dst: set_session_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1033,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1035,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1039,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1042,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1046,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1046,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1061,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1064,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1068,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1068,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1076,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1090,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1091,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 1096
    functionName: authenticate_form_authn
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - ap_run_insert_filter
    - apr_brigade_create
    - ap_get_module_config
    - set_session_auth
    - ap_cstr_casecmp
    - strcmp
    - get_form_auth
    - ap_expr_str_exec
    - get_notes_auth
    - ap_request_insert_filter_fn
    - get_session_auth
    - check_authn
    - ap_log_rerror
    - ap_auth_type
    - APLOGNO
    - ap_auth_name
    - fake_basic_authentication
    - apr_table_set
    - apr_table_addn
    - check_site
    - ap_is_initial_req
    - apr_pstrdup
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: int authenticate_form_authn(request_rec * r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1120,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1125,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1125,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1131,1
    - Dst: get_form_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1133,1
    - Dst: check_authn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1138,1
    - Dst: set_session_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1140,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1142,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1146,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1149,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1153,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1164,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1167,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1171,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1179
    functionName: authenticate_form_login_handler
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - get_form_auth
    - ap_expr_str_exec
    - APLOGNO
    - check_authn
    - apr_table_set
    - ap_get_module_config
    - set_session_auth
    linkageType: ''
    returnType: int
    signature: int authenticate_form_login_handler(request_rec * r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1197,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1201,1
    - Dst: set_session_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1204,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1210,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1211,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1215,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1218,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1222,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1230
    functionName: authenticate_form_logout_handler
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - ap_expr_str_exec
    - APLOGNO
    - apr_table_addn
    - ap_get_module_config
    - set_session_auth
    linkageType: ''
    returnType: int
    signature: int authenticate_form_logout_handler(request_rec * r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1246,1
    - Dst: get_notes_auth
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1251,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1255,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1255,1
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1259,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1260,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1264,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1273
    functionName: authenticate_form_redirect_handler
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - get_notes_auth
    - ap_sub_req_method_uri
    - APLOGNO
    - ap_run_sub_req
    linkageType: ''
    returnType: int
    signature: int authenticate_form_redirect_handler(request_rec * r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1280,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1281,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1282,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1284,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1284,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1292,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1293,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1303
    functionName: authenticate_form_post_config
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int authenticate_form_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \       apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1307,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1309,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1310,1
    - Dst: ap_hook_check_user_id
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1313,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1315,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1316,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1317,1
    - Dst: ap_hook_note_auth_failure
      Src: /src/httpd/modules/aaa/mod_auth_form.c:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1321
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_auth_form.c
    functionUses: 1
    functionsReached:
    - ap_hook_check_authn
    - ap_hook_note_auth_failure
    - ap_hook_check_user_id
    - ap_hook_handler
    - ap_hook_post_config
    - AP_MODULE_MAGIC_AT_LEAST
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:61,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:74,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: am_check_access
    functionSourceFile: /src/httpd/modules/aaa/mod_allowmethods.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int am_check_access(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: am_create_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_allowmethods.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *am_create_conf(apr_pool_t *p, char *dummy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pool
    - a
    - b
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 136
    functionName: am_merge_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_allowmethods.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *am_merge_conf(apr_pool_t *pool, void *a, void *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:152,1
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:186,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 213
    functionName: am_allowmethods
    functionSourceFile: /src/httpd/modules/aaa/mod_allowmethods.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - apr_pstrcat
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *am_allowmethods(cmd_parms *cmd, void *d, int argc,\n                                   char
      *const argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_access_checker
      Src: /src/httpd/modules/aaa/mod_allowmethods.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: am_register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_allowmethods.c
    functionUses: 0
    functionsReached:
    - ap_hook_access_checker
    linkageType: ''
    returnType: void
    signature: void am_register_hooks(apr_pool_t * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: remove_lock
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 3
    functionsReached:
    - apr_global_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t remove_lock(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: destroy_cache
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 3
    functionsReached:
    - destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t destroy_cache(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:71,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:74,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:74,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptmp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: authn_cache_precfg
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - APLOGNO
    - ap_log_perror
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: int authn_cache_precfg(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptmp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:96,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:96,1
    - Dst: create
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:107,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:110,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:110,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:117,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:120,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:120,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:124,1
    - Dst: init
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:126,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:129,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:129,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptmp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 135
    functionName: authn_cache_post_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - init
    - ap_global_mutex_create
    - create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int authn_cache_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \                                  apr_pool_t *ptmp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:144,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:145,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:147,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: authn_cache_child_init
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - ap_log_error
    - apr_global_mutex_lockfile
    linkageType: ''
    returnType: void
    signature: void authn_cache_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:155,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:162,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:164,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:171,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:174,1
    - Dst: create
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:180,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 188
    functionName: authn_cache_socache
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - ap_lookup_provider
    - apr_pstrmemdup
    - ap_check_cmd_context
    - apr_psprintf
    - create
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *authn_cache_socache(cmd_parms *cmd, void *CFG,\n                                       const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmd
    - CFG
    argTypes:
    - cmd_parms*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: authn_cache_enable
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *authn_cache_enable(cmd_parms *cmd, void *CFG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:200,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: authn_cache_dircfg_create
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void * authn_cache_dircfg_create(apr_pool_t *pool, char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:212,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: authn_cache_dircfg_merge
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void * authn_cache_dircfg_merge(apr_pool_t *pool, void *BASE, void
      *ADD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:231,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: authn_cache_setprovider
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *authn_cache_setprovider(cmd_parms *cmd, void *CFG,\n                                           const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:242,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - CFG
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: authn_cache_timeout
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *authn_cache_timeout(cmd_parms *cmd, void *CFG,\n                                       const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:268,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:270,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:272,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:273,1
    - Dst: strcpy
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:274,1
    - Dst: strncat
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:275,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:278,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:284,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - r
    - context
    - user
    - realm
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: construct_key
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_palloc
    - apr_pstrcat
    - strncat
    - strcpy
    - ap_strrchr_c
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *construct_key(request_rec *r, const char *context,\n                                 const
      char *user, const char *realm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:301,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:305,1
    - Dst: apr_global_mutex_trylock
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:310,1
    - Dst: APR_STATUS_IS_EBUSY
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:311,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:313,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:318,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:318,1
    - Dst: construct_key
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:326,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:327,1
    - Dst: store
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:330,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:331,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:332,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:334,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:339,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:339,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:345,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:347,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - r
    - module
    - user
    - realm
    - data
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 349
    functionName: ap_authn_cache_store
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 0
    functionsReached:
    - ap_array_str_contains
    - ap_log_rerror
    - apr_time_now
    - APLOGNO
    - store
    - APR_STATUS_IS_EBUSY
    - apr_global_mutex_trylock
    - apr_global_mutex_unlock
    - ap_get_module_config
    - construct_key
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_authn_cache_store(request_rec *r, const char *module,\n                                 const
      char *user, const char *realm,\n                                 const char*
      data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:370,1
    - Dst: construct_key
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:374,1
    - Dst: retrieve
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:375,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:376,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:379,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:381,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:387,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:387,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:394,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:394,1
    - Dst: ap_password_validate
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 405
    functionName: check_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - retrieve
    - ap_password_validate
    - APR_STATUS_IS_NOTFOUND
    - ap_get_module_config
    - construct_key
    - strlen
    linkageType: ''
    returnType: authn_status
    signature: "authn_status check_password(request_rec *r, const char *user,\n                                   const
      char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:415,1
    - Dst: construct_key
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:419,1
    - Dst: retrieve
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:420,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:421,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:424,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:426,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:426,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:432,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:432,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:438,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:438,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - r
    - user
    - realm
    - rethash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 445
    functionName: get_realm_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - retrieve
    - apr_pstrmemdup
    - APR_STATUS_IS_NOTFOUND
    - ap_get_module_config
    - construct_key
    - strlen
    linkageType: ''
    returnType: authn_status
    signature: "authn_status get_realm_hash(request_rec *r, const char *user,\n                                   const
      char *realm, char **rethash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:455,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:458,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:459,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:460,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/aaa/mod_authn_socache.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_socache.c
    functionUses: 1
    functionsReached:
    - ap_register_auth_provider
    - ap_hook_pre_config
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: AUTHZ_DBD_DECLARE
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: AUTHZ_DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: AUTHZ_DBD_DECLARE
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AUTHZ_DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: AUTHZ_DBD_DECLARE
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: AUTHZ_DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: AUTHZ_DBD_DECLARE
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: AUTHZ_DBD_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHZ_DBD_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - user
    - ','
    - realm
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: AUTHN_CACHE_STORE
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHN_CACHE_STORE(r,user,realm,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: create_authn_dbm_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authn_dbm_dir_config(apr_pool_t *p, char *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:92,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:95,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:95,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:101,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:104,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:109,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:117,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:119,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:124,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:125,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - r
    - dbmtype
    - dbmfile
    - user
    - value
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 135
    functionName: fetch_dbm_value
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - ap_log_rerror
    - apr_dbm_get_driver
    - apr_dbm_fetch
    - APLOGNO
    - apr_pstrmemdup
    - apr_dbm_open2
    - apr_dbm_open_ex
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t fetch_dbm_value(request_rec *r, const char *dbmtype,\n
      \                                   const char *dbmfile,\n                                    const
      char *user, char **value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:140,1
    - Dst: fetch_dbm_value
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:146,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:156,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:160,1
    - Dst: ap_password_validate
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: check_dbm_pw
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - AUTHN_CACHE_STORE
    - ap_password_validate
    - ap_get_module_config
    - fetch_dbm_value
    linkageType: ''
    returnType: authn_status
    signature: "authn_status check_dbm_pw(request_rec *r, const char *user,\n                                 const
      char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:174,1
    - Dst: fetch_dbm_value
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:180,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:181,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:192,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - r
    - user
    - realm
    - rethash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: get_dbm_realm_hash
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - AUTHN_CACHE_STORE
    - apr_pstrcat
    - ap_get_module_config
    - fetch_dbm_value
    linkageType: ''
    returnType: authn_status
    signature: "authn_status get_dbm_realm_hash(request_rec *r, const char *user,\n
      \                                      const char *realm, char **rethash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: opt_retr
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void opt_retr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:215,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authn_dbm.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbm.c
    functionUses: 1
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(authz_dbd, AUTHZ_DBD, int,
      client_login,\n                            (request_rec *r, int code, const
      char *action),\n                            (r, code, action), OK, DECLINED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: authz_dbd_cr_cfg
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *authz_dbd_cr_cfg(apr_pool_t *pool, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: authz_dbd_merge_cfg
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *authz_dbd_merge_cfg(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:83,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:88,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:92,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:94,1
    - Dst: dbd_prepare
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:96,1
    - Dst: ap_set_string_slot
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - cfg
    - query
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: authz_dbd_prepare
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_set_string_slot
    - ap_check_cmd_context
    - apr_psprintf
    - dbd_prepare
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: char
    signature: "char *authz_dbd_prepare(cmd_parms *cmd, void *cfg,\n                                     const
      char *query)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:128,1
    - Dst: dbd_handle
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:133,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:135,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:142,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:144,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:144,1
    - Dst: apr_dbd_pvquery
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:149,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:153,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:159,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:160,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:160,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:167,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:171,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:174,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:174,1
    - Dst: apr_dbd_pvselect
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:178,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:180,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:182,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:184,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:185,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:185,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:191,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:192,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:198,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:199,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:206,1
    - Dst: authz_dbd_run_client_login
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:208,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - r
    - cfg
    - action
    argTypes:
    - request_rec*
    - authz_dbd_cfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 210
    functionName: authz_dbd_login
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_hash_get
    - apr_dbd_error
    - APLOGNO
    - apr_dbd_get_row
    - apr_dbd_pvselect
    - apr_table_set
    - authz_dbd_run_client_login
    - apr_table_get
    - dbd_handle
    - apr_dbd_get_entry
    - apr_pstrdup
    - apr_dbd_pvquery
    linkageType: ''
    returnType: int
    signature: "int authz_dbd_login(request_rec *r, authz_dbd_cfg *cfg,\n                           const
      char *action)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:224,1
    - Dst: dbd_handle
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:229,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:231,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:231,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:237,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:239,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:239,1
    - Dst: apr_dbd_pvselect
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:243,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:246,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:248,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:251,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:252,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:255,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:256,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:256,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:264,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:265,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - r
    - cfg
    - groups
    argTypes:
    - request_rec*
    - authz_dbd_cfg*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 271
    functionName: authz_dbd_group_query
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_dbd_error
    - APLOGNO
    - apr_dbd_get_row
    - apr_dbd_pvselect
    - dbd_handle
    - apr_dbd_get_entry
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: "int authz_dbd_group_query(request_rec *r, authz_dbd_cfg *cfg,\n                                 apr_array_header_t
      *groups)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:286,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:293,1
    - Dst: authz_dbd_group_query
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:294,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:299,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:301,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:309,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 316
    functionName: dbdgroup_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_array_str_contains
    - ap_log_rerror
    - authz_dbd_group_query
    - ap_expr_str_exec
    - APLOGNO
    - ap_getword_white
    - ap_get_module_config
    - apr_array_make
    linkageType: ''
    returnType: authz_status
    signature: "authz_status dbdgroup_check_authorization(request_rec *r,\n                                                 const
      char *require_args,\n                                                 const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:322,1
    - Dst: authz_dbd_login
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: dbdlogin_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    - authz_dbd_login
    linkageType: ''
    returnType: authz_status
    signature: "authz_status dbdlogin_check_authorization(request_rec *r,\n                                                 const
      char *require_args,\n                                                 const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:336,1
    - Dst: authz_dbd_login
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: dbdlogout_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    - authz_dbd_login
    linkageType: ''
    returnType: authz_status
    signature: "authz_status dbdlogout_check_authorization(request_rec *r,\n                                                  const
      char *require_args,\n                                                  const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:352,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: dbd_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *dbd_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                   const void **parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:386,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:390,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_dbd.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: authz_dbd_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbd.c
    functionUses: 0
    functionsReached:
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void authz_dbd_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_create
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:93,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:96,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:97,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:104,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:105,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:108,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:110,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - newsock
    - r
    - backend_addrs
    - backend_name
    - timeout
    argTypes:
    - apr_socket_t**
    - request_rec*
    - apr_sockaddr_t*
    - char*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 123
    functionName: connect_to_peer
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - apr_socket_create
    - ap_log_rerror
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_socket_connect
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t connect_to_peer(apr_socket_t **newsock,\n                                    request_rec
      *r,\n                                    apr_sockaddr_t *backend_addrs,\n                                    const
      char *backend_name,\n                                    apr_interval_time_t
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - r
    argTypes:
    - fcgi_provider_conf*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: log_provider_info
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: void
    signature: void log_provider_info(const fcgi_provider_conf *conf, request_rec
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:141,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:142,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:143,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:145,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:148,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:154,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:155,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:156,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:157,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:158,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:159,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:160,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:161,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:162,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - r
    - password
    - apache_role
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: setupenv
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_add_cgi_vars
    - apr_table_setn
    - ap_add_common_vars
    - apr_table_unset
    linkageType: ''
    returnType: void
    signature: void setupenv(request_rec *r, const char *password, const char *apache_role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:176,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:178,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:179,1
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:184,1
    - Dst: ap_log_rdata
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - conf
    - r
    - s
    - buf
    - buflen
    argTypes:
    - fcgi_provider_conf*
    - request_rec*
    - apr_socket_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 189
    functionName: recv_data
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - ap_log_rdata
    - APLOGNO
    - AP_MODULE_MAGIC_AT_LEAST
    - apr_socket_recv
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t recv_data(const fcgi_provider_conf *conf,\n                              request_rec
      *r,\n                              apr_socket_t *s,\n                              char
      *buf,\n                              apr_size_t *buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv_data
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - conf
    - r
    - s
    - buf
    - buflen
    argTypes:
    - fcgi_provider_conf*
    - request_rec*
    - apr_socket_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: recv_data_full
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - recv_data
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t recv_data_full(const fcgi_provider_conf *conf,\n                                   request_rec
      *r,\n                                   apr_socket_t *s,\n                                   char
      *buf,\n                                   apr_size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AP_MODULE_MAGIC_AT_LEAST
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:226,1
    - Dst: ap_log_rdata
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:227,1
    - Dst: apr_socket_sendv
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:237,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 6
    argNames:
    - conf
    - r
    - s
    - vec
    - nvec
    - len
    argTypes:
    - fcgi_provider_conf*
    - request_rec*
    - apr_socket_t*
    - struct iovec*
    - int
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 262
    functionName: sendv_data
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_log_rdata
    - APLOGNO
    - apr_socket_sendv
    - AP_MODULE_MAGIC_AT_LEAST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sendv_data(const fcgi_provider_conf *conf,\n                               request_rec
      *r,\n                               apr_socket_t *s,\n                               struct
      iovec *vec,\n                               int nvec,\n                               apr_size_t
      *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:276,1
    - Dst: ap_fcgi_fill_in_request_body
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:278,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:280,1
    - Dst: ap_fcgi_begin_request_body_to_array
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:281,1
    - Dst: sendv_data
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - r
    - conf
    - s
    - role
    - request_id
    argTypes:
    - request_rec*
    - fcgi_provider_conf*
    - apr_socket_t*
    - int
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: send_begin_request
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_fcgi_header_to_array
    - ap_fcgi_fill_in_header
    - sendv_data
    - ap_fcgi_fill_in_request_body
    - ap_fcgi_begin_request_body_to_array
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_begin_request(request_rec *r,\n                                       const
      fcgi_provider_conf *conf,\n                                       apr_socket_t
      *s, int role,\n                                       apr_uint16_t request_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:307,1
    - Dst: APLOG_R_IS_LEVEL
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:310,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:316,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:319,1
    - Dst: ap_fcgi_encoded_env_len
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:333,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:339,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:340,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:351,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:352,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:356,1
    - Dst: ap_fcgi_encode_env
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:357,1
    - Dst: ap_assert
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:360,1
    - Dst: ap_assert
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:362,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:364,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:366,1
    - Dst: sendv_data
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:373,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:374,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:382,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:383,1
    - Dst: sendv_data
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - s
    - conf
    - r
    - request_id
    - temp_pool
    argTypes:
    - apr_socket_t*
    - fcgi_provider_conf*
    - request_rec*
    - apr_uint16_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 389
    functionName: send_environment
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_fcgi_header_to_array
    - strcmp
    - ap_log_rerror
    - ap_fcgi_fill_in_header
    - apr_palloc
    - ap_fcgi_encode_env
    - apr_table_elts
    - APLOGNO
    - ap_fcgi_encoded_env_len
    - apr_pool_clear
    - sendv_data
    - ap_assert
    - APLOG_R_IS_LEVEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_environment(apr_socket_t *s,\n                                     const
      fcgi_provider_conf *conf,\n                                     request_rec
      *r, apr_uint16_t request_id,\n                                     apr_pool_t
      *temp_pool)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - r
    - state
    - readbuf
    - readlen
    argTypes:
    - request_rec*
    - int*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 460
    functionName: handle_headers
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handle_headers(request_rec *r, int *state,\n                          const
      char *readbuf, apr_size_t readlen)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:485,1
    - Dst: recv_data_full
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:500,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:502,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:503,1
    - Dst: ap_fcgi_header_fields_from_array
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:508,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:512,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:513,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:520,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:521,1
    - Dst: recv_data
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:540,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:549,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:553,1
    - Dst: handle_headers
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:556,1
    - Dst: ap_scan_script_header_err_brigade_ex
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:565,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:568,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:569,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:577,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:578,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:579,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:589,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:594,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:595,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:604,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:610,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:616,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:631,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:632,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:648,1
    - Dst: recv_data_full
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:661,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:663,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:664,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:672,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:676,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:677,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 7
    argNames:
    - conf
    - r
    - s
    - temp_pool
    - request_id
    - rspbuf
    - rspbuflen
    argTypes:
    - fcgi_provider_conf*
    - request_rec*
    - apr_socket_t*
    - apr_pool_t*
    - apr_uint16_t
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 682
    functionName: handle_response
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 2
    functionsReached:
    - recv_data_full
    - ap_fcgi_header_fields_from_array
    - ap_log_rerror
    - handle_headers
    - ap_scan_script_header_err_brigade_ex
    - APLOGNO
    - apr_brigade_create
    - recv_data
    - apr_bucket_transient_create
    - apr_brigade_flatten
    - apr_pool_clear
    - apr_table_unset
    - apr_brigade_cleanup
    - apr_table_get
    - apr_bucket_setaside
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_response(const fcgi_provider_conf *conf,\n                                    request_rec
      *r, apr_socket_t *s,\n                                    apr_pool_t *temp_pool,\n
      \                                   apr_uint16_t request_id,\n                                    char
      *rspbuf,\n                                    apr_size_t *rspbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:691,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vars
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: mod_fcgid_modify_auth_header
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmpn
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: "int mod_fcgid_modify_auth_header(void *vars,\n                                        const
      char *key, const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:700,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:701,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vr
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: fix_auth_header
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_table_unset
    - ap_log_rerror
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int fix_auth_header(void *vr, const char *key, const char *val)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_copy
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:716,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:723,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:724,1
    - Dst: setupenv
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:726,1
    - Dst: connect_to_peer
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:728,1
    - Dst: send_begin_request
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:733,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:735,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:736,1
    - Dst: send_environment
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:741,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:743,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:744,1
    - Dst: handle_response
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:762,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:765,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:766,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:771,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:779,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:780,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:792,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:797,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:799,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:802,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 6
    argNames:
    - r
    - conf
    - password
    - apache_role
    - rspbuf
    - rspbuflen
    argTypes:
    - request_rec*
    - fcgi_provider_conf*
    - char*
    - char*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 803
    functionName: req_rsp
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - connect_to_peer
    - ap_log_rerror
    - apr_table_do
    - APLOGNO
    - apr_socket_close
    - apr_pool_tag
    - apr_pool_create
    - apr_table_copy
    - setupenv
    - apr_pool_destroy
    - send_environment
    - apr_table_make
    - handle_response
    - send_begin_request
    linkageType: ''
    returnType: void
    signature: "void req_rsp(request_rec *r, const fcgi_provider_conf *conf,\n                    const
      char *password, const char *apache_role,\n                    char *rspbuf,
      apr_size_t *rspbuflen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:808,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:820,1
    - Dst: ap_auth_type
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:824,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:826,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:827,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:835,1
    - Dst: ap_get_basic_auth_pw
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:836,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:837,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:838,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:847,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:849,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:850,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:855,1
    - Dst: log_provider_info
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:856,1
    - Dst: req_rsp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:859,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:865,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:868,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:870,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:874,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:877,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:878,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:886,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:887,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:899,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:901,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:914,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:915,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:921,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:922,1
    - Dst: ap_custom_response
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:926,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 932
    functionName: fcgi_check_authn
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - req_rsp
    - ap_log_rerror
    - ap_auth_type
    - apr_palloc
    - ap_cstr_casecmp
    - ap_expr_str_exec
    - ap_get_basic_auth_pw
    - ap_custom_response
    - APLOGNO
    - ap_set_module_config
    - APLOGrdebug
    - ap_get_module_config
    - log_provider_info
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: int fcgi_check_authn(request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:938,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:941,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:942,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:946,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:947,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:951,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:953,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:954,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:959,1
    - Dst: log_provider_info
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:960,1
    - Dst: req_rsp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:963,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:975,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:977,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 934
    functionDepth: 3
    functionLinenumber: 934
    functionLinenumberEnd: 988
    functionName: fcgi_check_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - req_rsp
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - ap_set_module_config
    - APLOGrdebug
    - apr_table_get
    - log_provider_info
    - apr_hash_get
    linkageType: ''
    returnType: authn_status
    signature: "authn_status fcgi_check_password(request_rec *r, const char *user,\n
      \                                       const char *password)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1000,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1003,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1004,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1007,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1008,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1012,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1014,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1015,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1020,1
    - Dst: log_provider_info
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1021,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1034,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1038,1
    - Dst: req_rsp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1046,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - r
    - require_line
    - parsed_require_line
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 1058
    functionName: fcgi_authz_check
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - req_rsp
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - APLOGrdebug
    - apr_table_get
    - ap_get_module_config
    - log_provider_info
    - apr_hash_get
    linkageType: ''
    returnType: authz_status
    signature: "authz_status fcgi_authz_check(request_rec *r,\n                                     const
      char *require_line,\n                                     const void *parsed_require_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1071
    functionName: fcgi_authz_parse
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *fcgi_authz_parse(cmd_parms *cmd, const char *require_line,\n
      \                                   const void **parsed_require_line)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1088,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1094,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1108,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1115,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1116,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1119,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1126,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1129,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1130,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1133,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1140,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1145,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1148,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1153,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1157,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1163
    functionName: fcgi_check_authn_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - strcasecmp
    - apr_psprintf
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *fcgi_check_authn_provider(cmd_parms *cmd,\n                                        void
      *d,\n                                        int argc,\n                                        char
      *const argv[])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1178,1
    - Dst: ap_rxplus_compile
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1181,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1183,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1188,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1193,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1199,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1202,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1205,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1209,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1217,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1223,1
    - Dst: ap_rxplus_exec
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1227,1
    - Dst: ap_rxplus_nmatch
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1228,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1229,1
    - Dst: ap_rxplus_pmatch
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1236,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1237,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1239,1
    - Dst: atoi
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1242,1
    - Dst: ap_rxplus_pmatch
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1242,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1244,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1256,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1259,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1260,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1262,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1269,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1277,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1279,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1287,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1289,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1297
    functionName: fcgi_define_provider
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_rxplus_pmatch
    - apr_hash_set
    - ap_register_auth_provider
    - ap_rxplus_exec
    - apr_pcalloc
    - apr_pstrcat
    - strcasecmp
    - apr_sockaddr_info_get
    - APLOGNO
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    - apr_psprintf
    - ap_rxplus_compile
    - strlen
    - ap_rxplus_nmatch
    linkageType: ''
    returnType: char
    signature: "char *fcgi_define_provider(cmd_parms *cmd,\n                                        void
      *d,\n                                        int argc,\n                                        char
      *const argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1319,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1323
    functionName: fcgi_pre_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    linkageType: ''
    returnType: int
    signature: "int fcgi_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                           apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1330,1
    - Dst: ap_hook_check_authn
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: fcgi_register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_hook_check_authn
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void fcgi_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: create_dir_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_conf(apr_pool_t *p, char *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1345,1
    - Dst: memcpy
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1353,1
    - Dst: memcpy
      Src: /src/httpd/modules/aaa/mod_authnz_fcgi.c:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1360
    functionName: merge_dir_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *merge_dir_conf(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:54,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:56,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:59,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pool
    - f
    - key
    argTypes:
    - apr_pool_t*
    - apr_dbm_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: get_dbm_entry_as_str
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_fetch
    - strlen
    - apr_pstrmemdup
    linkageType: ''
    returnType: char
    signature: char *get_dbm_entry_as_str(apr_pool_t *pool, apr_dbm_t *f, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: create_authz_dbm_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_authz_dbm_dir_config(apr_pool_t *p, char *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:113,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:116,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:116,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:122,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:125,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:130,1
    - Dst: get_dbm_entry_as_str
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:137,1
    - Dst: get_dbm_entry_as_str
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:138,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:141,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:143,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - r
    - key1
    - key2
    - dbmgrpfile
    - dbtype
    - out
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 156
    functionName: get_dbm_grp
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - ap_log_rerror
    - ap_strchr
    - apr_dbm_get_driver
    - get_dbm_entry_as_str
    - APLOGNO
    - apr_dbm_open2
    - apr_dbm_open_ex
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_dbm_grp(request_rec *r, char *key1, char *key2,\n
      \                               const char *dbmgrpfile, const char *dbtype,\n
      \                               const char ** out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:162,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:173,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:182,1
    - Dst: get_dbm_grp
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:191,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:191,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:200,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:200,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:210,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:212,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:212,1
    - Dst: ap_getword_white
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:219,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:222,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:223,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:229,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 235
    functionName: dbmgroup_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - get_dbm_grp
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - ap_expr_str_exec
    - APLOGNO
    - ap_auth_name
    - ap_getword_white
    - ap_get_module_config
    - ap_getword
    linkageType: ''
    returnType: authz_status
    signature: "authz_status dbmgroup_check_authorization(request_rec *r,\n                                                 const
      char *require_args,\n                                                 const
      void *parsed_require_args)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:243,1
    - Dst: ap_auth_name
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:246,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:257,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:257,1
    - Dst: get_dbm_grp
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:263,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:263,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:272,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:272,1
    - Dst: authz_owner_get_file_group
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:279,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:283,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:284,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:290,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 296
    functionName: dbmfilegroup_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - get_dbm_grp
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - ap_auth_name
    - authz_owner_get_file_group
    - ap_get_module_config
    - ap_getword
    linkageType: ''
    returnType: authz_status
    signature: "authz_status dbmfilegroup_check_authorization(request_rec *r,\n                                                     const
      char *require_args,\n                                                     const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:304,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: dbm_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *dbm_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                    const void **parsed_require_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: authz_dbm_getfns
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void authz_dbm_getfns(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:336,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:340,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authz_dbm.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authz_dbm.c
    functionUses: 1
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - user
    - ','
    - realm
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: AUTHN_CACHE_STORE
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHN_CACHE_STORE(r,user,realm,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: authn_dbd_cr_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *authn_dbd_cr_conf(apr_pool_t *pool, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pool
    - BASE
    - ADD
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: authn_dbd_merge_conf
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *authn_dbd_merge_conf(apr_pool_t *pool, void *BASE, void *ADD)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:65,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:70,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:74,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:76,1
    - Dst: authn_dbd_prepare_fn
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:78,1
    - Dst: ap_set_string_slot
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - cfg
    - query
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: authn_dbd_prepare
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - ap_set_string_slot
    - ap_check_cmd_context
    - apr_psprintf
    - APR_RETRIEVE_OPTIONAL_FN
    - authn_dbd_prepare_fn
    linkageType: ''
    returnType: char
    signature: char *authn_dbd_prepare(cmd_parms *cmd, void *cfg, const char *query)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:105,1
    - Dst: authn_dbd_acquire_fn
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:107,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:109,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:116,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:116,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:121,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:123,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:123,1
    - Dst: apr_dbd_pvselect
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:128,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:130,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:130,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:133,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:136,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:138,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:140,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:140,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:149,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:151,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:153,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:158,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:162,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:166,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:167,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:171,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:172,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:180,1
    - Dst: ap_password_validate
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 189
    functionName: authn_dbd_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - AUTHN_CACHE_STORE
    - apr_pstrcat
    - apr_dbd_error
    - APLOGNO
    - authn_dbd_acquire_fn
    - apr_dbd_get_row
    - apr_dbd_get_name
    - apr_dbd_pvselect
    - ap_password_validate
    - apr_table_set
    - ap_get_module_config
    - apr_isalnum
    - apr_dbd_get_entry
    - apr_pstrdup
    - apr_hash_get
    - apr_toupper
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_dbd_password(request_rec *r, const char *user,\n
      \                                      const char *password)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:201,1
    - Dst: authn_dbd_acquire_fn
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:203,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:205,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:205,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:211,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:215,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:217,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:217,1
    - Dst: apr_dbd_pvselect
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:222,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:224,1
    - Dst: apr_dbd_error
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:228,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:231,1
    - Dst: apr_dbd_get_row
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:235,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:235,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:244,1
    - Dst: apr_dbd_get_name
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:246,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:248,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:253,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:257,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:261,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:262,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:266,1
    - Dst: apr_dbd_get_entry
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:267,1
    - Dst: AUTHN_CACHE_STORE
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:275,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - r
    - user
    - realm
    - rethash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 278
    functionName: authn_dbd_realm
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - AUTHN_CACHE_STORE
    - apr_pstrcat
    - apr_dbd_error
    - APLOGNO
    - authn_dbd_acquire_fn
    - apr_dbd_get_row
    - apr_dbd_get_name
    - apr_dbd_pvselect
    - apr_table_set
    - ap_get_module_config
    - apr_isalnum
    - apr_dbd_get_entry
    - apr_pstrdup
    - apr_hash_get
    - apr_toupper
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_dbd_realm(request_rec *r, const char *user,\n                                    const
      char *realm, char **rethash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: opt_retr
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void opt_retr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:292,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authn_dbd.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: authn_dbd_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authn_dbd.c
    functionUses: 0
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_register_auth_provider
    linkageType: ''
    returnType: void
    signature: void authn_dbd_hooks(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:125,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:127,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:133,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:134,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:135,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p
    - language
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: derive_codepage_from_lang
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pstrndup
    - apr_hash_get
    - strlen
    linkageType: ''
    returnType: char
    signature: char * derive_codepage_from_lang (apr_pool_t *p, char *language)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:147,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:152,1
    - Dst: derive_codepage_from_lang
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:159,1
    - Dst: apr_xlate_open
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: get_conv_set
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - derive_codepage_from_lang
    - apr_pstrdup
    - apr_xlate_open
    - apr_table_get
    linkageType: ''
    returnType: apr_xlate_t
    signature: apr_xlate_t * get_conv_set (request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_conv_set
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:178,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:179,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:181,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - r
    - sent_password
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: authn_ldap_xlate_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_xlate_conv_buffer
    - strlen
    - apr_pcalloc
    - get_conv_set
    linkageType: ''
    returnType: char
    signature: "char * authn_ldap_xlate_password(request_rec *r,\n                                             const
      char* sent_password)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_conv_set
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:229,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:233,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:235,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:238,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:248,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:249,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:252,1
    - Dst: strchr
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:261,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 5
    argNames:
    - filtbuf
    - r
    - user
    - filter
    - sec
    argTypes:
    - char[]
    - request_rec*
    - char*
    - char*
    - authn_ldap_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 329
    functionName: authn_ldap_build_filter
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - strchr
    - strcasecmp
    - get_conv_set
    - apr_xlate_conv_buffer
    - strlen
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t authn_ldap_build_filter(char filtbuf[FILTER_LENGTH],\n
      \                            request_rec *r,\n                             const
      char *user,\n                             const char *filter,\n                             authn_ldap_config_t
      *sec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:334,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:338,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:343,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:345,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 367
    functionName: create_authnz_ldap_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_thread_mutex_create
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_authnz_ldap_dir_config(apr_pool_t *p, char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:372,1
    - Dst: util_ldap_connection_close
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: authnz_ldap_cleanup_connection_close
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - util_ldap_connection_close
    - ap_log_rerror
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t authnz_ldap_cleanup_connection_close(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:383,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:386,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:392,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:395,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:398,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:403,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - r
    - phase
    - vals
    argTypes:
    - request_rec*
    - enum auth_ldap_phase
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 411
    functionName: set_request_vars
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    - apr_pstrdup
    - apr_table_setn
    - ap_get_module_config
    - strlen
    - apr_toupper
    linkageType: ''
    returnType: int
    signature: int set_request_vars(request_rec *r, enum auth_ldap_phase phase, const
      char **vals)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:416,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:424,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:425,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - r
    - user
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: ldap_determine_binddn
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_regexec
    - apr_table_set
    - ap_get_module_config
    - ap_pregsub
    linkageType: ''
    returnType: char
    signature: char *ldap_determine_binddn(request_rec *r, const char *user)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:445,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:447,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:454,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:454,1
    - Dst: util_ldap_connection_find
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:470,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:474,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - r
    - type
    argTypes:
    - request_rec*
    - enum auth_ldap_optype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 479
    functionName: get_connection_for_authz
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_pool_cleanup_register
    - ap_get_module_config
    - util_ldap_connection_find
    linkageType: ''
    returnType: util_ldap_connection_t
    signature: util_ldap_connection_t *get_connection_for_authz(request_rec *r, enum
      auth_ldap_optype type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:485,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:486,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:487,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:488,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:489,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: build_request_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pcalloc
    - ap_set_module_config
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    linkageType: ''
    returnType: authn_ldap_request_t
    signature: authn_ldap_request_t * build_request_config(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:497,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:500,1
    - Dst: authnz_ldap_cleanup_connection_close
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ldc
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: release_ldc
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_kill
    - authnz_ldap_cleanup_connection_close
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void release_ldc(request_rec *r, util_ldap_connection_t *ldc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:520,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:540,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:540,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:548,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:548,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:554,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:554,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:567,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:567,1
    - Dst: ldap_determine_binddn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:578,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:581,1
    - Dst: util_ldap_connection_find
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:582,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:587,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:587,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:592,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:592,1
    - Dst: authn_ldap_build_filter
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:596,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:597,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:597,1
    - Dst: release_ldc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:600,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:604,1
    - Dst: authn_ldap_xlate_password
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:608,1
    - Dst: util_ldap_cache_checkuserid
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:611,1
    - Dst: release_ldc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:614,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:619,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:619,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:622,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:626,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:626,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:629,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:632,1
    - Dst: LDAP_SECURITY_ERROR
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:638,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:667,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:671,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:671,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:680,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - r
    - user
    - password
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 684
    functionName: authn_ldap_check_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - release_ldc
    - ap_log_rerror
    - LDAP_SECURITY_ERROR
    - APLOGNO
    - strcasecmp
    - ldap_determine_binddn
    - util_ldap_cache_checkuserid
    - set_request_vars
    - ap_get_module_config
    - build_request_config
    - authn_ldap_xlate_password
    - ldap_err2string
    - authn_ldap_build_filter
    - util_ldap_connection_find
    linkageType: ''
    returnType: authn_status
    signature: "authn_status authn_ldap_check_password(request_rec *r, const char
      *user,\n                                              const char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:691,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:693,1
    - Dst: authn_ldap_build_filter
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:698,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:699,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:699,1
    - Dst: util_ldap_cache_getuserdn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:706,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:711,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:711,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:720,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:724,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - r
    - ldc
    argTypes:
    - request_rec*
    - util_ldap_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 734
    functionName: get_dn_for_nonldap_authn
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - util_ldap_cache_getuserdn
    - APLOGNO
    - set_request_vars
    - ap_get_module_config
    - authn_ldap_build_filter
    linkageType: ''
    returnType: authz_status
    signature: authz_status get_dn_for_nonldap_authn(request_rec *r, util_ldap_connection_t
      *ldc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:742,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:744,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:765,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:765,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:776,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:778,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:782,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:782,1
    - Dst: get_dn_for_nonldap_authn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:786,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:792,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:792,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:798,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:800,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:800,1
    - Dst: util_ldap_cache_compare
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:810,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:813,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:813,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:816,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:820,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:820,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:823,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:831,1
    - Dst: util_ldap_cache_compare
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:832,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:835,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:835,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:838,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:842,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:842,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:845,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:850,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 856
    functionName: ldapuser_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - get_dn_for_nonldap_authn
    - ap_expr_str_exec
    - APLOGNO
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - util_ldap_cache_compare
    - ldap_err2string
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapuser_check_authorization(request_rec *r,\n                                                 const
      char *require_args,\n                                                 const
      void *parsed_require_args)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:864,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:866,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:888,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:888,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:899,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:901,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:905,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:905,1
    - Dst: get_dn_for_nonldap_authn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:909,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:922,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:924,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:926,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:929,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:940,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:942,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:944,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:947,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:958,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:958,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:968,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:968,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:983,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:985,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:985,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:993,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:993,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1000,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1000,1
    - Dst: util_ldap_cache_compare
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1006,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1009,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1009,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1014,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1015,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1019,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1019,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1023,1
    - Dst: release_ldc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1029,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1030,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1031,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1031,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1034,1
    - Dst: util_ldap_cache_check_subgroups
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1039,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1045,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1045,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1050,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1051,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1055,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1055,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1060,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1064,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1064,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 1070
    functionName: ldapgroup_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - release_ldc
    - apr_thread_mutex_lock
    - ap_log_rerror
    - util_ldap_cache_check_subgroups
    - apr_thread_mutex_unlock
    - get_dn_for_nonldap_authn
    - ap_expr_str_exec
    - APLOGNO
    - apr_array_push
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - util_ldap_cache_compare
    - ldap_err2string
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapgroup_check_authorization(request_rec *r,\n                                                  const
      char *require_args,\n                                                  const
      void *parsed_require_args)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1078,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1080,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1099,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1099,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1110,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1112,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1116,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1116,1
    - Dst: get_dn_for_nonldap_authn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1120,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1128,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1137,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1137,1
    - Dst: util_ldap_cache_comparedn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1143,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1146,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1149,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1153,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1153,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1156,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1161,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1072
    functionDepth: 4
    functionLinenumber: 1072
    functionLinenumberEnd: 1167
    functionName: ldapdn_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - get_dn_for_nonldap_authn
    - ap_expr_str_exec
    - APLOGNO
    - util_ldap_cache_comparedn
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - ldap_err2string
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapdn_check_authorization(request_rec *r,\n                                               const
      char *require_args,\n                                               const void
      *parsed_require_args)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1175,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1177,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1197,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1197,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1208,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1210,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1214,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1214,1
    - Dst: get_dn_for_nonldap_authn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1218,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1224,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1230,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1232,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1232,1
    - Dst: ap_getword
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1241,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1242,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1244,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1244,1
    - Dst: util_ldap_cache_compare
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1247,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1250,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1250,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1253,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1257,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1257,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1260,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1265,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1271
    functionName: ldapattribute_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - get_dn_for_nonldap_authn
    - ap_expr_str_exec
    - APLOGNO
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - util_ldap_cache_compare
    - ldap_err2string
    - ap_getword
    - ap_getword_conf
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapattribute_check_authorization(request_rec *r,\n                                                      const
      char *require_args,\n                                                      const
      void *parsed_require_args)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1279,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1281,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1303,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1303,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1314,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1316,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1320,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1320,1
    - Dst: get_dn_for_nonldap_authn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1324,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1330,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1330,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1336,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1338,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1338,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1347,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1347,1
    - Dst: authn_ldap_build_filter
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1351,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1352,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1352,1
    - Dst: util_ldap_cache_getuserdn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1359,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1364,1
    - Dst: release_ldc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1368,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1369,1
    - Dst: util_ldap_cache_comparedn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1371,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1377,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1380,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1384,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1384,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1387,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1391,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1391,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1394,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1399,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1399,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1273
    functionDepth: 4
    functionLinenumber: 1273
    functionLinenumberEnd: 1405
    functionName: ldapfilter_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - release_ldc
    - ap_log_rerror
    - util_ldap_cache_getuserdn
    - get_dn_for_nonldap_authn
    - ap_expr_str_exec
    - APLOGNO
    - util_ldap_cache_comparedn
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - ldap_err2string
    - authn_ldap_build_filter
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapfilter_check_authorization(request_rec *r,\n                                                   const
      char *require_args,\n                                                   const
      void *parsed_require_args)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1413,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1415,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1430,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1430,1
    - Dst: build_request_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1441,1
    - Dst: get_connection_for_authz
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1443,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1445,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1447,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1447,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1457,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1457,1
    - Dst: util_ldap_cache_getuserdn
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1461,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1467,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1467,1
    - Dst: set_request_vars
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1470,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1474,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1474,1
    - Dst: ldap_err2string
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1477,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1481,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - r
    - require_args
    - parsed_require_args
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1486
    functionName: ldapsearch_check_authorization
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - util_ldap_cache_getuserdn
    - ap_expr_str_exec
    - APLOGNO
    - set_request_vars
    - get_connection_for_authz
    - ap_get_module_config
    - build_request_config
    - ldap_err2string
    linkageType: ''
    returnType: authz_status
    signature: "authz_status ldapsearch_check_authorization(request_rec *r,\n                                                   const
      char *require_args,\n                                                   const
      void *parsed_require_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1494,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - require_line
    - parsed_require_line
    argTypes:
    - cmd_parms*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1505
    functionName: ldap_parse_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ldap_parse_config(cmd_parms *cmd, const char *require_line,\n
      \                                    const void **parsed_require_line)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_ldap_url_parse
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1523,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1527,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1531,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1534,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1536,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1542,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1545,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1563,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1564,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1567,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1575,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1578,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1581,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1581,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1592,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1604,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - cmd
    - config
    - url
    - mode
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1620
    functionName: mod_auth_ldap_parse_url
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_ldap_url_parse
    - apr_pcalloc
    - apr_pstrcat
    - strcasecmp
    - apr_pstrmemdup
    - strlen
    - ap_log_error
    - apr_pstrdup
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *mod_auth_ldap_parse_url(cmd_parms *cmd,\n                                    void
      *config,\n                                    const char *url,\n                                    const
      char *mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1626,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1626,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1629,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1632,1
    - Dst: strcmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1635,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1642
    functionName: mod_auth_ldap_set_deref
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *mod_auth_ldap_set_deref(cmd_parms *cmd, void *config, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1658
    functionName: mod_auth_ldap_add_subgroup_attribute
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *mod_auth_ldap_add_subgroup_attribute(cmd_parms *cmd, void *config,
      const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1669,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1673
    functionName: mod_auth_ldap_add_subgroup_class
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: char *mod_auth_ldap_add_subgroup_class(cmd_parms *cmd, void *config,
      const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - max_depth
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1684
    functionName: mod_auth_ldap_set_subgroup_maxdepth
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: char
    signature: "char *mod_auth_ldap_set_subgroup_maxdepth(cmd_parms *cmd,\n                                                       void
      *config,\n                                                       const char
      *max_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1695,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1699
    functionName: mod_auth_ldap_add_group_attribute
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: char *mod_auth_ldap_add_group_attribute(cmd_parms *cmd, void *config,
      const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - config
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1706
    functionName: set_charset_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: char
    signature: char *set_charset_config(cmd_parms *cmd, void *config, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1713,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cmd
    - _cfg
    - exp
    - subst
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1724
    functionName: set_bind_pattern
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_pregcomp
    linkageType: ''
    returnType: char
    signature: char *set_bind_pattern(cmd_parms *cmd, void *_cfg, const char *exp,
      const char *subst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1729,1
    - Dst: strncmp
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1733,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1734,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1735,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1739,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1742,1
    - Dst: ap_get_exec_line
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1746,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - _cfg
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1765
    functionName: set_bind_password
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - apr_tokenize_to_argv
    - ap_get_exec_line
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *set_bind_password(cmd_parms *cmd, void *_cfg, const char *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1881,1
    - Dst: ap_find_linked_module
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1902,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1903,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1903,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1914,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1916,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1916,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1918,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1922,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1924,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1924,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1930,1
    - Dst: ap_cfg_getline
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1932,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1939,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1940,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1943,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1944,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1947,1
    - Dst: derive_codepage_from_lang
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1949,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1951,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:1951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1958
    functionName: authnz_ldap_post_config
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_cfg_closefile
    - ap_server_root_relative
    - apr_hash_make
    - ap_str_tolower
    - ap_getword_conf
    - derive_codepage_from_lang
    - APLOGNO
    - ap_pcfg_openfile
    - ap_log_error
    - ap_get_module_config
    - ap_find_linked_module
    - ap_cfg_getline
    linkageType: ''
    returnType: int
    signature: int authnz_ldap_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2003,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2004,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2005,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2006,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2007,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2008,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2009,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2011
    functionName: ImportULDAPOptFn
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ImportULDAPOptFn(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2020,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2025
    functionName: authnz_ldap_fixups
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t authnz_ldap_fixups(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2030,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2035,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2039,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2043,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2047,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2051,1
    - Dst: ap_register_auth_provider
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2055,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2060,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2061,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/modules/aaa/mod_authnz_ldap.c:2063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2064
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_authnz_ldap.c
    functionUses: 1
    functionsReached:
    - ap_hook_optional_fn_retrieve
    - ap_hook_post_config
    - ap_register_auth_provider
    - ap_hook_fixups
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/aaa/mod_access_compat.c:82,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_access_compat.c:87,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/aaa/mod_access_compat.c:88,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/aaa/mod_access_compat.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: create_access_compat_dir_config
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_access_compat_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:102,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:104,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dv
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: order
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *order(cmd_parms *cmd, void *dv, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:124,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cmd
    - dv
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: satisfy
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *satisfy(cmd_parms *cmd, void *dv, const char *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/aaa/mod_access_compat.c:148,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:152,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/aaa/mod_access_compat.c:155,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:159,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:164,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:169,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_access_compat.c:172,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/aaa/mod_access_compat.c:174,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/aaa/mod_access_compat.c:175,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_access_compat.c:180,1
    - Dst: APR_STATUS_IS_EINVAL
      Src: /src/httpd/modules/aaa/mod_access_compat.c:184,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/modules/aaa/mod_access_compat.c:184,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/aaa/mod_access_compat.c:187,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/aaa/mod_access_compat.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - cmd
    - dv
    - from
    - where_c
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: allow_cmd
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - apr_ipsubnet_create
    - strcasecmp
    - apr_array_push
    - apr_psprintf
    - APR_STATUS_IS_EINVAL
    - apr_pstrdup
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *allow_cmd(cmd_parms *cmd, void *dv, const char *from,\n                             const
      char *where_c)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_access_compat.c:217,1
    - Dst: strlen
      Src: /src/httpd/modules/aaa/mod_access_compat.c:218,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/aaa/mod_access_compat.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - domain
    - what
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: in_domain
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int in_domain(const char *domain, const char *what)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_access_compat.c:258,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/aaa/mod_access_compat.c:264,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/modules/aaa/mod_access_compat.c:273,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/aaa/mod_access_compat.c:282,1
    - Dst: in_domain
      Src: /src/httpd/modules/aaa/mod_access_compat.c:293,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - r
    - a
    - method
    argTypes:
    - request_rec*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 305
    functionName: find_allowdeny
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - ap_get_useragent_host
    - in_domain
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int find_allowdeny(request_rec *r, apr_array_header_t *a, int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_access_compat.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: access_compat_ap_satisfies
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int access_compat_ap_satisfies(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/aaa/mod_access_compat.c:320,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:324,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:327,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:332,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:335,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:340,1
    - Dst: find_allowdeny
      Src: /src/httpd/modules/aaa/mod_access_compat.c:341,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/aaa/mod_access_compat.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/aaa/mod_access_compat.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: check_dir_access
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - ap_get_module_config
    - find_allowdeny
    linkageType: ''
    returnType: int
    signature: int check_dir_access(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/aaa/mod_access_compat.c:361,1
    - Dst: ap_hook_check_access
      Src: /src/httpd/modules/aaa/mod_access_compat.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/aaa/mod_access_compat.c
    functionUses: 1
    functionsReached:
    - ap_hook_check_access
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:33,1
    - Dst: ajp_msg_create
      Src: /src/httpd/modules/proxy/ajp_utils.c:36,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:38,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:38,1
    - Dst: ajp_msg_serialize_cping
      Src: /src/httpd/modules/proxy/ajp_utils.c:43,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:45,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:45,1
    - Dst: ajp_ilink_send
      Src: /src/httpd/modules/proxy/ajp_utils.c:50,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/ajp_utils.c:51,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:53,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:53,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/ajp_utils.c:58,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:60,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:60,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/ajp_utils.c:66,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:68,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:68,1
    - Dst: ajp_msg_reuse
      Src: /src/httpd/modules/proxy/ajp_utils.c:72,1
    - Dst: ajp_ilink_receive
      Src: /src/httpd/modules/proxy/ajp_utils.c:75,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:77,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:77,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/ajp_utils.c:82,1
    - Dst: ajp_msg_get_uint8
      Src: /src/httpd/modules/proxy/ajp_utils.c:83,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:85,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:85,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:90,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:90,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/ajp_utils.c:99,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:101,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_utils.c:101,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_utils.c:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 3
    argNames:
    - sock
    - r
    - timeout
    argTypes:
    - apr_socket_t*
    - request_rec*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 109
    functionName: ajp_handle_cping_cpong
    functionSourceFile: /src/httpd/modules/proxy/ajp_utils.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ajp_msg_serialize_cping
    - ajp_msg_create
    - apr_socket_timeout_get
    - APLOGNO
    - apr_socket_timeout_set
    - ajp_ilink_send
    - ajp_ilink_receive
    - ajp_msg_reuse
    - ajp_msg_get_uint8
    - ajp_msg_log
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_handle_cping_cpong(apr_socket_t *sock,\n                                    request_rec
      *r,\n                                    apr_interval_time_t timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: case_to_str
    functionSourceFile: /src/httpd/modules/proxy/ajp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: case_to_str(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:124,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:125,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:126,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:127,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:128,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:129,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:130,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:131,1
    - Dst: case_to_str
      Src: /src/httpd/modules/proxy/ajp_utils.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: ajp_type_str
    functionSourceFile: /src/httpd/modules/proxy/ajp_utils.c
    functionUses: 0
    functionsReached:
    - case_to_str
    linkageType: ''
    returnType: char
    signature: char *ajp_type_str(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:84,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:86,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:87,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:88,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:89,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: hc_create_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_make
    - apr_pool_tag
    - apr_pool_create
    - apr_table_make
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void *hc_create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:114,1
    - Dst: hc_create_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:120,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:121,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:124,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:134,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:135,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:141,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:142,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 6
    argNames:
    - p
    - s
    - worker
    - key
    - val
    - v
    argTypes:
    - apr_pool_t*
    - server_rec*
    - proxy_worker*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 148
    functionName: set_worker_hc_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - strcasecmp
    - apr_pstrdup
    - apr_psprintf
    - ap_get_module_config
    - hc_create_config
    - PROXY_STRNCPY
    linkageType: ''
    returnType: char
    signature: "char *set_worker_hc_param(apr_pool_t *p,\n                                    server_rec
      *s,\n                                    proxy_worker *worker,\n                                    const
      char *key,\n                                    const char *val,\n                                    void
      *v)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:241,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:244,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:247,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:249,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:252,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:253,1
    - Dst: ap_getword_conf2
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:257,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:259,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:262,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:263,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:265,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:268,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:269,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 275
    functionName: set_hc_condition
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_palloc
    - apr_pstrcat
    - apr_pstrdup
    - apr_table_setn
    - ap_getword_conf2
    - ap_check_cmd_context
    - apr_psprintf
    - ap_get_module_config
    - strlen
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_hc_condition(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:284,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:287,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:290,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:292,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:304,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:305,1
    - Dst: set_worker_hc_param
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:312,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:316,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 322
    functionName: set_hc_template
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - strchr
    - ap_check_cmd_context
    - apr_array_pop
    - ap_get_module_config
    - set_worker_hc_param
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_hc_template(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:327,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: set_hc_tpsize
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_hc_tpsize (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:351,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:357,1
    - Dst: ap_make_method_list
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:367,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:369,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:370,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:371,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:372,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:373,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:374,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:375,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:377,1
    - Dst: ap_method_number_of
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:397,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:406,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 5
    argNames:
    - p
    - s
    - balancer
    - method
    - protocol
    argTypes:
    - apr_pool_t*
    - server_rec*
    - proxy_balancer*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 414
    functionName: create_request_rec
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 2
    functionsReached:
    - ap_method_number_of
    - apr_pcalloc
    - ap_merge_per_dir_configs
    - HTTP_VERSION
    - ap_make_method_list
    - apr_table_make
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: "request_rec *create_request_rec(apr_pool_t *p, server_rec *s,\n                                       proxy_balancer
      *balancer,\n                                       const char *method,\n                                       const
      char *protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:418,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: set_request_connection
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_bucket_alloc_create
    linkageType: ''
    returnType: void
    signature: void set_request_connection(request_rec *r, conn_rec *conn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:446,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - wctx
    - hc
    - p
    argTypes:
    - wctx_t*
    - proxy_worker*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 480
    functionName: create_hcheck_req
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void create_hcheck_req(wctx_t *wctx, proxy_worker *hc,\n                              apr_pool_t
      *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:488,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:493,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:496,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:497,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:497,1
    - Dst: ap_proxy_define_worker
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:502,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:503,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:504,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:505,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:506,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:507,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:508,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:509,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:510,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:522,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:526,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:528,1
    - Dst: create_hcheck_req
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:531,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:533,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:540,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:541,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:541,1
    - Dst: create_hcheck_req
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - worker
    - p
    argTypes:
    - sctx_t*
    - proxy_worker*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 549
    functionName: hc_get_hcworker
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - create_hcheck_req
    - ap_proxy_port_of_scheme
    - apr_hash_set
    - apr_pcalloc
    - apr_uri_parse
    - APLOGNO
    - ap_proxy_define_worker
    - ap_proxy_hashfunc
    - ap_proxy_initialize_worker
    - ap_log_error
    - apr_pstrdup
    - PROXY_STRNCPY
    - apr_hash_get
    - apr_snprintf
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *hc_get_hcworker(sctx_t *ctx, proxy_worker *worker,\n
      \                                    apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_determine_address
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:563,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:567,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - proxy_function
    - backend
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: hc_determine_connection
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_proxy_determine_address
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int hc_determine_connection(const char *proxy_function,\n                                   proxy_conn_rec
      *backend,\n                                   server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:581,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:582,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:582,1
    - Dst: ap_proxy_show_hcmethod
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - proxy_function
    - backend
    - s
    - status
    argTypes:
    - char*
    - proxy_conn_rec*
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 592
    functionName: backend_cleanup
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ap_proxy_release_connection
    - ap_proxy_show_hcmethod
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t backend_cleanup(const char *proxy_function, proxy_conn_rec
      *backend,\n                                    server_rec *s, int status)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:599,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:604,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:604,1
    - Dst: ap_ssl_has_outgoing_handlers
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:605,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:606,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:606,1
    - Dst: hc_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - proxy_function
    - backend
    - hc
    - ctx
    argTypes:
    - char*
    - proxy_conn_rec**
    - proxy_worker*
    - sctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 614
    functionName: hc_get_backend
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - strcmp
    - hc_determine_connection
    - ap_proxy_acquire_connection
    - ap_ssl_has_outgoing_handlers
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int hc_get_backend(const char *proxy_function, proxy_conn_rec **backend,\n
      \                         proxy_worker *hc, sctx_t *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:630,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:632,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:632,1
    - Dst: hc_get_hcworker
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:638,1
    - Dst: hc_get_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:643,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - baton
    argTypes:
    - baton_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 653
    functionName: hc_init_baton
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_get_hcworker
    - ap_proxy_release_connection
    - APLOGNO
    - hc_get_backend
    - ap_proxy_initialize_worker
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hc_init_baton(baton_t *baton)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:669,1
    - Dst: hc_get_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:670,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:671,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:673,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:674,1
    - Dst: create_request_rec
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:676,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:677,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:678,1
    - Dst: set_request_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:680,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:691,1
    - Dst: ajp_handle_cping_cpong
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:693,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:694,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - baton
    - thread
    argTypes:
    - baton_t*
    - apr_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 696
    functionName: hc_check_cping
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_proxy_connection_create_ex
    - apr_socket_timeout_get
    - hc_get_backend
    - ajp_handle_cping_cpong
    - create_request_rec
    - ap_log_error
    - set_request_connection
    - backend_cleanup
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hc_check_cping(baton_t *baton, apr_thread_t *thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hc_get_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:705,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:707,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - baton
    argTypes:
    - baton_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 711
    functionName: hc_check_tcp
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_get_backend
    - backend_cleanup
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hc_check_tcp(baton_t *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:718,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:719,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:719,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:719,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:721,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:721,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:722,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - out
    - bb
    argTypes:
    - request_rec*
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 725
    functionName: hc_send
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_bucket_flush_create
    - ap_log_error
    - apr_brigade_cleanup
    - apr_bucket_pool_create
    - strlen
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int hc_send(request_rec *r, const char *out, apr_bucket_brigade *bb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_getline
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:733,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:737,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:737,1
    - Dst: apr_date_checkmask
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:740,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:753,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:760,1
    - Dst: ap_getline
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:768,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:770,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:772,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:777,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:779,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:779,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:781,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:785,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 789
    functionName: hc_read_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_table_add
    - strchr
    - APLOGNO
    - atoi
    - strlen
    - ap_log_error
    - apr_date_checkmask
    - apr_table_get
    - apr_pstrdup
    - ap_set_content_type
    - ap_getline
    linkageType: ''
    returnType: int
    signature: int hc_read_headers(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:799,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:800,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:804,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:808,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:808,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:813,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:814,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:815,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:819,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:820,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:823,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:824,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - r
    - bb
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 830
    functionName: hc_read_body
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_STATUS_IS_EOF
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - ap_log_error
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BUCKET_REMOVE
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int hc_read_body(request_rec *r, apr_bucket_brigade *bb)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hc_get_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:856,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:857,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:859,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:860,1
    - Dst: create_request_rec
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:863,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:864,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:865,1
    - Dst: set_request_connection
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:867,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:870,1
    - Dst: hc_send
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:872,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:873,1
    - Dst: hc_read_headers
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:875,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:876,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:880,1
    - Dst: ap_proxy_pre_http_request
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:881,1
    - Dst: hc_read_body
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:882,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:885,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:887,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:891,1
    - Dst: ap_expr_exec
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:893,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:895,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:899,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:899,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:904,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:910,1
    - Dst: backend_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:915,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - baton
    - thread
    argTypes:
    - baton_t*
    - apr_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 916
    functionName: hc_check_http
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_read_headers
    - ap_proxy_pre_http_request
    - hc_read_body
    - ap_proxy_connection_create_ex
    - APLOGNO
    - apr_brigade_create
    - hc_get_backend
    - create_request_rec
    - apr_table_copy
    - ap_log_error
    - set_request_connection
    - hc_send
    - apr_table_get
    - backend_cleanup
    - ap_expr_exec
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hc_check_http(baton_t *baton, apr_thread_t *thread)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:927,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:927,1
    - Dst: hc_check_tcp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:932,1
    - Dst: hc_check_cping
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:935,1
    - Dst: hc_check_http
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:938,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:941,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:943,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:943,1
    - Dst: PROXY_WORKER_IS_HCFAILED
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:948,1
    - Dst: PROXY_WORKER_IS_ERROR
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:948,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:952,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:953,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:955,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:955,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:967,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:969,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:969,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - thread
    - b
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 918
    functionDepth: 4
    functionLinenumber: 918
    functionLinenumberEnd: 982
    functionName: APR_THREAD_FUNC::hc_check
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_check_tcp
    - ap_proxy_set_wstatus
    - apr_time_now
    - APLOGNO
    - hc_check_http
    - PROXY_WORKER_IS_ERROR
    - ap_log_error
    - hc_check_cping
    - apr_pool_destroy
    - PROXY_WORKER_IS_HCFAILED
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC hc_check(apr_thread_t *thread, void *b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:997,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1001,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1001,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1007,1
    - Dst: apr_thread_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1020,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1023,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1023,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1029,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1029,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1034,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1034,1
    - Dst: ap_proxy_sync_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1047,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1049,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1053,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1065,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1070,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1071,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1072,1
    - Dst: hc_init_baton
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1077,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1079,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1085,1
    - Dst: hc_check
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1093,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1102,1
    - Dst: apr_thread_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1107,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1109,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 3
    argNames:
    - state
    - data
    - pool
    argTypes:
    - int
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 1118
    functionName: hc_watchdog_callback
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_thread_pool_create
    - ap_proxy_sync_balancer
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - hc_init_baton
    - apr_thread_pool_push
    - ap_log_error
    - ap_get_module_config
    - hc_check
    - apr_pool_destroy
    - apr_thread_pool_destroy
    - PROXY_WORKER_IS
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t hc_watchdog_callback(int state, void *data,\n                                         apr_pool_t
      *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1139
    functionName: hc_pre_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int hc_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                         apr_pool_t
      *ptemp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1146,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1147,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1149,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1152,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1153,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1155,1
    - Dst: hc_watchdog_get_instance
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1159,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1163,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1163,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1169,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1173,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1173,1
    - Dst: hc_watchdog_register_callback
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1179,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1184,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1184,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1189,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - main_s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1195
    functionName: hc_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - APLOGNO
    - hc_watchdog_register_callback
    - ap_log_error
    - hc_watchdog_get_instance
    - ap_get_module_config
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int hc_post_config(apr_pool_t *p, apr_pool_t *plog,\n                       apr_pool_t
      *ptemp, server_rec *main_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1202,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1206,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1209,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1213,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1221,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1222,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1223,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1226
    functionName: hc_show_exprs
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - apr_is_empty_table
    - ap_rputs
    - ap_rprintf
    - ap_get_module_config
    - ap_escape_html
    linkageType: ''
    returnType: void
    signature: void hc_show_exprs(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1233,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1237,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1240,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1246,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1247,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1248,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - r
    - expr
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1251
    functionName: hc_select_exprs
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_table_elts
    - ap_escape_html
    - apr_is_empty_table
    - ap_rprintf
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void hc_select_exprs(request_rec *r, const char *expr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1258,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1262,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1265,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - r
    - expr
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1275
    functionName: hc_valid_expr
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - apr_is_empty_table
    - strcmp
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int hc_valid_expr(request_rec *r, const char *expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1287,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1292,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1298
    functionName: hc_get_body
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_brigade_flatten
    - apr_brigade_length
    linkageType: ''
    returnType: char
    signature: char *hc_get_body(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1304,1
    - Dst: hc_get_body
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1308
    functionName: hc_expr_var_fn
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_get_body
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *hc_expr_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1315,1
    - Dst: hc_get_body
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1319
    functionName: hc_expr_func_fn
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - hc_get_body
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *hc_expr_func_fn(ap_expr_eval_ctx_t *ctx, const void *data,\n
      \                               const char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1327,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: hc_expr_lookup
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int hc_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1362,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1363,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1364,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1365,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1366,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1367,1
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/modules/proxy/mod_proxy_hcheck.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1369
    functionName: hc_register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    functionUses: 0
    functionsReached:
    - ap_hook_expr_lookup
    - ap_hook_post_config
    - ap_hook_pre_config
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void hc_register_hooks(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:66,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:71,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:73,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:73,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:79,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:83,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:84,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:87,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:88,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:92,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:95,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:95,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:105,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:106,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:106,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 117
    functionName: uwsgi_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - ap_get_core_module_config
    - apr_pstrcat
    - APLOGNO
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - apr_table_get
    - ap_scan_vchar_obstext
    - strlen
    - ap_cstr_casecmpn
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int uwsgi_canon(request_rec *r, char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_send
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:128,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:129,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - buf
    - length
    - r
    argTypes:
    - proxy_conn_rec*
    - char*
    - apr_size_t
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: uwsgi_send
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_socket_send
    linkageType: ''
    returnType: int
    signature: "int uwsgi_send(proxy_conn_rec * conn, const char *buf,\n                      apr_size_t
      length, request_rec *r)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:163,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:164,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:171,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:173,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:176,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:177,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:180,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:181,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:182,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:183,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:184,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:187,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:188,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:193,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:197,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:197,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:202,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:202,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:209,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:214,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:217,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:220,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:224,1
    - Dst: uwsgi_send
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 235
    functionName: uwsgi_send_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_palloc
    - uwsgi_send
    - apr_table_elts
    - APLOGNO
    - apr_table_setn
    - ap_add_common_vars
    - apr_table_set
    - apr_pstrndup
    - apr_table_get
    - ap_add_cgi_vars
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int uwsgi_send_headers(request_rec *r, proxy_conn_rec * conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:240,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:241,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:245,1
    - Dst: uwsgi_send
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:247,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:251,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:254,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: uwsgi_send_body
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - uwsgi_send
    - APLOGNO
    - ap_should_client_block
    - ap_get_client_block
    linkageType: ''
    returnType: int
    signature: int uwsgi_send_body(request_rec *r, proxy_conn_rec * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:268,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:269,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:271,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:276,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:277,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:278,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:279,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:280,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:294,1
    - Dst: proxy_run_create_req
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: make_fake_req
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - proxy_run_create_req
    - apr_table_make
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: request_rec *make_fake_req(conn_rec *c, request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:516,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:517,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:521,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:524,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:526,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:528,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:529,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:529,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:539,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:542,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:550,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:560,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:561,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:561,1
    - Dst: ap_proxy_connection_create
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:569,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:575,1
    - Dst: uwsgi_send_headers
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:576,1
    - Dst: uwsgi_send_body
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:577,1
    - Dst: uwsgi_response
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:578,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:585,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 588
    functionName: uwsgi_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 0
    functionsReached:
    - ap_proxy_determine_connection
    - uwsgi_send_headers
    - ap_log_rerror
    - ap_strchr
    - apr_palloc
    - apr_table_add
    - ap_proxy_acquire_connection
    - ap_setup_client_block
    - uwsgi_send_body
    - APLOGNO
    - ap_proxy_release_connection
    - ap_unescape_url
    - uwsgi_response
    - ap_proxy_connection_create
    - apr_pstrdup
    - ap_cstr_casecmpn
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: int
    signature: "int uwsgi_handler(request_rec *r, proxy_worker * worker,\n                         proxy_server_conf
      * conf, char *url,\n                         const char *proxyname, apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:593,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_uwsgi.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
    functionUses: 1
    functionsReached:
    - proxy_hook_canon_handler
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t * p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_msg.c:56,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_msg.c:56,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/ajp_msg.c:59,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/ajp_msg.c:62,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_msg.c:66,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/ajp_msg.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - pool
    - msg
    - err
    - count
    - buf
    argTypes:
    - apr_pool_t*
    - ajp_msg_t*
    - char*
    - apr_size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 105
    functionName: ajp_msg_dump
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_palloc
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_msg_dump(apr_pool_t *pool, ajp_msg_t *msg, char *err,\n
      \                         apr_size_t count, char **buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APLOGrtrace7
      Src: /src/httpd/modules/proxy/ajp_msg.c:122,1
    - Dst: APLOGrtrace8
      Src: /src/httpd/modules/proxy/ajp_msg.c:125,1
    - Dst: ajp_msg_dump
      Src: /src/httpd/modules/proxy/ajp_msg.c:129,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/ajp_msg.c:131,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_msg.c:134,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_msg.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - r
    - msg
    - err
    argTypes:
    - request_rec*
    - ajp_msg_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: ajp_msg_log
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 1
    functionsReached:
    - APLOGrtrace7
    - ap_log_rerror
    - ap_strchr
    - APLOGrtrace8
    - ajp_msg_dump
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_log(request_rec *r, ajp_msg_t *msg, char *err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_msg.c:159,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_msg.c:159,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_msg.c:170,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_msg.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - ajp_msg_t*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 182
    functionName: ajp_msg_check_header
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_check_header(ajp_msg_t *msg, apr_size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: ajp_msg_reset
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_reset(ajp_msg_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/modules/proxy/ajp_msg.c:211,1
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_msg.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: ajp_msg_reuse
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 1
    functionsReached:
    - ajp_msg_reset
    - memset
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_reuse(ajp_msg_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: ajp_msg_end
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_end(ajp_msg_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_msg.c:246,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_msg.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - context
    argTypes:
    - ajp_msg_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: ajp_log_overflow
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE ajp_log_overflow(ajp_msg_t *msg, const char *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - value
    argTypes:
    - ajp_msg_t*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: ajp_msg_append_uint32
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_append_uint32(ajp_msg_t *msg, apr_uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - value
    argTypes:
    - ajp_msg_t*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: ajp_msg_append_uint16
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_append_uint16(ajp_msg_t *msg, apr_uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - value
    argTypes:
    - ajp_msg_t*
    - apr_byte_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: ajp_msg_append_uint8
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_append_uint8(ajp_msg_t *msg, apr_byte_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_msg.c:337,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_msg.c:340,1
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:342,1
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_msg.c:346,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/ajp_msg.c:349,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/ajp_msg.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - value
    - convert
    argTypes:
    - ajp_msg_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: ajp_msg_append_string_ex
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - ajp_msg_append_uint16
    - ajp_log_overflow
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_msg_append_string_ex(ajp_msg_t *msg, const char *value,\n
      \                                     int convert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:377,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/ajp_msg.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - value
    - valuelen
    argTypes:
    - ajp_msg_t*
    - apr_byte_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 385
    functionName: ajp_msg_append_bytes
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_msg_append_bytes(ajp_msg_t *msg, const apr_byte_t
      *value,\n                                  apr_size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - apr_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: ajp_msg_get_uint32
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_get_uint32(ajp_msg_t *msg, apr_uint32_t *rvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - apr_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: ajp_msg_get_uint16
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_get_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - apr_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: ajp_msg_peek_uint16
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_peek_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - apr_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: ajp_msg_peek_uint8
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_peek_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - apr_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: ajp_msg_get_uint8
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 1
    functionsReached:
    - ajp_log_overflow
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_get_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_msg.c:507,1
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:511,1
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - rvalue
    argTypes:
    - ajp_msg_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: ajp_msg_get_string
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    - ajp_msg_get_uint16
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_get_string(ajp_msg_t *msg, const char **rvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_msg.c:542,1
    - Dst: ajp_log_overflow
      Src: /src/httpd/modules/proxy/ajp_msg.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - rvalue
    - rvalue_len
    argTypes:
    - ajp_msg_t*
    - apr_byte_t**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 555
    functionName: ajp_msg_get_bytes
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_log_overflow
    - ajp_msg_get_uint16
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_msg_get_bytes(ajp_msg_t *msg, apr_byte_t **rvalue,\n
      \                              apr_size_t *rvalue_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/ajp_msg.c:568,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/ajp_msg.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pool
    - size
    - rmsg
    argTypes:
    - apr_pool_t*
    - apr_size_t
    - ajp_msg_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: ajp_msg_create
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - apr_pcalloc
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_create(apr_pool_t *pool, apr_size_t size, ajp_msg_t
      **rmsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_msg.c:591,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_msg.c:591,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/ajp_msg.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - smsg
    - dmsg
    argTypes:
    - ajp_msg_t*
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: ajp_msg_copy
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_copy(ajp_msg_t *smsg, ajp_msg_t *dmsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_msg.c:619,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_msg.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: ajp_msg_serialize_ping
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 0
    functionsReached:
    - ajp_msg_reset
    - ajp_msg_append_uint8
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_serialize_ping(ajp_msg_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_msg.c:640,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_msg.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: ajp_msg_serialize_cping
    functionSourceFile: /src/httpd/modules/proxy/ajp_msg.c
    functionUses: 1
    functionsReached:
    - ajp_msg_reset
    - ajp_msg_append_uint8
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_msg_serialize_cping(ajp_msg_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:40,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:42,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: set_dbmfile
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_dbmfile(cmd_parms *cmd,\n                               void
      *dconf,\n                               const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: set_dbmtype
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_dbmtype(cmd_parms *cmd,\n                               void
      *dconf,\n                               const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: set_enabled
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_enabled(cmd_parms *cmd,\n                               void
      *dconf,\n                               int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: server_create
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 2
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *server_create(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: server_merge
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *server_merge(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_linked_module
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 49
    functionsReached:
    - ap_find_linked_module
    linkageType: ''
    returnType: int
    signature: "int post_config(apr_pool_t *p,\n                       apr_pool_t
      *plog,\n                       apr_pool_t *ptemp,\n                       server_rec
      *s)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:128,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:129,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:135,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:136,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:141,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:141,1
    - Dst: apr_dbm_get_driver
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:146,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:148,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:149,1
    - Dst: apr_dbm_open2
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:154,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:158,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:163,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:170,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:171,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:171,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:174,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:176,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:178,1
    - Dst: apr_dbm_close
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:180,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:185,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:185,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:187,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:191,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:191,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:205,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:213,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:213,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:215,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:217,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 221
    functionName: xlate_name
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    - ap_log_rerror
    - apr_dbm_get_driver
    - apr_pstrcat
    - apr_dbm_fetch
    - APLOGNO
    - strcasecmp
    - apr_array_push
    - apr_pstrdup
    - apr_pstrmemdup
    - apr_dbm_open2
    - ap_get_module_config
    - ap_get_server_name
    - apr_dbm_open_ex
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int xlate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:235,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/proxy/mod_proxy_express.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_express.c
    functionUses: 1
    functionsReached:
    - ap_hook_post_config
    - ap_hook_translate_name
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:54,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:59,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:60,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:61,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: balancer_pre_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_mutex_register
    linkageType: ''
    returnType: int
    signature: "int balancer_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:78,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:79,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:89,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:91,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:91,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: proxy_balancer_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - ap_proxy_canon_netloc
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: int proxy_balancer_canon(request_rec *r, char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:115,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:117,1
    - Dst: PROXY_WORKER_IS_INITIALIZED
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:118,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - balancer
    - s
    - p
    argTypes:
    - proxy_balancer*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: init_balancer_members
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - PROXY_WORKER_IS_INITIALIZED
    - APLOGNO
    - ap_proxy_initialize_worker
    - ap_proxy_worker_get_name
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void init_balancer_members(proxy_balancer *balancer,\n                                  server_rec
      *s, apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:146,1
    - Dst: strstr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:146,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:147,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:155,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pool
    - url
    - name
    - scolon_sep
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: get_path_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - strstr
    - apr_strtok
    - strlen
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *get_path_param(apr_pool_t *pool, char *url,\n                            const
      char *name, int scolon_sep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:168,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:169,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:170,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:174,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:176,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:177,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:184,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:185,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: get_cookie_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_isspace
    - strchr
    - strlen
    - apr_table_get
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: char *get_cookie_param(request_rec *r, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:214,1
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:214,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:216,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:217,1
    - Dst: ap_proxy_retry_worker_fn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:227,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:228,1
    - Dst: find_route_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:245,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:248,1
    - Dst: ap_proxy_retry_worker_fn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:256,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - balancer
    - route
    - r
    - recursion
    argTypes:
    - proxy_balancer*
    - char*
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 268
    functionName: find_route_worker
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 1
    functionsReached:
    - strcmp
    - PROXY_WORKER_IS_STANDBY
    - ap_proxy_retry_worker_fn
    - PROXY_WORKER_IS_USABLE
    - find_route_worker
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_route_worker(proxy_balancer *balancer,\n                                       const
      char *route, request_rec *r,\n                                       int recursion)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:287,1
    - Dst: get_path_param
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:293,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:295,1
    - Dst: get_cookie_param
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:301,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:304,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:304,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:314,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:317,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:317,1
    - Dst: find_route_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:321,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:322,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:327,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:328,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:328,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - balancer
    - r
    - route
    - sticky_used
    - url
    argTypes:
    - proxy_balancer*
    - request_rec*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 336
    functionName: find_session_route
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - apr_pstrcat
    - strchr
    - get_cookie_param
    - APLOGNO
    - apr_table_setn
    - get_path_param
    - find_route_worker
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_session_route(proxy_balancer *balancer,\n                                        request_rec
      *r,\n                                        char **route,\n                                        const
      char **sticky_used,\n                                        char **url)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_THREAD_LOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:345,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:346,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:346,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:359,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:360,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:360,1
    - Dst: apr_sleep
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:388,1
    - Dst: find_best_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 401
    functionName: find_best_worker
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 1
    functionsReached:
    - find_best_worker
    - ap_log_rerror
    - APLOGNO
    - apr_sleep
    - PROXY_THREAD_LOCK
    - PROXY_THREAD_UNLOCK
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_worker(proxy_balancer *balancer,\n                                      request_rec
      *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:409,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:411,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:413,1
    - Dst: ap_proxy_canon_url
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:416,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:418,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:418,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r
    - worker
    - url
    argTypes:
    - request_rec*
    - proxy_worker*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: balancer_fixup
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - strstr
    - AP_DEBUG_ASSERT
    - apr_pstrdup
    - ap_proxy_canon_url
    - ap_strchr_c
    - strncmp
    linkageType: ''
    returnType: int
    signature: int balancer_fixup(request_rec *r, proxy_worker *worker, char **url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_retry_worker_fn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:438,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:452,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 458
    functionName: force_recovery
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_proxy_retry_worker_fn
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void force_recovery(proxy_balancer *balancer, server_rec *s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:478,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:479,1
    - Dst: PROXY_THREAD_LOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:486,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:487,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:487,1
    - Dst: force_recovery
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:494,1
    - Dst: ap_proxy_sync_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:498,1
    - Dst: find_session_route
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:501,1
    - Dst: lbmethod::updatelbstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:505,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:520,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:542,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:549,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:549,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:553,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:554,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:554,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:564,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:565,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:565,1
    - Dst: find_best_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:571,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:574,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:574,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:578,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:578,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:594,1
    - Dst: ap_proxy_increment_busy_count
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:599,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:600,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:604,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:606,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:608,1
    - Dst: balancer_fixup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:617,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:621,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:622,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:625,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:627,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:630,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:630,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 5
    argNames:
    - worker
    - balancer
    - r
    - conf
    - url
    argTypes:
    - proxy_worker**
    - proxy_balancer**
    - request_rec*
    - proxy_server_conf*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 635
    functionName: proxy_balancer_pre_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - lbmethod::updatelbstatus
    - strcmp
    - ap_log_rerror
    - force_recovery
    - find_best_worker
    - ap_proxy_sync_balancer
    - ap_proxy_get_balancer
    - ap_proxy_increment_busy_count
    - balancer_fixup
    - APLOGNO
    - apr_table_setn
    - PROXY_WORKER_IS_USABLE
    - find_session_route
    - PROXY_THREAD_LOCK
    - ap_cstr_casecmpn
    - apr_pool_cleanup_register
    - PROXY_THREAD_UNLOCK
    linkageType: ''
    returnType: int
    signature: "int proxy_balancer_pre_request(proxy_worker **worker,\n                                      proxy_balancer
      **balancer,\n                                      request_rec *r,\n                                      proxy_server_conf
      *conf, char **url)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_THREAD_LOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:646,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:647,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:647,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:654,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:660,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:664,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:667,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:675,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:676,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:676,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:679,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:681,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:685,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:686,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:686,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:690,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - worker
    - balancer
    - r
    - conf
    argTypes:
    - proxy_worker*
    - proxy_balancer*
    - request_rec*
    - proxy_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 694
    functionName: proxy_balancer_post_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - ap_log_rerror
    - apr_time_now
    - APLOGNO
    - ap_proxy_worker_get_name
    - apr_table_get
    - PROXY_THREAD_LOCK
    - PROXY_THREAD_UNLOCK
    linkageType: ''
    returnType: int
    signature: "int proxy_balancer_post_request(proxy_worker *worker,\n                                       proxy_balancer
      *balancer,\n                                       request_rec *r,\n                                       proxy_server_conf
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - balancer
    argTypes:
    - proxy_balancer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 715
    functionName: recalc_factors
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recalc_factors(proxy_balancer *balancer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:723,1
    - Dst: apr_global_mutex_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 733
    functionName: lock_remove
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_global_mutex_destroy
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t lock_remove(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5_init
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:748,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:751,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:752,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:752,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:753,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:753,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:754,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:761,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:762,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:767,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:768,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:768,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:773,1
    - Dst: apr_md5_update
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:774,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:774,1
    - Dst: apr_md5_final
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:778,1
    - Dst: apr_pescape_hex
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - s
    - p
    - full
    argTypes:
    - server_rec*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 781
    functionName: make_server_id
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - apr_md5_init
    - apr_md5_update
    - apr_sockaddr_ip_getbuf
    - strlen
    - apr_md5_final
    - apr_pescape_hex
    linkageType: ''
    returnType: char
    signature: char *make_server_id(server_rec *s, apr_pool_t *p, int full)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:803,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:804,1
    - Dst: make_server_id
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:809,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:810,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:811,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:812,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:815,1
    - Dst: apr_hash_clear
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:823,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:825,1
    - Dst: make_server_id
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:830,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:831,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:832,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - main_s
    - p
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 842
    functionName: make_servers_ids
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_make
    - APR_ARRAY_IDX
    - make_server_id
    - apr_pmemdup
    - apr_array_make
    - apr_psprintf
    - apr_hash_get
    - apr_hash_clear
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *make_servers_ids(server_rec *main_s, apr_pool_t
      *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:857,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:862,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:864,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:864,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:872,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:875,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:875,1
    - Dst: make_servers_ids
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:882,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:884,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:895,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:900,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:901,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:902,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:916,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:916,1
    - Dst: create
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:920,1
    - Dst: conf::conf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:920,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:924,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:924,1
    - Dst: ap_pstr2_alnum
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:941,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:943,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:944,1
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:948,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:951,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:951,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:956,1
    - Dst: ap_proxy_find_balancershm
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:960,1
    - Dst: fgrab
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:962,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:963,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:963,1
    - Dst: grab
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:968,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:969,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:969,1
    - Dst: dptr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:972,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:973,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:973,1
    - Dst: ap_proxy_share_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:977,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:978,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:978,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:983,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:983,1
    - Dst: create
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:988,1
    - Dst: balancer::balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:988,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:992,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:992,1
    - Dst: balancer::balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:995,1
    - Dst: ap_proxy_find_workershm
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1008,1
    - Dst: fgrab
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1010,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1011,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1011,1
    - Dst: grab
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1016,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1017,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1017,1
    - Dst: dptr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1021,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1022,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1022,1
    - Dst: ap_proxy_share_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1026,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1027,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1027,1
    - Dst: ap_proxy_sync_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1035,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 113
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 1042
    functionName: balancer_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_proxy_sync_balancer
    - ap_proxy_find_balancershm
    - ap_get_module_config
    - create
    - PROXY_STRNCPY
    - ap_proxy_share_worker
    - conf::conf
    - ap_state_query
    - apr_pstrcat
    - ap_proxy_hashfunc
    - balancer::balancer
    - ap_global_mutex_create
    - apr_psprintf
    - fgrab
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_pstr2_alnum
    - APR_ARRAY_IDX
    - make_servers_ids
    - ap_lookup_provider
    - ap_proxy_find_workershm
    - ap_log_error
    - ap_proxy_share_balancer
    - dptr
    - APLOGNO
    - grab
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                         apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1046,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1048,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1049,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1051,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - name
    - flag
    - r
    argTypes:
    - char*
    - unsigned int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: create_radio
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_rputs
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: void create_radio(const char *name, unsigned int flag, request_rec
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1065,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1067,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1069,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1076,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1077,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1079,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1081,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1086,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1087,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - input
    - params
    - allowed
    - p
    argTypes:
    - char*
    - apr_table_t*
    - char*[]
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1095
    functionName: push2table
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strcmp
    - strchr
    - apr_table_set
    - apr_pstrdup
    - ap_unescape_url
    linkageType: ''
    returnType: void
    signature: "void push2table(const char *input, apr_table_t *params,\n                       const
      char *allowed[], apr_pool_t *p)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1111,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1113,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1113,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1115,1
    - Dst: atof
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1117,1
    - Dst: recalc_factors
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1122,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1125,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1126,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1127,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1131,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1132,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1133,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1141,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1142,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1142,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1144,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1145,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1145,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1147,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1148,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1148,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1150,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1151,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1151,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1153,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1154,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1154,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1156,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1157,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1157,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1159,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1160,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1160,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1162,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1163,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1168,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1170,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1176,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1177,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1182,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1183,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1188,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1191,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1195,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1196,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1197,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1201,1
    - Dst: hc_valid_expr_f
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1202,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1202,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1203,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1212,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1221,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1221,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1223,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1224,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1225,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1227,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1229,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1231,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1236,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1237,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1239,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1242,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1243,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1249,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1250,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1253,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1254,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1259,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1260,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1262,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1264,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1269,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1271,1
    - Dst: ap_proxy_get_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1274,1
    - Dst: num_free_slots
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1275,1
    - Dst: PROXY_GLOBAL_LOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1277,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1278,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1278,1
    - Dst: ap_proxy_define_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1283,1
    - Dst: PROXY_COPY_CONF_PARAMS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1287,1
    - Dst: grab
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1288,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1289,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1289,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1292,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1293,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1293,1
    - Dst: dptr
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1300,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1301,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1304,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1305,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1305,1
    - Dst: ap_proxy_share_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1312,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1313,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1316,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1317,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1317,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1324,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1325,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1328,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1329,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1329,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1337,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1339,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1341,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1341,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1345,1
    - Dst: PROXY_GLOBAL_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1350,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1351,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1351,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1357,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1357,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 184
    argCount: 5
    argNames:
    - r
    - conf
    - bsel
    - wsel
    - params
    argTypes:
    - request_rec*
    - proxy_server_conf*
    - proxy_balancer*
    - proxy_worker*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1367
    functionName: balancer_process_balancer_worker
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - atoi
    - hc_valid_expr_f
    - PROXY_COPY_CONF_PARAMS
    - PROXY_WORKER_IS_USABLE
    - recalc_factors
    - PROXY_GLOBAL_LOCK
    - PROXY_STRNCPY
    - ap_proxy_share_worker
    - ap_cstr_casecmp
    - strchr
    - ap_proxy_initialize_worker
    - PROXY_GLOBAL_UNLOCK
    - apr_table_get
    - ap_proxy_set_wstatus
    - num_free_slots
    - strcmp
    - apr_time_from_sec
    - ap_lookup_provider
    - ap_proxy_define_worker
    - ap_log_rerror
    - dptr
    - APLOGNO
    - ap_timeout_parameter_parse
    - ap_proxy_get_worker
    - strcpy
    - strlen
    - grab
    - atof
    linkageType: ''
    returnType: int
    signature: "int balancer_process_balancer_worker(request_rec *r, proxy_server_conf
      *conf,\n                                            proxy_balancer *bsel,\n
      \                                           proxy_worker *wsel,\n                                            apr_table_t
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1380,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1383,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1384,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1386,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1387,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1390,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1391,1
    - Dst: ap_proxy_get_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1393,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1396,1
    - Dst: balancer_process_balancer_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1398,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r
    - params
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1403
    functionName: balancer_manage
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - ap_proxy_get_balancer
    - balancer_process_balancer_worker
    - ap_proxy_get_worker
    - apr_table_get
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t balancer_manage(request_rec *r, apr_table_t *params)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ap_construct_url
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1418,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1419,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1419,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1423,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1424,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1425,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1426,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1429,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1431,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1432,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1434,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1434,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1436,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1440,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1442,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1444,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1448,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1451,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1456,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1461,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1462,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1462,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1464,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1466,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1468,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1470,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1473,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1475,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1477,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1479,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1481,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1483,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1485,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1488,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1490,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1493,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1498,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1503,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1508,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1509,1
    - Dst: ap_proxy_parse_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1509,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1510,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1511,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1512,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1515,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1518,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1521,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1524,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1527,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1530,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1533,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1534,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1536,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1537,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1539,1
    - Dst: ap_proxy_get_busy_count
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1541,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1542,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1545,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1546,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1549,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1552,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1555,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1558,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1560,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1565,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1567,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1571,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1576,1
    - Dst: apr_time_msec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1578,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1581,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1583,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1585,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1588,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1589,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1592,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1593,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1596,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1597,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1599,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1626,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1627,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1627,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1627,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1629,1
    - Dst: ap_get_server_description
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1630,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1631,1
    - Dst: ap_get_server_built
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1632,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1633,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1635,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1637,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1639,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1643,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1644,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1644,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1648,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1649,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1654,1
    - Dst: num_free_slots
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1655,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1657,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1658,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1658,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1659,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1662,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1662,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1666,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1668,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1670,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1671,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1672,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1673,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1675,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1677,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1679,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1680,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1682,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1683,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1689,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1691,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1697,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1698,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1700,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1703,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1703,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1705,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1705,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1707,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1708,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1709,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1710,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1711,1
    - Dst: ap_proxy_parse_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1711,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1712,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1713,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1714,1
    - Dst: ap_proxy_get_busy_count
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1714,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1715,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1716,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1716,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1717,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1718,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1718,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1720,1
    - Dst: ap_proxy_show_hcmethod
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1720,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1721,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1721,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1722,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1723,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1724,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1724,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1725,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1727,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1731,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1734,1
    - Dst: hc_show_exprs_f
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1736,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1739,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1740,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1740,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1741,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1742,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1742,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1743,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1744,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1745,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1746,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1747,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1748,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1748,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1750,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1751,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1752,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1752,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1754,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1755,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1756,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1763,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1765,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1766,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1766,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1767,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1767,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1768,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1768,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1769,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1769,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1770,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1770,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1772,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1772,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1774,1
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1774,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1775,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1778,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1779,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1782,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1788,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1789,1
    - Dst: hc_select_exprs_f
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1790,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1791,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1792,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1793,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1794,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1796,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1798,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1799,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1800,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1802,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1803,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1804,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1804,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1805,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1806,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1806,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1808,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1810,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1811,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1816,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1817,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1817,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1818,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1819,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1819,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1820,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1821,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1823,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1824,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1827,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1828,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1829,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1830,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1832,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1834,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1835,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1835,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1836,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1837,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1838,1
    - Dst: create_radio
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1839,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1840,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1841,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1842,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1843,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1843,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1844,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1847,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1847,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1849,1
    - Dst: num_free_slots
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1850,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1851,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1855,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1856,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1857,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1857,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1859,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1861,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1862,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1864,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1864,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1865,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1866,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 293
    argCount: 5
    argNames:
    - r
    - conf
    - bsel
    - wsel
    - usexml
    argTypes:
    - request_rec*
    - proxy_server_conf*
    - proxy_balancer*
    - proxy_worker*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1408
    functionDepth: 3
    functionLinenumber: 1408
    functionLinenumberEnd: 1868
    functionName: balancer_display_page
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - create_radio
    - apr_strfsize
    - ap_list_provider_names
    - ap_proxy_parse_wstatus
    - ap_psignature
    - ap_proxy_worker_get_name
    - ap_cstr_casecmp
    - apr_rfc822_date
    - ap_proxy_get_busy_count
    - num_free_slots
    - apr_time_sec
    - PROXY_WORKER_IS
    - strcmp
    - ap_proxy_show_hcmethod
    - ap_escape_uri
    - ap_construct_url
    - apr_time_msec
    - ap_rputs
    - ap_rprintf
    - ap_get_server_name
    - hc_select_exprs_f
    - ap_rflush
    - ap_get_server_description
    - ap_log_rerror
    - apr_time_as_msec
    - ap_set_content_type_ex
    - APLOGNO
    - ap_get_server_built
    - ap_escape_html
    - hc_show_exprs_f
    - ap_rvputs
    linkageType: ''
    returnType: void
    signature: "void balancer_display_page(request_rec *r, proxy_server_conf *conf,\n
      \                                 proxy_balancer *bsel,\n                                  proxy_worker
      *wsel,\n                                  int usexml)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1876,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1879,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - r
    - ref
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1880
    functionName: safe_referer
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_get_server_name
    - strcasecmp
    - apr_uri_parse
    linkageType: ''
    returnType: int
    signature: int safe_referer(request_rec *r, const char *ref)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1902,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1914,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1915,1
    - Dst: PROXY_THREAD_LOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1920,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1921,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1921,1
    - Dst: ap_proxy_sync_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1926,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1928,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1929,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1929,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1938,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1938,1
    - Dst: push2table
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1940,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1945,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1947,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1948,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1951,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1953,1
    - Dst: push2table
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1955,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1959,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1960,1
    - Dst: safe_referer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1961,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1962,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1962,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1963,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1964,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1968,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1969,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1970,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1972,1
    - Dst: ap_proxy_get_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1973,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1982,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1983,1
    - Dst: balancer_process_balancer_worker
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1985,1
    - Dst: balancer_display_page
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1992,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:1993,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1890
    functionDepth: 4
    functionLinenumber: 1890
    functionLinenumberEnd: 1996
    functionName: balancer_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - safe_referer
    - ap_proxy_sync_balancer
    - apr_table_elts
    - apr_brigade_create
    - balancer_process_balancer_worker
    - apr_brigade_flatten
    - ap_get_module_config
    - apr_table_make
    - push2table
    - apr_pstrcat
    - apr_table_clear
    - apr_table_get
    - PROXY_THREAD_UNLOCK
    - ap_get_brigade
    - strcmp
    - ap_proxy_get_balancer
    - balancer_display_page
    - ap_get_server_name
    - PROXY_THREAD_LOCK
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - ap_proxy_get_worker
    - ap_map_http_request_error
    linkageType: ''
    returnType: int
    signature: int balancer_handler(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2004,1
    - Dst: attach
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2021,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2023,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2023,1
    - Dst: exit
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2024,1
    - Dst: ap_proxy_initialize_balancer
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2031,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2033,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2033,1
    - Dst: exit
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2036,1
    - Dst: init_balancer_members
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 1998
    functionDepth: 2
    functionLinenumber: 1998
    functionLinenumberEnd: 2043
    functionName: balancer_child_init
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - init_balancer_members
    - APLOGNO
    - ap_proxy_initialize_balancer
    - ap_log_error
    - ap_get_module_config
    - exit
    - attach
    linkageType: ''
    returnType: void
    signature: void balancer_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2054,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2055,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2056,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2057,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2058,1
    - Dst: proxy_hook_pre_request
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2059,1
    - Dst: proxy_hook_post_request
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2060,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_balancer.c:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2062
    functionName: ap_proxy_balancer_register_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_balancer.c
    functionUses: 0
    functionsReached:
    - ap_hook_pre_config
    - proxy_hook_post_request
    - ap_hook_handler
    - proxy_hook_pre_request
    - proxy_hook_canon_handler
    - APR_REGISTER_OPTIONAL_FN
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void ap_proxy_balancer_register_hook(apr_pool_t *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:38,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:45,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:51,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:53,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:55,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:55,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:65,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:68,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:73,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:76,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:76,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:87,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:88,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:93,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:94,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:94,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:101,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:105,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:107,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 113
    functionName: proxy_ajp_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached:
    - ap_proxy_port_of_scheme
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_pstrcat
    - APLOGNO
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - ap_strchr_c
    - apr_table_get
    - ap_scan_vchar_obstext
    - strlen
    - ap_cstr_casecmpn
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int proxy_ajp_canon(request_rec *r, char *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 144
    functionName: is_idempotent
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_idempotent(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:151,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: get_content_length
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached:
    - ap_parse_strict_length
    - apr_table_get
    linkageType: ''
    returnType: apr_off_t
    signature: apr_off_t get_content_length(request_rec * r)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:211,1
    - Dst: APR_ALIGN
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:228,1
    - Dst: ajp_send_header
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:238,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:241,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:241,1
    - Dst: is_idempotent
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:252,1
    - Dst: ajp_alloc_data_msg
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:261,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:265,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:265,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:271,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:272,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:274,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:276,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:276,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:280,1
    - Dst: get_content_length
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:289,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:294,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:301,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:301,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:303,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:304,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:308,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:308,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:309,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:313,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:317,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:321,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:322,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:322,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:326,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:328,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:328,1
    - Dst: ajp_send_data_msg
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:331,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:332,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:336,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:337,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:350,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:364,1
    - Dst: ajp_read_header
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:371,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:377,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:377,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:385,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:387,1
    - Dst: is_idempotent
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:397,1
    - Dst: ajp_parse_type
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:403,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:404,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:411,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:421,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:421,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:425,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:428,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:433,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:433,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:435,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:445,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:447,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:449,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:449,1
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:457,1
    - Dst: ajp_send_data_msg
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:459,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:460,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:462,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:473,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:473,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:484,1
    - Dst: ajp_parse_header
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:489,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:496,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:497,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:499,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:499,1
    - Dst: ajp_parse_data
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:508,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:513,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:519,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:520,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:523,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:523,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:536,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:541,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:543,1
    - Dst: apr_poll
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:547,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:550,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:551,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:552,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:554,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:559,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:561,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:561,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:568,1
    - Dst: ajp_parse_reuse
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:581,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:585,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:586,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:587,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:588,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:590,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:590,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:609,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:609,1
    - Dst: ajp_read_header
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:630,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:634,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:634,1
    - Dst: ajp_parse_type
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:638,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:640,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:646,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:649,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:649,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:660,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:660,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:675,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:675,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:679,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:690,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:698,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:698,1
    - Dst: ap_proxy_fill_error_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:706,1
    - Dst: is_idempotent
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:707,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:720,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:722,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:732,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:732,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:745,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:746,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:750,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:751,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:755,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:757,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 311
    argCount: 8
    argNames:
    - p
    - r
    - conn
    - origin
    - conf
    - uri
    - url
    - server_portstr
    argTypes:
    - apr_pool_t*
    - request_rec*
    - proxy_conn_rec*
    - conn_rec*
    - proxy_dir_conf*
    - apr_uri_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 762
    functionName: ap_proxy_ajp_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached:
    - apr_brigade_destroy
    - ajp_send_data_msg
    - apr_brigade_create
    - ap_proxy_should_override
    - apr_brigade_flatten
    - ajp_parse_header
    - APR_STATUS_IS_TIMEUP
    - ap_get_module_config
    - ajp_alloc_data_msg
    - ajp_read_header
    - ap_cstr_casecmp
    - APR_BUCKET_IS_EOS
    - is_idempotent
    - apr_brigade_length
    - apr_table_get
    - ajp_parse_type
    - ap_get_brigade
    - ap_pass_brigade
    - apr_poll
    - get_content_length
    - ajp_send_header
    - apr_bucket_flush_create
    - apr_bucket_transient_create
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - APR_ALIGN
    - APR_BRIGADE_EMPTY
    - ajp_parse_data
    - APR_BRIGADE_INSERT_TAIL
    - ajp_msg_log
    - ap_proxy_fill_error_brigade
    - ap_log_rerror
    - apr_pcalloc
    - ajp_msg_reset
    - APLOGNO
    - apr_table_setn
    - apr_table_set
    - ap_map_http_request_error
    - ajp_parse_reuse
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: int
    signature: "int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r,\n                                proxy_conn_rec
      *conn,\n                                conn_rec *origin,\n                                proxy_dir_conf
      *conf,\n                                apr_uri_t *uri,\n                                char
      *url, char *server_portstr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:778,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:783,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:784,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:788,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:789,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:789,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:792,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:797,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:809,1
    - Dst: ap_proxy_check_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:818,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:820,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:822,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:822,1
    - Dst: ajp_handle_cping_cpong
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:831,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:841,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:841,1
    - Dst: ap_proxy_ajp_request
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:850,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:856,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 858
    functionName: proxy_ajp_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached:
    - ap_proxy_determine_connection
    - ap_log_rerror
    - ap_proxy_release_connection
    - apr_palloc
    - ap_proxy_acquire_connection
    - APLOGNO
    - ajp_handle_cping_cpong
    - ap_proxy_ajp_request
    - ap_get_module_config
    - ap_proxy_check_connection
    - ap_cstr_casecmpn
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: int
    signature: "int proxy_ajp_handler(request_rec *r, proxy_worker *worker,\n                             proxy_server_conf
      *conf,\n                             char *url, const char *proxyname,\n                             apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:862,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:863,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_ajp.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: ap_proxy_http_register_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ajp.c
    functionUses: 0
    functionsReached:
    - proxy_hook_canon_handler
    - APR_REGISTER_OPTIONAL_FN
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void ap_proxy_http_register_hook(apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:104,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:105,1
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:110,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:112,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:115,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:119,1
    - Dst: apr_bucket_heap_make
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:130,1
    - Dst: APR_BUCKET_INSERT_AFTER
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:134,1
    - Dst: bucket_socket_ex_create
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:134,1
    - Dst: apr_bucket_free
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:137,1
    - Dst: apr_bucket_immortal_make
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - a
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 142
    functionName: bucket_socket_ex_read
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - apr_bucket_heap_make
    - apr_socket_timeout_set
    - apr_socket_timeout_get
    - apr_bucket_alloc
    - APR_BUCKET_INSERT_AFTER
    - apr_bucket_immortal_make
    - apr_bucket_free
    - bucket_socket_ex_create
    - apr_socket_recv
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t bucket_socket_ex_read(apr_bucket *a, const char **str,\n
      \                                         apr_size_t *len,\n                                          apr_read_type_e
      block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - apr_bucket*
    - socket_ex_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: bucket_socket_ex_make
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_bucket
    signature: apr_bucket *bucket_socket_ex_make(apr_bucket *b, socket_ex_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:165,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:167,1
    - Dst: bucket_socket_ex_make
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - list
    argTypes:
    - socket_ex_data*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: bucket_socket_ex_create
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 1
    functionsReached:
    - bucket_socket_ex_make
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: apr_bucket
    signature: "apr_bucket *bucket_socket_ex_create(socket_ex_data *data,\n                                           apr_bucket_alloc_t
      *list)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:182,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:185,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:194,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:194,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:200,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:206,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:207,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:210,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:210,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:216,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:219,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: scgi_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - ap_get_core_module_config
    - apr_pstrcat
    - APLOGNO
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - apr_table_get
    - strlen
    - ap_cstr_casecmpn
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int scgi_canon(request_rec *r, char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_send
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:238,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:239,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - buf
    - length
    - r
    argTypes:
    - proxy_conn_rec*
    - char*
    - apr_size_t
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: sendall
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - apr_socket_send
    linkageType: ''
    returnType: int
    signature: "int sendall(proxy_conn_rec *conn, const char *buf, apr_size_t length,\n
      \                  request_rec *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:270,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:271,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:282,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:285,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:286,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:287,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:290,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:290,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:292,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:293,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:296,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:297,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:299,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:300,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:303,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:305,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:307,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:309,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:313,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:314,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:315,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:318,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:319,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:321,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:322,1
    - Dst: sendall
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 328
    functionName: send_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 1
    functionsReached:
    - strcmp
    - sendall
    - apr_palloc
    - apr_table_elts
    - ap_add_common_vars
    - apr_psprintf
    - ap_add_cgi_vars
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int send_headers(request_rec *r, proxy_conn_rec *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:336,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:337,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:341,1
    - Dst: sendall
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:343,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:347,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 357
    functionName: send_request_body
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - sendall
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - ap_should_client_block
    - ap_get_client_block
    linkageType: ''
    returnType: int
    signature: int send_request_body(request_rec *r, proxy_conn_rec *conn)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:372,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:376,1
    - Dst: bucket_socket_ex_create
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:377,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:378,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:379,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:380,1
    - Dst: ap_scan_script_header_err_brigade_ex
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:382,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:385,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:385,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:389,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:397,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:398,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:399,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:401,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:405,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:408,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:411,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:413,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:413,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:418,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:421,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:425,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:427,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:439,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:442,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:445,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:447,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:449,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:452,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:457,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:459,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:464,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 2
    argNames:
    - r
    - conn
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 469
    functionName: pass_response
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - ap_scan_script_header_err_brigade_ex
    - ap_log_rerror
    - apr_brigade_destroy
    - apr_palloc
    - ap_cstr_casecmp
    - APLOGNO
    - apr_brigade_create
    - ap_set_module_config
    - apr_bucket_eos_create
    - apr_table_unset
    - apr_table_get
    - ap_get_module_config
    - bucket_socket_ex_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int pass_response(request_rec *r, proxy_conn_rec *conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:479,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:483,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:483,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:492,1
    - Dst: ap_internal_redirect_handler
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:493,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:498,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:498,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:503,1
    - Dst: ap_run_sub_req
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:514,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - status
    - r
    argTypes:
    - int*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 530
    functionName: scgi_request_status
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_table_unset
    - ap_get_module_config
    - ap_sub_req_lookup_file
    - ap_internal_redirect_handler
    - ap_run_sub_req
    linkageType: ''
    returnType: int
    signature: int scgi_request_status(int *status, request_rec *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:546,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:547,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:547,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:553,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:561,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:562,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:570,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:571,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:571,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:579,1
    - Dst: send_headers
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:580,1
    - Dst: send_request_body
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:581,1
    - Dst: pass_response
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:582,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:589,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 592
    functionName: scgi_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - ap_proxy_determine_connection
    - ap_log_rerror
    - ap_setup_client_block
    - apr_palloc
    - ap_proxy_acquire_connection
    - ap_proxy_release_connection
    - APLOGNO
    - send_headers
    - send_request_body
    - pass_response
    - ap_cstr_casecmpn
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: int
    signature: "int scgi_handler(request_rec *r, proxy_worker *worker,\n                        proxy_server_conf
      *conf, char *url,\n                        const char *proxyname, apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: create_scgi_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *create_scgi_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - base_
    - add_
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 615
    functionName: merge_scgi_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *merge_scgi_config(apr_pool_t *p, void *base_, void *add_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:623,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 633
    functionName: scgi_set_send_file
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *scgi_set_send_file(cmd_parms *cmd, void *mconfig,\n                                      const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:641,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 651
    functionName: scgi_set_internal_redirect
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *scgi_set_internal_redirect(cmd_parms *cmd, void *mconfig,\n
      \                                             const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:669,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:670,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/proxy/mod_proxy_scgi.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_scgi.c
    functionUses: 1
    functionsReached:
    - proxy_hook_canon_handler
    - APR_OPTIONAL_HOOK
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:35,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:42,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:44,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:46,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: proxy_fdpass_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: int proxy_fdpass_canon(request_rec *r, char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:59,1
    - Dst: ap_proxy_connect_uds
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p
    - path
    - out_sock
    argTypes:
    - apr_pool_t*
    - char*
    - apr_socket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: get_socket_from_path
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - ap_proxy_connect_uds
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_socket_from_path(apr_pool_t *p,\n                                         const
      char* path,\n                                         apr_socket_t **out_sock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_sock_get
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:86,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:91,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:96,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:104,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:109,1
    - Dst: CMSG_DATA
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:109,1
    - Dst: sendmsg
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - p
    - s
    - outbound
    argTypes:
    - apr_pool_t*
    - apr_socket_t*
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 121
    functionName: send_socket
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - apr_palloc
    - memset
    - apr_os_sock_get
    - sendmsg
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_socket(apr_pool_t *p,\n                                apr_socket_t
      *s,\n                                apr_socket_t *outbound)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:132,1
    - Dst: get_socket_from_path
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:139,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:142,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:142,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:151,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:155,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:155,1
    - Dst: proxy_fdpass_flush*::flusher
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:161,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:167,1
    - Dst: send_socket
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:169,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:171,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:171,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:181,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:184,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:184,1
    - Dst: ap_set_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 192
    functionName: proxy_fdpass_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - ap_log_rerror
    - ap_get_conn_socket
    - ap_lookup_provider
    - APLOGNO
    - send_socket
    - proxy_fdpass_flush*::flusher
    - get_socket_from_path
    - ap_set_core_module_config
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: int
    signature: "int proxy_fdpass_handler(request_rec *r, proxy_worker *worker,\n                              proxy_server_conf
      *conf,\n                              char *url, const char *proxyname,\n                              apr_port_t
      proxyport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:202,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:203,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:205,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:207,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:210,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: standard_flush
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - apr_brigade_create
    - apr_bucket_flush_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int standard_flush(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:228,1
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:229,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_fdpass.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fdpass.c
    functionUses: 1
    functionsReached:
    - ap_register_provider
    - proxy_hook_canon_handler
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:183,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:186,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:187,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: beacon_create_server_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pool_tag
    - apr_pcalloc
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void *beacon_create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:198,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:200,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cmd
    - dummy
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: beacon_set_sub_url
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *beacon_set_sub_url(cmd_parms *cmd, void *dummy,\n                                      int
      argc, char *const argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:222,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:224,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: beacon_set_pub_url
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *beacon_set_pub_url(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:240,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:243,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:249,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:251,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: beacon_set_advertise
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_uri_parse
    - ap_check_cmd_context
    - apr_psprintf
    - ap_get_module_config
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *beacon_set_advertise(cmd_parms *cmd, void *dummy,\n                                     const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:262,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:264,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:270,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: beacon_set_balancer
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_check_cmd_context
    - strncasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *beacon_set_balancer(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:283,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:287,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:291,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:296,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: beacon_set_interval
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_time_as_msec
    - ap_timeout_parameter_parse
    - ap_check_cmd_context
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *beacon_set_interval(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:308,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:312,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 324
    functionName: beacon_set_timeout
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_timeout_parameter_parse
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *beacon_set_timeout(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:328,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:330,1
    - Dst: apr_md5
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:341,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 344
    functionName: beacon_set_secret
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_md5
    - ap_check_cmd_context
    - ap_get_module_config
    - strlen
    linkageType: ''
    returnType: char
    signature: char *beacon_set_secret(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:348,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:352,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:356,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: beacon_set_maxskew
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_timeout_parameter_parse
    - ap_get_module_config
    - apr_time_sec
    linkageType: ''
    returnType: char
    signature: char *beacon_set_maxskew(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:419,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:422,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - p
    - url
    - default_host
    - default_port
    - addr_out
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_port_t
    - apr_sockaddr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 437
    functionName: beacon_resolve
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_parse_addr_port
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t beacon_resolve(apr_pool_t *p, const char *url,\n                                   const
      char *default_host,\n                                   apr_port_t default_port,\n
      \                                  apr_sockaddr_t **addr_out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - s
    - host_out
    - port_out
    argTypes:
    - server_rec*
    - char**
    - apr_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 481
    functionName: beacon_server_default_addr
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_ip_get
    linkageType: ''
    returnType: void
    signature: "void beacon_server_default_addr(server_rec *s, const char **host_out,\n
      \                                      apr_port_t *port_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: beacon_server_default_addr
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:507,1
    - Dst: beacon_resolve
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:508,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:510,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:511,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:518,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:520,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:521,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:525,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:526,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:527,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:528,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:529,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:531,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:536,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:537,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:542,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:543,1
    - Dst: beacon_resolve
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:553,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:556,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:562,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:564,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:565,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:572,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:575,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - beacon_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 578
    functionName: beacon_cb_starting
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - apr_socket_opt_set
    - APLOGNO
    - apr_socket_close
    - beacon_server_default_addr
    - ap_log_error
    - beacon_resolve
    - apr_socket_bind
    linkageType: ''
    returnType: void
    signature: void beacon_cb_starting(beacon_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:597,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:598,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:606,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:614,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:615,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:616,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:617,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:618,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 626
    functionName: beacon_make_fake_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_table_make
    - apr_pcalloc
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: request_rec *beacon_make_fake_request(apr_pool_t *p, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:635,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:637,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - beacon_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: beacon_have_manage_fn
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: int beacon_have_manage_fn(beacon_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:660,1
    - Dst: beacon_make_fake_request
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:661,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:663,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:664,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:665,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:666,1
    - Dst: beacon_ctx_t*::manage_fn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:667,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - pool
    - url
    - disabled
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 671
    functionName: beacon_set_worker_disabled
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - beacon_ctx_t*::manage_fn
    - apr_table_setn
    - apr_pool_create
    - apr_pool_destroy
    - apr_table_make
    - beacon_make_fake_request
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t beacon_set_worker_disabled(beacon_ctx_t *ctx, apr_pool_t
      *pool,\n                                            const char *url, int disabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:682,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:683,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - now
    - what
    argTypes:
    - beacon_ctx_t*
    - apr_time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: beacon_log_throttled
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_time_from_sec
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void beacon_log_throttled(beacon_ctx_t *ctx, apr_time_t now, const
      char *what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: beacon_have_manage_fn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:711,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:715,1
    - Dst: beacon_make_fake_request
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:716,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:719,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:720,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:721,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:722,1
    - Dst: beacon_ctx_t*::manage_fn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:723,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:724,1
    - Dst: beacon_log_throttled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:729,1
    - Dst: beacon_set_worker_disabled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:736,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:738,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:739,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:746,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - pool
    - url
    - m
    - now
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    - char*
    - beacon_member_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 699
    functionDepth: 3
    functionLinenumber: 699
    functionLinenumberEnd: 750
    functionName: beacon_try_add
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - beacon_ctx_t*::manage_fn
    - APLOGNO
    - apr_table_setn
    - beacon_log_throttled
    - apr_pool_create
    - ap_log_error
    - beacon_have_manage_fn
    - apr_pool_destroy
    - beacon_set_worker_disabled
    - apr_table_make
    - beacon_make_fake_request
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t beacon_try_add(beacon_ctx_t *ctx, apr_pool_t *pool,\n
      \                               const char *url, beacon_member_t *m,\n                                apr_time_t
      now)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:765,1
    - Dst: apr_hash_count
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:770,1
    - Dst: beacon_log_throttled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:771,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:774,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:777,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:777,1
    - Dst: beacon_try_add
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:779,1
    - Dst: beacon_log_throttled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:789,1
    - Dst: beacon_try_add
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:798,1
    - Dst: beacon_set_worker_disabled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:804,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:806,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - ctx
    - pool
    - url
    - now
    - msg_ts
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    - char*
    - apr_time_t
    - apr_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 812
    functionName: beacon_handle_announce
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - APLOGNO
    - beacon_log_throttled
    - apr_hash_count
    - beacon_try_add
    - ap_log_error
    - beacon_set_worker_disabled
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void beacon_handle_announce(beacon_ctx_t *ctx, apr_pool_t *pool,\n
      \                               const char *url, apr_time_t now,\n                                apr_int64_t
      msg_ts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: beacon_have_manage_fn
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:823,1
    - Dst: apr_hash_first
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:827,1
    - Dst: apr_hash_next
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:827,1
    - Dst: apr_hash_this
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:832,1
    - Dst: beacon_set_worker_disabled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:839,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:841,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:842,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - pool
    - now
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 850
    functionName: beacon_sweep
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - beacon_set_worker_disabled
    - apr_hash_this
    - apr_hash_next
    - ap_log_error
    - beacon_have_manage_fn
    - apr_hash_first
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: void beacon_sweep(beacon_ctx_t *ctx, apr_pool_t *pool, apr_time_t now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:862,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 878
    functionName: beacon_parse_url
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - strncmp
    linkageType: ''
    returnType: int
    signature: int beacon_parse_url(const char *msg, char *buf, apr_size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - void*
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: beacon_const_time_eq
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int beacon_const_time_eq(const void *a, const void *b, apr_size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_siphash24_auth
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:903,1
    - Dst: ap_bin2hex
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - base
    - len
    - out
    argTypes:
    - beacon_ctx_t*
    - char*
    - apr_size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: beacon_mac_hex
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_siphash24_auth
    - ap_bin2hex
    linkageType: ''
    returnType: void
    signature: "void beacon_mac_hex(const beacon_ctx_t *ctx, const char *base,\n                        apr_size_t
      len, char *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beacon_mac_hex
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:914,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:914,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pool
    - base
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 916
    functionName: beacon_sign
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - strlen
    - beacon_mac_hex
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: char *beacon_sign(beacon_ctx_t *ctx, apr_pool_t *pool, const char *base)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:934,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:948,1
    - Dst: beacon_mac_hex
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:954,1
    - Dst: beacon_const_time_eq
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:955,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:965,1
    - Dst: apr_atoi64
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:975,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:981,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - msg
    - now
    - ts_out
    - reason
    argTypes:
    - beacon_ctx_t*
    - char*
    - apr_time_t
    - apr_int64_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 988
    functionName: beacon_verify
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - beacon_const_time_eq
    - apr_time_from_sec
    - beacon_mac_hex
    - apr_atoi64
    - strlen
    linkageType: ''
    returnType: int
    signature: "int beacon_verify(beacon_ctx_t *ctx, const char *msg, apr_time_t now,\n
      \                     apr_int64_t *ts_out, const char **reason)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1001,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1016,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1019,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1023,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1026,1
    - Dst: beacon_sign
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1030,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1034,1
    - Dst: apr_socket_sendto
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1035,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1037,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1038,1
    - Dst: apr_socket_recvfrom
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1058,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1059,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1063,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1064,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1074,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1087,1
    - Dst: beacon_verify
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1098,1
    - Dst: beacon_log_throttled
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1099,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1104,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1105,1
    - Dst: beacon_parse_url
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1113,1
    - Dst: beacon_handle_announce
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1114,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1120,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1122,1
    - Dst: beacon_sweep
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1123,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - pool
    argTypes:
    - beacon_ctx_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 991
    functionDepth: 5
    functionLinenumber: 991
    functionLinenumberEnd: 1127
    functionName: beacon_cb_running
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - beacon_sign
    - apr_time_now
    - apr_socket_recvfrom
    - ap_escape_logitem
    - beacon_parse_url
    - getpid
    - APLOGNO
    - beacon_verify
    - beacon_log_throttled
    - beacon_handle_announce
    - ap_log_error
    - apr_psprintf
    - beacon_sweep
    - strlen
    - APR_STATUS_IS_EAGAIN
    - apr_socket_sendto
    linkageType: ''
    returnType: void
    signature: void beacon_cb_running(beacon_ctx_t *ctx, apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1133,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1135,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - beacon_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1138
    functionName: beacon_cb_stopping
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_socket_close
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void beacon_cb_stopping(beacon_ctx_t *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: beacon_cb_starting
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1152,1
    - Dst: beacon_cb_running
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1155,1
    - Dst: beacon_cb_stopping
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - state
    - data
    - pool
    argTypes:
    - int
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1145
    functionDepth: 6
    functionLinenumber: 1145
    functionLinenumberEnd: 1163
    functionName: beacon_watchdog_callback
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - beacon_cb_running
    - beacon_cb_starting
    - beacon_cb_stopping
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t beacon_watchdog_callback(int state, void *data,\n                                          apr_pool_t
      *pool)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1170,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1171,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1174,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1178,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1180,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1183,1
    - Dst: beacon_get_instance
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1187,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1189,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1190,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1196,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1213,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1214,1
    - Dst: beacon_register_callback
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1220,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1223,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - main_s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1230
    functionName: beacon_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - beacon_register_callback
    - APLOGNO
    - ap_log_error
    - ap_get_module_config
    - beacon_get_instance
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int beacon_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                           apr_pool_t
      *ptemp, server_rec *main_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_beacon.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1237
    functionName: beacon_register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_beacon.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void beacon_register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: long_res_header_for_sc
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *long_res_header_for_sc(int sc)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_header.c:54,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/ajp_header.c:64,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/proxy/ajp_header.c:66,1
    - Dst: memcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:72,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:77,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:79,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:81,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:89,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:95,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:97,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:99,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:101,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:103,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:109,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:115,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:121,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/ajp_header.c:127,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 1
    argNames:
    - header_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 137
    functionName: sc_for_req_header
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memset
    - strlen
    - memcmp
    - apr_toupper
    linkageType: ''
    returnType: int
    signature: int sc_for_req_header(const char *header_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: sc_for_req_method_by_id
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sc_for_req_method_by_id(request_rec *r)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/ajp_header.c:227,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:230,1
    - Dst: sc_for_req_method_by_id
      Src: /src/httpd/modules/proxy/ajp_header.c:232,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:233,1
    - Dst: ap_proxy_conn_is_https
      Src: /src/httpd/modules/proxy/ajp_header.c:239,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/ajp_header.c:241,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/ajp_header.c:242,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/modules/proxy/ajp_header.c:246,1
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_header.c:248,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:250,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:251,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:252,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:253,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:254,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:255,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:256,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/ajp_header.c:256,1
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:257,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:258,1
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:259,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:261,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/ajp_header.c:269,1
    - Dst: sc_for_req_header
      Src: /src/httpd/modules/proxy/ajp_header.c:272,1
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:273,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:274,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:274,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:281,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:282,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:282,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:289,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:290,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:290,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:295,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:301,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:302,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:303,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:303,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:311,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:312,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:313,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:320,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:321,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:322,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:322,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:330,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:331,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:332,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:332,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/ajp_header.c:338,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:339,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:340,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:341,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:341,1
    - Dst: ap_proxy_ssl_val
      Src: /src/httpd/modules/proxy/ajp_header.c:359,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:362,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:363,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:364,1
    - Dst: ap_proxy_ssl_val
      Src: /src/httpd/modules/proxy/ajp_header.c:371,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:374,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:375,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:376,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:376,1
    - Dst: ap_proxy_ssl_val
      Src: /src/httpd/modules/proxy/ajp_header.c:383,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:386,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:387,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:388,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:388,1
    - Dst: ap_proxy_ssl_val
      Src: /src/httpd/modules/proxy/ajp_header.c:396,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:400,1
    - Dst: ajp_msg_append_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:401,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/ajp_header.c:401,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:402,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:402,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:411,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:412,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:413,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:413,1
    - Dst: ap_proxy_ssl_val
      Src: /src/httpd/modules/proxy/ajp_header.c:425,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:429,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:430,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:431,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:432,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:432,1
    - Dst: apr_itoa
      Src: /src/httpd/modules/proxy/ajp_header.c:449,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:450,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:451,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:452,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:453,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:453,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:470,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:471,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:472,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:473,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:473,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/ajp_header.c:484,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:485,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:486,1
    - Dst: ajp_msg_append_string
      Src: /src/httpd/modules/proxy/ajp_header.c:487,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:488,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:488,1
    - Dst: ajp_msg_append_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:497,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:498,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:498,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:504,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 128
    argCount: 4
    argNames:
    - msg
    - r
    - uri
    - secret
    argTypes:
    - ajp_msg_t*
    - request_rec*
    - apr_uri_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 507
    functionName: ajp_marshal_into_msgb
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ajp_msg_reset
    - ajp_msg_append_uint8
    - sc_for_req_method_by_id
    - apr_table_elts
    - APLOGNO
    - ap_get_useragent_host
    - ajp_msg_append_uint16
    - ap_proxy_ssl_val
    - atoi
    - apr_itoa
    - ap_proxy_conn_is_https
    - ajp_msg_append_string
    - apr_table_get
    - ap_get_server_name
    - strncmp
    - sc_for_req_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_marshal_into_msgb(ajp_msg_t *msg,\n                                          request_rec
      *r,\n                                          apr_uri_t *uri,\n                                          const
      char *secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/ajp_header.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: addit_dammit
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int addit_dammit(void *v, const char *key, const char *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:550,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:553,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:553,1
    - Dst: ajp_msg_get_string
      Src: /src/httpd/modules/proxy/ajp_header.c:559,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/ajp_header.c:562,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/proxy/ajp_header.c:563,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_header.c:563,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/ajp_header.c:565,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:571,1
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:574,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/ajp_header.c:583,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/ajp_header.c:584,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/ajp_header.c:593,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:595,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:595,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:600,1
    - Dst: ajp_msg_peek_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:608,1
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:614,1
    - Dst: long_res_header_for_sc
      Src: /src/httpd/modules/proxy/ajp_header.c:615,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:617,1
    - Dst: ajp_msg_get_string
      Src: /src/httpd/modules/proxy/ajp_header.c:626,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:628,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:628,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/proxy/ajp_header.c:633,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_header.c:633,1
    - Dst: ajp_msg_get_string
      Src: /src/httpd/modules/proxy/ajp_header.c:636,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:638,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:638,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:645,1
    - Dst: ap_proxy_cookie_reverse_map
      Src: /src/httpd/modules/proxy/ajp_header.c:646,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:650,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:651,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:652,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:653,1
    - Dst: ap_proxy_location_reverse_map
      Src: /src/httpd/modules/proxy/ajp_header.c:655,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/proxy/ajp_header.c:658,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/ajp_header.c:658,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:659,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/ajp_header.c:663,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/ajp_header.c:666,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/proxy/ajp_header.c:668,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/ajp_header.c:668,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:669,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/ajp_header.c:678,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/ajp_header.c:679,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/ajp_header.c:680,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 3
    argNames:
    - msg
    - r
    - dconf
    argTypes:
    - ajp_msg_t*
    - request_rec*
    - proxy_dir_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 683
    functionName: ajp_unmarshal_response
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - apr_table_add
    - ap_proxy_location_reverse_map
    - apr_table_make
    - ap_proxy_cookie_reverse_map
    - ap_cstr_casecmp
    - apr_pstrdup
    - ajp_msg_get_string
    - apr_psprintf
    - apr_table_get
    - ajp_msg_peek_uint16
    - long_res_header_for_sc
    - apr_table_do
    - ap_log_rerror
    - APLOGNO
    - apr_table_unset
    - ajp_msg_get_uint16
    - strlen
    - ap_set_content_type
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_unmarshal_response(ajp_msg_t *msg,\n                                           request_rec
      *r,\n                                           proxy_dir_conf *dconf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_create
      Src: /src/httpd/modules/proxy/ajp_header.c:697,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:699,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:699,1
    - Dst: ajp_marshal_into_msgb
      Src: /src/httpd/modules/proxy/ajp_header.c:704,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:706,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:706,1
    - Dst: ajp_ilink_send
      Src: /src/httpd/modules/proxy/ajp_header.c:711,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/ajp_header.c:712,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:714,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - sock
    - r
    - buffsize
    - uri
    - secret
    argTypes:
    - apr_socket_t*
    - request_rec*
    - apr_size_t
    - apr_uri_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 720
    functionName: ajp_send_header
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - ajp_msg_create
    - APLOGNO
    - ajp_ilink_send
    - ajp_marshal_into_msgb
    - ajp_msg_log
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_send_header(apr_socket_t *sock,\n                             request_rec
      *r,\n                             apr_size_t buffsize,\n                             apr_uri_t
      *uri,\n                             const char *secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_reuse
      Src: /src/httpd/modules/proxy/ajp_header.c:734,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:736,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:736,1
    - Dst: ajp_msg_create
      Src: /src/httpd/modules/proxy/ajp_header.c:742,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:744,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:744,1
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_header.c:749,1
    - Dst: ajp_ilink_receive
      Src: /src/httpd/modules/proxy/ajp_header.c:750,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:752,1
    - Dst: ajp_msg_log
      Src: /src/httpd/modules/proxy/ajp_header.c:756,1
    - Dst: ajp_msg_peek_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:757,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:759,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:759,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:763,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - sock
    - r
    - buffsize
    - msg
    argTypes:
    - apr_socket_t*
    - request_rec*
    - apr_size_t
    - ajp_msg_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 767
    functionName: ajp_read_header
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_type_str
    - ap_log_rerror
    - ajp_msg_reset
    - ajp_msg_create
    - ajp_msg_peek_uint8
    - APLOGNO
    - ajp_ilink_receive
    - ajp_msg_reuse
    - ajp_msg_log
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_read_header(apr_socket_t *sock,\n                             request_rec
      \ *r,\n                             apr_size_t buffsize,\n                             ajp_msg_t
      **msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_peek_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:773,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:774,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - msg
    argTypes:
    - request_rec*
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: ajp_parse_type
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_msg_peek_uint8
    - ap_log_rerror
    - ajp_type_str
    linkageType: ''
    returnType: int
    signature: int ajp_parse_type(request_rec  *r, ajp_msg_t *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:787,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:789,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:789,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:794,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:794,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:796,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:797,1
    - Dst: ajp_unmarshal_response
      Src: /src/httpd/modules/proxy/ajp_header.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - conf
    - msg
    argTypes:
    - request_rec*
    - proxy_dir_conf*
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 801
    functionName: ajp_parse_header
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_type_str
    - ap_log_rerror
    - APLOGNO
    - ajp_unmarshal_response
    - ajp_msg_get_uint8
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_parse_header(request_rec  *r, proxy_dir_conf *conf,\n
      \                             ajp_msg_t *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:811,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:813,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:813,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:818,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:818,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:820,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:821,1
    - Dst: ajp_msg_get_uint16
      Src: /src/httpd/modules/proxy/ajp_header.c:824,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:839,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:839,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:845,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - r
    - msg
    - len
    - ptr
    argTypes:
    - request_rec*
    - ajp_msg_t*
    - apr_uint16_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 852
    functionName: ajp_parse_data
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_type_str
    - ap_log_rerror
    - APLOGNO
    - ajp_msg_get_uint16
    - ajp_msg_get_uint8
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_parse_data(request_rec  *r, ajp_msg_t *msg,\n                             apr_uint16_t
      *len, char **ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_get_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:861,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:863,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/ajp_header.c:868,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_header.c:868,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:870,1
    - Dst: ajp_type_str
      Src: /src/httpd/modules/proxy/ajp_header.c:871,1
    - Dst: ajp_msg_get_uint8
      Src: /src/httpd/modules/proxy/ajp_header.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - msg
    - reuse
    argTypes:
    - request_rec*
    - ajp_msg_t*
    - apr_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 875
    functionName: ajp_parse_reuse
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_type_str
    - ajp_msg_get_uint8
    - ap_log_rerror
    - APLOGNO
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_parse_reuse(request_rec *r, ajp_msg_t *msg,\n                             apr_byte_t
      *reuse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_create
      Src: /src/httpd/modules/proxy/ajp_header.c:885,1
    - Dst: ajp_msg_reset
      Src: /src/httpd/modules/proxy/ajp_header.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pool
    - ptr
    - len
    - msg
    argTypes:
    - apr_pool_t*
    - char**
    - apr_size_t*
    - ajp_msg_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 892
    functionName: ajp_alloc_data_msg
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_msg_reset
    - ajp_msg_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_alloc_data_msg(apr_pool_t *pool, char **ptr, apr_size_t
      *len,\n                                 ajp_msg_t **msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ajp_ilink_send
      Src: /src/httpd/modules/proxy/ajp_header.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sock
    - msg
    - len
    argTypes:
    - apr_socket_t*
    - ajp_msg_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 908
    functionName: ajp_send_data_msg
    functionSourceFile: /src/httpd/modules/proxy/ajp_header.c
    functionUses: 1
    functionsReached:
    - ajp_ilink_send
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ajp_send_data_msg(apr_socket_t *sock,\n                                ajp_msg_t
      *msg, apr_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: AP_VOLATILIZE_T
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_VOLATILIZE_T(T, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: PROXY_WORKER_IS_INITIALIZED
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_INITIALIZED(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: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: PROXY_WORKER_IS_STANDBY
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_STANDBY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: PROXY_WORKER_IS_SPARE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_SPARE(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: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: PROXY_WORKER_IS_USABLE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_USABLE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: PROXY_WORKER_IS_DRAINING
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_DRAINING(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: PROXY_WORKER_IS_GENERIC
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_GENERIC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: PROXY_WORKER_IS_HCFAILED
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_HCFAILED(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: PROXY_WORKER_IS_ERROR
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS_ERROR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: PROXY_WORKER_IS
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_WORKER_IS(f, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: PROXY_STRNCPY
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_STRNCPY(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: PROXY_COPY_CONF_PARAMS
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_COPY_CONF_PARAMS(w, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: PROXY_SHOULD_PING_100_CONTINUE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_SHOULD_PING_100_CONTINUE(w, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: PROXY_DO_100_CONTINUE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DO_100_CONTINUE(w, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: PROXY_THREAD_LOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_THREAD_LOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: PROXY_THREAD_UNLOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_THREAD_UNLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: PROXY_THREAD_LOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_THREAD_LOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: PROXY_THREAD_UNLOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_THREAD_UNLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: PROXY_GLOBAL_LOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_GLOBAL_LOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: PROXY_GLOBAL_UNLOCK
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_GLOBAL_UNLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: PROXY_DECLARE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 615
    functionName: PROXY_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 618
    functionName: PROXY_DECLARE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: PROXY_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: PROXY_DECLARE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: PROXY_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: PROXY_DECLARE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: PROXY_DECLARE_NONSTD
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: ajp_msg_append_string
    functionSourceFile: /src/httpd/modules/proxy/ajp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ajp_msg_append_string(m, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: ajp_msg_append_string_ascii
    functionSourceFile: /src/httpd/modules/proxy/ajp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ajp_msg_append_string_ascii(m, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:60,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: create_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 1
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:67,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: merge_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:88,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:93,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:96,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:99,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:106,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 114
    functionName: set_allowed_ports
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - apr_array_push
    - strtol
    - apr_psprintf
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_allowed_ports(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - conf
    - port
    argTypes:
    - connect_conf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: allowed_port
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    linkageType: ''
    returnType: int
    signature: int allowed_port(connect_conf *conf, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: proxy_connect_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int proxy_connect_canon(request_rec *r, char *url)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:153,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:177,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:180,1
    - Dst: apr_uri_parse_hostinfo
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:190,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:191,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:192,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:196,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:196,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:204,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:207,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:207,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:209,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:210,1
    - Dst: ap_proxy_checkproxyblock
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:215,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:217,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:221,1
    - Dst: allowed_port
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:226,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:227,1
    - Dst: ap_proxy_connect_to_backend
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:247,1
    - Dst: ap_create_connection
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:266,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:270,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:270,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:273,1
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:276,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:283,1
    - Dst: ap_run_pre_connection
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:284,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:287,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:289,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:292,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:294,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:297,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:297,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:300,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:308,1
    - Dst: ap_fprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:310,1
    - Dst: ap_fprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:312,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:313,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:314,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:317,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:318,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:320,1
    - Dst: ap_fwrite
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:321,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:322,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:324,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:325,1
    - Dst: ap_fwrite
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:326,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:327,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:334,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:334,1
    - Dst: ap_rflush
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:335,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:338,1
    - Dst: ap_proxy_tunnel_create
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:348,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:350,1
    - Dst: ap_proxy_tunnel_run
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:356,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:357,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:360,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:360,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:376,1
    - Dst: ap_lingering_close
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:378,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 381
    functionName: proxy_connect_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_brigade_create
    - ap_proxy_tunnel_create
    - ap_get_module_config
    - ap_fflush
    - ap_is_HTTP_ERROR
    - ap_proxyerror
    - apr_pstrcat
    - apr_psprintf
    - ap_proxy_tunnel_run
    - ap_run_pre_connection
    - allowed_port
    - apr_socket_timeout_set
    - apr_socket_close
    - ap_create_connection
    - apr_brigade_cleanup
    - ap_proxy_ssl_engine
    - ap_rflush
    - apr_snprintf
    - ap_log_rerror
    - ap_fprintf
    - ap_fwrite
    - apr_socket_timeout_get
    - APLOGNO
    - apr_uri_parse_hostinfo
    - apr_table_setn
    - ap_get_server_banner
    - apr_table_set
    - ap_proxy_connect_to_backend
    - ap_proxy_checkproxyblock
    - ap_lingering_close
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: "int proxy_connect_handler(request_rec *r, proxy_worker *worker,\n
      \                                proxy_server_conf *conf,\n                                 char
      *url, const char *proxyname,\n                                 apr_port_t proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:385,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_connect.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ap_proxy_connect_register_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_connect.c
    functionUses: 0
    functionsReached:
    - proxy_hook_canon_handler
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void ap_proxy_connect_register_hook(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/proxy/proxy_util.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - dlen
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: ap_proxy_strncpy
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_strncpy(char *dst, const char *src,\n                                             apr_size_t
      dlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:125,1
    - Dst: apr_isupper
      Src: /src/httpd/modules/proxy/proxy_util.c:128,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:137,1
    - Dst: apr_isupper
      Src: /src/httpd/modules/proxy/proxy_util.c:140,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/proxy_util.c:162,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/proxy/proxy_util.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 171
    functionName: ap_proxy_hex2c
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - ap_xlate_proto_from_ascii
    - apr_isupper
    - sscanf
    linkageType: ''
    returnType: void
    signature: void ap_proxy_hex2c(const char *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/proxy_util.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ch
    - x
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 208
    functionName: ap_proxy_c2hex
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    linkageType: ''
    returnType: void
    signature: void ap_proxy_c2hex(int ch, char *x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:265,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:270,1
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:280,1
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:280,1
    - Dst: ap_proxy_hex2c
      Src: /src/httpd/modules/proxy/proxy_util.c:281,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:282,1
    - Dst: apr_isalnum
      Src: /src/httpd/modules/proxy/proxy_util.c:313,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:313,1
    - Dst: ap_proxy_c2hex
      Src: /src/httpd/modules/proxy/proxy_util.c:314,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 6
    argNames:
    - p
    - x
    - len
    - t
    - flags
    - proxyreq
    argTypes:
    - apr_pool_t*
    - char*
    - int
    - enum enctype
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 323
    functionName: ap_proxy_canonenc_ex
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached:
    - apr_palloc
    - strchr
    - apr_isxdigit
    - ap_proxy_c2hex
    - apr_isalnum
    - ap_proxy_hex2c
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_canonenc_ex(apr_pool_t *p, const char *x, int len,\n
      \                                         enum enctype t, int flags,\n                                          int
      proxyreq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p
    - x
    - len
    - t
    - forcedec
    - proxyreq
    argTypes:
    - apr_pool_t*
    - char*
    - int
    - enum enctype
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: ap_proxy_canonenc
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_proxy_canonenc_ex
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_canonenc(apr_pool_t *p, const char *x, int len,\n                                       enum
      enctype t, int forcedec,\n                                       int proxyreq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:364,1
    - Dst: strrchr
      Src: /src/httpd/modules/proxy/proxy_util.c:373,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:381,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/proxy/proxy_util.c:384,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:384,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/proxy/proxy_util.c:390,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:390,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/proxy/proxy_util.c:406,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 6
    argNames:
    - p
    - urlp
    - userp
    - passwordp
    - hostp
    - port
    argTypes:
    - apr_pool_t*
    - char**
    - char**
    - char**
    - char**
    - apr_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 420
    functionName: ap_proxy_canon_netloc
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 5
    functionsReached:
    - ap_str_tolower
    - strchr
    - ap_proxy_canonenc
    - apr_parse_addr_port
    - strrchr
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char
      **userp,\n            char **passwordp, char **hostp, apr_port_t *port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:425,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:428,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:429,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/proxy_util.c:431,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:436,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - r
    - statuscode
    - message
    - rv
    argTypes:
    - request_rec*
    - int
    - char*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: proxyerror_core
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    - ap_escape_html
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: "int proxyerror_core(request_rec *r, int statuscode, const char *message,\n
      \                          apr_status_t rv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxyerror_core
      Src: /src/httpd/modules/proxy/proxy_util.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - statuscode
    - message
    argTypes:
    - request_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: ap_proxyerror
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - proxyerror_core
    linkageType: ''
    returnType: void
    signature: void ap_proxyerror(request_rec *r, int statuscode, const char *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:458,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:462,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/proxy_util.c:464,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:467,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 5
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: proxy_get_host_of_request
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - strchr
    - APLOGNO
    - ap_proxy_canon_netloc
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *\n     proxy_get_host_of_request(request_rec *r)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:507,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/proxy_util.c:511,1
    - Dst: htonl
      Src: /src/httpd/modules/proxy/proxy_util.c:530,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:533,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/proxy_util.c:538,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:570,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/proxy/proxy_util.c:572,1
    - Dst: htonl
      Src: /src/httpd/modules/proxy/proxy_util.c:576,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:579,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:579,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/proxy/proxy_util.c:581,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:583,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:583,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/proxy/proxy_util.c:584,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - This
    - p
    argTypes:
    - struct dirconn_entry*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 594
    functionName: ap_proxy_is_ipaddr
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - APLOGNO
    - strtol
    - ap_log_error
    - inet_ntoa
    - htonl
    linkageType: ''
    returnType: void
    signature: void ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/modules/proxy/proxy_util.c:757,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/proxy_util.c:759,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - This
    - p
    argTypes:
    - struct dirconn_entry*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 772
    functionName: ap_proxy_is_hostname
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_isalnum
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: void
    signature: void ap_proxy_is_hostname(struct dirconn_entry *This, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_get_host_of_request
      Src: /src/httpd/modules/proxy/proxy_util.c:778,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:786,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:787,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - This
    - r
    argTypes:
    - struct dirconn_entry*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 775
    functionDepth: 6
    functionLinenumber: 775
    functionLinenumberEnd: 809
    functionName: proxy_match_hostname
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_get_host_of_request
    - strncasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int proxy_match_hostname(struct dirconn_entry *This, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - This
    - p
    argTypes:
    - struct dirconn_entry*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: ap_proxy_is_word
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_get_host_of_request
      Src: /src/httpd/modules/proxy/proxy_util.c:821,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - This
    - r
    argTypes:
    - struct dirconn_entry*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 819
    functionDepth: 6
    functionLinenumber: 819
    functionLinenumberEnd: 823
    functionName: proxy_match_word
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - proxy_get_host_of_request
    linkageType: ''
    returnType: int
    signature: int proxy_match_word(struct dirconn_entry *This, request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:837,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:840,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:841,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:841,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/proxy/proxy_util.c:857,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/httpd/modules/proxy/proxy_util.c:861,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:863,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/proxy_util.c:865,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:866,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:866,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - r
    - conf
    - hostname
    - addr
    argTypes:
    - request_rec*
    - proxy_server_conf*
    - char*
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 876
    functionName: ap_proxy_checkproxyblock
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_strstr_c
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - apr_sockaddr_ip_getbuf
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *conf,\n
      \                                           const char *hostname, apr_sockaddr_t
      *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/proxy/proxy_util.c:881,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/modules/proxy/proxy_util.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: ap_proxy_pre_http_request
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_add_input_filter
    linkageType: ''
    returnType: void
    signature: void ap_proxy_pre_http_request(conn_rec *c, request_rec *r)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:903,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:905,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:913,1
    - Dst: ap_proxy_valid_balancer_name
      Src: /src/httpd/modules/proxy/proxy_util.c:927,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/proxy_util.c:928,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:931,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:936,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:944,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:950,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/proxy_util.c:951,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:952,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/proxy/proxy_util.c:954,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/proxy/proxy_util.c:954,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:957,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:960,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:962,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/proxy/proxy_util.c:964,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/proxy/proxy_util.c:964,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:971,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:973,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:975,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:977,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:987,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:988,1
    - Dst: ap_is_url
      Src: /src/httpd/modules/proxy/proxy_util.c:989,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/proxy/proxy_util.c:989,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 3
    argNames:
    - r
    - conf
    - url
    argTypes:
    - request_rec*
    - proxy_dir_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 995
    functionName: ap_proxy_location_reverse_map
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached:
    - ap_strstr_c
    - ap_is_url
    - apr_pstrcat
    - ap_proxy_get_balancer
    - apr_pstrdup
    - ap_construct_url
    - ap_proxy_valid_balancer_name
    - ap_strchr_c
    - ap_get_module_config
    - strlen
    - strncmp
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_location_reverse_map(request_rec *r,\n                              proxy_dir_conf
      *conf, const char *url)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:1007,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1010,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:1031,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/proxy_util.c:1032,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/proxy_util.c:1034,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/proxy_util.c:1038,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1041,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1056,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1057,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1059,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/proxy_util.c:1064,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1067,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1082,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1083,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1085,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1096,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1097,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1099,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1101,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1102,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1103,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1104,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1105,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1108,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1109,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1110,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1111,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1112,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1116,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1117,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1118,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1122,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1123,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1124,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1125,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1126,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 3
    argNames:
    - r
    - conf
    - str
    argTypes:
    - request_rec*
    - proxy_dir_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1133
    functionName: ap_proxy_cookie_reverse_map
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_strtok
    - apr_isspace
    - apr_palloc
    - strlen
    - ap_get_module_config
    - strcpy
    - apr_pstrdup
    - ap_cstr_casecmpn
    - strncmp
    - strncasecmp
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_cookie_reverse_map(request_rec *r,\n                              proxy_dir_conf
      *conf, const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/proxy_util.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - i
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: ap_proxy_valid_balancer_name
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_cstr_casecmpn
    linkageType: ''
    returnType: void
    signature: void ap_proxy_valid_balancer_name(char *name, int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:1156,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:1160,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:1165,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:1168,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:1169,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:1170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - p
    - conf
    - url
    - care
    argTypes:
    - apr_pool_t*
    - proxy_server_conf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1181
    functionName: ap_proxy_get_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached:
    - ap_proxy_hashfunc
    - apr_pstrdup
    - ap_str_tolower
    - strchr
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_get_balancer(apr_pool_t *p,\n                                                      proxy_server_conf
      *conf,\n                                                      const char *url,\n
      \                                                     int care)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/proxy_util.c:1192,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1193,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1195,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1196,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1199,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - p
    - balancer
    - url
    argTypes:
    - apr_pool_t*
    - proxy_balancer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1204
    functionName: ap_proxy_update_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - PROXY_STRNCPY
    - apr_psprintf
    - apr_uri_parse
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_update_balancer(apr_pool_t *p,\n                                                proxy_balancer
      *balancer,\n                                                const char *url)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:1217,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:1222,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1224,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:1226,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:1229,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/proxy_util.c:1230,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/proxy_util.c:1231,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/proxy_util.c:1237,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/proxy_util.c:1240,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1247,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1249,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/proxy_util.c:1251,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1254,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1255,1
    - Dst: free
      Src: /src/httpd/modules/proxy/proxy_util.c:1256,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1257,1
    - Dst: ap_pstr2_alnum
      Src: /src/httpd/modules/proxy/proxy_util.c:1265,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:1267,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1268,1
    - Dst: free
      Src: /src/httpd/modules/proxy/proxy_util.c:1269,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:1270,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:1272,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:1273,1
    - Dst: ap_proxy_update_balancer
      Src: /src/httpd/modules/proxy/proxy_util.c:1283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 6
    argNames:
    - p
    - balancer
    - conf
    - url
    - alias
    - do_malloc
    argTypes:
    - apr_pool_t*
    - proxy_balancer**
    - proxy_server_conf*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1284
    functionName: ap_proxy_define_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_proxy_update_balancer
    - ap_str_tolower
    - memset
    - strchr
    - apr_palloc
    - apr_pstrcat
    - ap_lookup_provider
    - apr_array_push
    - ap_malloc
    - free
    - ap_proxy_hashfunc
    - apr_psprintf
    - apr_pstrdup
    - PROXY_STRNCPY
    - apr_array_make
    - ap_pstr2_alnum
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_define_balancer(apr_pool_t *p,\n                                               proxy_balancer
      **balancer,\n                                               proxy_server_conf
      *conf,\n                                               const char *url,\n                                               const
      char *alias,\n                                               int do_malloc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:1301,1
    - Dst: free
      Src: /src/httpd/modules/proxy/proxy_util.c:1303,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1309,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/proxy_util.c:1313,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1318,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1318,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/modules/proxy/proxy_util.c:1329,1
    - Dst: apr_uuid_format
      Src: /src/httpd/modules/proxy/proxy_util.c:1330,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:1331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - balancer
    - shm
    - i
    argTypes:
    - proxy_balancer*
    - proxy_balancer_shared*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1334
    functionName: ap_proxy_share_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - PROXY_STRNCPY
    - ap_lookup_provider
    - APLOGNO
    - ap_random_insecure_bytes
    - ap_log_error
    - apr_uuid_format
    - free
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_share_balancer(proxy_balancer *balancer,\n                                                    proxy_balancer_shared
      *shm,\n                                                    int i)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1346,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1346,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1355,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1355,1
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/proxy/proxy_util.c:1361,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/proxy/proxy_util.c:1362,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1365,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1365,1
    - Dst: ap_slotmem_provider_t*::attach
      Src: /src/httpd/modules/proxy/proxy_util.c:1372,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1374,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1374,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1380,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1382,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - balancer
    - s
    - p
    argTypes:
    - proxy_balancer*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1389
    functionName: ap_proxy_initialize_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - ap_slotmem_provider_t*::attach
    - apr_global_mutex_lockfile
    - ap_log_error
    - apr_thread_mutex_create
    linkageType: ''
    returnType: void
    signature: void ap_proxy_initialize_balancer(proxy_balancer *balancer, server_rec
      *s, apr_pool_t *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1406,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1406,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1410,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/proxy_util.c:1411,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/proxy_util.c:1413,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/proxy_util.c:1414,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:1422,1
    - Dst: apr_array_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:1423,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/proxy_util.c:1426,1
    - Dst: PROXY_WORKER_IS_DRAINING
      Src: /src/httpd/modules/proxy/proxy_util.c:1439,1
    - Dst: PROXY_WORKER_IS_SPARE
      Src: /src/httpd/modules/proxy/proxy_util.c:1440,1
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/proxy_util.c:1440,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:1451,1
    - Dst: ap_proxy_retry_worker
      Src: /src/httpd/modules/proxy/proxy_util.c:1452,1
    - Dst: PROXY_WORKER_IS_SPARE
      Src: /src/httpd/modules/proxy/proxy_util.c:1455,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:1456,1
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/proxy_util.c:1460,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:1461,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:1465,1
    - Dst: is_best
      Src: /src/httpd/modules/proxy/proxy_util.c:1466,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/proxy_util.c:1477,1
    - Dst: is_best
      Src: /src/httpd/modules/proxy/proxy_util.c:1479,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/proxy_util.c:1487,1
    - Dst: is_best
      Src: /src/httpd/modules/proxy/proxy_util.c:1489,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:1496,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1499,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1499,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 4
    argNames:
    - balancer
    - r
    - is_best
    - baton
    argTypes:
    - proxy_balancer*
    - request_rec*
    - proxy_is_best_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1505
    functionName: proxy_balancer_get_best_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - PROXY_WORKER_IS_DRAINING
    - APLOGNO
    - apr_array_clear
    - apr_pool_tag
    - PROXY_WORKER_IS_STANDBY
    - apr_pool_create
    - is_best
    - ap_log_error
    - PROXY_WORKER_IS_USABLE
    - ap_proxy_retry_worker
    - apr_pool_destroy
    - PROXY_WORKER_IS_SPARE
    - apr_array_make
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *proxy_balancer_get_best_worker(proxy_balancer *balancer,\n
      \                                                   request_rec *r,\n                                                    proxy_is_best_callback_fn_t
      *is_best,\n                                                    void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_balancer_get_best_worker
      Src: /src/httpd/modules/proxy/proxy_util.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - balancer
    - r
    - is_best
    - baton
    argTypes:
    - proxy_balancer*
    - request_rec*
    - proxy_is_best_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1513
    functionName: ap_proxy_balancer_get_best_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_balancer_get_best_worker
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_balancer_get_best_worker(proxy_balancer *balancer,\n
      \                                                               request_rec
      *r,\n                                                                proxy_is_best_callback_fn_t
      *is_best,\n                                                                void
      *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1527
    functionName: socket_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_clear
    linkageType: ''
    returnType: void
    signature: void socket_cleanup(proxy_conn_rec *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:1531,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1540
    functionName: conn_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_clear
    - socket_cleanup
    linkageType: ''
    returnType: void
    signature: void conn_cleanup(proxy_conn_rec *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - theworker
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1547
    functionName: conn_pool_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t conn_pool_cleanup(void *theworker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_allocator_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1557,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1559,1
    - Dst: apr_allocator_mutex_set
      Src: /src/httpd/modules/proxy/proxy_util.c:1561,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/modules/proxy/proxy_util.c:1562,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:1563,1
    - Dst: apr_allocator_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:1566,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:1570,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1570,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/modules/proxy/proxy_util.c:1572,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/modules/proxy/proxy_util.c:1575,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/proxy_util.c:1576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - p
    - tag
    - s
    argTypes:
    - apr_pool_t*
    - char*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1579
    functionName: make_conn_subpool
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_allocator_mutex_set
    - ap_abort_on_oom
    - apr_allocator_owner_set
    - APLOGNO
    - apr_pool_tag
    - apr_allocator_create
    - apr_allocator_max_free_set
    - apr_pool_create_ex
    - ap_log_error
    - apr_thread_mutex_create
    - apr_allocator_destroy
    linkageType: ''
    returnType: apr_pool_t
    signature: "apr_pool_t *make_conn_subpool(apr_pool_t *p, const char *tag,\n                                     server_rec
      *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1589,1
    - Dst: make_conn_subpool
      Src: /src/httpd/modules/proxy/proxy_util.c:1609,1
    - Dst: make_conn_subpool
      Src: /src/httpd/modules/proxy/proxy_util.c:1610,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/proxy/proxy_util.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - worker
    - s
    argTypes:
    - apr_pool_t*
    - proxy_worker*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1581
    functionDepth: 2
    functionLinenumber: 1581
    functionLinenumberEnd: 1617
    functionName: init_conn_pool
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_pre_cleanup_register
    - apr_pcalloc
    - make_conn_subpool
    linkageType: ''
    returnType: void
    signature: void init_conn_pool(apr_pool_t *p, proxy_worker *worker, server_rec
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1624
    functionName: ap_proxy_connection_reusable
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_proxy_connection_reusable(proxy_conn_rec *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:1630,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1645,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/proxy_util.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - worker
    argTypes:
    - apr_pool_t*
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1649
    functionName: connection_make
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_tag
    - apr_pcalloc
    - apr_pool_create
    linkageType: ''
    returnType: proxy_conn_rec
    signature: proxy_conn_rec *connection_make(apr_pool_t *p, proxy_worker *worker)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/httpd/modules/proxy/proxy_util.c:1658,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:1658,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:1661,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:1666,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:1673,1
    - Dst: connection_make
      Src: /src/httpd/modules/proxy/proxy_util.c:1674,1
    - Dst: ap_proxy_connection_reusable
      Src: /src/httpd/modules/proxy/proxy_util.c:1679,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:1680,1
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/proxy_util.c:1688,1
    - Dst: apr_reslist_release
      Src: /src/httpd/modules/proxy/proxy_util.c:1693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - theconn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1698
    functionName: connection_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - apr_reslist_release
    - apr_pool_clear
    - connection_make
    - ap_proxy_worker_get_name
    - apr_pool_destroy
    - ap_proxy_connection_reusable
    - ap_proxy_ssl_engine
    - socket_cleanup
    linkageType: ''
    returnType: void
    signature: void connection_cleanup(void *theconn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:1715,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:1718,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:1721,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:1722,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:1725,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:1727,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:1728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - r
    argTypes:
    - proxy_conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1732
    functionName: ap_proxy_ssl_connection_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_log_rerror
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_EMPTY
    - socket_cleanup
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_ssl_connection_cleanup(proxy_conn_rec *conn,\n                                                            request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:1747,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/proxy_util.c:1748,1
    - Dst: connection_make
      Src: /src/httpd/modules/proxy/proxy_util.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - resource
    - params
    - pool
    argTypes:
    - void**
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1754
    functionName: connection_constructor
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - connection_make
    - apr_pool_tag
    - apr_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t connection_constructor(void **resource, void *params,\n
      \                                          apr_pool_t *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - resource
    - params
    - pool
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: connection_destructor
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t connection_destructor(void *resource, void *params,\n
      \                                         apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - worker
    argTypes:
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: ap_proxy_worker_get_name
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_proxy_worker_get_name(const proxy_worker *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused
    - worker
    argTypes:
    - apr_pool_t*
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1786
    functionName: ap_proxy_worker_name
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_proxy_worker_get_name
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_worker_name(apr_pool_t *unused,\n                                           proxy_worker
      *worker)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1796,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1797,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/proxy/proxy_util.c:1798,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - p
    - worker
    - upgrade
    - dflt
    argTypes:
    - apr_pool_t*
    - proxy_worker*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1803
    functionName: ap_proxy_worker_can_upgrade
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_find_token
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_worker_can_upgrade(apr_pool_t *p,\n                                               const
      proxy_worker *worker,\n                                               const
      char *upgrade,\n                                               const char *dflt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:1818,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/proxy_util.c:1821,1
    - Dst: ap_proxy_strcmp_ematch
      Src: /src/httpd/modules/proxy/proxy_util.c:1826,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1843
    functionName: ap_proxy_strcmp_ematch
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_isdigit
    - ap_proxy_strcmp_ematch
    linkageType: ''
    returnType: int
    signature: int ap_proxy_strcmp_ematch(const char *str, const char *expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1850,1
    - Dst: ap_proxy_strcmp_ematch
      Src: /src/httpd/modules/proxy/proxy_util.c:1861,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/proxy_util.c:1864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 6
    argNames:
    - worker
    - url
    - url_len
    - min_match
    - max_match
    - mask
    argTypes:
    - proxy_worker*
    - char*
    - apr_size_t
    - apr_size_t
    - apr_size_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1869
    functionName: worker_matches
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - ap_proxy_strcmp_ematch
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int worker_matches(proxy_worker *worker,\n                          const
      char *url, apr_size_t url_len,\n                          apr_size_t min_match,
      apr_size_t *max_match,\n                          unsigned int mask)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_de_socketfy
      Src: /src/httpd/modules/proxy/proxy_util.c:1889,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:1895,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1900,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:1901,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:1914,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:1919,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1920,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:1924,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:1925,1
    - Dst: worker_matches
      Src: /src/httpd/modules/proxy/proxy_util.c:1937,1
    - Dst: worker_matches
      Src: /src/httpd/modules/proxy/proxy_util.c:1946,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - p
    - balancer
    - conf
    - url
    - mask
    argTypes:
    - apr_pool_t*
    - proxy_balancer*
    - proxy_server_conf*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1871
    functionDepth: 3
    functionLinenumber: 1871
    functionLinenumberEnd: 1954
    functionName: ap_proxy_get_worker_ex
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - worker_matches
    - apr_pstrmemdup
    - strlen
    - ap_strchr_c
    - ap_proxy_de_socketfy
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_get_worker_ex(apr_pool_t *p,\n                                                     proxy_balancer
      *balancer,\n                                                     proxy_server_conf
      *conf,\n                                                     const char *url,\n
      \                                                    unsigned int mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_get_worker_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - balancer
    - conf
    - url
    argTypes:
    - apr_pool_t*
    - proxy_balancer*
    - proxy_server_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1956
    functionDepth: 4
    functionLinenumber: 1956
    functionLinenumberEnd: 1962
    functionName: ap_proxy_get_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 3
    functionsReached:
    - ap_proxy_get_worker_ex
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_get_worker(apr_pool_t *p,\n                                                  proxy_balancer
      *balancer,\n                                                  proxy_server_conf
      *conf,\n                                                  const char *url)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/proxy_util.c:1990,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:1991,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/proxy_util.c:1992,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:1992,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/proxy/proxy_util.c:1994,1
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:2019,1
    - Dst: IS_REF
      Src: /src/httpd/modules/proxy/proxy_util.c:2030,1
    - Dst: IS_REF
      Src: /src/httpd/modules/proxy/proxy_util.c:2033,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2039,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:2043,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/modules/proxy/proxy_util.c:2044,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/proxy_util.c:2053,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2055,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2058,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2066,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:2070,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/proxy_util.c:2072,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/proxy_util.c:2073,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2079,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/proxy_util.c:2081,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/proxy_util.c:2095,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:2096,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:2099,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/proxy_util.c:2101,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:2104,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/proxy_util.c:2106,1
    - Dst: ap_malloc
      Src: /src/httpd/modules/proxy/proxy_util.c:2112,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:2114,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/proxy_util.c:2115,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:2117,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2118,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2118,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:2121,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2122,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2122,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:2125,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:2126,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:2128,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2129,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2129,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:2134,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:2135,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2137,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/proxy_util.c:2148,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:2150,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/proxy_util.c:2151,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:2174,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 129
    argCount: 6
    argNames:
    - p
    - worker
    - balancer
    - conf
    - url
    - mask
    argTypes:
    - apr_pool_t*
    - proxy_worker**
    - proxy_balancer*
    - proxy_server_conf*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 2189
    functionName: ap_proxy_define_worker_ex
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - apr_uri_unparse
    - apr_time_now
    - ap_str_tolower
    - apr_array_push
    - apr_pstrmemdup
    - apr_pstrcatv
    - ap_malloc
    - PROXY_STRNCPY
    - apr_pstrcat
    - ap_proxy_hashfunc
    - apr_psprintf
    - ap_strchr_c
    - ap_cstr_casecmpn
    - ap_proxy_port_of_scheme
    - apr_time_from_sec
    - apr_uri_parse
    - ap_log_error
    - IS_REF
    - apr_palloc
    - memset
    - APLOGNO
    - ap_runtime_dir_relative
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_define_worker_ex(apr_pool_t *p,\n                                             proxy_worker
      **worker,\n                                             proxy_balancer *balancer,\n
      \                                            proxy_server_conf *conf,\n                                             const
      char *url,\n                                             unsigned int mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2019
    functionName: IS_REF
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_REF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_define_worker_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p
    - worker
    - balancer
    - conf
    - url
    - do_malloc
    argTypes:
    - apr_pool_t*
    - proxy_worker**
    - proxy_balancer*
    - proxy_server_conf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2191
    functionDepth: 2
    functionLinenumber: 2191
    functionLinenumberEnd: 2202
    functionName: ap_proxy_define_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached:
    - ap_proxy_define_worker_ex
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_define_worker(apr_pool_t *p,\n                                             proxy_worker
      **worker,\n                                             proxy_balancer *balancer,\n
      \                                            proxy_server_conf *conf,\n                                             const
      char *url,\n                                             int do_malloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_define_worker_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p
    - worker
    - balancer
    - conf
    - url
    - do_malloc
    argTypes:
    - apr_pool_t*
    - proxy_worker**
    - proxy_balancer*
    - proxy_server_conf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2205
    functionDepth: 2
    functionLinenumber: 2205
    functionLinenumberEnd: 2216
    functionName: ap_proxy_define_match_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_proxy_define_worker_ex
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_define_match_worker(apr_pool_t *p,\n                                             proxy_worker
      **worker,\n                                             proxy_balancer *balancer,\n
      \                                            proxy_server_conf *conf,\n                                             const
      char *url,\n                                             int do_malloc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:2230,1
    - Dst: free
      Src: /src/httpd/modules/proxy/proxy_util.c:2232,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/proxy/proxy_util.c:2239,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:2241,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/proxy_util.c:2242,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2243,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2243,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2245,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:2247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - worker
    - shm
    - i
    argTypes:
    - proxy_worker*
    - proxy_worker_shared*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2251
    functionName: ap_proxy_share_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached:
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_proxy_worker_get_name
    - ap_log_error
    - apr_pool_destroy
    - free
    - APLOGdebug
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_share_worker(proxy_worker *worker, proxy_worker_shared
      *shm,\n                                                  int i)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/modules/proxy/proxy_util.c:2255,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2261,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2261,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2263,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2266,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2266,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2268,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/proxy_util.c:2271,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2285,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2285,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2287,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/proxy/proxy_util.c:2296,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/proxy_util.c:2297,1
    - Dst: get_h2_num_workers
      Src: /src/httpd/modules/proxy/proxy_util.c:2299,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2329,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2329,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2331,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/proxy/proxy_util.c:2334,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2337,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:2339,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/modules/proxy/proxy_util.c:2343,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2345,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2345,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/proxy/proxy_util.c:2347,1
    - Dst: init_conn_pool
      Src: /src/httpd/modules/proxy/proxy_util.c:2353,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2355,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2355,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/proxy/proxy_util.c:2357,1
    - Dst: apr_reslist_create
      Src: /src/httpd/modules/proxy/proxy_util.c:2362,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2368,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2368,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/proxy_util.c:2370,1
    - Dst: apr_reslist_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:2375,1
    - Dst: connection_constructor
      Src: /src/httpd/modules/proxy/proxy_util.c:2382,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2385,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2385,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/proxy_util.c:2387,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/proxy/proxy_util.c:2394,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - worker
    - s
    - p
    argTypes:
    - proxy_worker*
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2253
    functionDepth: 3
    functionLinenumber: 2253
    functionLinenumberEnd: 2401
    functionName: ap_proxy_initialize_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached:
    - init_conn_pool
    - apr_time_from_sec
    - ap_mpm_query
    - get_h2_num_workers
    - getpid
    - APLOGNO
    - apr_reslist_timeout_set
    - connection_constructor
    - ap_proxy_worker_get_name
    - ap_log_error
    - apr_global_mutex_unlock
    - apr_reslist_create
    - apr_global_mutex_lock
    - APR_OPTIONAL_FN_TYPE
    - apr_thread_mutex_create
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ap_proxy_initialize_worker(proxy_worker *worker, server_rec *s,
      apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_WORKER_IS
      Src: /src/httpd/modules/proxy/proxy_util.c:2407,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2408,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2408,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:2415,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2418,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2418,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - proxy_function
    - worker
    - s
    argTypes:
    - char*
    - proxy_worker*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2435
    functionName: ap_proxy_retry_worker
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - APLOGNO
    - ap_log_error
    - PROXY_WORKER_IS
    linkageType: ''
    returnType: int
    signature: "int ap_proxy_retry_worker(const char *proxy_function, proxy_worker
      *worker,\n        server_rec *s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/proxy_util.c:2446,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/proxy_util.c:2447,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:2448,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/proxy_util.c:2454,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/proxy/proxy_util.c:2459,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:2461,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2462,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:2464,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:2467,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2469,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2481,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2499,1
    - Dst: memmove
      Src: /src/httpd/modules/proxy/proxy_util.c:2507,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:2507,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:2512,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2442
    functionDepth: 1
    functionLinenumber: 2442
    functionLinenumberEnd: 2514
    functionName: fixup_uds_filename
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - apr_pstrcat
    - apr_uri_parse
    - APLOGNO
    - apr_table_setn
    - apr_table_unset
    - ap_runtime_dir_relative
    - memmove
    - strlen
    - ap_cstr_casecmpn
    - strncmp
    linkageType: ''
    returnType: int
    signature: int fixup_uds_filename(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixup_uds_filename
      Src: /src/httpd/modules/proxy/proxy_util.c:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2517
    functionDepth: 2
    functionLinenumber: 2517
    functionLinenumberEnd: 2520
    functionName: ap_proxy_fixup_uds_filename
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - fixup_uds_filename
    linkageType: ''
    returnType: void
    signature: void ap_proxy_fixup_uds_filename(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_strstr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:2537,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:2541,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2546,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:2547,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2548,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2551,1
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/proxy_util.c:2552,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2555,1
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/proxy_util.c:2556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r
    - str
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2558
    functionName: ap_proxy_interpolate
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_strstr_c
    - apr_pstrcat
    - apr_pstrmemdup
    - apr_table_get
    - ap_proxy_interpolate
    - ap_strchr_c
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_interpolate(request_rec *r,\n                                                 const
      char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/proxy_util.c:2563,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/proxy_util.c:2568,1
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/proxy_util.c:2570,1
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/proxy_util.c:2572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - hdr
    argTypes:
    - request_rec*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2560
    functionDepth: 2
    functionLinenumber: 2560
    functionLinenumberEnd: 2575
    functionName: proxy_vars
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_proxy_interpolate
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: apr_array_header_t *proxy_vars(request_rec *r, apr_array_header_t *hdr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:2581,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/proxy_util.c:2584,1
    - Dst: fixup_uds_filename
      Src: /src/httpd/modules/proxy/proxy_util.c:2589,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/proxy_util.c:2590,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2596,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:2602,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:2603,1
    - Dst: proxy_vars
      Src: /src/httpd/modules/proxy/proxy_util.c:2604,1
    - Dst: proxy_vars
      Src: /src/httpd/modules/proxy/proxy_util.c:2605,1
    - Dst: proxy_vars
      Src: /src/httpd/modules/proxy/proxy_util.c:2606,1
    - Dst: proxy_run_canon_handler
      Src: /src/httpd/modules/proxy/proxy_util.c:2610,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/proxy_util.c:2614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2577
    functionDepth: 3
    functionLinenumber: 2577
    functionLinenumberEnd: 2619
    functionName: ap_proxy_canon_url
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_is_HTTP_ERROR
    - fixup_uds_filename
    - proxy_vars
    - apr_palloc
    - strchr
    - ap_set_module_config
    - proxy_run_canon_handler
    - ap_get_module_config
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ap_proxy_canon_url(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proxy_run_pre_request
      Src: /src/httpd/modules/proxy/proxy_util.c:2628,1
    - Dst: ap_proxy_get_worker_ex
      Src: /src/httpd/modules/proxy/proxy_util.c:2631,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2634,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2641,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:2650,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2655,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:2665,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2671,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - worker
    - balancer
    - r
    - conf
    - url
    argTypes:
    - proxy_worker**
    - proxy_balancer**
    - request_rec*
    - proxy_server_conf*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2621
    functionDepth: 4
    functionLinenumber: 2621
    functionLinenumberEnd: 2677
    functionName: ap_proxy_pre_request
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_table_setn
    - proxy_run_pre_request
    - ap_proxy_get_worker_ex
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_pre_request(proxy_worker **worker,\n                                        proxy_balancer
      **balancer,\n                                        request_rec *r,\n                                        proxy_server_conf
      *conf, char **url)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_run_post_request
      Src: /src/httpd/modules/proxy/proxy_util.c:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - worker
    - balancer
    - r
    - conf
    argTypes:
    - proxy_worker*
    - proxy_balancer*
    - request_rec*
    - proxy_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2694
    functionName: ap_proxy_post_request
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_run_post_request
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_post_request(proxy_worker *worker,\n                                         proxy_balancer
      *balancer,\n                                         request_rec *r,\n                                         proxy_server_conf
      *conf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/proxy_util.c:2709,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2712,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2712,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:2725,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2727,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2727,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:2732,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2734,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2734,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:2741,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:2744,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2747,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2756,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/proxy/proxy_util.c:2759,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2761,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2761,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/proxy/proxy_util.c:2768,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/proxy_util.c:2772,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2774,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - newsock
    - proxy_function
    - backend_addr
    - backend_name
    - conf
    - r
    argTypes:
    - apr_socket_t**
    - char*
    - apr_sockaddr_t*
    - char*
    - proxy_server_conf*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2783
    functionName: ap_proxy_connect_to_backend
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_socket_opt_set
    - apr_socket_create
    - ap_log_rerror
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_socket_connect
    - apr_socket_bind
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_connect_to_backend(apr_socket_t **newsock,\n                                               const
      char *proxy_function,\n                                               apr_sockaddr_t
      *backend_addr,\n                                               const char *backend_name,\n
      \                                              proxy_server_conf *conf,\n                                               request_rec
      *r)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:2792,1
    - Dst: ap_proxy_retry_worker
      Src: /src/httpd/modules/proxy/proxy_util.c:2794,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:2796,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2797,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2797,1
    - Dst: apr_reslist_acquire
      Src: /src/httpd/modules/proxy/proxy_util.c:2806,1
    - Dst: connection_constructor
      Src: /src/httpd/modules/proxy/proxy_util.c:2811,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2821,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2821,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2827,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - proxy_function
    - conn
    - worker
    - s
    argTypes:
    - char*
    - proxy_conn_rec**
    - proxy_worker*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2785
    functionDepth: 2
    functionLinenumber: 2785
    functionLinenumberEnd: 2836
    functionName: ap_proxy_acquire_connection
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 5
    functionsReached:
    - APLOGNO
    - apr_reslist_acquire
    - ap_log_error
    - PROXY_WORKER_IS_USABLE
    - ap_proxy_retry_worker
    - connection_constructor
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_acquire_connection(const char *proxy_function,\n                                               proxy_conn_rec
      **conn,\n                                               proxy_worker *worker,\n
      \                                              server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2842,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2842,1
    - Dst: connection_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:2846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - proxy_function
    - conn
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2838
    functionDepth: 2
    functionLinenumber: 2838
    functionLinenumberEnd: 2849
    functionName: ap_proxy_release_connection
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 6
    functionsReached:
    - APLOGNO
    - connection_cleanup
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_release_connection(const char *proxy_function,\n                                               proxy_conn_rec
      *conn,\n                                               server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_inc32
      Src: /src/httpd/modules/proxy/proxy_util.c:2853,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/proxy_util.c:2854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - proxy_address*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 1
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: proxy_address_inc
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - apr_atomic_inc32
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE proxy_address_inc(proxy_address *address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_add32
      Src: /src/httpd/modules/proxy/proxy_util.c:2860,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/proxy_util.c:2861,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:2863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - proxy_address*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2857
    functionDepth: 1
    functionLinenumber: 2857
    functionLinenumberEnd: 2865
    functionName: proxy_address_dec
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_atomic_add32
    - ap_assert
    - apr_pool_destroy
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE proxy_address_dec(proxy_address *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_address_dec
      Src: /src/httpd/modules/proxy/proxy_util.c:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2867
    functionDepth: 2
    functionLinenumber: 2867
    functionLinenumberEnd: 2871
    functionName: proxy_address_cleanup
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_address_dec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t proxy_address_cleanup(void *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2877
    functionName: proxy_address *worker_address_get(proxy_worker *worker)
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_atomic_casptr
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE proxy_address *worker_address_get(proxy_worker *worker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_xchgptr
      Src: /src/httpd/modules/proxy/proxy_util.c:2883,1
    - Dst: proxy_address_dec
      Src: /src/httpd/modules/proxy/proxy_util.c:2885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - worker
    - to
    argTypes:
    - proxy_worker*
    - proxy_address*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2880
    functionDepth: 2
    functionLinenumber: 2880
    functionLinenumberEnd: 2887
    functionName: worker_address_set
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_address_dec
    - apr_atomic_xchgptr
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE worker_address_set(proxy_worker *worker,\n                                          proxy_address
      *to)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:2899,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/proxy_util.c:2900,1
    - Dst: proxyerror_core
      Src: /src/httpd/modules/proxy/proxy_util.c:2904,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2905,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2911,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2911,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2916,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2916,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:2920,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/proxy/proxy_util.c:2924,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/proxy/proxy_util.c:2924,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:2928,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:2934,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2934,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:2939,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:2939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - worker
    - paddr
    - hostname
    - hostport
    - proxy_function
    - r
    - s
    argTypes:
    - proxy_worker*
    - apr_sockaddr_t**
    - char*
    - apr_port_t
    - char*
    - request_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2889
    functionDepth: 2
    functionLinenumber: 2889
    functionLinenumberEnd: 2946
    functionName: worker_address_resolve
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - APLOGrdebug
    - apr_pool_create
    - ap_log_error
    - apr_psprintf
    - apr_pool_destroy
    - proxyerror_core
    - APLOGdebug
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t worker_address_resolve(proxy_worker *worker,\n                                           apr_sockaddr_t
      **paddr,\n                                           const char *hostname,\n
      \                                          apr_port_t hostport,\n                                           const
      char *proxy_function,\n                                           request_rec
      *r, server_rec *s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/modules/proxy/proxy_util.c:2954,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - apr_sockaddr_t*
    - apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 2968
    functionName: proxy_addrs_equal
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: "int proxy_addrs_equal(const apr_sockaddr_t *addr1,\n                             const
      apr_sockaddr_t *addr2)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:2991,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/proxy_util.c:2994,1
    - Dst: proxyerror_core
      Src: /src/httpd/modules/proxy/proxy_util.c:2998,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:2999,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3003,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3003,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3008,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3008,1
    - Dst: worker_address_resolve
      Src: /src/httpd/modules/proxy/proxy_util.c:3030,1
    - Dst: proxy_addrs_equal
      Src: /src/httpd/modules/proxy/proxy_util.c:3036,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/proxy_util.c:3037,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:3042,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/proxy_util.c:3045,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:3045,1
    - Dst: worker_address_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3064,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:3068,1
    - Dst: PROXY_THREAD_LOCK
      Src: /src/httpd/modules/proxy/proxy_util.c:3069,1
    - Dst: worker_address_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3073,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:3075,1
    - Dst: worker_address_resolve
      Src: /src/httpd/modules/proxy/proxy_util.c:3077,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/proxy_util.c:3081,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/proxy_util.c:3088,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:3088,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:3091,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3092,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:3102,1
    - Dst: apr_atomic_cas32
      Src: /src/httpd/modules/proxy/proxy_util.c:3106,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/proxy/proxy_util.c:3123,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/proxy/proxy_util.c:3135,1
    - Dst: worker_address_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3144,1
    - Dst: proxy_address_inc
      Src: /src/httpd/modules/proxy/proxy_util.c:3150,1
    - Dst: PROXY_THREAD_UNLOCK
      Src: /src/httpd/modules/proxy/proxy_util.c:3152,1
    - Dst: proxy_addrs_equal
      Src: /src/httpd/modules/proxy/proxy_util.c:3171,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3176,1
    - Dst: APLOGrdebug
      Src: /src/httpd/modules/proxy/proxy_util.c:3187,1
    - Dst: APLOGdebug
      Src: /src/httpd/modules/proxy/proxy_util.c:3187,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3190,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3191,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3193,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3193,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3199,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3199,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/modules/proxy/proxy_util.c:3206,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/proxy/proxy_util.c:3208,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/modules/proxy/proxy_util.c:3213,1
    - Dst: conn_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3216,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/modules/proxy/proxy_util.c:3222,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 7
    argNames:
    - proxy_function
    - conn
    - hostname
    - hostport
    - flags
    - r
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - char*
    - apr_port_t
    - unsigned int
    - request_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 2970
    functionDepth: 3
    functionLinenumber: 2970
    functionLinenumberEnd: 3233
    functionName: ap_proxy_determine_address
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - proxy_addrs_equal
    - apr_time_now
    - apr_atomic_read32
    - apr_pstrcat
    - apr_pool_cleanup_kill
    - worker_address_set
    - proxyerror_core
    - apr_time_sec
    - apr_pool_cleanup_run
    - PROXY_THREAD_UNLOCK
    - apr_socket_addr_get
    - APLOGrdebug
    - apr_atomic_cas32
    - ap_log_error
    - apr_pool_destroy
    - PROXY_THREAD_LOCK
    - APLOGdebug
    - ap_log_rerror
    - worker_address_resolve
    - apr_pcalloc
    - apr_atomic_set32
    - APLOGNO
    - AP_DEBUG_ASSERT
    - conn_cleanup
    - proxy_address_inc
    - apr_pstrdup
    - worker_address_get
    - apr_pool_cleanup_register
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_determine_address(const char *proxy_function,\n                                                       proxy_conn_rec
      *conn,\n                                                       const char *hostname,\n
      \                                                      apr_port_t hostport,\n
      \                                                      unsigned int flags,\n
      \                                                      request_rec *r,\n                                                       server_rec
      *s)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/proxy_util.c:3255,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3256,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:3257,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3262,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:3263,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/proxy_util.c:3268,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3271,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3271,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3276,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:3290,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3307,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/proxy_util.c:3309,1
    - Dst: conn_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3312,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:3314,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3323,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3328,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3331,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3332,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3337,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3364,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3367,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3368,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:3379,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/proxy_util.c:3382,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/proxy_util.c:3386,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:3389,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:3393,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3394,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3397,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:3408,1
    - Dst: conn_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3409,1
    - Dst: ap_proxy_determine_address
      Src: /src/httpd/modules/proxy/proxy_util.c:3414,1
    - Dst: ap_get_server_port
      Src: /src/httpd/modules/proxy/proxy_util.c:3421,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:3422,1
    - Dst: ap_is_default_port
      Src: /src/httpd/modules/proxy/proxy_util.c:3423,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:3427,1
    - Dst: ap_proxy_checkproxyblock
      Src: /src/httpd/modules/proxy/proxy_util.c:3432,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3434,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:3450,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:3465,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3468,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3471,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:3474,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3474,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 11
    argNames:
    - p
    - r
    - conf
    - worker
    - conn
    - uri
    - url
    - proxyname
    - proxyport
    - server_portstr
    - server_portstr_size
    argTypes:
    - apr_pool_t*
    - request_rec*
    - proxy_server_conf*
    - proxy_worker*
    - proxy_conn_rec*
    - apr_uri_t*
    - char**
    - char*
    - apr_port_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3236
    functionDepth: 4
    functionLinenumber: 3236
    functionLinenumberEnd: 3478
    functionName: ap_proxy_determine_connection
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached:
    - ap_get_module_config
    - ap_proxyerror
    - apr_pstrcat
    - ap_cstr_casecmp
    - apr_table_get
    - ap_proxy_checkproxyblock
    - ap_proxy_port_of_scheme
    - strcmp
    - apr_uri_parse
    - apr_pool_create
    - apr_pool_clear
    - ap_proxy_determine_address
    - socket_cleanup
    - apr_snprintf
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - conn_cleanup
    - AP_DEBUG_ASSERT
    - strcasecmp
    - ap_is_default_port
    - ap_get_server_port
    - apr_pstrdup
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,\n
      \                             proxy_server_conf *conf,\n                              proxy_worker
      *worker,\n                              proxy_conn_rec *conn,\n                              apr_uri_t
      *uri,\n                              char **url,\n                              const
      char *proxyname,\n                              apr_port_t proxyport,\n                              char
      *server_portstr,\n                              int server_portstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_poll
      Src: /src/httpd/modules/proxy/proxy_util.c:3498,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/proxy/proxy_util.c:3499,1
    - Dst: apr_socket_recvfrom
      Src: /src/httpd/modules/proxy/proxy_util.c:3511,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:3518,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/proxy_util.c:3518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - socket
    argTypes:
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3523
    functionName: ap_proxy_is_socket_connected
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_poll
    - APR_STATUS_IS_EINTR
    - apr_socket_recvfrom
    - APR_STATUS_IS_TIMEUP
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: void ap_proxy_is_socket_connected(apr_socket_t *socket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3534,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3536,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/proxy_util.c:3537,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3539,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/proxy_util.c:3540,1
    - Dst: APR_STATUS_IS_ECONNRESET
      Src: /src/httpd/modules/proxy/proxy_util.c:3541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3525
    functionDepth: 0
    functionLinenumber: 3525
    functionLinenumberEnd: 3547
    functionName: ap_proxy_is_socket_connected
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ECONNRESET
    - APR_STATUS_IS_EOF
    - apr_socket_timeout_set
    - apr_socket_timeout_get
    - apr_socket_recv
    linkageType: ''
    returnType: void
    signature: void ap_proxy_is_socket_connected(apr_socket_t *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3568,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3568,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:3574,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:3580,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:3585,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/proxy/proxy_util.c:3587,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/proxy_util.c:3588,1
    - Dst: apr_socket_send
      Src: /src/httpd/modules/proxy/proxy_util.c:3589,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/proxy_util.c:3596,1
    - Dst: strstr
      Src: /src/httpd/modules/proxy/proxy_util.c:3600,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/modules/proxy/proxy_util.c:3601,1
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/proxy_util.c:3610,1
    - Dst: strstr
      Src: /src/httpd/modules/proxy/proxy_util.c:3613,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3625,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3625,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/proxy_util.c:3630,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/proxy_util.c:3631,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3636,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3636,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - backend
    - s
    argTypes:
    - proxy_conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3556
    functionDepth: 1
    functionLinenumber: 3556
    functionLinenumberEnd: 3645
    functionName: send_http_connect
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_xlate_proto_to_ascii
    - apr_socket_send
    - strstr
    - APLOGNO
    - ap_get_server_banner
    - atoi
    - ap_log_error
    - sscanf
    - apr_socket_recv
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_http_connect(proxy_conn_rec *backend,\n                                      server_rec
      *s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_sock_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3660,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3665,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:3670,1
    - Dst: APR_OFFSETOF
      Src: /src/httpd/modules/proxy/proxy_util.c:3672,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/proxy_util.c:3673,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/proxy_util.c:3674,1
    - Dst: connect
      Src: /src/httpd/modules/proxy/proxy_util.c:3678,1
    - Dst: apr_wait_for_io_or_timeout
      Src: /src/httpd/modules/proxy/proxy_util.c:3684,1
    - Dst: apr_socket_wait
      Src: /src/httpd/modules/proxy/proxy_util.c:3686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - sock
    - uds_path
    - p
    argTypes:
    - apr_socket_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3698
    functionName: ap_proxy_connect_uds
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_socket_wait
    - apr_palloc
    - APR_OFFSETOF
    - apr_socket_timeout_get
    - apr_wait_for_io_or_timeout
    - apr_os_sock_get
    - connect
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_connect_uds(apr_socket_t *sock,\n                                                 const
      char *uds_path,\n                                                 apr_pool_t
      *p)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:3709,1
    - Dst: ap_check_pipeline
      Src: /src/httpd/modules/proxy/proxy_util.c:3721,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3723,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:3730,1
    - Dst: ap_proxy_is_socket_connected
      Src: /src/httpd/modules/proxy/proxy_util.c:3736,1
    - Dst: ap_proxy_is_socket_connected
      Src: /src/httpd/modules/proxy/proxy_util.c:3746,1
    - Dst: APLOGtrace2
      Src: /src/httpd/modules/proxy/proxy_util.c:3755,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/proxy_util.c:3757,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3758,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/proxy_util.c:3771,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:3775,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3777,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3777,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3781,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3781,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3787,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - scheme
    - conn
    - server
    - max_blank_lines
    - flags
    argTypes:
    - char*
    - proxy_conn_rec*
    - server_rec*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3700
    functionDepth: 2
    functionLinenumber: 3700
    functionLinenumberEnd: 3792
    functionName: ap_proxy_check_connection
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_socket_addr_get
    - ap_proxy_is_socket_connected
    - APLOGNO
    - APLOGtrace2
    - ap_check_pipeline
    - apr_brigade_cleanup
    - ap_log_error
    - PROXY_WORKER_IS_USABLE
    - apr_pstrdup
    - PROXY_STRNCPY
    - socket_cleanup
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_check_connection(const char *scheme,\n                                                      proxy_conn_rec
      *conn,\n                                                      server_rec *server,\n
      \                                                     unsigned max_blank_lines,\n
      \                                                     int flags)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:3810,1
    - Dst: ap_proxy_check_connection
      Src: /src/httpd/modules/proxy/proxy_util.c:3812,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/proxy_util.c:3831,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3835,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3835,1
    - Dst: ap_proxy_connect_uds
      Src: /src/httpd/modules/proxy/proxy_util.c:3845,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/proxy_util.c:3847,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3848,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3848,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3856,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3856,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/proxy_util.c:3866,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3870,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3870,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3887,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3889,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3889,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3894,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3896,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3896,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3903,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3906,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3909,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3912,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3916,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3918,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3918,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3923,1
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/proxy/proxy_util.c:3929,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/proxy/proxy_util.c:3932,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3934,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3934,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/proxy/proxy_util.c:3941,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/proxy_util.c:3945,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3947,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3947,1
    - Dst: ap_proxy_determine_address
      Src: /src/httpd/modules/proxy/proxy_util.c:3963,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:3980,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:3980,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3991,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3994,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:3997,1
    - Dst: send_http_connect
      Src: /src/httpd/modules/proxy/proxy_util.c:4007,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/proxy_util.c:4011,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4013,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4013,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:4025,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:4034,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4036,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4036,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/proxy_util.c:4040,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:4064,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 124
    argCount: 4
    argNames:
    - proxy_function
    - conn
    - worker
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - proxy_worker*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 3794
    functionDepth: 4
    functionLinenumber: 3794
    functionLinenumberEnd: 4068
    functionName: ap_proxy_connect_backend
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 7
    functionsReached:
    - socket_cleanup
    - apr_socket_create
    - apr_socket_opt_set
    - apr_time_now
    - apr_time_sec
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_pmemdup
    - send_http_connect
    - apr_socket_connect
    - ap_log_error
    - apr_socket_bind
    - ap_get_module_config
    - PROXY_WORKER_IS_USABLE
    - ap_proxy_determine_address
    - ap_proxy_check_connection
    - ap_proxy_connect_uds
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_connect_backend(const char *proxy_function,\n                                            proxy_conn_rec
      *conn,\n                                            proxy_worker *worker,\n
      \                                           server_rec *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4077,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:4079,1
    - Dst: ap_shutdown_conn
      Src: /src/httpd/modules/proxy/proxy_util.c:4082,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:4086,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4090,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - theconn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4070
    functionDepth: 1
    functionLinenumber: 4070
    functionLinenumberEnd: 4094
    functionName: connection_shutdown
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_shutdown_conn
    - ap_log_cerror
    - apr_socket_timeout_set
    - apr_socket_timeout_get
    - APLOGNO
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t connection_shutdown(void *theconn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/proxy_util.c:4113,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4119,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4120,1
    - Dst: ap_create_connection
      Src: /src/httpd/modules/proxy/proxy_util.c:4124,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4132,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4133,1
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/proxy_util.c:4143,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4144,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4145,1
    - Dst: ap_log_cerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4155,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:4158,1
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/proxy_util.c:4164,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4167,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4167,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4176,1
    - Dst: ap_run_pre_connection
      Src: /src/httpd/modules/proxy/proxy_util.c:4178,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4181,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4181,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/proxy_util.c:4186,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/modules/proxy/proxy_util.c:4191,1
    - Dst: socket_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:4196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - proxy_function
    - conn
    - r
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - request_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4097
    functionDepth: 1
    functionLinenumber: 4097
    functionLinenumberEnd: 4198
    functionName: proxy_connection_create
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_run_pre_connection
    - ap_log_cerror
    - apr_bucket_alloc_create
    - apr_socket_timeout_get
    - APLOGNO
    - apr_brigade_create
    - apr_table_setn
    - apr_socket_timeout_set
    - ap_create_connection
    - ap_log_error
    - ap_proxy_ssl_engine
    - apr_pool_pre_cleanup_register
    - socket_cleanup
    linkageType: ''
    returnType: int
    signature: "int proxy_connection_create(const char *proxy_function,\n                                   proxy_conn_rec
      *conn,\n                                   request_rec *r, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_connection_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proxy_function
    - conn
    - r
    argTypes:
    - char*
    - proxy_conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4205
      start: 4200
    functionDepth: 2
    functionLinenumber: 4200
    functionLinenumberEnd: 4205
    functionName: ap_proxy_connection_create_ex
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 3
    functionsReached:
    - proxy_connection_create
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_connection_create_ex(const char *proxy_function,\n                                                 proxy_conn_rec
      *conn,\n                                                 request_rec *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_connection_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - proxy_function
    - conn
    - c
    - s
    argTypes:
    - char*
    - proxy_conn_rec*
    - conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4207
    functionDepth: 2
    functionLinenumber: 4207
    functionLinenumberEnd: 4213
    functionName: ap_proxy_connection_create
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - proxy_connection_create
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_connection_create(const char *proxy_function,\n                                              proxy_conn_rec
      *conn,\n                                              conn_rec *c, server_rec
      *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4215
    functionDepth: 0
    functionLinenumber: 4215
    functionLinenumberEnd: 4225
    functionName: ap_proxy_lb_workers
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_proxy_lb_workers(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:4232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - elts
    - nelts
    - code
    argTypes:
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4227
    functionDepth: 1
    functionLinenumber: 4227
    functionLinenumberEnd: 4250
    functionName: error_code_overridden
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE error_code_overridden(const int *elts, int nelts,\n                                            int
      code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/proxy/proxy_util.c:4257,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/proxy_util.c:4258,1
    - Dst: error_code_overridden
      Src: /src/httpd/modules/proxy/proxy_util.c:4261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - code
    argTypes:
    - proxy_dir_conf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4252
    functionDepth: 2
    functionLinenumber: 4252
    functionLinenumberEnd: 4264
    functionName: ap_proxy_should_override
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached:
    - apr_is_empty_array
    - ap_is_HTTP_ERROR
    - error_code_overridden
    linkageType: ''
    returnType: void
    signature: void ap_proxy_should_override(proxy_dir_conf *conf, int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/proxy_util.c:4282,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:4283,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/proxy_util.c:4283,1
    - Dst: APR_BUCKET_PREV
      Src: /src/httpd/modules/proxy/proxy_util.c:4284,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4287,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:4288,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:4289,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:4290,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/proxy/proxy_util.c:4293,1
    - Dst: ap_bucket_eoc_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4300,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:4301,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:4302,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/modules/proxy/proxy_util.c:4305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - r
    - status
    - bb
    - eoc
    argTypes:
    - request_rec*
    - int
    - apr_bucket_brigade*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4266
    functionDepth: 1
    functionLinenumber: 4266
    functionLinenumberEnd: 4308
    functionName: ap_proxy_fill_error_brigade
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - APR_BUCKET_PREV
    - ap_bucket_eoc_create
    - APR_BUCKET_IS_EOS
    - APR_BUCKET_INSERT_BEFORE
    - ap_bucket_error_create
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_INSERT_TAIL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_fill_error_brigade(request_rec *r, int status,\n                                                apr_bucket_brigade
      *bb,\n                                                int eoc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:4324,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4324,1
    - Dst: ap_proxy_fill_error_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:4325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - brigade
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4311
    functionDepth: 2
    functionLinenumber: 4311
    functionLinenumberEnd: 4326
    functionName: ap_proxy_backend_broke
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_proxy_fill_error_brigade
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_eos_create
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_backend_broke(request_rec *r,\n                                           apr_bucket_brigade
      *brigade)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:4339,1
    - Dst: apr_hashfunc_default
      Src: /src/httpd/modules/proxy/proxy_util.c:4340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - method
    argTypes:
    - char*
    - proxy_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4360
    functionName: ap_proxy_hashfunc
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 5
    functionsReached:
    - apr_hashfunc_default
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_proxy_hashfunc(const char *str, proxy_hash_t method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/httpd/modules/proxy/proxy_util.c:4365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - c
    - set
    - w
    argTypes:
    - char
    - int
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4362
    functionDepth: 0
    functionLinenumber: 4362
    functionLinenumberEnd: 4378
    functionName: ap_proxy_set_wstatus
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: void ap_proxy_set_wstatus(char c, int set, proxy_worker *w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4387,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/proxy_util.c:4393,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - w
    argTypes:
    - apr_pool_t*
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4380
    functionDepth: 1
    functionLinenumber: 4380
    functionLinenumberEnd: 4396
    functionName: ap_proxy_parse_wstatus
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - PROXY_WORKER_IS_USABLE
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void ap_proxy_parse_wstatus(apr_pool_t *p, proxy_worker *w)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/proxy_util.c:4411,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4415,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4415,1
    - Dst: ap_slotmem_provider_t*::dptr
      Src: /src/httpd/modules/proxy/proxy_util.c:4432,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4433,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4433,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4447,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4447,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/proxy_util.c:4449,1
    - Dst: apr_global_mutex_lock
      Src: /src/httpd/modules/proxy/proxy_util.c:4456,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/proxy_util.c:4457,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:4458,1
    - Dst: apr_global_mutex_unlock
      Src: /src/httpd/modules/proxy/proxy_util.c:4459,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/proxy_util.c:4464,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4466,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4466,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4469,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4469,1
    - Dst: proxy_balancer*::lbmethod::reset
      Src: /src/httpd/modules/proxy/proxy_util.c:4476,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - b
    - s
    - conf
    argTypes:
    - proxy_balancer*
    - server_rec*
    - proxy_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4481
      start: 4398
    functionDepth: 4
    functionLinenumber: 4398
    functionLinenumberEnd: 4481
    functionName: ap_proxy_sync_balancer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 4
    functionsReached:
    - apr_pcalloc
    - ap_lookup_provider
    - APLOGNO
    - apr_array_push
    - ap_proxy_initialize_worker
    - ap_proxy_worker_get_name
    - ap_log_error
    - apr_global_mutex_unlock
    - apr_global_mutex_lock
    - ap_slotmem_provider_t*::dptr
    - proxy_balancer*::lbmethod::reset
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_sync_balancer(proxy_balancer *b, server_rec *s,\n                                                    proxy_server_conf
      *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_slotmem_provider_t*::num_slots
      Src: /src/httpd/modules/proxy/proxy_util.c:4490,1
    - Dst: ap_slotmem_provider_t*::dptr
      Src: /src/httpd/modules/proxy/proxy_util.c:4492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - storage
    - slot
    - worker
    - index
    argTypes:
    - ap_slotmem_provider_t*
    - ap_slotmem_instance_t*
    - proxy_worker*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4483
    functionDepth: 0
    functionLinenumber: 4483
    functionLinenumberEnd: 4502
    functionName: ap_proxy_find_workershm
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_slotmem_provider_t*::num_slots
    - ap_slotmem_provider_t*::dptr
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_find_workershm(ap_slotmem_provider_t *storage,\n                                                               ap_slotmem_instance_t
      *slot,\n                                                               proxy_worker
      *worker,\n                                                               unsigned
      int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_slotmem_provider_t*::num_slots
      Src: /src/httpd/modules/proxy/proxy_util.c:4511,1
    - Dst: ap_slotmem_provider_t*::dptr
      Src: /src/httpd/modules/proxy/proxy_util.c:4513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - storage
    - slot
    - balancer
    - index
    argTypes:
    - ap_slotmem_provider_t*
    - ap_slotmem_instance_t*
    - proxy_balancer*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4523
      start: 4504
    functionDepth: 0
    functionLinenumber: 4504
    functionLinenumberEnd: 4523
    functionName: ap_proxy_find_balancershm
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_slotmem_provider_t*::num_slots
    - ap_slotmem_provider_t*::dptr
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_find_balancershm(ap_slotmem_provider_t *storage,\n                                                                 ap_slotmem_instance_t
      *slot,\n                                                                 proxy_balancer
      *balancer,\n                                                                 unsigned
      int *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_parse_token_list_strict
      Src: /src/httpd/modules/proxy/proxy_util.c:4535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4532
    functionDepth: 1
    functionLinenumber: 4532
    functionLinenumberEnd: 4537
    functionName: find_conn_headers
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_parse_token_list_strict
    linkageType: ''
    returnType: int
    signature: int find_conn_headers(void *data, const char *key, const char *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4554,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/proxy_util.c:4556,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4557,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4560,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4560,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/proxy_util.c:4568,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4569,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4569,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:4572,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - r
    - headers
    argTypes:
    - request_rec*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4580
    functionName: ap_proxy_clear_connection
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - ap_log_rerror
    - APR_ARRAY_IDX
    - ap_cstr_casecmp
    - APLOGNO
    - apr_table_unset
    linkageType: ''
    returnType: int
    signature: int ap_proxy_clear_connection(request_rec *r, apr_table_t *headers)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4597,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/proxy_util.c:4602,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4609,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4612,1
    - Dst: PROXY_SHOULD_PING_100_CONTINUE
      Src: /src/httpd/modules/proxy/proxy_util.c:4613,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4616,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4624,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4627,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/proxy_util.c:4629,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:4629,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4630,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/proxy_util.c:4630,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:4631,1
    - Dst: apr_table_copy
      Src: /src/httpd/modules/proxy/proxy_util.c:4648,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4654,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4656,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4658,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4660,1
    - Dst: ap_proxy_clear_connection
      Src: /src/httpd/modules/proxy/proxy_util.c:4664,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4670,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4671,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4672,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4679,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/proxy_util.c:4687,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4689,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4692,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/proxy_util.c:4696,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:4702,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4711,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4711,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/proxy_util.c:4716,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4723,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/proxy_util.c:4725,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4735,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:4737,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/proxy/proxy_util.c:4738,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/proxy/proxy_util.c:4739,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/proxy_util.c:4742,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/proxy/proxy_util.c:4743,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/proxy/proxy_util.c:4744,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4754,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:4755,1
    - Dst: ap_find_token
      Src: /src/httpd/modules/proxy/proxy_util.c:4756,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4757,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4764,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4792,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4799,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4807,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4818,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4819,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4824,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4825,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4826,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4827,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4828,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4832,1
    - Dst: apr_table_mergen
      Src: /src/httpd/modules/proxy/proxy_util.c:4834,1
    - Dst: proxy_run_fixups
      Src: /src/httpd/modules/proxy/proxy_util.c:4838,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:4845,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/proxy_util.c:4847,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/proxy/proxy_util.c:4850,1
    - Dst: ap_h1_append_headers
      Src: /src/httpd/modules/proxy/proxy_util.c:4853,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 11
    argNames:
    - p
    - header_brigade
    - r
    - p_conn
    - worker
    - conf
    - uri
    - url
    - server_portstr
    - old_cl_val
    - old_te_val
    argTypes:
    - apr_pool_t*
    - apr_bucket_brigade*
    - request_rec*
    - proxy_conn_rec*
    - proxy_worker*
    - proxy_server_conf*
    - apr_uri_t*
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4582
    functionDepth: 2
    functionLinenumber: 4582
    functionLinenumberEnd: 4858
    functionName: ap_proxy_create_hdrbrgd
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - ap_get_module_config
    - HTTP_VERSION_MINOR
    - apr_bucket_pool_create
    - apr_pstrcat
    - ap_cstr_casecmp
    - ap_find_token
    - apr_table_copy
    - apr_psprintf
    - apr_table_get
    - ap_proxy_clear_connection
    - ap_strchr_c
    - proxy_run_fixups
    - ap_h1_append_header
    - apr_table_mergen
    - ap_get_server_name
    - APR_BRIGADE_INSERT_TAIL
    - ap_h1_append_headers
    - HTTP_VERSION_MAJOR
    - ap_log_rerror
    - APLOGNO
    - apr_table_setn
    - PROXY_SHOULD_PING_100_CONTINUE
    - apr_table_unset
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_create_hdrbrgd(apr_pool_t *p,\n                                            apr_bucket_brigade
      *header_brigade,\n                                            request_rec *r,\n
      \                                           proxy_conn_rec *p_conn,\n                                            proxy_worker
      *worker,\n                                            proxy_server_conf *conf,\n
      \                                           apr_uri_t *uri,\n                                            char
      *url, char *server_portstr,\n                                            char
      **old_cl_val,\n                                            char **old_te_val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/proxy_util.c:4886,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:4889,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:4896,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/proxy_util.c:4897,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/proxy_util.c:4897,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:4898,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:4905,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:4906,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4910,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4910,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4915,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:4918,1
    - Dst: ap_save_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:4930,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4932,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4932,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - r
    - backend
    - input_brigade
    - block
    - bytes_read
    - max_read
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    - apr_bucket_brigade*
    - apr_read_type_e
    - apr_off_t*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4942
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4942
    functionName: ap_proxy_prefetch_input
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_log_rerror
    - APR_BUCKET_IS_EOS
    - APLOGNO
    - apr_brigade_create
    - ap_save_brigade
    - ap_map_http_request_error
    - apr_brigade_length
    - APR_BRIGADE_EMPTY
    - APR_STATUS_IS_EAGAIN
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_prefetch_input(request_rec *r,\n                                           proxy_conn_rec
      *backend,\n                                           apr_bucket_brigade *input_brigade,\n
      \                                          apr_read_type_e block,\n                                           apr_off_t
      *bytes_read,\n                                           apr_off_t max_read)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:4956,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:4957,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:4960,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:4961,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:4966,1
    - Dst: ap_proxy_pass_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:4967,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:4977,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:4977,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/proxy/proxy_util.c:4982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - r
    - backend
    - bb
    - max_read
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    - apr_bucket_brigade*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4944
    functionDepth: 1
    functionLinenumber: 4944
    functionLinenumberEnd: 4986
    functionName: ap_proxy_read_input
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - ap_log_rerror
    - APLOGNO
    - APR_STATUS_IS_EAGAIN
    - ap_map_http_request_error
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - ap_proxy_pass_brigade
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_read_input(request_rec *r,\n                                       proxy_conn_rec
      *backend,\n                                       apr_bucket_brigade *bb,\n
      \                                      apr_off_t max_read)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5004,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:5007,1
    - Dst: ap_proxy_read_input
      Src: /src/httpd/modules/proxy/proxy_util.c:5008,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/proxy_util.c:5016,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/proxy_util.c:5016,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:5020,1
    - Dst: apr_temp_dir_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5028,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5030,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5030,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/proxy/proxy_util.c:5037,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5039,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5039,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/proxy_util.c:5045,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:5046,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/proxy/proxy_util.c:5047,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/proxy/proxy_util.c:5051,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/proxy/proxy_util.c:5052,1
    - Dst: apr_file_name_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5056,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5059,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5059,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5064,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5067,1
    - Dst: ap_save_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:5080,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/proxy/proxy_util.c:5090,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/proxy/proxy_util.c:5092,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5094,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5095,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:5096,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5102,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:5103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 5
    argNames:
    - r
    - backend
    - input_brigade
    - bytes_spooled
    - max_mem_spool
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    - apr_bucket_brigade*
    - apr_off_t*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 4988
    functionDepth: 2
    functionLinenumber: 4988
    functionLinenumberEnd: 5106
    functionName: ap_proxy_spool_input
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_proxy_read_input
    - apr_file_mktemp
    - apr_brigade_create
    - ap_save_brigade
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_temp_dir_get
    - apr_brigade_length
    - apr_file_name_get
    - apr_table_get
    - APR_BUCKET_NEXT
    - apr_bucket_immortal_create
    - apr_file_write_full
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - APLOGNO
    - AP_DEBUG_ASSERT
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_spool_input(request_rec *r,\n                                        proxy_conn_rec
      *backend,\n                                        apr_bucket_brigade *input_brigade,\n
      \                                       apr_off_t *bytes_spooled,\n                                        apr_off_t
      max_mem_spool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5117,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:5118,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:5120,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:5123,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5128,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5128,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5134,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/proxy_util.c:5135,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5136,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/proxy_util.c:5140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - bucket_alloc
    - r
    - p_conn
    - origin
    - bb
    - flush
    argTypes:
    - apr_bucket_alloc_t*
    - request_rec*
    - proxy_conn_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5148
      start: 5108
    functionDepth: 3
    functionLinenumber: 5108
    functionLinenumberEnd: 5148
    functionName: ap_proxy_pass_brigade
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - strcmp
    - ap_log_rerror
    - ap_proxyerror
    - APLOGNO
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - apr_brigade_length
    - apr_table_get
    - APR_STATUS_IS_TIMEUP
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_pass_brigade(apr_bucket_alloc_t *bucket_alloc,\n                                         request_rec
      *r, proxy_conn_rec *p_conn,\n                                         conn_rec
      *origin, apr_bucket_brigade *bb,\n                                         int
      flush)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/proxy_util.c:5173,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/proxy_util.c:5178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5169
    functionDepth: 1
    functionLinenumber: 5169
    functionLinenumberEnd: 5185
    functionName: ap_proxy_port_of_scheme
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 5
    functionsReached:
    - ap_cstr_casecmp
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: void
    signature: void ap_proxy_port_of_scheme(const char *scheme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5198,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/proxy_util.c:5199,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/proxy_util.c:5200,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/proxy/proxy_util.c:5201,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/proxy/proxy_util.c:5202,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/proxy/proxy_util.c:5203,1
    - Dst: apr_bucket_transient_create::apr_bucket_transient_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5204,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/modules/proxy/proxy_util.c:5207,1
    - Dst: apr_bucket_flush_create::apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5208,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/proxy_util.c:5211,1
    - Dst: apr_bucket_eos_create::apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5212,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5216,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - r
    - from
    - to
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5223
      start: 5187
    functionDepth: 1
    functionLinenumber: 5187
    functionLinenumberEnd: 5223
    functionName: ap_proxy_buckets_lifetime_transform
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - ap_log_rerror
    - APR_BUCKET_IS_EOS
    - apr_bucket_transient_create::apr_bucket_transient_create
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - apr_brigade_cleanup
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - apr_bucket_eos_create::apr_bucket_eos_create
    - apr_bucket_flush_create::apr_bucket_flush_create
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_buckets_lifetime_transform(request_rec *r,\n                                                      apr_bucket_brigade
      *from,\n                                                      apr_bucket_brigade
      *to)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5265,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:5266,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:5269,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/proxy_util.c:5269,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5270,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5270,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:5286,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:5291,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5292,1
    - Dst: ap_proxy_buckets_lifetime_transform
      Src: /src/httpd/modules/proxy/proxy_util.c:5299,1
    - Dst: proxy_run_tunnel_forward
      Src: /src/httpd/modules/proxy/proxy_util.c:5305,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/proxy_util.c:5307,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5309,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5309,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/proxy_util.c:5316,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5325,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/proxy_util.c:5333,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5334,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5353,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:5354,1
    - Dst: ap_bucket_wc_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5358,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/proxy_util.c:5359,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/proxy_util.c:5361,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5363,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5363,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5369,1
    - Dst: ap_filter_should_yield
      Src: /src/httpd/modules/proxy/proxy_util.c:5375,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5376,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5387,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5395,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5396,1
    - Dst: ap_fflush
      Src: /src/httpd/modules/proxy/proxy_util.c:5399,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/proxy_util.c:5400,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5403,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/proxy_util.c:5409,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 11
    argNames:
    - r
    - c_i
    - c_o
    - bb_i
    - bb_o
    - name
    - bsize
    - flags
    - bytes_in
    - bytes_out
    - tunnel
    argTypes:
    - request_rec*
    - conn_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - char*
    - apr_off_t
    - int
    - apr_off_t*
    - apr_off_t*
    - proxy_tunnel_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5235
    functionDepth: 2
    functionLinenumber: 5235
    functionLinenumberEnd: 5413
    functionName: proxy_transfer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_STATUS_IS_EOF
    - ap_is_HTTP_ERROR
    - ap_log_rerror
    - ap_pass_brigade
    - ap_fflush
    - ap_filter_should_yield
    - APLOGNO
    - proxy_run_tunnel_forward
    - apr_bucket_flush_create
    - ap_bucket_wc_create
    - apr_brigade_cleanup
    - apr_brigade_length
    - APR_BRIGADE_EMPTY
    - ap_proxy_buckets_lifetime_transform
    - APR_BRIGADE_INSERT_TAIL
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t proxy_transfer(request_rec *r,\n                                   conn_rec
      *c_i,\n                                   conn_rec *c_o,\n                                   apr_bucket_brigade
      *bb_i,\n                                   apr_bucket_brigade *bb_o,\n                                   const
      char *name,\n                                   apr_off_t bsize,\n                                   int
      flags,\n                                   apr_off_t *bytes_in,\n                                   apr_off_t
      *bytes_out,\n                                   proxy_tunnel_rec *tunnel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_transfer
      Src: /src/httpd/modules/proxy/proxy_util.c:5427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - r
    - c_i
    - c_o
    - bb_i
    - bb_o
    - name
    - sent
    - bsize
    - flags
    argTypes:
    - request_rec*
    - conn_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - apr_bucket_brigade*
    - char*
    - int*
    - apr_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5415
    functionDepth: 3
    functionLinenumber: 5415
    functionLinenumberEnd: 5433
    functionName: ap_proxy_transfer_between_connections
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - proxy_transfer
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_transfer_between_connections(\n                                                       request_rec
      *r,\n                                                       conn_rec *c_i,\n
      \                                                      conn_rec *c_o,\n                                                       apr_bucket_brigade
      *bb_i,\n                                                       apr_bucket_brigade
      *bb_o,\n                                                       const char *name,\n
      \                                                      int *sent,\n                                                       apr_off_t
      bsize,\n                                                       int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - proxy_tunnel_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5452
    functionDepth: 0
    functionLinenumber: 5452
    functionLinenumberEnd: 5456
    functionName: ap_proxy_tunnel_conn_bytes_in
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_tunnel_conn_bytes_in(\n                                const
      proxy_tunnel_conn_t *tc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - proxy_tunnel_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5461
      start: 5457
    functionDepth: 0
    functionLinenumber: 5457
    functionLinenumberEnd: 5461
    functionName: ap_proxy_tunnel_conn_bytes_out
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_tunnel_conn_bytes_out(\n                                const
      proxy_tunnel_conn_t *tc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:5474,1
    - Dst: apr_pollset_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5476,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/proxy_util.c:5482,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:5483,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/proxy_util.c:5484,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/proxy_util.c:5485,1
    - Dst: ap_get_read_buf_size
      Src: /src/httpd/modules/proxy/proxy_util.c:5486,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5493,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/proxy/proxy_util.c:5494,1
    - Dst: ap_get_pollfd_from_conn
      Src: /src/httpd/modules/proxy/proxy_util.c:5497,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:5504,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/proxy_util.c:5509,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/modules/proxy/proxy_util.c:5510,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/modules/proxy/proxy_util.c:5513,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5515,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/proxy_util.c:5516,1
    - Dst: ap_remove_input_filter_byhandle
      Src: /src/httpd/modules/proxy/proxy_util.c:5523,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/proxy_util.c:5534,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5549,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5550,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5563,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 4
    argNames:
    - ptunnel
    - r
    - c_o
    - scheme
    argTypes:
    - proxy_tunnel_rec**
    - request_rec*
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5463
    functionDepth: 1
    functionLinenumber: 5463
    functionLinenumberEnd: 5579
    functionName: ap_proxy_tunnel_create
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_pollset_add
    - apr_socket_opt_set
    - ap_remove_input_filter_byhandle
    - ap_get_conn_socket
    - APR_ARRAY_PUSH
    - apr_pcalloc
    - ap_get_pollfd_from_conn
    - apr_socket_timeout_get
    - apr_brigade_create
    - apr_pollset_create
    - apr_table_get
    - ap_get_read_buf_size
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_tunnel_create(proxy_tunnel_rec **ptunnel,\n                                                   request_rec
      *r, conn_rec *c_o,\n                                                   const
      char *scheme)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5587,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:5588,1
    - Dst: apr_atomic_cas32
      Src: /src/httpd/modules/proxy/proxy_util.c:5591,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/modules/proxy/proxy_util.c:5596,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5597,1
    - Dst: apr_atomic_read64
      Src: /src/httpd/modules/proxy/proxy_util.c:5598,1
    - Dst: apr_atomic_cas64
      Src: /src/httpd/modules/proxy/proxy_util.c:5601,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5608,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5609,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5610,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - worker_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5581
    functionDepth: 1
    functionLinenumber: 5581
    functionLinenumberEnd: 5622
    functionName: ap_proxy_decrement_busy_count
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_atomic_read32
    - apr_atomic_read64
    - APR_VERSION_AT_LEAST
    - AP_DEBUG_ASSERT
    - apr_atomic_casptr
    - apr_atomic_cas32
    - apr_atomic_cas64
    linkageType: ''
    returnType: void
    signature: void ap_proxy_decrement_busy_count(void *worker_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5628,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:5629,1
    - Dst: apr_atomic_cas32
      Src: /src/httpd/modules/proxy/proxy_util.c:5632,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/modules/proxy/proxy_util.c:5637,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5638,1
    - Dst: apr_atomic_read64
      Src: /src/httpd/modules/proxy/proxy_util.c:5639,1
    - Dst: apr_atomic_cas64
      Src: /src/httpd/modules/proxy/proxy_util.c:5642,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5649,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5650,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5651,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5654,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - worker
    argTypes:
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5662
      start: 5624
    functionDepth: 1
    functionLinenumber: 5624
    functionLinenumberEnd: 5662
    functionName: ap_proxy_increment_busy_count
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_atomic_read32
    - apr_atomic_read64
    - APR_VERSION_AT_LEAST
    - AP_DEBUG_ASSERT
    - apr_atomic_casptr
    - apr_atomic_cas32
    - apr_atomic_cas64
    linkageType: ''
    returnType: void
    signature: void ap_proxy_increment_busy_count(proxy_worker *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5668,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/modules/proxy/proxy_util.c:5669,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/modules/proxy/proxy_util.c:5670,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5671,1
    - Dst: apr_atomic_read64
      Src: /src/httpd/modules/proxy/proxy_util.c:5672,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5675,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5676,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - worker
    argTypes:
    - proxy_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5664
    functionDepth: 1
    functionLinenumber: 5664
    functionLinenumberEnd: 5681
    functionName: ap_proxy_get_busy_count
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - apr_atomic_read32
    - apr_atomic_read64
    - APR_VERSION_AT_LEAST
    - AP_DEBUG_ASSERT
    - apr_atomic_casptr
    linkageType: ''
    returnType: void
    signature: void ap_proxy_get_busy_count(proxy_worker *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5686,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/modules/proxy/proxy_util.c:5687,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/modules/proxy/proxy_util.c:5688,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5689,1
    - Dst: apr_atomic_set64
      Src: /src/httpd/modules/proxy/proxy_util.c:5690,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5693,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5694,1
    - Dst: apr_atomic_xchgptr
      Src: /src/httpd/modules/proxy/proxy_util.c:5695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - worker
    - to
    argTypes:
    - proxy_worker*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5697
      start: 5683
    functionDepth: 1
    functionLinenumber: 5683
    functionLinenumberEnd: 5697
    functionName: ap_proxy_set_busy_count
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_VERSION_AT_LEAST
    - apr_atomic_set32
    - AP_DEBUG_ASSERT
    - apr_atomic_xchgptr
    - apr_atomic_set64
    linkageType: ''
    returnType: void
    signature: void ap_proxy_set_busy_count(proxy_worker *worker, apr_size_t to)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5704,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/modules/proxy/proxy_util.c:5707,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5709,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5717,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pollset
    - pfd
    - events
    argTypes:
    - apr_pollset_t*
    - apr_pollfd_t*
    - apr_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5699
    functionDepth: 1
    functionLinenumber: 5699
    functionLinenumberEnd: 5721
    functionName: add_pollset
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - AP_DEBUG_ASSERT
    - apr_pollset_remove
    linkageType: ''
    returnType: void
    signature: "void add_pollset(apr_pollset_t *pollset, apr_pollfd_t *pfd,\n                        apr_int16_t
      events)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5728,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/modules/proxy/proxy_util.c:5730,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5732,1
    - Dst: apr_pollset_add
      Src: /src/httpd/modules/proxy/proxy_util.c:5741,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/proxy_util.c:5743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pollset
    - pfd
    - events
    argTypes:
    - apr_pollset_t*
    - apr_pollfd_t*
    - apr_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5750
      start: 5723
    functionDepth: 1
    functionLinenumber: 5723
    functionLinenumberEnd: 5750
    functionName: del_pollset
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - AP_DEBUG_ASSERT
    - apr_pollset_remove
    linkageType: ''
    returnType: void
    signature: "void del_pollset(apr_pollset_t *pollset, apr_pollfd_t *pfd,\n                        apr_int16_t
      events)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5758,1
    - Dst: proxy_transfer
      Src: /src/httpd/modules/proxy/proxy_util.c:5762,1
    - Dst: APR_STATUS_IS_INCOMPLETE
      Src: /src/httpd/modules/proxy/proxy_util.c:5771,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5776,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/proxy_util.c:5780,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5784,1
    - Dst: del_pollset
      Src: /src/httpd/modules/proxy/proxy_util.c:5800,1
    - Dst: add_pollset
      Src: /src/httpd/modules/proxy/proxy_util.c:5804,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/proxy_util.c:5812,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/proxy_util.c:5812,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - tunnel
    - in
    argTypes:
    - proxy_tunnel_rec*
    - proxy_tunnel_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5752
    functionDepth: 3
    functionLinenumber: 5752
    functionLinenumberEnd: 5821
    functionName: proxy_tunnel_transfer
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EOF
    - ap_log_rerror
    - proxy_transfer
    - del_pollset
    - APR_STATUS_IS_INCOMPLETE
    - ap_assert
    - add_pollset
    linkageType: ''
    returnType: int
    signature: "int proxy_tunnel_transfer(proxy_tunnel_rec *tunnel,\n                                 proxy_tunnel_conn_t
      *in)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5834,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5834,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5846,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/modules/proxy/proxy_util.c:5850,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/proxy/proxy_util.c:5851,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/proxy_util.c:5854,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5855,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5855,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5863,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5863,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5870,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5870,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5877,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5884,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5884,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5893,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5893,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5913,1
    - Dst: ap_filter_output_pending
      Src: /src/httpd/modules/proxy/proxy_util.c:5917,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5924,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5924,1
    - Dst: del_pollset
      Src: /src/httpd/modules/proxy/proxy_util.c:5935,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5937,1
    - Dst: apr_socket_shutdown
      Src: /src/httpd/modules/proxy/proxy_util.c:5940,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5944,1
    - Dst: add_pollset
      Src: /src/httpd/modules/proxy/proxy_util.c:5947,1
    - Dst: proxy_tunnel_transfer
      Src: /src/httpd/modules/proxy/proxy_util.c:5956,1
    - Dst: proxy_tunnel_transfer
      Src: /src/httpd/modules/proxy/proxy_util.c:5972,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/proxy_util.c:5982,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/proxy_util.c:5982,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 1
    argNames:
    - tunnel
    argTypes:
    - proxy_tunnel_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5991
      start: 5823
    functionDepth: 4
    functionLinenumber: 5823
    functionLinenumberEnd: 5991
    functionName: ap_proxy_tunnel_run
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - APR_STATUS_IS_EINTR
    - proxy_tunnel_transfer
    - APLOGNO
    - ap_filter_output_pending
    - apr_pollset_poll
    - APR_STATUS_IS_TIMEUP
    - del_pollset
    - apr_socket_shutdown
    - add_pollset
    linkageType: ''
    returnType: void
    signature: void ap_proxy_tunnel_run(proxy_tunnel_rec *tunnel)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - method
    argTypes:
    - hcmethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 5993
    functionDepth: 0
    functionLinenumber: 5993
    functionLinenumberEnd: 6002
    functionName: ap_proxy_show_hcmethod
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_proxy_show_hcmethod(hcmethod_t method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/proxy_util.c:6006,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/proxy_util.c:6007,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/proxy_util.c:6008,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/modules/proxy/proxy_util.c:6011,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/modules/proxy/proxy_util.c:6013,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/proxy_util.c:6015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6004
    functionDepth: 1
    functionLinenumber: 6004
    functionLinenumberEnd: 6019
    functionName: proxy_util_register_hooks
    functionSourceFile: /src/httpd/modules/proxy/proxy_util.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_retained_data_get
    - APR_REGISTER_OPTIONAL_FN
    - ap_retained_data_create
    linkageType: ''
    returnType: void
    signature: void proxy_util_register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dconf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: FCGI_MAY_BE_FPM
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCGI_MAY_BE_FPM(dconf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:66,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:69,1
    - Dst: ap_proxy_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:76,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:78,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:80,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:82,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:82,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:88,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:92,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:94,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:97,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:98,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:99,1
    - Dst: FCGI_MAY_BE_FPM
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:105,1
    - Dst: apr_iscntrl
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:106,1
    - Dst: apr_iscntrl
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:110,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:114,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:114,1
    - Dst: FCGI_MAY_BE_FPM
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:116,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:123,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:126,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:126,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:133,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:136,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:136,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:139,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:141,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:142,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:146,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:149,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:150,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:152,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:153,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:155,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:157,1
    - Dst: ap_unescape_url_keep2f
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:158,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:163,1
    - Dst: ap_strrchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:164,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:166,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:168,1
    - Dst: ap_unescape_url_keep2f
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:169,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:178,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:179,1
    - Dst: ap_unescape_url_keep2f
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:180,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:182,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 188
    functionName: proxy_fcgi_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_proxy_canonenc_ex
    - ap_get_module_config
    - apr_pstrcat
    - apr_pstrdup
    - apr_table_get
    - apr_iscntrl
    - ap_strchr_c
    - ap_cstr_casecmpn
    - ap_unescape_url_keep2f
    - ap_proxy_port_of_scheme
    - ap_strchr
    - ap_get_core_module_config
    - ap_proxy_canon_netloc
    - FCGI_MAY_BE_FPM
    - apr_snprintf
    - ap_log_rerror
    - ap_strrchr
    - apr_pcalloc
    - APLOGNO
    - ap_set_module_config
    - strcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int proxy_fcgi_canon(request_rec *r, char *url)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_exec_re
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:207,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:209,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:209,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:219,1
    - Dst: ap_expr_str_exec_re
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:222,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:224,1
    - Dst: APLOGrtrace4
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:229,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:230,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:231,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - r
    - dconf
    argTypes:
    - request_rec*
    - fcgi_dirconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 240
    functionName: fix_cgivars
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGrtrace4
    - ap_expr_str_exec_re
    - APLOGNO
    - apr_table_setn
    - ap_expr_exec_re
    - apr_table_unset
    - apr_table_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fix_cgivars(request_rec *r, fcgi_dirconf_t *dconf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_sendv
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - conn
    - vec
    - nvec
    - len
    argTypes:
    - proxy_conn_rec*
    - struct iovec*
    - int
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 285
    functionName: send_data
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 2
    functionsReached:
    - apr_socket_sendv
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_data(proxy_conn_rec *conn,\n                              struct
      iovec *vec,\n                              int nvec,\n                              apr_size_t
      *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - buffer
    - buflen
    argTypes:
    - proxy_conn_rec*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: get_data
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 11
    functionsReached:
    - apr_socket_recv
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_data(proxy_conn_rec *conn,\n                             char
      *buffer,\n                             apr_size_t *buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - buffer
    - buflen
    argTypes:
    - proxy_conn_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: get_data_full
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - get_data
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t get_data_full(proxy_conn_rec *conn,\n                                  char
      *buffer,\n                                  apr_size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:331,1
    - Dst: ap_fcgi_fill_in_request_body
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:334,1
    - Dst: ap_proxy_connection_reusable
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:335,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:338,1
    - Dst: ap_fcgi_begin_request_body_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:339,1
    - Dst: send_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - request_id
    argTypes:
    - proxy_conn_rec*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 347
    functionName: send_begin_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 1
    functionsReached:
    - ap_fcgi_header_to_array
    - ap_fcgi_fill_in_header
    - send_data
    - ap_fcgi_fill_in_request_body
    - ap_proxy_connection_reusable
    - ap_fcgi_begin_request_body_to_array
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_begin_request(proxy_conn_rec *conn,\n                                       apr_uint16_t
      request_id)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:362,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:363,1
    - Dst: ap_core_translate
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:380,1
    - Dst: ap_directory_walk
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:383,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:405,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:406,1
    - Dst: FCGI_MAY_BE_FPM
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:409,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:410,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:415,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:422,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:423,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:430,1
    - Dst: ap_add_common_vars
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:434,1
    - Dst: ap_add_cgi_vars
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:435,1
    - Dst: fix_cgivars
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:443,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:453,1
    - Dst: APLOGrtrace8
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:456,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:460,1
    - Dst: ap_fcgi_encoded_env_len
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:475,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:481,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:482,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:493,1
    - Dst: ap_fcgi_encode_env
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:494,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:497,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:499,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:501,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:503,1
    - Dst: send_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:510,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:511,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:519,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:520,1
    - Dst: send_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:525,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 4
    argNames:
    - conn
    - r
    - temp_pool
    - request_id
    argTypes:
    - proxy_conn_rec*
    - request_rec*
    - apr_pool_t*
    - apr_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 526
    functionName: send_environment
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 1
    functionsReached:
    - apr_table_elts
    - ap_add_common_vars
    - ap_core_translate
    - ap_get_module_config
    - strncmp
    - ap_fcgi_header_to_array
    - ap_directory_walk
    - ap_fcgi_fill_in_header
    - strchr
    - strcmp
    - ap_strchr
    - send_data
    - apr_pool_clear
    - FCGI_MAY_BE_FPM
    - ap_assert
    - ap_log_rerror
    - apr_palloc
    - ap_fcgi_encode_env
    - APLOGNO
    - ap_fcgi_encoded_env_len
    - APLOGrtrace8
    - ap_add_cgi_vars
    - apr_pstrdup
    - fix_cgivars
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,\n
      \                                    apr_pool_t *temp_pool,\n                                     apr_uint16_t
      request_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - r
    - state
    - readbuf
    - readlen
    argTypes:
    - request_rec*
    - int*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 594
    functionName: handle_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handle_headers(request_rec *r, int *state,\n                          const
      char *readbuf, apr_size_t readlen)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:624,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:634,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:640,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:641,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:650,1
    - Dst: apr_poll
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:652,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:654,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:666,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:667,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:673,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:674,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:676,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:677,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:678,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:680,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:692,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:692,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:698,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:700,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:716,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:718,1
    - Dst: send_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:729,1
    - Dst: ap_fcgi_fill_in_header
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:746,1
    - Dst: ap_fcgi_header_to_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:748,1
    - Dst: send_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:753,1
    - Dst: get_data_full
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:770,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:772,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:772,1
    - Dst: ap_log_rdata
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:777,1
    - Dst: ap_fcgi_header_fields_from_array
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:780,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:784,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:784,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:791,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:791,1
    - Dst: get_data
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:809,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:819,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:823,1
    - Dst: handle_headers
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:826,1
    - Dst: ap_scan_script_header_err_brigade_ex
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:833,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:840,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:841,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:842,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:847,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:848,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:849,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:853,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:873,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:873,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:880,1
    - Dst: ap_is_initial_req
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:880,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:894,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:899,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:906,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:908,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:914,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:926,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:933,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:946,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:947,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:950,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:964,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:964,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:979,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:979,1
    - Dst: get_data_full
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:989,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:991,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:991,1
    - Dst: apr_poll
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:999,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1001,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1002,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1003,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1013,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1014,1
    - Dst: ap_die
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1017,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 255
    argCount: 9
    argNames:
    - conn
    - conf
    - r
    - setaside_pool
    - request_id
    - err
    - bad_request
    - has_responded
    - input_brigade
    argTypes:
    - proxy_conn_rec*
    - proxy_dir_conf*
    - request_rec*
    - apr_pool_t*
    - apr_uint16_t
    - char**
    - int*
    - int*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 1022
    functionName: dispatch
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 12
    functionsReached:
    - apr_brigade_split_ex
    - apr_brigade_destroy
    - ap_log_rdata
    - apr_brigade_create
    - ap_proxy_should_override
    - apr_brigade_flatten
    - apr_bucket_setaside
    - ap_fcgi_header_to_array
    - ap_fcgi_fill_in_header
    - ap_scan_script_header_err_brigade_ex
    - APR_BUCKET_IS_EOS
    - apr_brigade_partition
    - apr_table_get
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - apr_poll
    - ap_pass_brigade
    - ap_die
    - send_data
    - apr_bucket_transient_create
    - apr_bucket_eos_create
    - apr_bucket_flush_create
    - apr_pool_clear
    - get_data_full
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - get_data
    - handle_headers
    - ap_log_rerror
    - APR_STATUS_IS_EINTR
    - apr_pcalloc
    - apr_palloc
    - ap_fcgi_header_fields_from_array
    - apr_socket_timeout_get
    - APLOGNO
    - apr_table_unset
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - ap_is_initial_req
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dispatch(proxy_conn_rec *conn, proxy_dir_conf *conf,\n
      \                            request_rec *r, apr_pool_t *setaside_pool,\n                             apr_uint16_t
      request_id, const char **err,\n                             int *bad_request,
      int *has_responded,\n                             apr_bucket_brigade *input_brigade)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: send_begin_request
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1048,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1050,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1050,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1056,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1057,1
    - Dst: send_environment
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1060,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1062,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1062,1
    - Dst: dispatch
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1069,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1077,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1083,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1083,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1094,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 9
    argNames:
    - p
    - r
    - conn
    - origin
    - conf
    - uri
    - url
    - server_portstr
    - input_brigade
    argTypes:
    - apr_pool_t*
    - request_rec*
    - proxy_conn_rec*
    - conn_rec*
    - proxy_dir_conf*
    - apr_uri_t*
    - char*
    - char*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1103
    functionName: fcgi_do_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_map_http_request_error
    - APR_STATUS_IS_TIMEUP
    - dispatch
    - send_environment
    - send_begin_request
    linkageType: ''
    returnType: int
    signature: "int fcgi_do_request(apr_pool_t *p, request_rec *r,\n                           proxy_conn_rec
      *conn,\n                           conn_rec *origin,\n                           proxy_dir_conf
      *conf,\n                           apr_uri_t *uri,\n                           char
      *url, char *server_portstr,\n                           apr_bucket_brigade *input_brigade)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1125,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1131,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1131,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1136,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1136,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1140,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1140,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1143,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1148,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1156,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1157,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1168,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1170,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1173,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1176,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1179,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1180,1
    - Dst: ap_proxy_prefetch_input
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1192,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1216,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1217,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1217,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1223,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1224,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1226,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1233,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1241,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1242,1
    - Dst: ap_proxy_spool_input
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1243,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1249,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1252,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1253,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1255,1
    - Dst: ap_proxy_check_connection
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1271,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1273,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1275,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1275,1
    - Dst: fcgi_do_request
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1283,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1287,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1112
    functionDepth: 5
    functionLinenumber: 1112
    functionLinenumberEnd: 1289
    functionName: proxy_fcgi_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_proxy_release_connection
    - ap_proxy_acquire_connection
    - apr_brigade_create
    - ap_get_module_config
    - ap_proxy_prefetch_input
    - fcgi_do_request
    - APR_BUCKET_IS_EOS
    - apr_pool_userdata_setn
    - apr_table_get
    - ap_proxy_check_connection
    - ap_cstr_casecmpn
    - ap_proxy_connect_backend
    - ap_proxy_determine_connection
    - apr_pool_userdata_get
    - APR_BRIGADE_EMPTY
    - apr_off_t_toa
    - APR_BRIGADE_CONCAT
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_table_setn
    - ap_proxy_spool_input
    - apr_table_unset
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: int
    signature: "int proxy_fcgi_handler(request_rec *r, proxy_worker *worker,\n                              proxy_server_conf
      *conf,\n                              char *url, const char *proxyname,\n                              apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1295,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - path
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1300
    functionName: fcgi_create_dconf
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *fcgi_create_dconf(apr_pool_t *p, char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1306,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1315
    functionName: fcgi_merge_dconf
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *fcgi_merge_dconf(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1322,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - in_dconf
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1334
    functionName: cmd_servertype
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *cmd_servertype(cmd_parms *cmd, void *in_dconf,\n                                   const
      char *val)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1347,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1348,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1350,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1357,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1376,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - cmd
    - in_dconf
    - arg1
    - arg2
    - arg3
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1386
    functionName: cmd_setenv
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_psprintf
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: "char *cmd_setenv(cmd_parms *cmd, void *in_dconf,\n                              const
      char *arg1, const char *arg2,\n                              const char *arg3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1389,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_fcgi.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1391
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    functionUses: 1
    functionsReached:
    - proxy_hook_canon_handler
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: create_proxy_ftp_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_proxy_ftp_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: merge_proxy_ftp_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_proxy_ftp_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: set_ftp_list_on_wildcard
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_ftp_list_on_wildcard(cmd_parms *cmd, void *dconf,\n                                            int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: set_ftp_escape_wildcards
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_ftp_escape_wildcards(cmd_parms *cmd, void *dconf,\n                                            int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: set_ftp_directory_charset
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *set_ftp_directory_charset(cmd_parms *cmd, void *dconf,\n                                             const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:122,1
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:122,1
    - Dst: ap_proxy_hex2c
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: decodeenc
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_isxdigit
    - ap_proxy_hex2c
    linkageType: ''
    returnType: int
    signature: int decodeenc(char *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:150,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:150,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - path
    - dconf
    argTypes:
    - apr_pool_t*
    - char*
    - proxy_ftp_dir_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: ftp_escape_globbingchars
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_palloc
    - strchr
    linkageType: ''
    returnType: char
    signature: char *ftp_escape_globbingchars(apr_pool_t *p, const char *path, proxy_ftp_dir_conf
      *dconf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: ftp_check_globbingchars
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int ftp_check_globbingchars(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:190,1
    - Dst: apr_isxdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:190,1
    - Dst: ap_proxy_hex2c
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:191,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: ftp_check_string
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_isxdigit
    - ap_proxy_hex2c
    linkageType: ''
    returnType: int
    signature: int ftp_check_string(const char *x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:233,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:241,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:245,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:246,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:250,1
    - Dst: memchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:262,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:270,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - c
    - bb
    - buff
    - bufflen
    - eos
    - outlen
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    - char*
    - apr_size_t
    - int*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 281
    functionName: ftp_string_read
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - memchr
    - apr_bucket_read
    - APR_BRIGADE_EMPTY
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ftp_string_read(conn_rec *c, apr_bucket_brigade *bb,\n
      \       char *buff, apr_size_t bufflen, int *eos, apr_size_t *outlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:292,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:296,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:302,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:304,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:307,1
    - Dst: ftp_check_string
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:310,1
    - Dst: ftp_check_string
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:312,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:321,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:324,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:324,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:332,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:332,1
    - Dst: ftp_check_string
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:336,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:341,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:341,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:344,1
    - Dst: ap_proxy_canonenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:347,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:347,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:350,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:358,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:362,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:363,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 372
    functionName: proxy_ftp_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_pstrcat
    - ftp_check_string
    - strchr
    - ap_proxy_canonenc
    - apr_snprintf
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - ap_strchr_c
    - strlen
    - ap_cstr_casecmpn
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: int
    signature: int proxy_ftp_canon(request_rec *r, char *url)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ftp_string_read
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:392,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:400,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:400,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:405,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:405,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:406,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:411,1
    - Dst: memcpy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:414,1
    - Dst: ftp_string_read
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:417,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:420,1
    - Dst: memcmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - ftp_ctrl
    - bb
    - msgbuf
    - msglen
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 425
    functionName: ftp_getrc_msg
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ftp_string_read
    - apr_isdigit
    - apr_cpystrn
    - APLOGNO
    - ap_log_error
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ftp_getrc_msg(conn_rec *ftp_ctrl, apr_bucket_brigade *bb, char
      *msgbuf, int msglen)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:455,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:461,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:462,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:467,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:468,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:474,1
    - Dst: ap_construct_url
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:492,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:496,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:502,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:505,1
    - Dst: strstr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:510,1
    - Dst: decodeenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:513,1
    - Dst: strrchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:518,1
    - Dst: ftp_check_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:519,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:526,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:527,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:534,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:535,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:541,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:542,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:543,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:545,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:545,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:545,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:548,1
    - Dst: strrchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:551,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:557,1
    - Dst: ap_escape_uri
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:558,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:559,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:563,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:563,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:564,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:568,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:569,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:569,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:570,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:576,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:576,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:577,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:580,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:581,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:583,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:583,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:583,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:588,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:589,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:591,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:591,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:592,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:597,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:597,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:598,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:601,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:615,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:620,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:621,1
    - Dst: apr_bucket_read
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:625,1
    - Dst: memchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:628,1
    - Dst: apr_bucket_split
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:632,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:636,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:642,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:642,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:644,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:659,1
    - Dst: strstr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:667,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:676,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:677,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:678,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:678,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:679,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:680,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:684,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:688,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:689,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:692,1
    - Dst: strrchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:697,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:700,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:700,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:710,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:710,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:721,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:721,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:722,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:723,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:724,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:724,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:725,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:728,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:729,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:730,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:730,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:731,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:735,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:740,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:742,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:742,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:742,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:744,1
    - Dst: ap_os_escape_path
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:744,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:746,1
    - Dst: strcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:749,1
    - Dst: ap_escape_html
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:750,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:756,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:756,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:756,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:758,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:758,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:759,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:762,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:767,1
    - Dst: ap_psignature
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:767,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:768,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:768,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:768,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:770,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:770,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:771,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:771,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:772,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:775,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 171
    argCount: 2
    argNames:
    - f
    - in
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 779
    functionName: proxy_send_dir_filter
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - apr_brigade_create
    - ap_psignature
    - apr_bucket_read
    - apr_bucket_pool_create
    - strncmp
    - apr_pstrcat
    - strchr
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - apr_isdigit
    - apr_pstrndup
    - apr_psprintf
    - apr_table_get
    - ap_cstr_casecmpn
    - ap_pass_brigade
    - strcmp
    - decodeenc
    - apr_cpystrn
    - ap_escape_uri
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - ap_construct_url
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_split
    - strcat
    - ap_log_rerror
    - ap_os_escape_path
    - apr_pcalloc
    - ftp_check_globbingchars
    - strstr
    - memchr
    - APLOGNO
    - ap_regexec
    - strrchr
    - ap_escape_html
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t proxy_send_dir_filter(ap_filter_t *f,\n                                          apr_bucket_brigade
      *in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:791,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:798,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - reply
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 804
    functionName: parse_epsv_reply
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - strtol
    linkageType: ''
    returnType: apr_port_t
    signature: apr_port_t parse_epsv_reply(const char *reply)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:822,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:822,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:822,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:823,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:823,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:824,1
    - Dst: APLOGrtrace2
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:826,1
    - Dst: apr_cpystrn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:828,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:829,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:830,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:832,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:833,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:834,1
    - Dst: ftp_getrc_msg
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:838,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:840,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:841,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:842,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:844,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:847,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - cmd
    - r
    - ftp_ctrl
    - bb
    - pmessage
    argTypes:
    - char*
    - request_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 850
    functionName: proxy_ftp_command
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - strchr
    - apr_cpystrn
    - APLOGrtrace2
    - apr_pstrdup
    - apr_bucket_flush_create
    - ftp_getrc_msg
    - strcpy
    - apr_bucket_pool_create
    - strlen
    - APR_BRIGADE_INSERT_TAIL
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int proxy_ftp_command(const char *cmd, request_rec *r, conn_rec *ftp_ctrl,\n
      \                 apr_bucket_brigade *bb, char **pmessage)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:863,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:863,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:873,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - xfer_type
    - r
    - ftp_ctrl
    - bb
    - pmessage
    argTypes:
    - char
    - request_rec*
    - conn_rec*
    - apr_bucket_brigade*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 886
    functionName: ftp_set_TYPE
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - proxy_ftp_command
    - ap_proxyerror
    - apr_pstrcat
    linkageType: ''
    returnType: int
    signature: "int ftp_set_TYPE(char xfer_type, request_rec *r, conn_rec *ftp_ctrl,\n
      \                 apr_bucket_brigade *bb, char **pmessage)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:902,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:906,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r
    - ftp_ctrl
    - bb
    argTypes:
    - request_rec*
    - conn_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 916
    functionName: ftp_get_PWD
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - proxy_ftp_command
    - ap_proxyerror
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *ftp_get_PWD(request_rec *r, conn_rec *ftp_ctrl, apr_bucket_brigade
      *bb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:934,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:934,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:936,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:939,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:940,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - log_it
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 946
    functionName: ftp_unauthorized
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - ap_log_rerror
    - apr_pstrcat
    - APLOGNO
    - apr_table_setn
    linkageType: ''
    returnType: int
    signature: int ftp_unauthorized(request_rec *r, int log_it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:953,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - backend
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 957
    functionName: proxy_ftp_cleanup
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - ap_proxy_release_connection
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t proxy_ftp_cleanup(request_rec *r, proxy_conn_rec *backend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:962,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - r
    - conn
    - statuscode
    - message
    argTypes:
    - request_rec*
    - proxy_conn_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 4
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: ftp_proxyerror
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - proxy_ftp_cleanup
    - ap_proxyerror
    linkageType: ''
    returnType: int
    signature: int ftp_proxyerror(request_rec *r, proxy_conn_rec *conn, int statuscode,
      const char *message)
  - BBCount: 118
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:999,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1010,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1015,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1016,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1020,1
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1035,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1036,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1036,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1038,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1042,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1047,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1050,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1054,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1058,1
    - Dst: apr_isalpha
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1059,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1063,1
    - Dst: apr_toupper
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1064,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1067,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1068,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1068,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1086,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1087,1
    - Dst: ap_getword
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1087,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1088,1
    - Dst: ftp_check_string
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1090,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1091,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1099,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1104,1
    - Dst: decodeenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1105,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1107,1
    - Dst: decodeenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1108,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1117,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1117,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1121,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1123,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1127,1
    - Dst: ap_set_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1131,1
    - Dst: ap_proxy_determine_address
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1138,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1141,1
    - Dst: ap_proxy_checkproxyblock
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1146,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1147,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1158,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1159,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1163,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1165,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1173,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1184,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1190,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1192,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1210,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1211,1
    - Dst: atol
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1216,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1217,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1218,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1220,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1223,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1226,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1226,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1239,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1242,1
    - Dst: ftp_unauthorized
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1243,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1247,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1252,1
    - Dst: ftp_unauthorized
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1253,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1256,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1256,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1267,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1271,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1272,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1276,1
    - Dst: ftp_unauthorized
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1277,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1281,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1284,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1290,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1295,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1297,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1306,1
    - Dst: decodeenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1311,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1313,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1314,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1323,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1323,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1324,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1336,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1340,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1343,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1367,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1377,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1381,1
    - Dst: parse_epsv_reply
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1385,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1390,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1394,1
    - Dst: htons
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1405,1
    - Dst: htons
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1410,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1412,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1416,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1416,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1418,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1423,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1425,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1430,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1432,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1432,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1437,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1439,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1439,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1442,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1442,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1446,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1456,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1466,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1470,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1480,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1482,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1483,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1486,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1489,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1495,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1500,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1500,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1504,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1506,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1506,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1508,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1513,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1515,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1515,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1519,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1521,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1521,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1527,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1527,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1531,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1532,1
    - Dst: apr_socket_connect
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1535,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1537,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1537,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1539,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1539,1
    - Dst: apr_socket_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1557,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1559,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1559,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1561,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1564,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1566,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1568,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1571,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1571,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1573,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1578,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1580,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1581,1
    - Dst: apr_socket_bind
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1585,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1586,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1586,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1588,1
    - Dst: apr_socket_listen
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1593,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1594,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1594,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1596,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1602,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1607,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1607,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1617,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1621,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1634,1
    - Dst: decodeenc
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1647,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1649,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1650,1
    - Dst: ftp_check_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1658,1
    - Dst: ftp_set_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1677,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1678,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1678,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1679,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1682,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1687,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1694,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1697,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1697,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1698,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1709,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1713,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1716,1
    - Dst: ftp_get_PWD
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1723,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1725,1
    - Dst: ftp_set_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1729,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1739,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1740,1
    - Dst: ftp_set_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1747,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1759,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1759,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1759,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1771,1
    - Dst: memset
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1774,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1775,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1776,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1777,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1778,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1779,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1780,1
    - Dst: timegm
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1782,1
    - Dst: mktime
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1788,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1798,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1798,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1800,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1823,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1827,1
    - Dst: ftp_set_TYPE
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1832,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1834,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1834,1
    - Dst: ftp_escape_globbingchars
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1835,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1846,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1850,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1853,1
    - Dst: ftp_get_PWD
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1857,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1859,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1863,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1863,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1869,1
    - Dst: ftp_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1873,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1877,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1879,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1880,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1881,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1881,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1885,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1885,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1893,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1894,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1899,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1900,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1907,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1908,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1909,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1923,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1925,1
    - Dst: apr_socket_accept
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1931,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1932,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1939,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1939,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1941,1
    - Dst: ap_create_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1948,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1955,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1955,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1957,1
    - Dst: ap_proxy_ssl_engine
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1965,1
    - Dst: ap_run_pre_connection
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1967,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1969,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1969,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1972,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1987,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1995,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:1998,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2006,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2007,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2007,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2012,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2017,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2017,1
    - Dst: ap_flush_conn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2023,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2025,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2028,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2028,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2036,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2037,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2041,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2048,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2055,1
    - Dst: ap_flush_conn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2059,1
    - Dst: apr_socket_close
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2060,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2061,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2061,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2065,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2066,1
    - Dst: proxy_ftp_command
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2076,1
    - Dst: ap_flush_conn
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2080,1
    - Dst: proxy_ftp_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2081,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2083,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 512
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyhost
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 972
    functionDepth: 5
    functionLinenumber: 972
    functionLinenumberEnd: 2085
    functionName: proxy_ftp_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - apr_socket_connect
    - apr_socket_create
    - htons
    - ap_run_pre_connection
    - apr_socket_accept
    - apr_uri_parse
    - ftp_check_string
    - apr_isalpha
    - apr_sockaddr_ip_get
    - ap_proxy_determine_address
    - ap_proxy_ssl_engine
    - ftp_check_globbingchars
    - APLOGNO
    - apr_table_set
    - apr_table_addn
    - ap_get_status_line
    - apr_pstrdup
    - APR_BRIGADE_LAST
    - apr_brigade_destroy
    - ap_add_output_filter
    - ap_proxyerror
    - ftp_escape_globbingchars
    - strchr
    - apr_isdigit
    - timegm
    - apr_psprintf
    - apr_table_get
    - sscanf
    - ap_proxy_connect_backend
    - APR_BRIGADE_INSERT_TAIL
    - APR_STATUS_IS_EINTR
    - ap_set_content_type_ex
    - ap_getword_nulls
    - ap_get_server_banner
    - ftp_set_TYPE
    - strlen
    - ap_proxy_checkproxyblock
    - apr_brigade_create
    - atoi
    - apr_socket_bind
    - apr_socket_listen
    - ap_get_module_config
    - apr_toupper
    - proxy_ftp_cleanup
    - ap_cstr_casecmp
    - APR_BUCKET_IS_EOS
    - apr_rfc822_date
    - ap_getword
    - ap_pass_brigade
    - apr_socket_addr_get
    - decodeenc
    - apr_socket_close
    - ap_create_connection
    - mktime
    - APR_BRIGADE_EMPTY
    - atol
    - ap_pbase64decode
    - ftp_proxyerror
    - ftp_unauthorized
    - apr_uri_port_of_scheme
    - ap_flush_conn
    - apr_socket_opt_set
    - apr_strtok
    - ap_proxy_release_connection
    - ap_proxy_acquire_connection
    - parse_epsv_reply
    - strncmp
    - apr_tolower
    - apr_pstrcat
    - apr_brigade_length
    - ap_cstr_casecmpn
    - ap_get_brigade
    - apr_isspace
    - ftp_get_PWD
    - apr_bucket_flush_create
    - proxy_ftp_command
    - ap_log_error
    - apr_brigade_cleanup
    - ap_log_rerror
    - memset
    - ap_proxy_connection_create_ex
    - ap_set_module_config
    - apr_table_setn
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: "int proxy_ftp_handler(request_rec *r, proxy_worker *worker,\n                             proxy_server_conf
      *conf, char *url,\n                             const char *proxyhost, apr_port_t
      proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2090,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2091,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2093,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2096,1
    - Dst: ap_assert
      Src: /src/httpd/modules/proxy/mod_proxy_ftp.c:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2098
    functionName: ap_proxy_ftp_register_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_ftp.c
    functionUses: 0
    functionsReached:
    - ap_register_output_filter
    - proxy_hook_canon_handler
    - ap_pregcomp
    - ap_assert
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void ap_proxy_ftp_register_hook(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_tunnel_run
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:45,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:49,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:49,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:53,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - baton
    - async
    argTypes:
    - ws_baton_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: proxy_wstunnel_pump
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_proxy_tunnel_run
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int proxy_wstunnel_pump(ws_baton_t *baton, int async)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:63,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:64,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:65,1
    - Dst: ap_lingering_close
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:66,1
    - Dst: ap_mpm_resume_suspended
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:67,1
    - Dst: ap_process_request_after_handler
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - baton
    argTypes:
    - ws_baton_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: proxy_wstunnel_finish
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_finalize_request_protocol
    - ap_log_rerror
    - ap_proxy_release_connection
    - ap_process_request_after_handler
    - ap_mpm_resume_suspended
    - ap_lingering_close
    linkageType: ''
    returnType: void
    signature: void proxy_wstunnel_finish(ws_baton_t *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:78,1
    - Dst: proxy_wstunnel_finish
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: proxy_wstunnel_cancel_callback
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - proxy_wstunnel_finish
    linkageType: ''
    returnType: void
    signature: void proxy_wstunnel_cancel_callback(void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:93,1
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:94,1
    - Dst: proxy_wstunnel_pump
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:96,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:97,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:100,1
    - Dst: ap_mpm_register_poll_callback_timeout
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:103,1
    - Dst: proxy_wstunnel_finish
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: proxy_wstunnel_callback
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - proxy_wstunnel_pump
    - ap_mpm_register_poll_callback_timeout
    - AP_DEBUG_ASSERT
    - apr_pool_clear
    - ap_get_module_config
    - proxy_wstunnel_finish
    linkageType: ''
    returnType: void
    signature: void proxy_wstunnel_callback(void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:116,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:120,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:124,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:125,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: proxy_wstunnel_check_trans
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_cstr_casecmpn
    - ap_get_module_config
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int proxy_wstunnel_check_trans(request_rec *r, const char *url)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:148,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:157,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:162,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:165,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:167,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:170,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:177,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:183,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:185,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:185,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:195,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:198,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:203,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:206,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:206,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:217,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:218,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:218,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:223,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:224,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:231,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:235,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:237,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 243
    functionName: proxy_wstunnel_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_pstrcat
    - APLOGNO
    - apr_snprintf
    - ap_proxy_canon_netloc
    - ap_proxy_canonenc_ex
    - ap_strchr_c
    - ap_get_module_config
    - apr_table_get
    - ap_scan_vchar_obstext
    - strlen
    - ap_cstr_casecmpn
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: int
    signature: int proxy_wstunnel_canon(request_rec *r, char *url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:259,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:270,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:272,1
    - Dst: ap_proxy_create_hdrbrgd
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:273,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:280,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:283,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:283,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:284,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:284,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:285,1
    - Dst: ap_proxy_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:287,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:291,1
    - Dst: ap_proxy_tunnel_create
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:293,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:295,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:295,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:300,1
    - Dst: proxy_wstunnel_pump
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:308,1
    - Dst: proxy_wstunnel_pump
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:312,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:318,1
    - Dst: ap_mpm_register_poll_callback_timeout
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:320,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:331,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:332,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:332,1
    - Dst: proxy_wstunnel_pump
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:337,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 10
    argNames:
    - p
    - r
    - conn
    - worker
    - conf
    - uri
    - url
    - server_portstr
    - scheme
    - upgrade
    argTypes:
    - apr_pool_t*
    - request_rec*
    - proxy_conn_rec*
    - proxy_worker*
    - proxy_server_conf*
    - apr_uri_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 248
    functionDepth: 6
    functionLinenumber: 248
    functionLinenumberEnd: 353
    functionName: proxy_wstunnel_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ENOTIMPL
    - ap_xlate_proto_to_ascii
    - ap_mpm_register_poll_callback_timeout
    - apr_brigade_create
    - ap_proxy_tunnel_create
    - ap_get_module_config
    - apr_bucket_pool_create
    - ap_proxy_pass_brigade
    - ap_proxy_create_hdrbrgd
    - ap_is_HTTP_ERROR
    - apr_pstrcat
    - proxy_wstunnel_pump
    - apr_pool_create
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_pcalloc
    - APLOGNO
    - strlen
    linkageType: ''
    returnType: int
    signature: "int proxy_wstunnel_request(apr_pool_t *p, request_rec *r,\n                                proxy_conn_rec
      *conn,\n                                proxy_worker *worker,\n                                proxy_server_conf
      *conf,\n                                apr_uri_t *uri,\n                                char
      *url, char *server_portstr, char *scheme,\n                                const
      char *upgrade)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:362,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:375,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:379,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:383,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:387,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:387,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:391,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:393,1
    - Dst: ap_proxy_worker_can_upgrade
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:394,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:398,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:398,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:402,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:403,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:407,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:408,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:408,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:411,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:419,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:428,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:429,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:429,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:437,1
    - Dst: proxy_wstunnel_request
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:443,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 357
    functionDepth: 7
    functionLinenumber: 357
    functionLinenumberEnd: 455
    functionName: proxy_wstunnel_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - proxy_wstunnel_request
    - ap_proxy_determine_connection
    - ap_log_rerror
    - ap_proxy_worker_can_upgrade
    - apr_palloc
    - ap_proxy_acquire_connection
    - ap_proxy_connection_create_ex
    - ap_proxy_release_connection
    - APLOGNO
    - apr_table_setn
    - ap_get_module_config
    - apr_table_get
    - ap_cstr_casecmpn
    - ap_proxy_connect_backend
    linkageType: ''
    returnType: int
    signature: "int proxy_wstunnel_handler(request_rec *r, proxy_worker *worker,\n
      \                            proxy_server_conf *conf,\n                             char
      *url, const char *proxyname,\n                             apr_port_t proxyport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:460,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:465,1
    - Dst: mpm_can_poll::mpm_can_poll
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: create_proxyws_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - mpm_can_poll::mpm_can_poll
    - ap_mpm_query
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_proxyws_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - vbase
    - vadd
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: merge_proxyws_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *merge_proxyws_dir_config(apr_pool_t *p, void *vbase, void *vadd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - conf
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: proxyws_set_idle
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: char * proxyws_set_idle(cmd_parms *cmd, void *conf, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - conf
    - val
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: proxyws_set_asynch_delay
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: char * proxyws_set_asynch_delay(cmd_parms *cmd, void *conf, const char
      *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - conf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: proxyws_fallback_to_proxy_http
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * proxyws_fallback_to_proxy_http(cmd_parms *cmd, void *conf, int
      arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_linked_module
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: proxy_wstunnel_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_find_linked_module
    linkageType: ''
    returnType: int
    signature: "int proxy_wstunnel_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \                                     apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:541,1
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:542,1
    - Dst: proxy_hook_check_trans
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:543,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_wstunnel.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: ws_proxy_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - proxy_hook_canon_handler
    - proxy_hook_check_trans
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void ws_proxy_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: MAX
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(x,y)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:106,1
    - Dst: atof
      Src: /src/httpd/modules/proxy/mod_proxy.c:110,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:116,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:121,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:128,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:133,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:136,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:138,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:141,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:146,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:149,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:155,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:159,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:164,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:169,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:176,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:180,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:187,1
    - Dst: atol
      Src: /src/httpd/modules/proxy/mod_proxy.c:188,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:195,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:196,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:203,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:204,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:206,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:212,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:213,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:215,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:221,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:222,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:224,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:230,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:234,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:237,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:238,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:239,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:240,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:248,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:251,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:252,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:254,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:256,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:259,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:260,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:262,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:264,1
    - Dst: ap_proxy_set_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy.c:279,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:284,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:285,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:287,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:289,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:294,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:295,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:305,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:308,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:315,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:316,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:321,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:325,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:332,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:333,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:334,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:338,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:339,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:340,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:344,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:345,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:346,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:347,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:351,1
    - Dst: atol
      Src: /src/httpd/modules/proxy/mod_proxy.c:352,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:359,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:361,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:363,1
    - Dst: set_worker_hc_param_f
      Src: /src/httpd/modules/proxy/mod_proxy.c:373,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 208
    argCount: 5
    argNames:
    - p
    - s
    - worker
    - key
    - val
    argTypes:
    - apr_pool_t*
    - server_rec*
    - proxy_worker*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 379
    functionName: set_worker_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - set_worker_hc_param_f
    - strcmp
    - apr_time_from_sec
    - strcasecmp
    - atoi
    - ap_timeout_parameter_parse
    - apr_psprintf
    - ap_proxy_set_wstatus
    - atol
    - strlen
    - PROXY_STRNCPY
    - apr_time_sec
    - atof
    linkageType: ''
    returnType: char
    signature: "char *set_worker_param(apr_pool_t *p,\n                                    server_rec
      *s,\n                                    proxy_worker *worker,\n                                    const
      char *key,\n                                    const char *val)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:390,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:396,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:397,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:399,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:400,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:402,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:404,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:407,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:411,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:412,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:421,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:426,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:428,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:434,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:440,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:446,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:450,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:456,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:458,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_proxy.c:460,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:463,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:473,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:478,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:480,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:486,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:491,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:493,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy.c:495,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:497,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/modules/proxy/mod_proxy.c:498,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:499,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_proxy.c:504,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:508,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:509,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:511,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:517,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:518,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:522,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:528,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:529,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:535,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:536,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:538,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 5
    argNames:
    - conf
    - p
    - balancer
    - key
    - val
    argTypes:
    - proxy_server_conf*
    - apr_pool_t*
    - proxy_balancer*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 548
    functionName: set_balancer_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strchr
    - strcasecmp
    - ap_lookup_provider
    - apr_pstrdup
    - ap_timeout_parameter_parse
    - atoi
    - ap_is_HTTP_VALID_RESPONSE
    - apr_array_push
    - apr_psprintf
    - strlen
    - PROXY_STRNCPY
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_balancer_param(proxy_server_conf *conf,\n                                      apr_pool_t
      *p,\n                                      proxy_balancer *balancer,\n                                      const
      char *key,\n                                      const char *val)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:552,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - uri
    - alias_fakename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 601
    functionName: alias_match
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int alias_match(const char *uri, const char *alias_fakename)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:621,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:622,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:622,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy.c:683,1
    - Dst: apr_array_pop
      Src: /src/httpd/modules/proxy/mod_proxy.c:686,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy.c:722,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy.c:766,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy.c:776,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_proxy.c:783,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 126
    argCount: 3
    argNames:
    - p
    - urip
    - alias
    argTypes:
    - apr_pool_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 796
    functionName: alias_match_servlet
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - APR_ARRAY_IDX
    - AP_DEBUG_ASSERT
    - apr_array_pop
    - strlen
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int alias_match_servlet(apr_pool_t *p,\n                               const
      char **urip,\n                               const char *alias)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:813,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:820,1
    - Dst: ap_http_scheme
      Src: /src/httpd/modules/proxy/mod_proxy.c:820,1
    - Dst: ap_matches_request_vhost
      Src: /src/httpd/modules/proxy/mod_proxy.c:821,1
    - Dst: ap_default_port
      Src: /src/httpd/modules/proxy/mod_proxy.c:824,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:827,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:837,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 841
    functionName: proxy_detect
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - ap_default_port
    - apr_pstrcat
    - ap_matches_request_vhost
    - ap_get_module_config
    - ap_http_scheme
    linkageType: ''
    returnType: int
    signature: int proxy_detect(request_rec *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/mod_proxy.c:858,1
    - Dst: ap_proxy_interpolate
      Src: /src/httpd/modules/proxy/mod_proxy.c:859,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:866,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:866,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy.c:872,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:874,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:874,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy.c:880,1
    - Dst: ap_pregsub
      Src: /src/httpd/modules/proxy/mod_proxy.c:885,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:888,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:888,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:907,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:908,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:911,1
    - Dst: alias_match_servlet
      Src: /src/httpd/modules/proxy/mod_proxy.c:918,1
    - Dst: alias_match
      Src: /src/httpd/modules/proxy/mod_proxy.c:922,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:927,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:927,1
    - Dst: alias_match
      Src: /src/httpd/modules/proxy/mod_proxy.c:932,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:936,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:943,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:943,1
    - Dst: proxy_run_check_trans
      Src: /src/httpd/modules/proxy/mod_proxy.c:954,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:964,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:967,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:970,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:974,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:974,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy.c:983,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:983,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:983,1
    - Dst: strcpy
      Src: /src/httpd/modules/proxy/mod_proxy.c:984,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:987,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:987,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - r
    - ent
    - dconf
    argTypes:
    - request_rec*
    - struct proxy_alias*
    - proxy_dir_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 995
    functionName: ap_proxy_trans_match
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_rerror
    - alias_match
    - apr_pstrcat
    - ap_pregsub
    - proxy_run_check_trans
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_table_setn
    - ap_regexec
    - strcpy
    - ap_proxy_interpolate
    - alias_match_servlet
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_trans_match(request_rec *r, struct proxy_alias *ent,\n
      \                                       proxy_dir_conf *dconf)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1017,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1018,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1037,1
    - Dst: ap_proxy_trans_match
      Src: /src/httpd/modules/proxy/mod_proxy.c:1045,1
    - Dst: ap_proxy_trans_match
      Src: /src/httpd/modules/proxy/mod_proxy.c:1057,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - r
    - pre_trans
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1065
    functionName: proxy_trans
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_proxy_trans_match
    - apr_table_get
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int proxy_trans(request_rec *r, int pre_trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_trans
      Src: /src/httpd/modules/proxy/mod_proxy.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1067
    functionDepth: 4
    functionLinenumber: 1067
    functionLinenumberEnd: 1070
    functionName: proxy_pre_translate_name
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - proxy_trans
    linkageType: ''
    returnType: int
    signature: int proxy_pre_translate_name(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_trans
      Src: /src/httpd/modules/proxy/mod_proxy.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 4
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: proxy_translate_name
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - proxy_trans
    linkageType: ''
    returnType: int
    signature: int proxy_translate_name(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1079,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1100,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy.c:1106,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy.c:1107,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:1110,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy.c:1113,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1120,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy.c:1122,1
    - Dst: apr_fnmatch
      Src: /src/httpd/modules/proxy/mod_proxy.c:1134,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1136,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:1137,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/modules/proxy/mod_proxy.c:1140,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_proxy.c:1147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1151
    functionName: proxy_walk
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pool_tag
    - apr_table_setn
    - apr_pool_create
    - ap_regexec
    - ap_merge_per_dir_configs
    - apr_pstrndup
    - ap_get_module_config
    - apr_fnmatch
    - apr_pool_destroy
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int proxy_walk(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1157,1
    - Dst: proxy_walk
      Src: /src/httpd/modules/proxy/mod_proxy.c:1163,1
    - Dst: ap_die
      Src: /src/httpd/modules/proxy/mod_proxy.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1153
    functionDepth: 3
    functionLinenumber: 1153
    functionLinenumberEnd: 1169
    functionName: proxy_map_location
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - proxy_walk
    - strncmp
    - ap_die
    linkageType: ''
    returnType: int
    signature: int proxy_map_location(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1179,1
    - Dst: ap_proxy_canon_url
      Src: /src/httpd/modules/proxy/mod_proxy.c:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1185
    functionName: proxy_fixup
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_proxy_canon_url
    - strncmp
    linkageType: ''
    returnType: int
    signature: int proxy_fixup(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1203,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1204,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1205,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1208,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1212,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy.c:1214,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1218,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1219,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1219,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/modules/proxy/mod_proxy.c:1221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - r
    - url
    - domain
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1226
    functionName: proxy_needsdomain
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_uri_unparse
    - ap_log_rerror
    - apr_pstrcat
    - ap_cstr_casecmp
    - strchr
    - APLOGNO
    - apr_table_setn
    - apr_table_get
    linkageType: ''
    returnType: int
    signature: int proxy_needsdomain(request_rec *r, const char *url, const char *domain)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1237,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1256,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1260,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1261,1
    - Dst: ap_proxy_canon_url
      Src: /src/httpd/modules/proxy/mod_proxy.c:1264,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1270,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy.c:1271,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1279,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1281,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1281,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:1285,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1288,1
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/proxy/mod_proxy.c:1290,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1292,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1292,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1294,1
    - Dst: ap_send_http_trace
      Src: /src/httpd/modules/proxy/mod_proxy.c:1302,1
    - Dst: ap_die
      Src: /src/httpd/modules/proxy/mod_proxy.c:1303,1
    - Dst: ap_send_http_options
      Src: /src/httpd/modules/proxy/mod_proxy.c:1309,1
    - Dst: ap_die
      Src: /src/httpd/modules/proxy/mod_proxy.c:1310,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1314,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1326,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:1327,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1332,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1339,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1341,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1342,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1342,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1357,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1359,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1360,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1360,1
    - Dst: proxy_needsdomain
      Src: /src/httpd/modules/proxy/mod_proxy.c:1368,1
    - Dst: ap_is_HTTP_REDIRECT
      Src: /src/httpd/modules/proxy/mod_proxy.c:1369,1
    - Dst: matcher
      Src: /src/httpd/modules/proxy/mod_proxy.c:1377,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1380,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1381,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1381,1
    - Dst: ap_proxy_pre_request
      Src: /src/httpd/modules/proxy/mod_proxy.c:1388,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:1408,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy.c:1416,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1417,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy.c:1419,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1420,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1422,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy.c:1423,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1426,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1426,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy.c:1430,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1431,1
    - Dst: proxy_run_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy.c:1435,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy.c:1440,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1455,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/proxy/mod_proxy.c:1456,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1471,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1485,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1485,1
    - Dst: AP_PROXY_RUN
      Src: /src/httpd/modules/proxy/mod_proxy.c:1488,1
    - Dst: proxy_run_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy.c:1489,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1492,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy.c:1502,1
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/mod_proxy.c:1514,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/mod_proxy.c:1526,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy.c:1530,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:1530,1
    - Dst: ap_proxy_post_request
      Src: /src/httpd/modules/proxy/mod_proxy.c:1553,1
    - Dst: ap_proxy_post_request
      Src: /src/httpd/modules/proxy/mod_proxy.c:1563,1
    - Dst: proxy_run_request_status
      Src: /src/httpd/modules/proxy/mod_proxy.c:1566,1
    - Dst: AP_PROXY_RUN_FINISHED
      Src: /src/httpd/modules/proxy/mod_proxy.c:1567,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 170
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1231
    functionDepth: 5
    functionLinenumber: 1231
    functionLinenumberEnd: 1570
    functionName: proxy_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_proxy_pre_request
    - apr_pstrmemdup
    - ap_proxy_canon_url
    - ap_parse_strict_length
    - ap_get_module_config
    - PROXY_WORKER_IS_USABLE
    - strncmp
    - ap_is_HTTP_REDIRECT
    - ap_proxyerror
    - apr_pstrcat
    - strchr
    - proxy_needsdomain
    - ap_cstr_casecmp
    - strlen
    - ap_proxy_initialize_worker
    - apr_psprintf
    - apr_table_get
    - ap_proxy_post_request
    - ap_strchr_c
    - ap_cstr_casecmpn
    - strcmp
    - ap_get_core_module_config
    - ap_die
    - apr_strtoi64
    - AP_PROXY_RUN
    - matcher
    - proxy_run_request_status
    - ap_log_rerror
    - AP_PROXY_RUN_FINISHED
    - APLOGNO
    - apr_table_setn
    - ap_regexec
    - apr_table_set
    - apr_table_unset
    - ap_send_http_trace
    - proxy_run_scheme_handler
    - ap_send_http_options
    linkageType: ''
    returnType: int
    signature: int proxy_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:1577,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1579,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1580,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1581,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1582,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1583,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1584,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1585,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:1591,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:1616,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1620
    functionName: create_proxy_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create_ex
    - apr_psprintf
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void * create_proxy_config(apr_pool_t *p, server_rec *s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1630,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:1650,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:1651,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:1667,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/proxy/mod_proxy.c:1696,1
    - Dst: apr_array_cat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1697,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:1707,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1712,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 3
    argNames:
    - p
    - base
    - overrides
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1713
    functionName: merge_balancers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_array_cat
    - apr_array_push
    - apr_array_append
    - PROXY_STRNCPY
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *merge_balancers(apr_pool_t *p,\n                                           apr_array_header_t
      *base,\n                                           apr_array_header_t *overrides)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:1717,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1728,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1733,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1734,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1735,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1736,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1738,1
    - Dst: merge_balancers
      Src: /src/httpd/modules/proxy/mod_proxy.c:1739,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1715
    functionDepth: 2
    functionLinenumber: 1715
    functionLinenumberEnd: 1777
    functionName: merge_proxy_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - merge_balancers
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1782,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:1785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1795
    functionName: set_source_address
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *set_source_address(cmd_parms *parms, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:1800,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1805,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1806,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1807,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1821
    functionName: create_proxy_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_array_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_proxy_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1826
    functionName: int_order
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_order(const void *i1, const void *i2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:1830,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1840,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1842,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1844,1
    - Dst: apr_array_append
      Src: /src/httpd/modules/proxy/mod_proxy.c:1846,1
    - Dst: qsort
      Src: /src/httpd/modules/proxy/mod_proxy.c:1852,1
    - Dst: error_override_codes::error_override_codes
      Src: /src/httpd/modules/proxy/mod_proxy.c:1852,1
    - Dst: error_override_codes::error_override_codes
      Src: /src/httpd/modules/proxy/mod_proxy.c:1853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - p
    - basev
    - addv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1891
    functionName: merge_proxy_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - qsort
    - error_override_codes::error_override_codes
    - apr_pcalloc
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_proxy_dir_config(apr_pool_t *p, void *basev, void *addv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:1898,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:1905,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:1906,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:1907,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1908,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1918,1
    - Dst: sscanf
      Src: /src/httpd/modules/proxy/mod_proxy.c:1920,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/proxy/mod_proxy.c:1932,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:1937,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/mod_proxy.c:1938,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/mod_proxy.c:1939,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_proxy.c:1942,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:1945,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1953,1
    - Dst: ap_pbase64encode
      Src: /src/httpd/modules/proxy/mod_proxy.c:1954,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 6
    argNames:
    - cmd
    - dummy
    - f1
    - r1
    - creds
    - regex
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1958
    functionName: add_proxy
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_pstrcat
    - strchr
    - ap_pbase64encode
    - ap_pregcomp
    - ap_get_module_config
    - apr_array_push::apr_array_push
    - apr_pstrdup
    - sscanf
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: char
    signature: "char *add_proxy(cmd_parms *cmd, void *dummy, const char *f1,\n                             const
      char *r1, const char *creds, int regex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_proxy
      Src: /src/httpd/modules/proxy/mod_proxy.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - dummy
    - f1
    - r1
    - creds
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1964
    functionName: add_proxy_noregex
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - add_proxy
    linkageType: ''
    returnType: char
    signature: "char *add_proxy_noregex(cmd_parms *cmd, void *dummy, const char *f1,\n
      \                                    const char *r1, const char *creds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_proxy
      Src: /src/httpd/modules/proxy/mod_proxy.c:1969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cmd
    - dummy
    - f1
    - r1
    - creds
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1966
    functionDepth: 2
    functionLinenumber: 1966
    functionLinenumberEnd: 1970
    functionName: add_proxy_regex
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - add_proxy
    linkageType: ''
    returnType: char
    signature: "char *add_proxy_regex(cmd_parms *cmd, void *dummy, const char *f1,\n
      \                                  const char *r1, const char *creds)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/modules/proxy/mod_proxy.c:1979,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy.c:1980,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy.c:1988,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1993,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:1996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - p
    - url
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2003
    functionName: ap_proxy_de_socketfy
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 1
    functionsReached:
    - ap_strchr_c
    - ap_cstr_casecmpn
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void ap_proxy_de_socketfy(apr_pool_t *p, const char *url)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2011,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:2017,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy.c:2026,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2032,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2034,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2046,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2049,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2052,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:2056,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2076,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2077,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2080,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:2088,1
    - Dst: ap_proxy_de_socketfy
      Src: /src/httpd/modules/proxy/mod_proxy.c:2102,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy.c:2109,1
    - Dst: dconf::dconf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2111,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/modules/proxy/mod_proxy.c:2112,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2118,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:2121,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:2122,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2125,1
    - Dst: regex::regex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2126,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy.c:2136,1
    - Dst: ap_proxy_valid_balancer_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2139,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2140,1
    - Dst: ap_proxy_define_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2155,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2157,1
    - Dst: ap_proxy_update_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2160,1
    - Dst: set_balancer_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:2163,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2166,1
    - Dst: ap_proxy_get_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2172,1
    - Dst: real::real
      Src: /src/httpd/modules/proxy/mod_proxy.c:2173,1
    - Dst: ap_proxy_define_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2177,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2180,1
    - Dst: PROXY_COPY_CONF_PARAMS
      Src: /src/httpd/modules/proxy/mod_proxy.c:2182,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2186,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2186,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2188,1
    - Dst: real::real
      Src: /src/httpd/modules/proxy/mod_proxy.c:2188,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2193,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2193,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2195,1
    - Dst: set_worker_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:2197,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2200,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 128
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg
    - is_regex
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2005
    functionDepth: 4
    functionLinenumber: 2005
    functionLinenumberEnd: 2205
    functionName: add_pass
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_table_elts
    - PROXY_COPY_CONF_PARAMS
    - ap_proxy_worker_get_name
    - ap_get_module_config
    - dconf::dconf
    - apr_table_make
    - real::real
    - ap_proxy_update_balancer
    - apr_pstrcat
    - strchr
    - ap_proxy_valid_balancer_name
    - ap_proxy_get_worker_ex
    - apr_fnmatch_test
    - set_worker_param
    - strcmp
    - ap_proxy_get_balancer
    - ap_log_error
    - ap_pregcomp
    - ap_proxy_de_socketfy
    - regex::regex
    - apr_pcalloc
    - ap_proxy_define_balancer
    - strcasecmp
    - APLOGNO
    - apr_table_setn
    - ap_proxy_define_worker_ex
    - ap_check_cmd_context
    - set_balancer_param
    - apr_array_push::apr_array_push
    - apr_pstrdup
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *\n    add_pass(cmd_parms *cmd, void *dummy, const char *arg,
      int is_regex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pass
      Src: /src/httpd/modules/proxy/mod_proxy.c:2210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2211
    functionName: add_pass_noregex
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - add_pass
    linkageType: ''
    returnType: char
    signature: "char *\n    add_pass_noregex(cmd_parms *cmd, void *dummy, const char
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pass
      Src: /src/httpd/modules/proxy/mod_proxy.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2217
    functionName: add_pass_regex
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - add_pass
    linkageType: ''
    returnType: char
    signature: "char *\n    add_pass_regex(cmd_parms *cmd, void *dummy, const char
      *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy.c:2230,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2236,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2244,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - cmd
    - dconf
    - f
    - r
    - i
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2258
    functionName: add_pass_reverse
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_check_cmd_context
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: "char * add_pass_reverse(cmd_parms *cmd, void *dconf, const char *f,\n
      \                                    const char *r, const char *i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cmd
    - dconf
    - f
    - r
    - interp
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2271
    functionName: cookie_path
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: "char * cookie_path(cmd_parms *cmd, void *dconf, const char *f,\n                               const
      char *r, const char *interp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cmd
    - dconf
    - f
    - r
    - interp
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2283
    functionName: cookie_domain
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_array_push::apr_array_push
    linkageType: ''
    returnType: char
    signature: "char * cookie_domain(cmd_parms *cmd, void *dconf, const char *f,\n
      \                                const char *r, const char *interp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2290,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2299,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2306,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_proxy.c:2308,1
    - Dst: name::name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2316
    functionName: set_proxy_exclude
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - name::name
    - apr_array_push::apr_array_push
    - ap_get_module_config
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_exclude(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2327,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2335,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2342,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:2343,1
    - Dst: ap_proxy_is_ipaddr
      Src: /src/httpd/modules/proxy/mod_proxy.c:2346,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2348,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2348,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/proxy/mod_proxy.c:2349,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2350,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2350,1
    - Dst: inet_ntoa
      Src: /src/httpd/modules/proxy/mod_proxy.c:2351,1
    - Dst: ap_proxy_is_domainname
      Src: /src/httpd/modules/proxy/mod_proxy.c:2354,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/mod_proxy.c:2355,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2357,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2357,1
    - Dst: ap_proxy_is_hostname
      Src: /src/httpd/modules/proxy/mod_proxy.c:2361,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/mod_proxy.c:2362,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2364,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2364,1
    - Dst: ap_proxy_is_word
      Src: /src/httpd/modules/proxy/mod_proxy.c:2369,1
    - Dst: fprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2322
    functionDepth: 2
    functionLinenumber: 2322
    functionLinenumberEnd: 2376
    functionName: set_proxy_dirconn
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - ap_proxy_is_domainname
    - ap_proxy_is_ipaddr
    - ap_proxy_is_hostname
    - strcasecmp
    - apr_array_push
    - APLOGNO
    - fprintf
    - ap_log_error
    - inet_ntoa
    - ap_get_module_config
    - apr_pstrdup
    - ap_proxy_is_word
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_dirconn(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2389
    functionName: set_proxy_domain
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_domain(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2400
    functionName: set_proxy_req
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_req(cmd_parms *parms, void *dummy, int flag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2407,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2411,1
    - Dst: apr_isdigit
      Src: /src/httpd/modules/proxy/mod_proxy.c:2418,1
    - Dst: strtol
      Src: /src/httpd/modules/proxy/mod_proxy.c:2423,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/mod_proxy.c:2424,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2445
    functionName: set_proxy_error_override
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_ERROR
    - apr_isdigit
    - strcasecmp
    - apr_array_push
    - strtol
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_error_override(cmd_parms *parms, void *dconf,
      const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2454
    functionName: add_proxy_http_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n   add_proxy_http_headers(cmd_parms *parms, void *dconf, int
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2463
    functionName: set_preserve_host
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n    set_preserve_host(cmd_parms *parms, void *dconf, int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dconf
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2471
    functionName: forward_100_continue
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n   forward_100_continue(cmd_parms *parms, void *dconf, int
      flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2477,1
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:2480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2486
    functionName: set_proxy_async_delay
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_async_delay(cmd_parms *parms, void *dconf, const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_timeout_parameter_parse
      Src: /src/httpd/modules/proxy/mod_proxy.c:2492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - parms
    - dconf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2498
    functionName: set_proxy_async_idle
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_timeout_parameter_parse
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_async_idle(cmd_parms *parms, void *dconf, const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2504,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2513
    functionName: set_recv_buffer_size
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_recv_buffer_size(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2519,1
    - Dst: atol
      Src: /src/httpd/modules/proxy/mod_proxy.c:2520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2527
    functionName: set_io_buffer_size
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - atol
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_io_buffer_size(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2533,1
    - Dst: atol
      Src: /src/httpd/modules/proxy/mod_proxy.c:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2539
    functionName: set_max_forwards
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - atol
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_max_forwards(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2544,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:2547,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:2552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2555
    functionName: set_proxy_timeout
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_timeout(cmd_parms *parms, void *dummy, const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2561,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2563,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2565,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2567,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2578
    functionName: set_via_opt
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_via_opt(cmd_parms *parms, void *dummy, const char
      *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2584,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2586,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2588,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2599
    functionName: set_bad_opt
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_bad_opt(cmd_parms *parms, void *dummy, const char
      *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2605,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2607,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2609,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2620
    functionName: set_status_opt
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *\n    set_status_opt(cmd_parms *parms, void *dummy, const char
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2625,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy.c:2627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parms
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2635
    functionName: set_bgrowth
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_bgrowth(cmd_parms *parms, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2644
    functionName: set_persist
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_persist(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2654
    functionName: set_inherit
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_inherit(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parms
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2664
    functionName: set_ppinherit
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_ppinherit(cmd_parms *parms, void *dummy, int flag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2670,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:2677,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy.c:2683,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy.c:2688,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2692,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:2693,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy.c:2709,1
    - Dst: ap_proxy_de_socketfy
      Src: /src/httpd/modules/proxy/mod_proxy.c:2716,1
    - Dst: ap_str_tolower
      Src: /src/httpd/modules/proxy/mod_proxy.c:2720,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2723,1
    - Dst: ap_proxy_define_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2725,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2727,1
    - Dst: ap_proxy_get_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:2731,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2733,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2733,1
    - Dst: ap_proxy_define_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:2736,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2737,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2738,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2738,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2740,1
    - Dst: PROXY_COPY_CONF_PARAMS
      Src: /src/httpd/modules/proxy/mod_proxy.c:2741,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2744,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2744,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2746,1
    - Dst: apr_table_elts
      Src: /src/httpd/modules/proxy/mod_proxy.c:2752,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:2756,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:2756,1
    - Dst: ap_proxy_worker_get_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2758,1
    - Dst: set_worker_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:2760,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2763,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2666
    functionDepth: 5
    functionLinenumber: 2666
    functionLinenumberEnd: 2768
    functionName: add_member
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_table_elts
    - PROXY_COPY_CONF_PARAMS
    - ap_proxy_worker_get_name
    - ap_get_module_config
    - apr_table_make
    - apr_pstrcat
    - strchr
    - set_worker_param
    - ap_proxy_get_balancer
    - ap_proxy_define_worker
    - ap_log_error
    - ap_proxy_de_socketfy
    - ap_proxy_define_balancer
    - APLOGNO
    - apr_table_setn
    - ap_proxy_get_worker
    - ap_check_cmd_context
    - apr_pstrdup
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2775,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy.c:2783,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2788,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2794,1
    - Dst: ap_strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:2795,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2797,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2810,1
    - Dst: ap_proxy_valid_balancer_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2813,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2814,1
    - Dst: ap_proxy_define_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2817,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2819,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2823,1
    - Dst: ap_proxy_de_socketfy
      Src: /src/httpd/modules/proxy/mod_proxy.c:2830,1
    - Dst: ap_proxy_get_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2834,1
    - Dst: ap_proxy_define_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2838,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2841,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2845,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2851,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:2852,1
    - Dst: set_worker_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:2860,1
    - Dst: set_balancer_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:2862,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2865,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2770
    functionDepth: 4
    functionLinenumber: 2770
    functionLinenumberEnd: 2869
    functionName: set_proxy_param
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_strchr
    - apr_pstrcat
    - ap_proxy_get_balancer
    - strchr
    - ap_proxy_define_balancer
    - ap_proxy_get_worker_ex
    - ap_proxy_define_worker_ex
    - set_worker_param
    - ap_check_cmd_context
    - ap_proxy_valid_balancer_name
    - set_balancer_param
    - ap_get_module_config
    - ap_proxy_de_socketfy
    - strncasecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *\n    set_proxy_param(cmd_parms *cmd, void *dummy, const char
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2873,1
    - Dst: apr_array_push
      Src: /src/httpd/modules/proxy/mod_proxy.c:2875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - dir_config
    argTypes:
    - server_rec*
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2878
    functionName: ap_add_per_proxy_conf
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void ap_add_per_proxy_conf(server_rec *s, ap_conf_vector_t *dir_config)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/modules/proxy/mod_proxy.c:2883,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2887,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_proxy.c:2894,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2896,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2903,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy.c:2907,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2916,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2919,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/proxy/mod_proxy.c:2927,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/modules/proxy/mod_proxy.c:2935,1
    - Dst: ap_walk_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:2938,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/modules/proxy/mod_proxy.c:2944,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_proxy.c:2947,1
    - Dst: ap_regname
      Src: /src/httpd/modules/proxy/mod_proxy.c:2948,1
    - Dst: ap_add_per_proxy_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:2953,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2959,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy.c:2962,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2963,1
    - Dst: ap_proxy_valid_balancer_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:2966,1
    - Dst: ap_proxy_get_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2967,1
    - Dst: ap_proxy_define_balancer
      Src: /src/httpd/modules/proxy/mod_proxy.c:2969,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2972,1
    - Dst: ap_proxy_de_socketfy
      Src: /src/httpd/modules/proxy/mod_proxy.c:2982,1
    - Dst: ap_proxy_get_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2986,1
    - Dst: ap_proxy_define_worker_ex
      Src: /src/httpd/modules/proxy/mod_proxy.c:2989,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:2992,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:3000,1
    - Dst: ap_getword_conf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3005,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy.c:3006,1
    - Dst: set_worker_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:3014,1
    - Dst: set_balancer_param
      Src: /src/httpd/modules/proxy/mod_proxy.c:3016,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy.c:3019,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 2880
    functionDepth: 4
    functionLinenumber: 2880
    functionLinenumberEnd: 3028
    functionName: proxysection
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_set_config_vectors
    - ap_regname
    - ap_get_module_config
    - apr_pstrcat
    - strchr
    - apr_pstrndup
    - ap_proxy_valid_balancer_name
    - ap_strchr_c
    - strncasecmp
    - apr_fnmatch_test
    - ap_proxy_get_worker_ex
    - set_worker_param
    - ap_add_per_proxy_conf
    - ap_proxy_get_balancer
    - ap_walk_config
    - ap_pregcomp
    - ap_proxy_de_socketfy
    - ap_proxy_define_balancer
    - ap_proxy_define_worker_ex
    - ap_check_cmd_context
    - set_balancer_param
    - ap_strrchr_c
    - ap_create_per_dir_config
    - apr_array_make
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *proxysection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_has_outgoing_handlers
      Src: /src/httpd/modules/proxy/mod_proxy.c:3121,1
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/modules/proxy/mod_proxy.c:3123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3114
    functionDepth: 1
    functionLinenumber: 3114
    functionLinenumberEnd: 3124
    functionName: ap_proxy_ssl_enable
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_ssl_has_outgoing_handlers
    - ap_ssl_bind_outgoing
    linkageType: ''
    returnType: void
    signature: void ap_proxy_ssl_enable(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/modules/proxy/mod_proxy.c:3128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3126
    functionDepth: 1
    functionLinenumber: 3126
    functionLinenumberEnd: 3129
    functionName: ap_proxy_ssl_disable
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_ssl_bind_outgoing
    linkageType: ''
    returnType: void
    signature: void ap_proxy_ssl_disable(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_has_outgoing_handlers
      Src: /src/httpd/modules/proxy/mod_proxy.c:3140,1
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/modules/proxy/mod_proxy.c:3142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - per_dir_config
    - enable
    argTypes:
    - conn_rec*
    - ap_conf_vector_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3131
    functionDepth: 1
    functionLinenumber: 3131
    functionLinenumberEnd: 3143
    functionName: ap_proxy_ssl_engine
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 4
    functionsReached:
    - ap_ssl_has_outgoing_handlers
    - ap_ssl_bind_outgoing
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_ssl_engine(conn_rec *c,\n                                       ap_conf_vector_t
      *per_dir_config,\n                                       int enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/modules/proxy/mod_proxy.c:3147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3145
    functionDepth: 1
    functionLinenumber: 3145
    functionLinenumberEnd: 3148
    functionName: ap_proxy_conn_is_https
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 1
    functionsReached:
    - ap_ssl_conn_is_ssl
    linkageType: ''
    returnType: void
    signature: void ap_proxy_conn_is_https(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/modules/proxy/mod_proxy.c:3154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - var
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3150
    functionDepth: 1
    functionLinenumber: 3150
    functionLinenumberEnd: 3155
    functionName: ap_proxy_ssl_val
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 1
    functionsReached:
    - ap_ssl_var_lookup
    linkageType: ''
    returnType: void
    signature: "void ap_proxy_ssl_val(apr_pool_t *p, server_rec *s,\n                                             conn_rec
      *c, request_rec *r,\n                                             const char
      *var)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_global_mutex_create
      Src: /src/httpd/modules/proxy/mod_proxy.c:3161,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/proxy/mod_proxy.c:3164,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:3164,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy.c:3169,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy.c:3170,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy.c:3171,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/modules/proxy/mod_proxy.c:3172,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/modules/proxy/mod_proxy.c:3173,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3178,1
    - Dst: proxy_run_section_post_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - main_s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3157
    functionDepth: 1
    functionLinenumber: 3157
    functionLinenumberEnd: 3192
    functionName: proxy_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - apr_strmatch_precompile
    - APLOGNO
    - proxy_run_section_post_config
    - ap_global_mutex_create
    - ap_get_module_config
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int proxy_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *main_s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3202,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3213,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3214,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3215,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy.c:3219,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3220,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3224,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3228,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3230,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/mod_proxy.c:3231,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3232,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3234,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3235,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3242,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3249,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3250,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3251,1
    - Dst: ap_proxy_parse_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy.c:3251,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3252,1
    - Dst: ap_rvputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3253,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3254,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3255,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3256,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3258,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3260,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/proxy/mod_proxy.c:3260,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3261,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3262,1
    - Dst: apr_strfsize
      Src: /src/httpd/modules/proxy/mod_proxy.c:3262,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3263,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3266,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3269,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3271,1
    - Dst: ap_proxy_parse_wstatus
      Src: /src/httpd/modules/proxy/mod_proxy.c:3272,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3273,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3276,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3279,1
    - Dst: ap_rprintf
      Src: /src/httpd/modules/proxy/mod_proxy.c:3282,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3292,1
    - Dst: ap_rputs
      Src: /src/httpd/modules/proxy/mod_proxy.c:3297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3197
    functionDepth: 2
    functionLinenumber: 3197
    functionLinenumberEnd: 3313
    functionName: proxy_status_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_strfsize
    - ap_proxy_parse_wstatus
    - ap_rputs
    - ap_rprintf
    - ap_get_module_config
    - apr_time_sec
    - ap_rvputs
    linkageType: ''
    returnType: int
    signature: int proxy_status_hook(request_rec *r, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_global_mutex_child_init
      Src: /src/httpd/modules/proxy/mod_proxy.c:3321,1
    - Dst: apr_global_mutex_lockfile
      Src: /src/httpd/modules/proxy/mod_proxy.c:3322,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy.c:3325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:3325,1
    - Dst: exit
      Src: /src/httpd/modules/proxy/mod_proxy.c:3327,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3330,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3337,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:3344,1
    - Dst: ap_proxy_define_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:3349,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3351,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3352,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3353,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3354,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy.c:3356,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy.c:3358,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:3365,1
    - Dst: ap_proxy_define_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:3373,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3375,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3376,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3377,1
    - Dst: PROXY_STRNCPY
      Src: /src/httpd/modules/proxy/mod_proxy.c:3378,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy.c:3380,1
    - Dst: ap_proxy_hashfunc
      Src: /src/httpd/modules/proxy/mod_proxy.c:3382,1
    - Dst: ap_proxy_initialize_worker
      Src: /src/httpd/modules/proxy/mod_proxy.c:3389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3315
    functionDepth: 4
    functionLinenumber: 3315
    functionLinenumberEnd: 3393
    functionName: child_init
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 39
    functionsReached:
    - apr_global_mutex_child_init
    - APLOGNO
    - apr_global_mutex_lockfile
    - ap_proxy_define_worker
    - ap_proxy_hashfunc
    - ap_proxy_initialize_worker
    - ap_log_error
    - ap_get_module_config
    - exit
    - PROXY_STRNCPY
    linkageType: ''
    returnType: void
    signature: void child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_register
      Src: /src/httpd/modules/proxy/mod_proxy.c:3402,1
    - Dst: ap_log_perror
      Src: /src/httpd/modules/proxy/mod_proxy.c:3405,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy.c:3405,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/modules/proxy/mod_proxy.c:3410,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy.c:3414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3399
    functionDepth: 1
    functionLinenumber: 3399
    functionLinenumberEnd: 3416
    functionName: proxy_pre_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - ap_mutex_register
    - APLOGNO
    - APR_OPTIONAL_HOOK
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int proxy_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                            apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/proxy/mod_proxy.c:3428,1
    - Dst: ap_hook_pre_translate_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:3430,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/modules/proxy/mod_proxy.c:3433,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/modules/proxy/mod_proxy.c:3436,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/modules/proxy/mod_proxy.c:3438,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/modules/proxy/mod_proxy.c:3440,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3442,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy.c:3444,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/modules/proxy/mod_proxy.c:3446,1
    - Dst: proxy_util_register_hooks
      Src: /src/httpd/modules/proxy/mod_proxy.c:3449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3417
    functionDepth: 2
    functionLinenumber: 3417
    functionLinenumberEnd: 3450
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy.c
    functionUses: 2
    functionsReached:
    - ap_hook_pre_config
    - proxy_util_register_hooks
    - ap_hook_pre_translate_name
    - ap_hook_translate_name
    - ap_hook_map_to_storage
    - ap_hook_handler
    - ap_hook_fixups
    - ap_hook_post_config
    - ap_hook_child_init
    - ap_hook_post_read_request
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ajp_msg_end
      Src: /src/httpd/modules/proxy/ajp_link.c:27,1
    - Dst: apr_socket_send
      Src: /src/httpd/modules/proxy/ajp_link.c:35,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_link.c:37,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_link.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - apr_socket_t*
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: ajp_ilink_send
    functionSourceFile: /src/httpd/modules/proxy/ajp_link.c
    functionUses: 3
    functionsReached:
    - ajp_msg_end
    - APLOGNO
    - ap_log_error
    - apr_socket_send
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_ilink_send(apr_socket_t *sock, ajp_msg_t *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_recv
      Src: /src/httpd/modules/proxy/ajp_link.c:58,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/ajp_link.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - buf
    - len
    argTypes:
    - apr_socket_t*
    - apr_byte_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: ilink_read
    functionSourceFile: /src/httpd/modules/proxy/ajp_link.c
    functionUses: 0
    functionsReached:
    - apr_socket_recv
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ilink_read(apr_socket_t *sock, apr_byte_t *buf,\n                               apr_size_t
      len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ilink_read
      Src: /src/httpd/modules/proxy/ajp_link.c:82,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_link.c:85,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_link.c:85,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/ajp_link.c:87,1
    - Dst: ajp_msg_check_header
      Src: /src/httpd/modules/proxy/ajp_link.c:90,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_link.c:93,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_link.c:93,1
    - Dst: ilink_read
      Src: /src/httpd/modules/proxy/ajp_link.c:98,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_link.c:101,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_link.c:101,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/ajp_link.c:108,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/ajp_link.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - apr_socket_t*
    - ajp_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 114
    functionName: ajp_ilink_receive
    functionSourceFile: /src/httpd/modules/proxy/ajp_link.c
    functionUses: 2
    functionsReached:
    - ilink_read
    - APLOGNO
    - ap_log_error
    - APR_STATUS_IS_TIMEUP
    - ajp_msg_check_header
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ajp_ilink_receive(apr_socket_t *sock, ajp_msg_t *msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:38,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:44,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:54,1
    - Dst: apr_tolower
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:60,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - url
    - is_ssl
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 71
    functionName: get_url_scheme
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_tolower
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: char *get_url_scheme(const char **url, int *is_ssl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_url_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:88,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:94,1
    - Dst: ap_proxy_canon_netloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:100,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:102,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:102,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:118,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:121,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:126,1
    - Dst: ap_proxy_canonenc_ex
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:129,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:129,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:145,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:146,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:146,1
    - Dst: ap_scan_vchar_obstext
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:151,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:152,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:152,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:159,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:163,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:164,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:167,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - r
    - url
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 170
    functionName: proxy_http_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_pstrcat
    - APLOGNO
    - ap_proxy_canon_netloc
    - get_url_scheme
    - ap_proxy_canonenc_ex
    - ap_strchr_c
    - apr_table_get
    - ap_scan_vchar_obstext
    - strlen
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int proxy_http_canon(request_rec *r, char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:190,1
    - Dst: ap_regexec
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:210,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:211,1
    - Dst: apr_pstrndup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:216,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:218,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 226
    functionName: clean_warning_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_date_parse_http
    - ap_regexec
    - apr_table_addn
    - apr_pstrndup
    - apr_table_make
    linkageType: ''
    returnType: int
    signature: int clean_warning_headers(void *data, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:232,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:232,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:233,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:235,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p
    - headers
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: ap_proxy_clean_warnings
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_date_parse_http
    - apr_table_unset
    - apr_table_overlay
    - apr_table_get
    linkageType: ''
    returnType: apr_table_t
    signature: apr_table_t *ap_proxy_clean_warnings(apr_pool_t *p, apr_table_t *headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:251,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:252,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:254,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - bucket_alloc
    - header_brigade
    argTypes:
    - apr_pool_t*
    - apr_bucket_alloc_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: add_te_chunked
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_pool_create
    - ap_xlate_proto_to_ascii
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: "void add_te_chunked(apr_pool_t *p,\n                           apr_bucket_alloc_t
      *bucket_alloc,\n                           apr_bucket_brigade *header_brigade)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:266,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:270,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:270,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:271,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:271,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p
    - bucket_alloc
    - header_brigade
    - cl_val
    argTypes:
    - apr_pool_t*
    - apr_bucket_alloc_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: add_cl
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_to_ascii
    - apr_pstrcat
    - apr_bucket_pool_create
    - strlen
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void add_cl(apr_pool_t *p,\n                   apr_bucket_alloc_t
      *bucket_alloc,\n                   apr_bucket_brigade *header_brigade,\n                   const
      char *cl_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:329,1
    - Dst: ap_proxy_tunnel_conn_bytes_in
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:334,1
    - Dst: ap_proxy_tunnel_conn_bytes_out
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:336,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:338,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:339,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:341,1
    - Dst: ap_process_request_after_handler
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:342,1
    - Dst: ap_mpm_resume_suspended
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: proxy_http_async_finish
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_proxy_tunnel_conn_bytes_in
    - ap_proxy_tunnel_conn_bytes_out
    - ap_log_rerror
    - ap_proxy_release_connection
    - ap_finalize_request_protocol
    - ap_process_request_after_handler
    - ap_mpm_resume_suspended
    - proxy_run_detach_backend
    linkageType: ''
    returnType: void
    signature: void proxy_http_async_finish(proxy_http_req_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:357,1
    - Dst: proxy_http_async_finish
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: proxy_http_async_cancel_cb
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - proxy_http_async_finish
    linkageType: ''
    returnType: void
    signature: void proxy_http_async_cancel_cb(void *baton)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:376,1
    - Dst: ap_proxy_tunnel_run
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:382,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:389,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:397,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:406,1
    - Dst: ap_mpm_register_poll_callback_timeout
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:409,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:415,1
    - Dst: proxy_http_async_cancel_cb
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:416,1
    - Dst: proxy_http_async_finish
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 421
    functionName: proxy_http_async_cb
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_is_HTTP_ERROR
    - ap_log_rerror
    - ap_mpm_register_poll_callback_timeout
    - apr_pool_create
    - apr_pool_clear
    - proxy_http_async_finish
    - ap_proxy_tunnel_run
    - proxy_http_async_cancel_cb
    linkageType: ''
    returnType: void
    signature: void proxy_http_async_cb(void *baton)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:439,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:440,1
    - Dst: ap_proxy_read_input
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:441,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:448,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:450,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:450,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:454,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:455,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:458,1
    - Dst: apr_snprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:466,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:469,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:470,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:472,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:477,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:478,1
    - Dst: ap_h1_add_end_chunk
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:481,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:500,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:500,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:509,1
    - Dst: apr_bucket_immortal_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:511,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:512,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:520,1
    - Dst: ap_proxy_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:523,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 531
    functionName: stream_reqbody
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_h1_add_end_chunk
    - apr_bucket_immortal_create
    - APR_BRIGADE_PREPEND
    - ap_proxy_read_input
    - ap_xlate_proto_to_ascii
    - ap_log_rerror
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BRIGADE_INSERT_HEAD
    - apr_snprintf
    - APLOGNO
    - apr_bucket_transient_create
    - apr_brigade_length
    - apr_table_get
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_INSERT_TAIL
    - ap_proxy_pass_brigade
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: int
    signature: int stream_reqbody(proxy_http_req_t *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:543,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:544,1
    - Dst: ap_proxy_connection_reusable
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:546,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:547,1
    - Dst: ap_h1_append_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:550,1
    - Dst: ap_h1_terminate_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 556
    functionName: terminate_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_h1_append_header
    - ap_proxy_connection_reusable
    - ap_h1_terminate_header
    linkageType: ''
    returnType: void
    signature: void terminate_headers(proxy_http_req_t *req)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_create_hdrbrgd
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:573,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:596,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:597,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:609,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:610,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:610,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:617,1
    - Dst: ap_proxy_prefetch_input
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:625,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:650,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:651,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:651,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:660,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:667,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:668,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:668,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:675,1
    - Dst: add_te_chunked
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:687,1
    - Dst: add_cl
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:692,1
    - Dst: ap_proxy_spool_input
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:700,1
    - Dst: add_cl
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:706,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:706,1
    - Dst: terminate_headers
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:712,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 3
    argNames:
    - req
    - uri
    - url
    argTypes:
    - proxy_http_req_t*
    - apr_uri_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 715
    functionName: ap_proxy_http_prefetch
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_proxy_create_hdrbrgd
    - ap_log_rerror
    - ap_cstr_casecmp
    - APR_BUCKET_IS_EOS
    - APLOGNO
    - add_te_chunked
    - apr_bucket_eos_create
    - ap_proxy_spool_input
    - ap_parse_strict_length
    - apr_table_get
    - add_cl
    - APR_BRIGADE_EMPTY
    - ap_proxy_prefetch_input
    - apr_off_t_toa
    - terminate_headers
    - APR_BRIGADE_INSERT_TAIL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: int
    signature: "int ap_proxy_http_prefetch(proxy_http_req_t *req,\n                                  apr_uri_t
      *uri, char *url)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:728,1
    - Dst: stream_reqbody
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:732,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:745,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 717
    functionDepth: 5
    functionLinenumber: 717
    functionLinenumberEnd: 755
    functionName: ap_proxy_http_request
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - stream_reqbody
    - APLOGNO
    - ap_log_rerror
    - ap_proxy_pass_brigade
    linkageType: ''
    returnType: int
    signature: int ap_proxy_http_request(proxy_http_req_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_date_parse_http
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:766,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:771,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - date
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 778
    functionName: date_canon
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_rfc822_date
    - apr_date_parse_http
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: char *date_canon(apr_pool_t *p, const char *date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:785,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:786,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:788,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:793,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:794,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:796,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:797,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:798,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:799,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:800,1
    - Dst: ap_create_request_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:814,1
    - Dst: proxy_run_create_req
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 818
    functionName: make_fake_req
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - proxy_run_create_req
    - apr_table_make
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: request_rec *make_fake_req(conn_rec *c, request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:838,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:839,1
    - Dst: date_canon
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:840,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:845,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:846,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - r
    - c
    - key
    - value
    argTypes:
    - request_rec*
    - proxy_dir_conf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 852
    functionName: process_proxy_header
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 1
    functionsReached:
    - apr_table_add
    - date_canon
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: "void process_proxy_header(request_rec *r, proxy_dir_conf *c,\n                                 const
      char *key, const char *value)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:875,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:876,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:878,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:879,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:886,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:889,1
    - Dst: ap_proxygetline
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:891,1
    - Dst: APR_STATUS_IS_ENOSPC
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:896,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:898,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:898,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:905,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:905,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:916,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:919,1
    - Dst: apr_date_checkmask
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:932,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:945,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:945,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:953,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:953,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:961,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:961,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:972,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:976,1
    - Dst: apr_isspace
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:976,1
    - Dst: process_proxy_header
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:983,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 6
    argNames:
    - r
    - rr
    - buffer
    - size
    - c
    - pread_len
    argTypes:
    - request_rec*
    - request_rec*
    - char*
    - int
    - conn_rec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 987
    functionName: ap_proxy_read_headers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_isspace
    - strchr
    - APLOGNO
    - apr_brigade_create
    - strlen
    - ap_proxygetline
    - apr_date_checkmask
    - ap_get_module_config
    - APR_STATUS_IS_ENOSPC
    - apr_table_make
    - process_proxy_header
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_proxy_read_headers(request_rec *r, request_rec *rr,\n
      \                                 char *buffer, int size,\n                                  conn_rec
      *c, int *pread_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: addit_dammit
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int addit_dammit(void *v, const char *key, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_rgetline
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1003,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1004,1
    - Dst: APR_STATUS_IS_ENOSPC
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - bb
    - s
    - n
    - r
    - flags
    - read
    argTypes:
    - apr_bucket_brigade*
    - char*
    - int
    - request_rec*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1013
    functionName: ap_proxygetline
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 1
    functionsReached:
    - APR_STATUS_IS_ENOSPC
    - apr_brigade_cleanup
    - ap_rgetline
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_proxygetline(apr_bucket_brigade *bb, char *s, int
      n,\n                                    request_rec *r, int flags, int *read)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1031
    functionName: add_trailers
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - apr_table_add
    linkageType: ''
    returnType: int
    signature: int add_trailers(void *data, const char *key, const char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stream_reqbody
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1042,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1051,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1061
    functionName: send_continue_body
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - stream_reqbody
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int send_continue_body(proxy_http_req_t *req)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1100,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1101,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1108,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1119,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1122,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1124,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1124,1
    - Dst: make_fake_req
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1134,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1139,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1139,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1147,1
    - Dst: ap_proxygetline
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1149,1
    - Dst: ap_proxygetline
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1153,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1157,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1157,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1160,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1161,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1162,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1162,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1164,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1180,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1182,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1182,1
    - Dst: ap_proxy_fill_error_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1188,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1189,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1211,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1211,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1217,1
    - Dst: apr_date_checkmask
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1226,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1234,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1235,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1242,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1243,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1244,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1255,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1263,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1271,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1272,1
    - Dst: ap_proxy_read_headers
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1276,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1280,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1280,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1289,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1291,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1296,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1300,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1301,1
    - Dst: apr_table_overlay
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1302,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1311,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1314,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1324,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1325,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1325,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1332,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1334,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1336,1
    - Dst: apr_pstrcat
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1337,1
    - Dst: ap_proxy_clear_connection_fn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1348,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1352,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1357,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1358,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1358,1
    - Dst: ap_is_HTTP_INFO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1360,1
    - Dst: ap_proxy_pre_http_request
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1361,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1366,1
    - Dst: ap_proxy_clean_warnings
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1370,1
    - Dst: ap_get_server_name
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1375,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1384,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1386,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1387,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1388,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1392,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1393,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1394,1
    - Dst: ap_get_status_line
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1417,1
    - Dst: ap_is_HTTP_INFO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1421,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1444,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1447,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1451,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1456,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1457,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1458,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1459,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1462,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1467,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1468,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1468,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1502,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1505,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1505,1
    - Dst: send_continue_body
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1515,1
    - Dst: send_continue_body
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1543,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1549,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1549,1
    - Dst: ap_proxy_tunnel_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1552,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1554,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1554,1
    - Dst: proxy_http_async_cb
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1566,1
    - Dst: ap_proxy_tunnel_run
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1572,1
    - Dst: ap_proxy_tunnel_conn_bytes_in
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1576,1
    - Dst: ap_proxy_tunnel_conn_bytes_out
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1578,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1596,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1600,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1601,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1603,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1603,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1618,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1619,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1621,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1622,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1625,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1627,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1633,1
    - Dst: ap_proxy_worker_can_upgrade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1641,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1644,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1645,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1645,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1667,1
    - Dst: apr_bucket_heap_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1670,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1671,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1675,1
    - Dst: apr_table_clone
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1684,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1690,1
    - Dst: apr_table_add
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1691,1
    - Dst: apr_table_unset
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1694,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1696,1
    - Dst: ap_proxy_should_override
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1705,1
    - Dst: ap_get_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1716,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1723,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1724,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1726,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1727,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1728,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1733,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1741,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1744,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1744,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1748,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1748,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1752,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1752,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1756,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1756,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1766,1
    - Dst: ap_proxy_fill_error_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1767,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1768,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1777,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1778,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1780,1
    - Dst: apr_brigade_length
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1783,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1787,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1787,1
    - Dst: ap_proxy_buckets_lifetime_transform
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1793,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1799,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1801,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1802,1
    - Dst: ap_proxy_fill_error_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1804,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1806,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1807,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1815,1
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1815,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1825,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1826,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1827,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1828,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1835,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1842,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1843,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1851,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1867,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1868,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1872,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1875,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1882,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1883,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1889,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1890,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1891,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1893,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1899,1
    - Dst: ap_proxyerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1903,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1904,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 356
    argCount: 1
    argNames:
    - req
    argTypes:
    - proxy_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1063
    functionDepth: 6
    functionLinenumber: 1063
    functionLinenumberEnd: 1915
    functionName: ap_proxy_http_process_response
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_proxy_tunnel_conn_bytes_out
    - ap_xlate_proto_to_ascii
    - apr_table_add
    - ap_proxy_release_connection
    - ap_is_HTTP_INFO
    - apr_brigade_create
    - ap_proxy_tunnel_create
    - atoi
    - ap_proxy_should_override
    - ap_send_interim_response
    - apr_bucket_heap_create
    - APR_STATUS_IS_TIMEUP
    - proxy_run_detach_backend
    - apr_bucket_setaside
    - HTTP_VERSION_MINOR
    - ap_proxy_buckets_lifetime_transform
    - apr_table_make
    - ap_proxy_clear_connection_fn
    - ap_proxyerror
    - apr_pstrcat
    - ap_discard_request_body
    - APR_BUCKET_IS_EOS
    - apr_table_clear
    - apr_psprintf
    - apr_date_checkmask
    - apr_table_get
    - apr_table_clone
    - ap_proxy_read_headers
    - ap_proxy_tunnel_run
    - apr_brigade_length
    - APR_STATUS_IS_EAGAIN
    - ap_get_brigade
    - ap_pass_brigade
    - APR_BUCKET_NEXT
    - AP_STATUS_IS_HEADER_ONLY
    - ap_proxy_pre_http_request
    - apr_socket_timeout_set
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - ap_proxygetline
    - APR_BRIGADE_EMPTY
    - ap_get_server_name
    - ap_proxy_fill_error_brigade
    - APR_BRIGADE_INSERT_TAIL
    - HTTP_VERSION_MAJOR
    - apr_table_do
    - ap_log_rerror
    - proxy_http_async_cb
    - apr_pcalloc
    - ap_proxy_tunnel_conn_bytes_in
    - ap_proxy_worker_can_upgrade
    - apr_socket_timeout_get
    - APLOGNO
    - strcasecmp
    - apr_table_setn
    - ap_proxy_clean_warnings
    - AP_DEBUG_ASSERT
    - send_continue_body
    - apr_table_set
    - apr_table_unset
    - apr_table_overlay
    - apr_is_empty_table
    - apr_table_addn
    - ap_get_status_line
    - APR_BRIGADE_SENTINEL
    - make_fake_req
    - apr_pstrdup
    - ap_set_content_type
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: int
    signature: int ap_proxy_http_process_response(proxy_http_req_t *req)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: get_url_scheme
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1951,1
    - Dst: strncasecmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1952,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1958,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1958,1
    - Dst: ap_ssl_has_outgoing_handlers
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1962,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1963,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1963,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1967,1
    - Dst: ap_proxy_acquire_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1970,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1976,1
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1977,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1979,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:1994,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2001,1
    - Dst: ap_proxy_worker_can_upgrade
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2002,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2035,1
    - Dst: PROXY_SHOULD_PING_100_CONTINUE
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2040,1
    - Dst: apr_table_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2042,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2052,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2066,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2071,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2072,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2082,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2084,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2085,1
    - Dst: ap_proxy_http_prefetch
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2099,1
    - Dst: ap_proxy_determine_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2116,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2125,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2125,1
    - Dst: ap_proxy_check_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2129,1
    - Dst: ap_proxy_connect_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2131,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2133,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2133,1
    - Dst: ap_proxy_connection_create_ex
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2141,1
    - Dst: ap_proxy_http_request
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2155,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2157,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2159,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2159,1
    - Dst: ap_proxy_http_process_response
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2170,1
    - Dst: proxy_run_detach_backend
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2175,1
    - Dst: ap_proxy_release_connection
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2186,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 127
    argCount: 6
    argNames:
    - r
    - worker
    - conf
    - url
    - proxyname
    - proxyport
    argTypes:
    - request_rec*
    - proxy_worker*
    - proxy_server_conf*
    - char*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 1926
    functionDepth: 7
    functionLinenumber: 1926
    functionLinenumberEnd: 2189
    functionName: proxy_http_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_proxy_release_connection
    - ap_proxy_acquire_connection
    - apr_brigade_create
    - proxy_run_detach_backend
    - ap_get_module_config
    - apr_pool_userdata_setn
    - get_url_scheme
    - apr_table_get
    - ap_proxy_check_connection
    - strncasecmp
    - ap_proxy_connect_backend
    - ap_proxy_determine_connection
    - strcmp
    - ap_mpm_query
    - ap_ssl_has_outgoing_handlers
    - apr_pool_userdata_get
    - ap_proxy_http_prefetch
    - ap_proxy_http_process_response
    - ap_log_rerror
    - ap_proxy_worker_can_upgrade
    - apr_pcalloc
    - apr_palloc
    - ap_proxy_connection_create_ex
    - ap_proxy_http_request
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_table_setn
    - PROXY_SHOULD_PING_100_CONTINUE
    linkageType: ''
    returnType: int
    signature: "int proxy_http_handler(request_rec *r, proxy_worker *worker,\n                              proxy_server_conf
      *conf,\n                              char *url, const char *proxyname,\n                              apr_port_t
      proxyport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2198,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2203,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2205,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2192
    functionDepth: 1
    functionLinenumber: 2192
    functionLinenumberEnd: 2211
    functionName: proxy_http_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - APLOGNO
    - ap_state_query
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int proxy_http_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \       apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2215,1
    - Dst: proxy_hook_scheme_handler
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2216,1
    - Dst: proxy_hook_canon_handler
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2217,1
    - Dst: ap_pregcomp
      Src: /src/httpd/modules/proxy/mod_proxy_http.c:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2219
    functionName: ap_proxy_http_register_hook
    functionSourceFile: /src/httpd/modules/proxy/mod_proxy_http.c
    functionUses: 0
    functionsReached:
    - ap_hook_post_config
    - proxy_hook_canon_handler
    - ap_pregcomp
    - proxy_hook_scheme_handler
    linkageType: ''
    returnType: void
    signature: void ap_proxy_http_register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: apr_time_from_msec
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_time_from_msec(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:82,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:82,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_serf.c:85,1
    - Dst: ap_die
      Src: /src/httpd/modules/proxy/mod_serf.c:86,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_serf.c:90,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/modules/proxy/mod_serf.c:91,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_serf.c:92,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/modules/proxy/mod_serf.c:93,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/modules/proxy/mod_serf.c:94,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_serf.c:97,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_serf.c:99,1
    - Dst: ap_finalize_request_protocol
      Src: /src/httpd/modules/proxy/mod_serf.c:101,1
    - Dst: ap_process_request_after_handler
      Src: /src/httpd/modules/proxy/mod_serf.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: timed_cleanup_callback
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_finalize_request_protocol
    - ap_log_rerror
    - ap_die
    - ap_process_request_after_handler
    - APLOGNO
    - apr_bucket_flush_create
    - apr_bucket_eos_create
    - apr_brigade_cleanup
    - apr_pool_destroy
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void timed_cleanup_callback(void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:117,1
    - Dst: ap_mpm_register_timed_callback
      Src: /src/httpd/modules/proxy/mod_serf.c:122,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/proxy/mod_serf.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - conn
    - closed_baton
    - why
    - pool
    argTypes:
    - serf_connection_t*
    - void*
    - apr_status_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: closed_connection
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_time_from_msec
    - APLOGNO
    - ap_log_rerror
    - ap_mpm_register_timed_callback
    linkageType: ''
    returnType: void
    signature: "void closed_connection(serf_connection_t *conn,\n                              void
      *closed_baton,\n                              apr_status_t why,\n                              apr_pool_t
      *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serf_bucket_socket_create
      Src: /src/httpd/modules/proxy/mod_serf.c:135,1
    - Dst: serf_bucket_ssl_decrypt_create
      Src: /src/httpd/modules/proxy/mod_serf.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sock
    - setup_baton
    - pool
    argTypes:
    - apr_socket_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: conn_setup
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - serf_bucket_socket_create
    - serf_bucket_ssl_decrypt_create
    linkageType: ''
    returnType: serf_bucket_t
    signature: "serf_bucket_t * conn_setup(apr_socket_t *sock,\n                                 void
      *setup_baton,\n                                 apr_pool_t *pool)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:154,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:160,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:166,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:172,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:178,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:181,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:187,1
    - Dst: serf_bucket_headers_setn
      Src: /src/httpd/modules/proxy/mod_serf.c:195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - vbaton
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 197
    functionName: copy_headers_in
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - serf_bucket_headers_setn
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int copy_headers_in(void *vbaton, const char *key, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:208,1
    - Dst: ap_set_content_type
      Src: /src/httpd/modules/proxy/mod_serf.c:209,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:213,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:217,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:221,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:228,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_serf.c:238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - vbaton
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: copy_headers_out
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    - ap_set_content_type
    - ap_cstr_casecmp
    linkageType: ''
    returnType: int
    signature: int copy_headers_out(void *vbaton, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serf_request_get_alloc
      Src: /src/httpd/modules/proxy/mod_serf.c:253,1
    - Dst: serf_bucket_barrier_create
      Src: /src/httpd/modules/proxy/mod_serf.c:256,1
    - Dst: serf_bucket_response_create
      Src: /src/httpd/modules/proxy/mod_serf.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - request
    - stream
    - acceptor_baton
    - pool
    argTypes:
    - serf_request_t*
    - serf_bucket_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: accept_response
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - serf_request_get_alloc
    - serf_bucket_response_create
    - serf_bucket_barrier_create
    linkageType: ''
    returnType: serf_bucket_t
    signature: "serf_bucket_t * accept_response(serf_request_t *request,\n                                      serf_bucket_t
      *stream,\n                                      void *acceptor_baton,\n                                      apr_pool_t
      *pool)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: serf_bucket_response_status
      Src: /src/httpd/modules/proxy/mod_serf.c:278,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/mod_serf.c:280,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:284,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:284,1
    - Dst: ap_mpm_register_timed_callback
      Src: /src/httpd/modules/proxy/mod_serf.c:289,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/proxy/mod_serf.c:289,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/mod_serf.c:302,1
    - Dst: serf_bucket_read
      Src: /src/httpd/modules/proxy/mod_serf.c:303,1
    - Dst: SERF_BUCKET_READ_ERROR
      Src: /src/httpd/modules/proxy/mod_serf.c:305,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:306,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:306,1
    - Dst: serf_bucket_response_status
      Src: /src/httpd/modules/proxy/mod_serf.c:315,1
    - Dst: serf_bucket_response_get_headers
      Src: /src/httpd/modules/proxy/mod_serf.c:318,1
    - Dst: serf_bucket_headers_do
      Src: /src/httpd/modules/proxy/mod_serf.c:319,1
    - Dst: apr_brigade_write
      Src: /src/httpd/modules/proxy/mod_serf.c:326,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/modules/proxy/mod_serf.c:329,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_serf.c:332,1
    - Dst: ap_mpm_register_timed_callback
      Src: /src/httpd/modules/proxy/mod_serf.c:335,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/modules/proxy/mod_serf.c:335,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/modules/proxy/mod_serf.c:341,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/modules/proxy/mod_serf.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - request
    - response
    - vbaton
    - pool
    argTypes:
    - serf_request_t*
    - serf_bucket_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 349
    functionName: handle_response
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 3
    functionsReached:
    - serf_bucket_response_get_headers
    - serf_bucket_response_status
    - ap_log_rerror
    - SERF_BUCKET_READ_ERROR
    - ap_mpm_register_timed_callback
    - serf_bucket_read
    - serf_bucket_headers_do
    - APR_STATUS_IS_EOF
    - ap_pass_brigade
    - APLOGNO
    - apr_time_from_msec
    - apr_brigade_cleanup
    - apr_brigade_write
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t handle_response(serf_request_t *request,\n                                    serf_bucket_t
      *response,\n                                    void *vbaton,\n                                    apr_pool_t
      *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serf_bucket_request_create
      Src: /src/httpd/modules/proxy/mod_serf.c:364,1
    - Dst: serf_request_get_alloc
      Src: /src/httpd/modules/proxy/mod_serf.c:366,1
    - Dst: serf_bucket_request_get_headers
      Src: /src/httpd/modules/proxy/mod_serf.c:368,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_serf.c:370,1
    - Dst: serf_bucket_headers_setn
      Src: /src/httpd/modules/proxy/mod_serf.c:373,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:374,1
    - Dst: serf_bucket_headers_setn
      Src: /src/httpd/modules/proxy/mod_serf.c:377,1
    - Dst: serf_bucket_headers_setn
      Src: /src/httpd/modules/proxy/mod_serf.c:380,1
    - Dst: serf_bucket_ssl_encrypt_create
      Src: /src/httpd/modules/proxy/mod_serf.c:384,1
    - Dst: serf_bucket_ssl_encrypt_context_get
      Src: /src/httpd/modules/proxy/mod_serf.c:386,1
    - Dst: serf_bucket_ssl_encrypt_create
      Src: /src/httpd/modules/proxy/mod_serf.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 8
    argNames:
    - request
    - vbaton
    - req_bkt
    - acceptor
    - acceptor_baton
    - handler
    - handler_baton
    - pool
    argTypes:
    - serf_request_t*
    - void*
    - serf_bucket_t**
    - serf_response_acceptor_t*
    - void**
    - serf_response_handler_t*
    - void**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 400
    functionName: setup_request
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - serf_bucket_request_create
    - serf_request_get_alloc
    - serf_bucket_headers_setn
    - serf_bucket_ssl_encrypt_create
    - apr_table_get
    - serf_bucket_request_get_headers
    - serf_bucket_ssl_encrypt_context_get
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t setup_request(serf_request_t *request,\n                                  void
      *vbaton,\n                                  serf_bucket_t **req_bkt,\n                                  serf_response_acceptor_t
      *acceptor,\n                                  void **acceptor_baton,\n                                  serf_response_handler_t
      *handler,\n                                  void **handler_baton,\n                                  apr_pool_t
      *pool)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_serf.c:408,1
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_serf.c:413,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_serf.c:420,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_serf.c:421,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:422,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/mod_serf.c:433,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:437,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_serf.c:442,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:445,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:445,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:451,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:451,1
    - Dst: ap_serf_cluster_provider_t*::list_servers
      Src: /src/httpd/modules/proxy/mod_serf.c:456,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:462,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/modules/proxy/mod_serf.c:467,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:468,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:468,1
    - Dst: ap_random_pick
      Src: /src/httpd/modules/proxy/mod_serf.c:474,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_serf.c:475,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_serf.c:477,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/modules/proxy/mod_serf.c:483,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:489,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:489,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_serf.c:494,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:496,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:496,1
    - Dst: serf_context_create
      Src: /src/httpd/modules/proxy/mod_serf.c:501,1
    - Dst: serf_bucket_allocator_create
      Src: /src/httpd/modules/proxy/mod_serf.c:507,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/mod_serf.c:512,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:516,1
    - Dst: ap_setup_client_block
      Src: /src/httpd/modules/proxy/mod_serf.c:523,1
    - Dst: ap_should_client_block
      Src: /src/httpd/modules/proxy/mod_serf.c:529,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/modules/proxy/mod_serf.c:535,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:537,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:537,1
    - Dst: ap_get_client_block
      Src: /src/httpd/modules/proxy/mod_serf.c:544,1
    - Dst: apr_file_write_full
      Src: /src/httpd/modules/proxy/mod_serf.c:546,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:548,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:548,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:555,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:555,1
    - Dst: apr_file_seek
      Src: /src/httpd/modules/proxy/mod_serf.c:559,1
    - Dst: serf_bucket_file_create
      Src: /src/httpd/modules/proxy/mod_serf.c:560,1
    - Dst: serf_connection_create
      Src: /src/httpd/modules/proxy/mod_serf.c:563,1
    - Dst: serf_connection_request_create
      Src: /src/httpd/modules/proxy/mod_serf.c:569,1
    - Dst: serf_context_run
      Src: /src/httpd/modules/proxy/mod_serf.c:576,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/modules/proxy/mod_serf.c:579,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:584,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:584,1
    - Dst: serf_debug__closed_conn
      Src: /src/httpd/modules/proxy/mod_serf.c:588,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 107
    argCount: 2
    argNames:
    - r
    - conf
    argTypes:
    - request_rec*
    - serf_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 593
    functionName: drive_serf
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - ap_random_pick
    - serf_context_create
    - apr_file_mktemp
    - apr_brigade_create
    - APR_STATUS_IS_TIMEUP
    - ap_should_client_block
    - ap_get_module_config
    - serf_connection_create
    - ap_cstr_casecmp
    - serf_bucket_allocator_create
    - serf_bucket_file_create
    - strcmp
    - APR_ARRAY_IDX
    - serf_connection_request_create
    - apr_file_write_full
    - serf_context_run
    - ap_lookup_provider
    - apr_file_seek
    - apr_pool_create
    - serf_debug__closed_conn
    - apr_hash_get
    - ap_log_rerror
    - ap_setup_client_block
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - ap_get_client_block
    - ap_serf_cluster_provider_t*::list_servers
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int drive_serf(request_rec *r, serf_config_t *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_serf.c:597,1
    - Dst: drive_serf
      Src: /src/httpd/modules/proxy/mod_serf.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 605
    functionName: serf_handler
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - drive_serf
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int serf_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:609,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:609,1
    - Dst: strcasecmp
      Src: /src/httpd/modules/proxy/mod_serf.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: is_true
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 3
    functionsReached:
    - strcasecmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_true(const char *w)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_uri_parse
      Src: /src/httpd/modules/proxy/mod_serf.c:628,1
    - Dst: apr_uri_port_of_scheme
      Src: /src/httpd/modules/proxy/mod_serf.c:640,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_serf.c:649,1
    - Dst: strncmp
      Src: /src/httpd/modules/proxy/mod_serf.c:652,1
    - Dst: is_true
      Src: /src/httpd/modules/proxy/mod_serf.c:653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - vconf
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 661
    functionName: add_pass
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 2
    functionsReached:
    - is_true
    - apr_uri_parse
    - ap_strchr_c
    - strncmp
    - apr_uri_port_of_scheme
    linkageType: ''
    returnType: char
    signature: "char *add_pass(cmd_parms *cmd, void *vconf,\n                            int
      argc, char *const argv[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/mod_serf.c:673,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/mod_serf.c:676,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_serf.c:686,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:687,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:688,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_serf.c:689,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/mod_serf.c:691,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_serf.c:694,1
    - Dst: ap_strchr_c
      Src: /src/httpd/modules/proxy/mod_serf.c:700,1
    - Dst: strlen
      Src: /src/httpd/modules/proxy/mod_serf.c:702,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_serf.c:703,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/mod_serf.c:704,1
    - Dst: apr_table_addn
      Src: /src/httpd/modules/proxy/mod_serf.c:708,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:709,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_serf.c:715,1
    - Dst: ap_serf_cluster_provider_t*::check_config
      Src: /src/httpd/modules/proxy/mod_serf.c:720,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/mod_serf.c:726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - cmd
    - d
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 665
    functionDepth: 7
    functionLinenumber: 665
    functionLinenumberEnd: 729
    functionName: add_cluster
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_palloc
    - ap_lookup_provider
    - apr_pstrmemdup
    - strlen
    - ap_serf_cluster_provider_t*::check_config
    - ap_check_cmd_context
    - apr_table_addn
    - apr_psprintf
    - ap_get_module_config
    - ap_strchr_c
    - apr_pstrdup
    - apr_table_make
    linkageType: ''
    returnType: char
    signature: "char *add_cluster(cmd_parms *cmd, void *d,\n                               int
      argc, char *const argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_serf.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - dummy
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 737
    functionName: create_dir_config
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_dir_config(apr_pool_t *p, char *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_serf.c:742,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/proxy/mod_serf.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: create_server_config
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_serf.c:751,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/modules/proxy/mod_serf.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: merge_server_config
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_hash_overlay
    linkageType: ''
    returnType: void
    signature: void * merge_server_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:776,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_serf.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rec
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: hb_table_check
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int hb_table_check(void *rec, const char *key, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_serf.c:792,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_serf.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - baton
    - cmd
    - params
    argTypes:
    - void*
    - cmd_parms*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 806
    functionName: hb_config_check
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_is_empty_table
    linkageType: ''
    returnType: char
    signature: "char * hb_config_check(void *baton,\n                                   cmd_parms
      *cmd,\n                                   apr_table_t *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_serf.c:823,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_serf.c:825,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_serf.c:833,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/mod_serf.c:834,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/mod_serf.c:835,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_serf.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - p
    - str
    - parms
    argTypes:
    - apr_pool_t*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 838
    functionName: argstr_to_table
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_table_set
    - apr_strtok
    - ap_unescape_url
    - strchr
    linkageType: ''
    returnType: void
    signature: void argstr_to_table(apr_pool_t *p, char *str, apr_table_t *parms)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/proxy/mod_serf.c:852,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/proxy/mod_serf.c:859,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/mod_serf.c:868,1
    - Dst: apr_file_gets
      Src: /src/httpd/modules/proxy/mod_serf.c:871,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/mod_serf.c:883,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/mod_serf.c:888,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/mod_serf.c:890,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/proxy/mod_serf.c:894,1
    - Dst: argstr_to_table
      Src: /src/httpd/modules/proxy/mod_serf.c:896,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:896,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:898,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_serf.c:899,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:899,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:902,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_serf.c:903,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:903,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:906,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_serf.c:907,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:907,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:910,1
    - Dst: atoi
      Src: /src/httpd/modules/proxy/mod_serf.c:911,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:911,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - path
    - servers
    - pool
    argTypes:
    - char*
    - apr_array_header_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 928
    functionName: read_heartbeats
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - strchr
    - apr_file_info_get
    - apr_file_gets
    - apr_table_clear
    - atoi
    - apr_pstrmemdup
    - apr_file_open
    - argstr_to_table
    - apr_table_get
    - apr_pstrdup
    - apr_table_make
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_heartbeats(const char *path,\n                                    apr_array_header_t
      *servers,\n                                    apr_pool_t *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 943
    functionName: hb_server_sort
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hb_server_sort(const void *a_, const void *b_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:956,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/mod_serf.c:958,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/mod_serf.c:959,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/modules/proxy/mod_serf.c:961,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_serf.c:963,1
    - Dst: read_heartbeats
      Src: /src/httpd/modules/proxy/mod_serf.c:964,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/mod_serf.c:967,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/mod_serf.c:967,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_serf.c:969,1
    - Dst: qsort
      Src: /src/httpd/modules/proxy/mod_serf.c:973,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_serf.c:976,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/mod_serf.c:983,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_serf.c:985,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:986,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/mod_serf.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - baton
    - r
    - params
    - out_servers
    argTypes:
    - void*
    - request_rec*
    - apr_table_t*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 995
    functionName: hb_list_servers
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_log_rerror
    - APR_ARRAY_IDX
    - apr_palloc
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - read_heartbeats
    - qsort
    - apr_table_get
    - apr_pool_destroy
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int hb_list_servers(void *baton,\n                           request_rec
      *r,\n                           apr_table_t *params,\n                           apr_array_header_t
      **out_servers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:1010,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:1011,1
    - Dst: apr_psprintf
      Src: /src/httpd/modules/proxy/mod_serf.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rec
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1019
    functionName: static_table_check
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int static_table_check(void *rec, const char *key, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_is_empty_table
      Src: /src/httpd/modules/proxy/mod_serf.c:1027,1
    - Dst: apr_table_do
      Src: /src/httpd/modules/proxy/mod_serf.c:1034,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - baton
    - cmd
    - params
    argTypes:
    - void*
    - cmd_parms*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1044
    functionName: static_config_check
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_table_do
    - apr_is_empty_table
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char * static_config_check(void *baton,\n                                   cmd_parms
      *cmd,\n                                   apr_table_t *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:1055,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/mod_serf.c:1056,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/mod_serf.c:1058,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_serf.c:1060,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/mod_serf.c:1060,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/modules/proxy/mod_serf.c:1066,1
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/mod_serf.c:1068,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/mod_serf.c:1073,1
    - Dst: strcmp
      Src: /src/httpd/modules/proxy/mod_serf.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - baton
    - r
    - params
    - out_servers
    argTypes:
    - void*
    - request_rec*
    - apr_table_t*
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1083
    functionName: static_list_servers
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strcmp
    - apr_palloc
    - apr_parse_addr_port
    - apr_table_get
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: int
    signature: "int static_list_servers(void *baton,\n                               request_rec
      *r,\n                               apr_table_t *params,\n                               apr_array_header_t
      **out_servers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/modules/proxy/mod_serf.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1105
    functionName: serf_post_config
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    linkageType: ''
    returnType: int
    signature: int serf_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/mod_serf.c:1109,1
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/mod_serf.c:1112,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/mod_serf.c:1115,1
    - Dst: ap_hook_handler
      Src: /src/httpd/modules/proxy/mod_serf.c:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1118
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/mod_serf.c
    functionUses: 2
    functionsReached:
    - ap_register_provider
    - ap_hook_handler
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - current
    - prev_best
    - baton
    argTypes:
    - proxy_worker*
    - proxy_worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: is_best_bytraffic
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_best_bytraffic(proxy_worker *current, proxy_worker *prev_best,
      void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_balancer_get_best_worker_fn
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: find_best_bytraffic
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 0
    functionsReached:
    - ap_proxy_balancer_get_best_worker_fn
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_bytraffic(proxy_balancer *balancer,\n                                         request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: reset
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: age
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t age(proxy_balancer *balancer, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:104,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:109,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:111,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: lbmethod_bytraffic_post_config
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - APLOGNO
    - ap_state_query
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int lbmethod_bytraffic_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \       apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:121,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: register_hook
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hook(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_get_busy_count
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:33,1
    - Dst: ap_proxy_get_busy_count
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - current
    - prev_best
    - baton
    argTypes:
    - proxy_worker*
    - proxy_worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: is_best_bybusyness
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 0
    functionsReached:
    - ap_proxy_get_busy_count
    linkageType: ''
    returnType: int
    signature: int is_best_bybusyness(proxy_worker *current, proxy_worker *prev_best,
      void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_balancer_get_best_worker_fn
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: find_best_bybusyness
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 0
    functionsReached:
    - ap_proxy_balancer_get_best_worker_fn
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_bybusyness(proxy_balancer *balancer,\n                                          request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_set_busy_count
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: reset
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 11
    functionsReached:
    - ap_proxy_set_busy_count
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: age
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t age(proxy_balancer *balancer, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:102,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:107,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:109,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: lbmethod_bybusyness_post_config
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - APLOGNO
    - ap_state_query
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int lbmethod_bybusyness_post_config(apr_pool_t *pconf, apr_pool_t
      *plog,\n        apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:119,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: register_hook
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hook(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - current
    - prev_best
    - baton
    argTypes:
    - proxy_worker*
    - proxy_worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: is_best_byrequests
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_best_byrequests(proxy_worker *current, proxy_worker *prev_best,
      void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_proxy_balancer_get_best_worker_fn
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: find_best_byrequests
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 0
    functionsReached:
    - ap_proxy_balancer_get_best_worker_fn
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_byrequests(proxy_balancer *balancer,\n                                request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: reset
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: age
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t age(proxy_balancer *balancer, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:136,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:141,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: lbmethod_byrequests_post_config
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - APLOGNO
    - ap_state_query
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int lbmethod_byrequests_post_config(apr_pool_t *pconf, apr_pool_t
      *plog,\n        apr_pool_t *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:153,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: register_hook
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hook(apr_pool_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - val
    - min
    - max
    - result
    argTypes:
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: hb_parse_int
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_strtoi64
    linkageType: ''
    returnType: int
    signature: int hb_parse_int(const char *val, int min, int max, int *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:93,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:95,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:103,1
    - Dst: ap_unescape_url
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:104,1
    - Dst: apr_table_set
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:105,1
    - Dst: apr_strtok
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - p
    - str
    - parms
    argTypes:
    - apr_pool_t*
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: argstr_to_table
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 1
    functionsReached:
    - apr_table_set
    - apr_strtok
    - ap_unescape_url
    - strchr
    linkageType: ''
    returnType: void
    signature: void argstr_to_table(apr_pool_t *p, char *str, apr_table_t *parms)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:125,1
    - Dst: apr_file_info_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:132,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:140,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:141,1
    - Dst: apr_brigade_create
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:142,1
    - Dst: apr_table_make
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:143,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:145,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:153,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:155,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:159,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:166,1
    - Dst: strchr
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:180,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:185,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:188,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:191,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:196,1
    - Dst: apr_table_clear
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:199,1
    - Dst: argstr_to_table
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:201,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:201,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:203,1
    - Dst: hb_parse_int
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:205,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:210,1
    - Dst: hb_parse_int
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:212,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:217,1
    - Dst: hb_parse_int
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:219,1
    - Dst: apr_table_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:224,1
    - Dst: hb_parse_int
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:226,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 3
    argNames:
    - path
    - servers
    - pool
    argTypes:
    - char*
    - apr_hash_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 244
    functionName: readfile_heartbeats
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_brigade_flatten
    - apr_pstrmemdup
    - apr_table_make
    - apr_bucket_alloc_create
    - strchr
    - apr_table_clear
    - apr_file_open
    - apr_table_get
    - apr_brigade_split_line
    - apr_file_info_get
    - apr_brigade_insert_file
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - apr_hash_get
    - apr_hash_set
    - apr_pcalloc
    - hb_parse_int
    - argstr_to_table
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t readfile_heartbeats(const char *path, apr_hash_t *servers,\n
      \                                   apr_pool_t *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:251,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:253,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:254,1
    - Dst: apr_hash_set
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:257,1
    - Dst: apr_time_sec
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - data
    - pool
    argTypes:
    - void*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: hm_read
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_pcalloc
    - apr_pstrdup
    - apr_time_sec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t hm_read(void* mem, void *data, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doall
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - pool
    argTypes:
    - ctx_servers_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: readslot_heartbeats
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - doall
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t readslot_heartbeats(ctx_servers_t *ctx,\n                                    apr_pool_t
      *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:283,1
    - Dst: readslot_heartbeats
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:285,1
    - Dst: readfile_heartbeats
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - path
    - servers
    - pool
    argTypes:
    - char*
    - apr_hash_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: read_heartbeats
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - readfile_heartbeats
    - readslot_heartbeats
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t read_heartbeats(const char *path, apr_hash_t *servers,\n
      \                                       apr_pool_t *pool)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:305,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:309,1
    - Dst: apr_pool_create
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:315,1
    - Dst: apr_pool_tag
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:316,1
    - Dst: apr_hash_make
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:318,1
    - Dst: read_heartbeats
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:320,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:323,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:323,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:326,1
    - Dst: apr_array_make
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:330,1
    - Dst: apr_hash_count
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:330,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:333,1
    - Dst: apr_hash_get
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:334,1
    - Dst: ap_log_rerror
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:337,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:337,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:342,1
    - Dst: ap_proxy_retry_worker_fn
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:343,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:346,1
    - Dst: ap_random_pick
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:365,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:369,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:385,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 388
    functionName: find_best_hb
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_random_pick
    - ap_log_rerror
    - apr_hash_get
    - apr_hash_make
    - APR_ARRAY_IDX
    - APLOGNO
    - apr_pool_tag
    - apr_hash_count
    - apr_pool_create
    - read_heartbeats
    - ap_proxy_retry_worker_fn
    - ap_get_module_config
    - PROXY_WORKER_IS_USABLE
    - apr_pool_destroy
    - APR_RETRIEVE_OPTIONAL_FN
    - apr_array_make
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_hb(proxy_balancer *balancer,\n                                  request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: reset
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: age
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t age(proxy_balancer *balancer, server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:415,1
    - Dst: ap_state_query
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:419,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:422,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:425,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:425,1
    - Dst: attach
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:433,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:435,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:435,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:438,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 445
    functionName: lb_hb_init
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_state_query
    - APLOGNO
    - ap_lookup_provider
    - ap_log_error
    - ap_get_module_config
    - attach
    linkageType: ''
    returnType: int
    signature: "int lb_hb_init(apr_pool_t *p, apr_pool_t *plog,\n                      apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:450,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: register_hooks
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 2
    functionsReached:
    - ap_register_provider
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:456,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: lb_hb_create_config
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void *lb_hb_create_config(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:465,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:470,1
    - Dst: apr_pstrdup
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - basev
    - overridesv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: lb_hb_merge_config
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *lb_hb_merge_config(apr_pool_t *p, void *basev, void *overridesv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:484,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:487,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dconf
    - path
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: cmd_lb_hb_storage
    functionSourceFile: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - ap_check_cmd_context
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: "char *cmd_lb_hb_storage(cmd_parms *cmd,\n                                  void
      *dconf, const char *path)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:52,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:52,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:54,1
    - Dst: apr_pcalloc
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:59,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:61,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:61,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:63,1
    - Dst: ap_log_error
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:67,1
    - Dst: APLOGNO
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:67,1
    - Dst: getpid
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:69,1
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:79,1
    - Dst: PROXY_WORKER_IS_STANDBY
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:79,1
    - Dst: PROXY_WORKER_IS_DRAINING
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:80,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:84,1
    - Dst: ap_proxy_retry_worker
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:85,1
    - Dst: PROXY_WORKER_IS_USABLE
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - balancer
    - r
    argTypes:
    - proxy_balancer*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 100
    functionName: find_best_roundrobin
    functionSourceFile: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - PROXY_WORKER_IS_DRAINING
    - getpid
    - APLOGNO
    - PROXY_WORKER_IS_STANDBY
    - ap_log_error
    - PROXY_WORKER_IS_USABLE
    - ap_proxy_retry_worker
    linkageType: ''
    returnType: proxy_worker
    signature: "proxy_worker *find_best_roundrobin(proxy_balancer *balancer,\n                                         request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: reset
    functionSourceFile: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - balancer
    - s
    argTypes:
    - proxy_balancer*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: age
    functionSourceFile: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t age(proxy_balancer *balancer, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ap_proxy_rr_register_hook
    functionSourceFile: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: void ap_proxy_rr_register_hook(apr_pool_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:30,1
    - Dst: apr_pstrdup
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:33,1
    - Dst: strlen
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:34,1
    - Dst: apr_stat
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:37,1
    - Dst: ap_args_to_table
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:51,1
    - Dst: ap_parse_form_data
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:52,1
    - Dst: ap_set_content_type
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:55,1
    - Dst: ap_rprintf
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:58,1
    - Dst: ap_rprintf
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:59,1
    - Dst: apr_table_get
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:62,1
    - Dst: apr_file_open
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:66,1
    - Dst: strcasecmp
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:70,1
    - Dst: apr_md5_init
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:77,1
    - Dst: apr_file_read
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:79,1
    - Dst: apr_md5_update
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:80,1
    - Dst: apr_md5_final
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:82,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:85,1
    - Dst: ap_rprintf
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:87,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:89,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:91,1
    - Dst: apr_sha1_init
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:100,1
    - Dst: apr_file_read
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:102,1
    - Dst: apr_sha1_update
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:103,1
    - Dst: apr_sha1_final
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:105,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:108,1
    - Dst: ap_rprintf
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:110,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:112,1
    - Dst: ap_rputs
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:115,1
    - Dst: apr_file_close
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 122
    functionName: example_handler
    functionSourceFile: /src/httpd/docs/manual/developer/mod_example_2.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - apr_stat
    - ap_args_to_table
    - apr_sha1_init
    - apr_pstrdup
    - apr_md5_update
    - apr_table_get
    - apr_file_open
    - apr_sha1_update
    - strcmp
    - apr_md5_init
    - ap_rputs
    - ap_rprintf
    - apr_file_read
    - apr_sha1_final
    - strcasecmp
    - apr_md5_final
    - strlen
    - ap_parse_form_data
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int example_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/docs/manual/developer/mod_example_2.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: register_hooks
    functionSourceFile: /src/httpd/docs/manual/developer/mod_example_2.c
    functionUses: 2
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/docs/manual/developer/mod_example_1.c:17,1
    - Dst: ap_set_content_type
      Src: /src/httpd/docs/manual/developer/mod_example_1.c:22,1
    - Dst: ap_rprintf
      Src: /src/httpd/docs/manual/developer/mod_example_1.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 29
    functionName: example_handler
    functionSourceFile: /src/httpd/docs/manual/developer/mod_example_1.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_rprintf
    - ap_set_content_type
    linkageType: ''
    returnType: int
    signature: int example_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_handler
      Src: /src/httpd/docs/manual/developer/mod_example_1.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: register_hooks
    functionSourceFile: /src/httpd/docs/manual/developer/mod_example_1.c
    functionUses: 2
    functionsReached:
    - ap_hook_handler
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 2
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 3
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 4
    functionName: AP_CORE_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CORE_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 5
    functionName: AP_CORE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CORE_DECLARE_NONSTD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: AP_LUA_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LUA_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: APR_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: APR_DECLARE_NONSTD
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_DECLARE_NONSTD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: APU_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APU_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: APU_DECLARE_NONSTD
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APU_DECLARE_NONSTD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: PROXY_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: DAV_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: APREQ_DECLARE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: APREQ_DECLARE_PARSER
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE_PARSER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: AP_DECLARE_MODULE
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_MODULE(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: STACK_OF
    functionSourceFile: /src/httpd/docs/log-message-tags/macros.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STACK_OF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ret
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: AP_DECLARE_HOOK
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_HOOK(ret,name,args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: AP_IMPLEMENT_HOOK_BASE
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IMPLEMENT_HOOK_BASE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - args_decl
    - ','
    - args_use
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: AP_IMPLEMENT_HOOK_VOID
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IMPLEMENT_HOOK_VOID(name,args_decl,args_use)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ret
    - ','
    - name
    - ','
    - args_decl
    - ','
    - args_use
    - ','
    - ok
    - ','
    - decline
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: AP_IMPLEMENT_HOOK_RUN_ALL
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IMPLEMENT_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok,decline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ret
    - ','
    - name
    - ','
    - args_decl
    - ','
    - args_use
    - ','
    - decline
    - )
    argTypes:
    - 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: AP_IMPLEMENT_HOOK_RUN_FIRST
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IMPLEMENT_HOOK_RUN_FIRST(ret,name,args_decl,args_use,decline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ret
    - ','
    - name
    - ','
    - args_decl
    - ','
    - args_use
    - ','
    - ok
    - ','
    - decline
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok,
      \\\n                                           decline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ret
    - ','
    - name
    - ','
    - args_decl
    - ','
    - args_use
    - ','
    - decline
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: AP_IMPLEMENT_OPTIONAL_HOOK_RUN_FIRST
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AP_IMPLEMENT_OPTIONAL_HOOK_RUN_FIRST(ret,name,args_decl,args_use,
      \\\n                                             decline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - fn
    - ','
    - pre
    - ','
    - succ
    - ','
    - order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: AP_OPTIONAL_HOOK
    functionSourceFile: /src/httpd/include/ap_hooks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPTIONAL_HOOK(name,fn,pre,succ,order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: AP_BUCKET_IS_EOC
    functionSourceFile: /src/httpd/include/http_connection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_EOC(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: APR_STRINGIFY
    functionSourceFile: /src/httpd/include/ap_release.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_STRINGIFY(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: APR_STRINGIFY_HELPER
    functionSourceFile: /src/httpd/include/ap_release.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_STRINGIFY_HELPER(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vb
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: ap_varbuf_strcat
    functionSourceFile: /src/httpd/include/util_varbuf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_varbuf_strcat(vb, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - bb
    - ','
    - data
    - ','
    - nbyte
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: ap_fwrite
    functionSourceFile: /src/httpd/include/util_filter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_fwrite(f, bb, data, nbyte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - bb
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: ap_fputs
    functionSourceFile: /src/httpd/include/util_filter.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_fputs(f, bb, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - bb
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 715
    functionName: ap_fputc
    functionSourceFile: /src/httpd/include/util_filter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_fputc(f, bb, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: AP_BUCKET_IS_WC
    functionSourceFile: /src/httpd/include/util_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_WC(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: ap_rxplus_nmatch
    functionSourceFile: /src/httpd/include/ap_regex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_rxplus_nmatch(rx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - methname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: AP_METHOD_CHECK_ALLOWED
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_METHOD_CHECK_ALLOWED(mask, methname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/include/http_protocol.h:517,1
    - Dst: ap_rwrite
      Src: /src/httpd/include/http_protocol.h:521,1
    - Dst: ap_rwrite
      Src: /src/httpd/include/http_protocol.h:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - str
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 536
    functionName: ap_rputs
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 50
    functionsReached:
    - strlen
    - ap_rwrite
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE ap_rputs(const char *str, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1063
    functionName: AP_BUCKET_IS_ERROR
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1114
    functionName: AP_BUCKET_IS_REQUEST
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_REQUEST(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1230
    functionName: AP_BUCKET_IS_RESPONSE
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_RESPONSE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1299
    functionName: AP_BUCKET_IS_HEADERS
    functionSourceFile: /src/httpd/include/http_protocol.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_HEADERS(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: AP_INIT_NO_ARGS
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_NO_ARGS(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: AP_INIT_RAW_ARGS
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_RAW_ARGS(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: AP_INIT_TAKE_ARGV
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE_ARGV(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: AP_INIT_TAKE1
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE1(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: AP_INIT_ITERATE
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_ITERATE(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: AP_INIT_TAKE2
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE2(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: AP_INIT_TAKE12
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE12(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: AP_INIT_ITERATE2
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_ITERATE2(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: AP_INIT_TAKE13
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE13(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: AP_INIT_TAKE23
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE23(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: AP_INIT_TAKE123
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE123(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: AP_INIT_TAKE3
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE3(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: AP_INIT_FLAG
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_FLAG(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: AP_INIT_NO_ARGS
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_NO_ARGS(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: AP_INIT_RAW_ARGS
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_RAW_ARGS(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: AP_INIT_TAKE_ARGV
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE_ARGV(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: AP_INIT_TAKE1
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE1(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: AP_INIT_ITERATE
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_ITERATE(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: AP_INIT_TAKE2
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE2(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    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: AP_INIT_TAKE12
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE12(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: AP_INIT_ITERATE2
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_ITERATE2(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: AP_INIT_TAKE13
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE13(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: AP_INIT_TAKE23
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE23(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: AP_INIT_TAKE123
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE123(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: AP_INIT_TAKE3
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_TAKE3(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - directive
    - ','
    - func
    - ','
    - mconfig
    - ','
    - where
    - ','
    - help
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: AP_INIT_FLAG
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INIT_FLAG(directive, func, mconfig, where, help)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: AP_MAYBE_UNUSED
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAYBE_UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: AP_MAYBE_UNUSED
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAYBE_UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: AP_MAYBE_UNUSED
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAYBE_UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: APLOG_USE_MODULE
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_USE_MODULE(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: AP_DECLARE_MODULE
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_MODULE(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: AP_MODULE_HAS_FLAGS
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_HAS_FLAGS(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: ap_get_module_config
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 559
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_module_config(v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - m
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: ap_set_module_config
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_set_module_config(v,m,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: ap_get_conn_logconf
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_conn_logconf(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: ap_get_conn_server_logconf
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_conn_server_logconf(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: ap_get_request_logconf
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_request_logconf(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: ap_get_module_loglevel
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_module_loglevel(l,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 630
    functionName: ap_get_server_module_loglevel
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_server_module_loglevel(s,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: ap_get_conn_module_loglevel
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_conn_module_loglevel(c,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: ap_get_conn_server_module_loglevel
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_conn_server_module_loglevel(c,s,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: ap_get_request_module_loglevel
    functionSourceFile: /src/httpd/include/http_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_request_module_loglevel(r,i)
  - 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: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: AP_MODULE_MAGIC_AT_LEAST
    functionSourceFile: /src/httpd/include/ap_mmn.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_MAGIC_AT_LEAST(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: AP_MONCONTROL
    functionSourceFile: /src/httpd/include/ap_mpm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MONCONTROL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cmd
    - ','
    - expr
    - ','
    - flags
    - ','
    - err
    - ','
    - lookup_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: ap_expr_parse_cmd
    functionSourceFile: /src/httpd/include/ap_expr.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_expr_parse_cmd(cmd, expr, flags, err, lookup_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ap_send_http_header
    functionSourceFile: /src/httpd/include/ap_compat.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_send_http_header(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: AP_BUCKET_IS_EOR
    functionSourceFile: /src/httpd/include/http_request.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_BUCKET_IS_EOR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: APREQ_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: APREQ_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE_NONSTD(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: APREQ_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: APREQ_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: APREQ_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: APREQ_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: APREQ_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: APREQ_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APREQ_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: AP_MODULE_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: AP_MODULE_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: AP_MODULE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: AP_MODULE_DECLARE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: AP_MODULE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: __has_attribute
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: AP_FN_ATTR_ALLOC_SIZE
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FN_ATTR_ALLOC_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: AP_FN_ATTR_ALLOC_SIZE2
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FN_ATTR_ALLOC_SIZE2(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: AP_FN_ATTR_NONNULL
    functionSourceFile: /src/httpd/include/ap_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FN_ATTR_NONNULL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ap_get_core_module_config
    functionSourceFile: /src/httpd/include/http_core.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_get_core_module_config(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: ap_set_core_module_config
    functionSourceFile: /src/httpd/include/http_core.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_set_core_module_config(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - field
    - ','
    - to
    - ','
    - base
    - ','
    - over
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: AP_CORE_MERGE_FLAG
    functionSourceFile: /src/httpd/include/http_core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CORE_MERGE_FLAG(field, to, base, over)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: AP_SENDFILE_ENABLED
    functionSourceFile: /src/httpd/include/http_core.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SENDFILE_ENABLED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1144
    functionName: AP_CORE_DEFAULT
    functionSourceFile: /src/httpd/include/http_core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CORE_DEFAULT(X, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: AP_LDAP_IS_SERVER_DOWN
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LDAP_IS_SERVER_DOWN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AP_LDAP_IS_SERVER_DOWN
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LDAP_IS_SERVER_DOWN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: LDAP_DECLARE
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: LDAP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE_NONSTD(type)
  - 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: LDAP_DECLARE
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: LDAP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE_NONSTD(type)
  - 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: LDAP_DECLARE
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: LDAP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: LDAP_DECLARE
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: LDAP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/util_ldap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_DECLARE_NONSTD(type)
  - 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: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: HTTP_VERSION
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: HTTP_VERSION_MAJOR
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_VERSION_MAJOR(number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: HTTP_VERSION_MINOR
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_VERSION_MINOR(number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - port
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: ap_is_default_port
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_default_port(port,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: ap_default_port
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_default_port(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: ap_http_scheme
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_http_scheme(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: AP_DECLARE
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: AP_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: AP_MODULE_DECLARE
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: AP_MODULE_DECLARE_NONSTD
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MODULE_DECLARE_NONSTD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: ap_is_HTTP_INFO
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_INFO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: ap_is_HTTP_SUCCESS
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_SUCCESS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: ap_is_HTTP_REDIRECT
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_REDIRECT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: ap_is_HTTP_ERROR
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_ERROR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 565
    functionName: ap_is_HTTP_CLIENT_ERROR
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_CLIENT_ERROR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: ap_is_HTTP_SERVER_ERROR
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_SERVER_ERROR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: ap_is_HTTP_VALID_RESPONSE
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_is_HTTP_VALID_RESPONSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: ap_status_drops_connection
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_status_drops_connection(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: AP_STATUS_IS_HEADER_ONLY
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_STATUS_IS_HEADER_ONLY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: AP_REQUEST_GET_BNOTE
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_REQUEST_GET_BNOTE(r, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - mask
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 703
    functionName: AP_REQUEST_SET_BNOTE
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_REQUEST_SET_BNOTE(r, mask, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: AP_REQUEST_IS_STRONG_ETAG
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_REQUEST_IS_STRONG_ETAG(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: AP_REQUEST_IS_TRUSTED_CT
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_REQUEST_IS_TRUSTED_CT(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    functionName: AP_IS_DEFAULT_HANDLER_NAME
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IS_DEFAULT_HANDLER_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppool
    - ','
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1933
    functionName: ap_escape_uri
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_escape_uri(ppool,path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1962
    functionName: ap_escape_html
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_escape_html(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2477
    functionName: ap_assert
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_assert(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2487
    functionName: AP_DEBUG_ASSERT
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEBUG_ASSERT(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2489
    functionName: AP_DEBUG_ASSERT
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEBUG_ASSERT(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2516
    functionName: RAISE_SIGSTOP
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAISE_SIGSTOP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2550
    functionName: strchr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2552
    functionName: strrchr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strrchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2554
    functionName: strstr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strstr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2574
    functionName: ap_strchr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2576
    functionName: ap_strchr_c
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strchr_c(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2578
    functionName: ap_strrchr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strrchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2580
    functionName: ap_strrchr_c
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strrchr_c(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2582
    functionName: ap_strstr
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strstr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2584
    functionName: ap_strstr_c
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_strstr_c(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2936
    functionName: AP_IS_SLASH
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IS_SLASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2939
    functionName: AP_IS_SLASH
    functionSourceFile: /src/httpd/include/httpd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_IS_SLASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: AP_ACCESS_CHECKER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ACCESS_CHECKER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: AP_ACCESS_CHECKER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ACCESS_CHECKER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: AP_ACCESS_CHECKER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ACCESS_CHECKER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: AP_ACCESS_CHECKER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ACCESS_CHECKER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: AP_AUTH_CHECKER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_AUTH_CHECKER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: AP_AUTH_CHECKER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_AUTH_CHECKER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: AP_AUTH_CHECKER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_AUTH_CHECKER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: AP_AUTH_CHECKER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_AUTH_CHECKER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: AP_CANON_HANDLER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CANON_HANDLER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: AP_CANON_HANDLER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CANON_HANDLER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: AP_CANON_HANDLER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CANON_HANDLER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: AP_CANON_HANDLER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CANON_HANDLER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: AP_CHECK_USER_ID_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHECK_USER_ID_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: AP_CHECK_USER_ID_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHECK_USER_ID_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: AP_CHECK_USER_ID_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHECK_USER_ID_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AP_CHECK_USER_ID_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHECK_USER_ID_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: AP_CHILD_INIT_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHILD_INIT_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: AP_CHILD_INIT_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHILD_INIT_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: AP_CHILD_INIT_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHILD_INIT_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: AP_CHILD_INIT_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CHILD_INIT_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: AP_CREATE_CONNECTION_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_CONNECTION_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: AP_CREATE_CONNECTION_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_CONNECTION_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: AP_CREATE_CONNECTION_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_CONNECTION_ENTRY_ENABLED()
  - 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: AP_CREATE_CONNECTION_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_CONNECTION_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: AP_CREATE_REQUEST_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_REQUEST_DISPATCH_COMPLETE_ENABLED()
  - 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: AP_CREATE_REQUEST_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_REQUEST_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: AP_CREATE_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: AP_CREATE_REQUEST_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_CREATE_REQUEST_RETURN_ENABLED()
  - 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: AP_DEFAULT_PORT_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEFAULT_PORT_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: AP_DEFAULT_PORT_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEFAULT_PORT_DISPATCH_INVOKE_ENABLED()
  - 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: AP_DEFAULT_PORT_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEFAULT_PORT_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: AP_DEFAULT_PORT_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DEFAULT_PORT_RETURN_ENABLED()
  - 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: AP_ERROR_LOG_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ERROR_LOG_DISPATCH_COMPLETE_ENABLED()
  - 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: AP_ERROR_LOG_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ERROR_LOG_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: AP_ERROR_LOG_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ERROR_LOG_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: AP_ERROR_LOG_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_ERROR_LOG_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: AP_FIND_LIVEPROP_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIND_LIVEPROP_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: AP_FIND_LIVEPROP_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIND_LIVEPROP_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: AP_FIND_LIVEPROP_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIND_LIVEPROP_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: AP_FIND_LIVEPROP_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIND_LIVEPROP_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: AP_FIXUPS_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIXUPS_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: AP_FIXUPS_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIXUPS_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: AP_FIXUPS_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIXUPS_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: AP_FIXUPS_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_FIXUPS_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: AP_GATHER_PROPSETS_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GATHER_PROPSETS_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: AP_GATHER_PROPSETS_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GATHER_PROPSETS_DISPATCH_INVOKE_ENABLED()
  - 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: AP_GATHER_PROPSETS_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GATHER_PROPSETS_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: AP_GATHER_PROPSETS_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GATHER_PROPSETS_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: AP_GET_MGMT_ITEMS_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_MGMT_ITEMS_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: AP_GET_MGMT_ITEMS_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_MGMT_ITEMS_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: AP_GET_MGMT_ITEMS_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_MGMT_ITEMS_ENTRY_ENABLED()
  - 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: AP_GET_MGMT_ITEMS_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_MGMT_ITEMS_RETURN_ENABLED()
  - 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: AP_GET_SUEXEC_IDENTITY_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_SUEXEC_IDENTITY_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: AP_GET_SUEXEC_IDENTITY_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_SUEXEC_IDENTITY_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: AP_GET_SUEXEC_IDENTITY_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_SUEXEC_IDENTITY_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: AP_GET_SUEXEC_IDENTITY_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_GET_SUEXEC_IDENTITY_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: AP_HANDLER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HANDLER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: AP_HANDLER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HANDLER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: AP_HANDLER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HANDLER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: AP_HANDLER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HANDLER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: AP_HEADER_PARSER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HEADER_PARSER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: AP_HEADER_PARSER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HEADER_PARSER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: AP_HEADER_PARSER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HEADER_PARSER_ENTRY_ENABLED()
  - 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: AP_HEADER_PARSER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HEADER_PARSER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: AP_HTTP_SCHEME_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HTTP_SCHEME_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: AP_HTTP_SCHEME_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HTTP_SCHEME_DISPATCH_INVOKE_ENABLED()
  - 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: AP_HTTP_SCHEME_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HTTP_SCHEME_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: AP_HTTP_SCHEME_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_HTTP_SCHEME_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: AP_INSERT_ALL_LIVEPROPS_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ALL_LIVEPROPS_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: AP_INSERT_ALL_LIVEPROPS_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ALL_LIVEPROPS_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: AP_INSERT_ALL_LIVEPROPS_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ALL_LIVEPROPS_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: AP_INSERT_ALL_LIVEPROPS_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ALL_LIVEPROPS_RETURN_ENABLED()
  - 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: AP_INSERT_ERROR_FILTER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ERROR_FILTER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: AP_INSERT_ERROR_FILTER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ERROR_FILTER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: AP_INSERT_ERROR_FILTER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ERROR_FILTER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: AP_INSERT_ERROR_FILTER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_ERROR_FILTER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: AP_INSERT_FILTER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_FILTER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: AP_INSERT_FILTER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_FILTER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: AP_INSERT_FILTER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_FILTER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: AP_INSERT_FILTER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INSERT_FILTER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: AP_INTERNAL_REDIRECT_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_INTERNAL_REDIRECT_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: AP_LOG_TRANSACTION_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LOG_TRANSACTION_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: AP_LOG_TRANSACTION_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LOG_TRANSACTION_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: AP_LOG_TRANSACTION_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LOG_TRANSACTION_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: AP_LOG_TRANSACTION_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_LOG_TRANSACTION_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: AP_MAP_TO_STORAGE_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAP_TO_STORAGE_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: AP_MAP_TO_STORAGE_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAP_TO_STORAGE_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: AP_MAP_TO_STORAGE_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAP_TO_STORAGE_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: AP_MAP_TO_STORAGE_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MAP_TO_STORAGE_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: AP_MONITOR_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MONITOR_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: AP_MONITOR_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MONITOR_DISPATCH_INVOKE_ENABLED()
  - 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: AP_MONITOR_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MONITOR_ENTRY_ENABLED()
  - 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: AP_MONITOR_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_MONITOR_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: AP_OPEN_LOGS_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPEN_LOGS_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: AP_OPEN_LOGS_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPEN_LOGS_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: AP_OPEN_LOGS_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPEN_LOGS_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: AP_OPEN_LOGS_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPEN_LOGS_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: AP_OPTIONAL_FN_RETRIEVE_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPTIONAL_FN_RETRIEVE_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: AP_OPTIONAL_FN_RETRIEVE_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPTIONAL_FN_RETRIEVE_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: AP_OPTIONAL_FN_RETRIEVE_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPTIONAL_FN_RETRIEVE_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: AP_OPTIONAL_FN_RETRIEVE_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_OPTIONAL_FN_RETRIEVE_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: AP_POST_CONFIG_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_CONFIG_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: AP_POST_CONFIG_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_CONFIG_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: AP_POST_CONFIG_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_CONFIG_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: AP_POST_CONFIG_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_CONFIG_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: AP_POST_READ_REQUEST_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_READ_REQUEST_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: AP_POST_READ_REQUEST_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_READ_REQUEST_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: AP_POST_READ_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_READ_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: AP_POST_READ_REQUEST_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_READ_REQUEST_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: AP_POST_REQUEST_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_REQUEST_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: AP_POST_REQUEST_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_REQUEST_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: AP_POST_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: AP_POST_REQUEST_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_POST_REQUEST_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: AP_PRE_CONFIG_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONFIG_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: AP_PRE_CONFIG_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONFIG_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: AP_PRE_CONFIG_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONFIG_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: AP_PRE_CONFIG_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONFIG_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: AP_PRE_CONNECTION_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONNECTION_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: AP_PRE_CONNECTION_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONNECTION_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: AP_PRE_CONNECTION_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONNECTION_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: AP_PRE_CONNECTION_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_CONNECTION_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: AP_PRE_MPM_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_MPM_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: AP_PRE_MPM_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_MPM_DISPATCH_INVOKE_ENABLED()
  - 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: AP_PRE_MPM_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_MPM_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: AP_PRE_MPM_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_MPM_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: AP_PRE_REQUEST_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_REQUEST_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: AP_PRE_REQUEST_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_REQUEST_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: AP_PRE_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: AP_PRE_REQUEST_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PRE_REQUEST_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: AP_PROCESS_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: AP_PROCESS_REQUEST_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_REQUEST_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: AP_PROCESS_CONNECTION_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_CONNECTION_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: AP_PROCESS_CONNECTION_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_CONNECTION_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: AP_PROCESS_CONNECTION_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_CONNECTION_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: AP_PROCESS_CONNECTION_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROCESS_CONNECTION_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: AP_PROXY_RUN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROXY_RUN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: AP_PROXY_RUN_FINISHED_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_PROXY_RUN_FINISHED_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: AP_QUICK_HANDLER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_QUICK_HANDLER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: AP_QUICK_HANDLER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_QUICK_HANDLER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: AP_QUICK_HANDLER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_QUICK_HANDLER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: AP_QUICK_HANDLER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_QUICK_HANDLER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: AP_READ_REQUEST_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_READ_REQUEST_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: AP_READ_REQUEST_FAILURE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_READ_REQUEST_FAILURE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: AP_READ_REQUEST_SUCCESS_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_READ_REQUEST_SUCCESS_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: AP_REWRITE_LOG_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_REWRITE_LOG_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: AP_SCHEME_HANDLER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SCHEME_HANDLER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: AP_SCHEME_HANDLER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SCHEME_HANDLER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: AP_SCHEME_HANDLER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SCHEME_HANDLER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: AP_SCHEME_HANDLER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_SCHEME_HANDLER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: AP_TEST_CONFIG_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TEST_CONFIG_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: AP_TEST_CONFIG_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TEST_CONFIG_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: AP_TEST_CONFIG_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TEST_CONFIG_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: AP_TEST_CONFIG_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TEST_CONFIG_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: AP_TRANSLATE_NAME_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TRANSLATE_NAME_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: AP_TRANSLATE_NAME_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TRANSLATE_NAME_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: AP_TRANSLATE_NAME_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TRANSLATE_NAME_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: AP_TRANSLATE_NAME_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TRANSLATE_NAME_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: AP_TYPE_CHECKER_DISPATCH_COMPLETE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TYPE_CHECKER_DISPATCH_COMPLETE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: AP_TYPE_CHECKER_DISPATCH_INVOKE_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TYPE_CHECKER_DISPATCH_INVOKE_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: AP_TYPE_CHECKER_ENTRY_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TYPE_CHECKER_ENTRY_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: AP_TYPE_CHECKER_RETURN_ENABLED
    functionSourceFile: /src/httpd/include/apache_noprobes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_TYPE_CHECKER_RETURN_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: APLOGNO
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 900
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGNO(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: APLOG_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_MODULE_IS_LEVEL(s,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: APLOG_C_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_C_MODULE_IS_LEVEL(c,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: APLOG_CS_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_CS_MODULE_IS_LEVEL(c,s,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: APLOG_R_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_R_MODULE_IS_LEVEL(r,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: APLOG_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_MODULE_IS_LEVEL(s,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: APLOG_CS_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_CS_MODULE_IS_LEVEL(c,s,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: APLOG_C_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_C_MODULE_IS_LEVEL(c,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - module_index
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: APLOG_R_MODULE_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_R_MODULE_IS_LEVEL(r,module_index,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: APLOG_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_IS_LEVEL(s,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: APLOG_C_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_C_IS_LEVEL(c,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: APLOG_CS_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_CS_IS_LEVEL(c,s,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: APLOG_R_IS_LEVEL
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOG_R_IS_LEVEL(r,level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: APLOGinfo
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGinfo(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: APLOGdebug
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGdebug(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: APLOGtrace1
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace1(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: APLOGtrace2
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace2(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: APLOGtrace3
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace3(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: APLOGtrace4
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace4(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: APLOGtrace5
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace5(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: APLOGtrace6
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace6(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: APLOGtrace7
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace7(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: APLOGtrace8
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGtrace8(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: APLOGrinfo
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrinfo(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: APLOGrdebug
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrdebug(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: APLOGrtrace1
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace1(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: APLOGrtrace2
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace2(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: APLOGrtrace3
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace3(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: APLOGrtrace4
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace4(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: APLOGrtrace5
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace5(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: APLOGrtrace6
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace6(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: APLOGrtrace7
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace7(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: APLOGrtrace8
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGrtrace8(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: APLOGcinfo
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGcinfo(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: APLOGcdebug
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGcdebug(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: APLOGctrace1
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace1(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: APLOGctrace2
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace2(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: APLOGctrace3
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace3(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: APLOGctrace4
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace4(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: APLOGctrace5
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace5(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: APLOGctrace6
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace6(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: APLOGctrace7
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace7(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: APLOGctrace8
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APLOGctrace8(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: ap_log_error
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 365
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_error(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - status
    - ','
    - s
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: ap_log_error__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_error__(file, line, mi, level, status, s, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: ap_log_perror
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_perror(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - status
    - ','
    - p
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: ap_log_perror__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_perror__(file, line, mi, level, status, p, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: ap_log_rerror
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 496
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_rerror(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - status
    - ','
    - r
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: ap_log_rerror__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_rerror__(file, line, mi, level, status, r, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: ap_log_cerror
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 208
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cerror(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - status
    - ','
    - c
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: ap_log_cerror__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cerror__(file, line, mi, level, status, c, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: ap_log_cserror
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cserror(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - status
    - ','
    - c
    - ','
    - s
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: ap_log_cserror__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cserror__(file, line, mi, level, status, c, s, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: ap_log_data
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_data(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - s
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: ap_log_data__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_data__(file, line, mi, level, s, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: ap_log_rdata
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_rdata(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - r
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: ap_log_rdata__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_rdata__(file, line, mi, level, r, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: ap_log_cdata
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cdata(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - c
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: ap_log_cdata__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_cdata__(file, line, mi, level, c, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: ap_log_csdata
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_csdata(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - mi
    - ','
    - level
    - ','
    - c
    - ','
    - s
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: ap_log_csdata__
    functionSourceFile: /src/httpd/include/http_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_log_csdata__(file, line, mi, level, c, s, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkhash
      Src: /src/httpd/support/htpasswd.c:82,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htpasswd.c:89,1
    - Dst: strlen
      Src: /src/httpd/support/htpasswd.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - user
    argTypes:
    - struct passwd_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: mkrecord
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 0
    functionsReached:
    - mkhash
    - strlen
    - apr_pstrcat
    linkageType: ''
    returnType: int
    signature: int mkrecord(struct passwd_ctx *ctx, char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:100,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: usage
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 3
    functionsReached:
    - exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/support/htpasswd.c:141,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htpasswd.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pool
    - fname
    - mode
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: accessible
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 1
    functionsReached:
    - apr_file_close
    - apr_file_open
    linkageType: ''
    returnType: int
    signature: int accessible(apr_pool_t *pool, char *fname, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/support/htpasswd.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fname
    - pool
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: exists
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 16
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int exists(char *fname, apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_terminate
      Src: /src/httpd/support/htpasswd.c:162,1
    - Dst: pressanykey
      Src: /src/httpd/support/htpasswd.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: terminate
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 9
    functionsReached:
    - pressanykey
    - apr_terminate
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: apr_getopt_init
      Src: /src/httpd/support/htpasswd.c:181,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:183,1
    - Dst: apr_getopt
      Src: /src/httpd/support/htpasswd.c:185,1
    - Dst: parse_common_options
      Src: /src/httpd/support/htpasswd.c:201,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:203,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:204,1
    - Dst: usage
      Src: /src/httpd/support/htpasswd.c:211,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:215,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:217,1
    - Dst: usage
      Src: /src/httpd/support/htpasswd.c:229,1
    - Dst: strlen
      Src: /src/httpd/support/htpasswd.c:233,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:234,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:235,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htpasswd.c:237,1
    - Dst: strlen
      Src: /src/httpd/support/htpasswd.c:239,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:240,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:242,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htpasswd.c:244,1
    - Dst: strchr
      Src: /src/httpd/support/htpasswd.c:245,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:246,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:248,1
    - Dst: strlen
      Src: /src/httpd/support/htpasswd.c:251,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:252,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:254,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htpasswd.c:256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 6
    argNames:
    - argc
    - argv
    - ctx
    - mask
    - user
    - pwfilename
    argTypes:
    - int
    - char*[]
    - struct passwd_ctx*
    - unsigned*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 258
    functionName: check_args
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 0
    functionsReached:
    - apr_getopt
    - strchr
    - parse_common_options
    - apr_getopt_init
    - apr_pstrdup
    - usage
    - strlen
    - exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: "void check_args(int argc, const char *const argv[],\n                       struct
      passwd_ctx *ctx, unsigned *mask, char **user,\n                       char **pwfilename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_password
      Src: /src/httpd/support/htpasswd.c:265,1
    - Dst: apr_password_validate
      Src: /src/httpd/support/htpasswd.c:267,1
    - Dst: APR_STATUS_IS_EMISMATCH
      Src: /src/httpd/support/htpasswd.c:270,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htpasswd.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - struct passwd_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: verify
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 11
    functionsReached:
    - apr_password_validate
    - get_password
    - apr_psprintf
    - APR_STATUS_IS_EMISMATCH
    linkageType: ''
    returnType: int
    signature: int verify(struct passwd_ctx *ctx, const char *hash)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/htpasswd.c:303,1
    - Dst: atexit
      Src: /src/httpd/support/htpasswd.c:304,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/htpasswd.c:305,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/support/htpasswd.c:306,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/htpasswd.c:307,1
    - Dst: apr_xlate_open
      Src: /src/httpd/support/htpasswd.c:312,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:314,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:315,1
    - Dst: apr_SHA1InitEBCDIC
      Src: /src/httpd/support/htpasswd.c:317,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:319,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:320,1
    - Dst: apr_MD5InitEBCDIC
      Src: /src/httpd/support/htpasswd.c:322,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:324,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:325,1
    - Dst: check_args
      Src: /src/httpd/support/htpasswd.c:329,1
    - Dst: exists
      Src: /src/httpd/support/htpasswd.c:335,1
    - Dst: accessible
      Src: /src/httpd/support/htpasswd.c:340,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:341,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:343,1
    - Dst: accessible
      Src: /src/httpd/support/htpasswd.c:350,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:351,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:353,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:361,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:364,1
    - Dst: accessible
      Src: /src/httpd/support/htpasswd.c:369,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:370,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:372,1
    - Dst: mkrecord
      Src: /src/httpd/support/htpasswd.c:385,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:387,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:388,1
    - Dst: printf
      Src: /src/httpd/support/htpasswd.c:391,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:392,1
    - Dst: apr_temp_dir_get
      Src: /src/httpd/support/htpasswd.c:401,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:402,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:404,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htpasswd.c:406,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/support/htpasswd.c:408,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:409,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:411,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htpasswd.c:420,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:422,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:424,1
    - Dst: apr_file_gets
      Src: /src/httpd/support/htpasswd.c:426,1
    - Dst: strcpy
      Src: /src/httpd/support/htpasswd.c:429,1
    - Dst: apr_isspace
      Src: /src/httpd/support/htpasswd.c:431,1
    - Dst: putline
      Src: /src/httpd/support/htpasswd.c:436,1
    - Dst: strchr
      Src: /src/httpd/support/htpasswd.c:442,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:452,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htpasswd.c:455,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:456,1
    - Dst: strcmp
      Src: /src/httpd/support/htpasswd.c:458,1
    - Dst: putline
      Src: /src/httpd/support/htpasswd.c:459,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:467,1
    - Dst: strcspn
      Src: /src/httpd/support/htpasswd.c:474,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:476,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:478,1
    - Dst: verify
      Src: /src/httpd/support/htpasswd.c:482,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:484,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:485,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:490,1
    - Dst: putline
      Src: /src/httpd/support/htpasswd.c:491,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htpasswd.c:495,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:499,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:500,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:503,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:504,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:507,1
    - Dst: putline
      Src: /src/httpd/support/htpasswd.c:508,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:512,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:513,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:516,1
    - Dst: apr_file_copy
      Src: /src/httpd/support/htpasswd.c:520,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htpasswd.c:522,1
    - Dst: exit
      Src: /src/httpd/support/htpasswd.c:524,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htpasswd.c:526,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 145
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 528
    functionName: main
    functionSourceFile: /src/httpd/support/htpasswd.c
    functionUses: 10
    functionsReached:
    - apr_MD5InitEBCDIC
    - apr_file_copy
    - accessible
    - apr_file_mktemp
    - apr_file_close
    - mkrecord
    - strchr
    - apr_app_initialize
    - apr_temp_dir_get
    - check_args
    - apr_psprintf
    - apr_xlate_open
    - apr_file_open
    - strcmp
    - apr_isspace
    - apr_pool_create
    - atexit
    - exit
    - apr_file_printf
    - apr_file_open_stderr
    - exists
    - verify
    - strcspn
    - apr_file_gets
    - strcpy
    - putline
    - printf
    - apr_pool_abort_set
    - apr_SHA1InitEBCDIC
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_terminate
      Src: /src/httpd/support/htdbm.c:83,1
    - Dst: pressanykey
      Src: /src/httpd/support/htdbm.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: terminate
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 10
    functionsReached:
    - pressanykey
    - apr_terminate
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_close
      Src: /src/httpd/support/htdbm.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: htdbm_terminate
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_close
    linkageType: ''
    returnType: void
    signature: void htdbm_terminate(htdbm_t *htdbm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htdbm_terminate
      Src: /src/httpd/support/htdbm.c:100,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:101,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: htdbm_interrupted
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - htdbm_terminate
    - exit
    linkageType: ''
    returnType: void
    signature: void htdbm_interrupted(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/htdbm.c:112,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/support/htdbm.c:113,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/htdbm.c:114,1
    - Dst: apr_signal
      Src: /src/httpd/support/htdbm.c:115,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/htdbm.c:117,1
    - Dst: apr_xlate_open
      Src: /src/httpd/support/htdbm.c:121,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:123,1
    - Dst: apr_SHA1InitEBCDIC
      Src: /src/httpd/support/htdbm.c:126,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:128,1
    - Dst: apr_MD5InitEBCDIC
      Src: /src/httpd/support/htdbm.c:131,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - pool
    - hdbm
    argTypes:
    - apr_pool_t**
    - htdbm_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: htdbm_init
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_MD5InitEBCDIC
    - apr_signal
    - apr_pcalloc
    - fprintf
    - apr_pool_create
    - apr_xlate_open
    - apr_pool_abort_set
    - apr_file_open_stderr
    - apr_SHA1InitEBCDIC
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_init(apr_pool_t **pool, htdbm_t **hdbm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/support/htdbm.c:147,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/support/htdbm.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: htdbm_open
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_open_ex
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_open(htdbm_t *htdbm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:163,1
    - Dst: apr_dbm_exists
      Src: /src/httpd/support/htdbm.c:164,1
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:167,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htdbm.c:171,1
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:173,1
    - Dst: apr_dbm_store
      Src: /src/httpd/support/htdbm.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - htdbm
    - changed
    argTypes:
    - htdbm_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: htdbm_save
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_exists
    - strlen
    - apr_pstrcat
    - apr_dbm_store
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_save(htdbm_t *htdbm, int *changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:183,1
    - Dst: apr_dbm_exists
      Src: /src/httpd/support/htdbm.c:184,1
    - Dst: apr_dbm_delete
      Src: /src/httpd/support/htdbm.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: htdbm_del
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_exists
    - strlen
    - apr_dbm_delete
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_del(htdbm_t *htdbm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:201,1
    - Dst: apr_dbm_exists
      Src: /src/httpd/support/htdbm.c:202,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/support/htdbm.c:204,1
    - Dst: apr_pstrndup
      Src: /src/httpd/support/htdbm.c:206,1
    - Dst: strchr
      Src: /src/httpd/support/htdbm.c:207,1
    - Dst: apr_pstrndup
      Src: /src/httpd/support/htdbm.c:209,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:211,1
    - Dst: apr_password_validate
      Src: /src/httpd/support/htdbm.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: htdbm_verify
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_exists
    - strchr
    - apr_dbm_fetch
    - apr_password_validate
    - apr_pstrdup
    - apr_pstrndup
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_verify(htdbm_t *htdbm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_dbm_firstkey
      Src: /src/httpd/support/htdbm.c:222,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:224,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:227,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:228,1
    - Dst: apr_dbm_fetch
      Src: /src/httpd/support/htdbm.c:230,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:232,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:236,1
    - Dst: memchr
      Src: /src/httpd/support/htdbm.c:237,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:239,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:240,1
    - Dst: apr_dbm_nextkey
      Src: /src/httpd/support/htdbm.c:241,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:243,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: htdbm_list
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - apr_dbm_firstkey
    - apr_dbm_nextkey
    - apr_dbm_fetch
    - fprintf
    - memchr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_list(htdbm_t *htdbm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkhash
      Src: /src/httpd/support/htdbm.c:258,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:260,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: htdbm_make
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mkhash
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int htdbm_make(htdbm_t *htdbm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:269,1
    - Dst: strlen
      Src: /src/httpd/support/htdbm.c:269,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:270,1
    - Dst: strchr
      Src: /src/httpd/support/htdbm.c:273,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - htdbm
    argTypes:
    - htdbm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: htdbm_valid_username
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    - strchr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t htdbm_valid_username(htdbm_t *htdbm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:282,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: htdbm_usage
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void htdbm_usage(void)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/htdbm.c:331,1
    - Dst: atexit
      Src: /src/httpd/support/htdbm.c:332,1
    - Dst: htdbm_init
      Src: /src/httpd/support/htdbm.c:334,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:335,1
    - Dst: apr_strerror
      Src: /src/httpd/support/htdbm.c:336,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:337,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/htdbm.c:340,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:342,1
    - Dst: apr_getopt
      Src: /src/httpd/support/htdbm.c:344,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:366,1
    - Dst: parse_common_options
      Src: /src/httpd/support/htdbm.c:377,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:379,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:380,1
    - Dst: htdbm_usage
      Src: /src/httpd/support/htdbm.c:395,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:398,1
    - Dst: htdbm_open
      Src: /src/httpd/support/htdbm.c:399,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:400,1
    - Dst: apr_strerror
      Src: /src/httpd/support/htdbm.c:401,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:402,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:403,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:407,1
    - Dst: htdbm_valid_username
      Src: /src/httpd/support/htdbm.c:408,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:409,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:412,1
    - Dst: get_password
      Src: /src/httpd/support/htdbm.c:415,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:417,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:418,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htdbm.c:422,1
    - Dst: htdbm_verify
      Src: /src/httpd/support/htdbm.c:426,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/support/htdbm.c:427,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:428,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:429,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:432,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:433,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:437,1
    - Dst: htdbm_del
      Src: /src/httpd/support/htdbm.c:440,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:441,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:442,1
    - Dst: htdbm_list
      Src: /src/httpd/support/htdbm.c:448,1
    - Dst: htdbm_make
      Src: /src/httpd/support/htdbm.c:451,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:453,1
    - Dst: htdbm_save
      Src: /src/httpd/support/htdbm.c:457,1
    - Dst: apr_strerror
      Src: /src/httpd/support/htdbm.c:458,1
    - Dst: exit
      Src: /src/httpd/support/htdbm.c:459,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:461,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:466,1
    - Dst: fprintf
      Src: /src/httpd/support/htdbm.c:469,1
    - Dst: htdbm_terminate
      Src: /src/httpd/support/htdbm.c:473,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 476
    functionName: main
    functionSourceFile: /src/httpd/support/htdbm.c
    functionUses: 10
    functionsReached:
    - htdbm_valid_username
    - htdbm_terminate
    - htdbm_init
    - fprintf
    - htdbm_make
    - htdbm_del
    - apr_app_initialize
    - apr_strerror
    - htdbm_list
    - htdbm_verify
    - atexit
    - htdbm_usage
    - APR_STATUS_IS_ENOENT
    - htdbm_save
    - exit
    - get_password
    - apr_getopt
    - parse_common_options
    - htdbm_open
    - apr_getopt_init
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 106
    functionName: usage
    functionSourceFile: /src/httpd/support/httxt2dbm.c
    functionUses: 5
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/httxt2dbm.c:117,1
    - Dst: apr_file_gets
      Src: /src/httpd/support/httxt2dbm.c:119,1
    - Dst: apr_isspace
      Src: /src/httpd/support/httxt2dbm.c:122,1
    - Dst: apr_isspace
      Src: /src/httpd/support/httxt2dbm.c:128,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/support/httxt2dbm.c:137,1
    - Dst: apr_isspace
      Src: /src/httpd/support/httxt2dbm.c:140,1
    - Dst: apr_pool_clear
      Src: /src/httpd/support/httxt2dbm.c:145,1
    - Dst: apr_isspace
      Src: /src/httpd/support/httxt2dbm.c:151,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/support/httxt2dbm.c:155,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:159,1
    - Dst: apr_dbm_store
      Src: /src/httpd/support/httxt2dbm.c:163,1
    - Dst: apr_pool_clear
      Src: /src/httpd/support/httxt2dbm.c:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - dbm
    - fp
    - pool
    argTypes:
    - apr_dbm_t*
    - apr_file_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 173
    functionName: to_dbm
    functionSourceFile: /src/httpd/support/httxt2dbm.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - apr_file_gets
    - apr_pstrmemdup
    - apr_pool_create
    - apr_pool_clear
    - apr_dbm_store
    - apr_file_printf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t to_dbm(apr_dbm_t *dbm, apr_file_t *fp, apr_pool_t *pool)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/httxt2dbm.c:185,1
    - Dst: atexit
      Src: /src/httpd/support/httxt2dbm.c:186,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/httxt2dbm.c:193,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/support/httxt2dbm.c:196,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/httxt2dbm.c:202,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/httxt2dbm.c:203,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:206,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:211,1
    - Dst: apr_getopt
      Src: /src/httpd/support/httxt2dbm.c:215,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:219,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:220,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:227,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:228,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/httxt2dbm.c:231,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:235,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:236,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/httxt2dbm.c:239,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:243,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:244,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/httxt2dbm.c:247,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:253,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:254,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:259,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:260,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:265,1
    - Dst: usage
      Src: /src/httpd/support/httxt2dbm.c:266,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:275,1
    - Dst: strcmp
      Src: /src/httpd/support/httxt2dbm.c:278,1
    - Dst: apr_file_open_stdin
      Src: /src/httpd/support/httxt2dbm.c:279,1
    - Dst: apr_file_open
      Src: /src/httpd/support/httxt2dbm.c:282,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:287,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:294,1
    - Dst: apr_dbm_open_ex
      Src: /src/httpd/support/httxt2dbm.c:297,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/support/httxt2dbm.c:300,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:301,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:308,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:315,1
    - Dst: to_dbm
      Src: /src/httpd/support/httxt2dbm.c:318,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:321,1
    - Dst: apr_dbm_close
      Src: /src/httpd/support/httxt2dbm.c:327,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/httxt2dbm.c:330,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 334
    functionName: main
    functionSourceFile: /src/httpd/support/httxt2dbm.c
    functionUses: 10
    functionsReached:
    - apr_dbm_close
    - strcmp
    - APR_STATUS_IS_ENOTIMPL
    - apr_getopt
    - to_dbm
    - apr_filepath_name_get
    - apr_getopt_init
    - apr_app_initialize
    - apr_pstrdup
    - usage
    - apr_pool_create
    - apr_file_open_stdin
    - atexit
    - apr_file_open
    - apr_dbm_open_ex
    - apr_file_printf
    - apr_file_open_stderr
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:145,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pathname
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: fake_file_remove
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void fake_file_remove(char *pathname, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unused
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: setterm
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void setterm(int unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/httpd/support/htcacheclean.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - unused
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: oom
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int oom(int unused)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:213,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:226,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:229,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:231,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:233,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:238,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:242,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - path
    - s
    argTypes:
    - char*
    - struct stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 251
    functionName: printstats
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void printstats(char *path, struct stats *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - round
    argTypes:
    - apr_size_t
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: round_up
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_size_t
    signature: apr_size_t round_up(apr_size_t val, apr_off_t round)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:274,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:275,1
    - Dst: strrchr
      Src: /src/httpd/support/htcacheclean.c:282,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:287,1
    - Dst: apr_dir_remove
      Src: /src/httpd/support/htcacheclean.c:288,1
    - Dst: strstr
      Src: /src/httpd/support/htcacheclean.c:292,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:294,1
    - Dst: apr_pstrndup
      Src: /src/httpd/support/htcacheclean.c:294,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:296,1
    - Dst: strrchr
      Src: /src/httpd/support/htcacheclean.c:305,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:309,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - path
    - basename
    - nodes
    - pool
    argTypes:
    - char*
    - char*
    - apr_off_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 318
    functionName: delete_parent
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - strstr
    - apr_dir_remove
    - apr_pool_create
    - strrchr
    - apr_sleep
    - apr_file_remove
    - apr_pstrndup
    - apr_pool_destroy
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: "void delete_parent(const char *path, const char *basename,\n        apr_off_t
      *nodes, apr_pool_t *pool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:330,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:331,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:335,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:339,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:343,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:347,1
    - Dst: delete_parent
      Src: /src/httpd/support/htcacheclean.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - path
    - basename
    - nodes
    - pool
    argTypes:
    - char*
    - char*
    - apr_off_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 354
    functionName: delete_file
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - delete_parent
    - apr_pool_create
    - apr_sleep
    - apr_file_remove
    - apr_pool_destroy
    - apr_stat
    linkageType: ''
    returnType: void
    signature: "void delete_file(char *path, char *basename, apr_off_t *nodes,\n        apr_pool_t
      *pool)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:366,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:368,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:371,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:375,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:379,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:382,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:386,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:390,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:395,1
    - Dst: delete_parent
      Src: /src/httpd/support/htcacheclean.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - path
    - basename
    - nodes
    - pool
    argTypes:
    - char*
    - char*
    - apr_off_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 402
    functionName: delete_entry
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - delete_parent
    - apr_pool_create
    - apr_sleep
    - apr_file_remove
    - apr_pool_destroy
    - apr_stat
    linkageType: ''
    returnType: void
    signature: "void delete_entry(char *path, char *basename, apr_off_t *nodes,\n
      \       apr_pool_t *pool)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:419,1
    - Dst: apr_dir_open
      Src: /src/httpd/support/htcacheclean.c:421,1
    - Dst: apr_dir_read
      Src: /src/httpd/support/htcacheclean.c:425,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:428,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:428,1
    - Dst: list_urls
      Src: /src/httpd/support/htcacheclean.c:432,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:432,1
    - Dst: strchr
      Src: /src/httpd/support/htcacheclean.c:439,1
    - Dst: strcasecmp
      Src: /src/httpd/support/htcacheclean.c:441,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:443,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htcacheclean.c:445,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:448,1
    - Dst: apr_file_seek
      Src: /src/httpd/support/htcacheclean.c:453,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:457,1
    - Dst: apr_palloc
      Src: /src/httpd/support/htcacheclean.c:460,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:463,1
    - Dst: apr_file_info_get
      Src: /src/httpd/support/htcacheclean.c:470,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:475,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:477,1
    - Dst: apr_pstrndup
      Src: /src/httpd/support/htcacheclean.c:481,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:501,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:512,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:513,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:531,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:533,1
    - Dst: apr_pstrndup
      Src: /src/httpd/support/htcacheclean.c:537,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:556,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:564,1
    - Dst: apr_dir_close
      Src: /src/httpd/support/htcacheclean.c:572,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:578,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:581,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 3
    argNames:
    - path
    - pool
    - round
    argTypes:
    - char*
    - apr_pool_t*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 589
    functionName: list_urls
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 1
    functionsReached:
    - apr_file_close
    - list_urls
    - apr_stat
    - apr_dir_read
    - apr_dir_close
    - apr_pstrcat
    - strchr
    - apr_pstrndup
    - apr_file_open
    - apr_file_read_full
    - strcmp
    - apr_file_info_get
    - apr_file_seek
    - apr_pool_create
    - apr_pool_destroy
    - apr_file_printf
    - apr_dir_open
    - round_up
    - apr_palloc
    - strcasecmp
    - apr_sleep
    linkageType: ''
    returnType: int
    signature: int list_urls(char *path, apr_pool_t *pool, apr_off_t round)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_INIT
      Src: /src/httpd/support/htcacheclean.c:611,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:612,1
    - Dst: apr_hash_make
      Src: /src/httpd/support/htcacheclean.c:613,1
    - Dst: apr_dir_open
      Src: /src/httpd/support/htcacheclean.c:617,1
    - Dst: apr_dir_read
      Src: /src/httpd/support/htcacheclean.c:621,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:622,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:622,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/htcacheclean.c:625,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:626,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/support/htcacheclean.c:627,1
    - Dst: apr_dir_close
      Src: /src/httpd/support/htcacheclean.c:631,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/htcacheclean.c:639,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/support/htcacheclean.c:640,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:642,1
    - Dst: strrchr
      Src: /src/httpd/support/htcacheclean.c:643,1
    - Dst: strchr
      Src: /src/httpd/support/htcacheclean.c:647,1
    - Dst: strncasecmp
      Src: /src/httpd/support/htcacheclean.c:653,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:654,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:667,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:669,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:685,1
    - Dst: process_dir
      Src: /src/httpd/support/htcacheclean.c:687,1
    - Dst: apr_dir_remove
      Src: /src/httpd/support/htcacheclean.c:696,1
    - Dst: strncasecmp
      Src: /src/httpd/support/htcacheclean.c:706,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:707,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/htcacheclean.c:711,1
    - Dst: strcasecmp
      Src: /src/httpd/support/htcacheclean.c:716,1
    - Dst: apr_hash_get
      Src: /src/httpd/support/htcacheclean.c:723,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/htcacheclean.c:730,1
    - Dst: strcasecmp
      Src: /src/httpd/support/htcacheclean.c:734,1
    - Dst: apr_hash_get
      Src: /src/httpd/support/htcacheclean.c:741,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/htcacheclean.c:748,1
    - Dst: apr_hash_first
      Src: /src/httpd/support/htcacheclean.c:758,1
    - Dst: apr_hash_next
      Src: /src/httpd/support/htcacheclean.c:758,1
    - Dst: apr_hash_this
      Src: /src/httpd/support/htcacheclean.c:762,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:767,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htcacheclean.c:769,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:772,1
    - Dst: apr_file_seek
      Src: /src/httpd/support/htcacheclean.c:777,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:781,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:783,1
    - Dst: apr_palloc
      Src: /src/httpd/support/htcacheclean.c:784,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/support/htcacheclean.c:785,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:792,1
    - Dst: delete_file
      Src: /src/httpd/support/htcacheclean.c:794,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:794,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:801,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:810,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:812,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:812,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:815,1
    - Dst: delete_file
      Src: /src/httpd/support/htcacheclean.c:818,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:818,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:826,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:827,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:832,1
    - Dst: apr_time_now
      Src: /src/httpd/support/htcacheclean.c:843,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:846,1
    - Dst: apr_time_now
      Src: /src/httpd/support/htcacheclean.c:859,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:860,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htcacheclean.c:862,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:865,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:872,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:876,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:878,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:878,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:881,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:884,1
    - Dst: apr_file_seek
      Src: /src/httpd/support/htcacheclean.c:893,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/htcacheclean.c:897,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:899,1
    - Dst: apr_palloc
      Src: /src/httpd/support/htcacheclean.c:900,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/support/htcacheclean.c:901,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:908,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:912,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:916,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:917,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:922,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:928,1
    - Dst: apr_time_now
      Src: /src/httpd/support/htcacheclean.c:934,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:937,1
    - Dst: delete_file
      Src: /src/httpd/support/htcacheclean.c:946,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:956,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:959,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 236
    argCount: 3
    argNames:
    - path
    - pool
    - nodes
    argTypes:
    - char*
    - apr_pool_t*
    - apr_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 967
    functionName: process_dir
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - apr_file_close
    - apr_dir_remove
    - delete_file
    - APR_RING_INIT
    - process_dir
    - apr_stat
    - APR_RING_SENTINEL
    - apr_dir_read
    - apr_hash_make
    - apr_pstrcat
    - apr_dir_close
    - strchr
    - apr_pstrdup
    - APR_RING_INSERT_TAIL
    - apr_file_open
    - apr_hash_first
    - strncasecmp
    - apr_file_read_full
    - APR_RING_FIRST
    - strcmp
    - apr_file_seek
    - apr_hash_this
    - apr_pool_create
    - delete_entry
    - apr_pool_destroy
    - apr_hash_get
    - apr_dir_open
    - apr_hash_set
    - apr_pcalloc
    - apr_palloc
    - strcasecmp
    - strrchr
    - apr_sleep
    - apr_hash_next
    - APR_RING_NEXT
    - strlen
    linkageType: ''
    returnType: int
    signature: int process_dir(char *path, apr_pool_t *pool, apr_off_t *nodes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/htcacheclean.c:988,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/support/htcacheclean.c:989,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:990,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:991,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:992,1
    - Dst: printstats
      Src: /src/httpd/support/htcacheclean.c:1000,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/htcacheclean.c:1008,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/support/htcacheclean.c:1009,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:1010,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:1012,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1013,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1014,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/support/htcacheclean.c:1017,1
    - Dst: printstats
      Src: /src/httpd/support/htcacheclean.c:1020,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/htcacheclean.c:1033,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/support/htcacheclean.c:1034,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:1035,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:1037,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1038,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1039,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/support/htcacheclean.c:1042,1
    - Dst: printstats
      Src: /src/httpd/support/htcacheclean.c:1045,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/support/htcacheclean.c:1063,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/htcacheclean.c:1064,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:1066,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/support/htcacheclean.c:1067,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/support/htcacheclean.c:1068,1
    - Dst: delete_entry
      Src: /src/httpd/support/htcacheclean.c:1074,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1075,1
    - Dst: round_up
      Src: /src/httpd/support/htcacheclean.c:1076,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/support/htcacheclean.c:1079,1
    - Dst: printstats
      Src: /src/httpd/support/htcacheclean.c:1083,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 80
    argCount: 6
    argNames:
    - path
    - pool
    - max
    - inodes
    - nodes
    - round
    argTypes:
    - char*
    - apr_pool_t*
    - apr_off_t
    - apr_off_t
    - apr_off_t
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 1085
    functionName: purge
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 13
    functionsReached:
    - APR_RING_FIRST
    - round_up
    - printstats
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - APR_RING_NEXT
    - delete_entry
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: void
    signature: "void purge(char *path, apr_pool_t *pool, apr_off_t max,\n        apr_off_t
      inodes, apr_off_t nodes, apr_off_t round)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_dir_open
      Src: /src/httpd/support/htcacheclean.c:1093,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/support/htcacheclean.c:1094,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1098,1
    - Dst: apr_dir_read
      Src: /src/httpd/support/htcacheclean.c:1103,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:1106,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:1106,1
    - Dst: remove_directory
      Src: /src/httpd/support/htcacheclean.c:1107,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1107,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1117,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:1118,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1120,1
    - Dst: apr_dir_close
      Src: /src/httpd/support/htcacheclean.c:1128,1
    - Dst: apr_dir_remove
      Src: /src/httpd/support/htcacheclean.c:1131,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - pool
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1142
    functionName: remove_directory
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - strcmp
    - apr_dir_close
    - apr_pstrcat
    - apr_dir_remove
    - remove_directory
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - apr_file_printf
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t remove_directory(apr_pool_t *pool, const char *dir)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1151,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1152,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1153,1
    - Dst: apr_dir_open
      Src: /src/httpd/support/htcacheclean.c:1157,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1159,1
    - Dst: apr_dir_read
      Src: /src/httpd/support/htcacheclean.c:1166,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:1168,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:1169,1
    - Dst: strncmp
      Src: /src/httpd/support/htcacheclean.c:1170,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1171,1
    - Dst: find_directory
      Src: /src/httpd/support/htcacheclean.c:1172,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:1179,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:1184,1
    - Dst: strcmp
      Src: /src/httpd/support/htcacheclean.c:1184,1
    - Dst: apr_dir_close
      Src: /src/httpd/support/htcacheclean.c:1190,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1198,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:1199,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/support/htcacheclean.c:1200,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1201,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1206,1
    - Dst: apr_file_remove
      Src: /src/httpd/support/htcacheclean.c:1207,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/support/htcacheclean.c:1208,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1209,1
    - Dst: remove_directory
      Src: /src/httpd/support/htcacheclean.c:1214,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/htcacheclean.c:1214,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/support/htcacheclean.c:1215,1
    - Dst: apr_dir_remove
      Src: /src/httpd/support/htcacheclean.c:1225,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 3
    argNames:
    - pool
    - base
    - rest
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1233
    functionName: find_directory
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 1
    functionsReached:
    - apr_dir_open
    - strcmp
    - apr_dir_close
    - apr_pstrcat
    - apr_dir_remove
    - remove_directory
    - find_directory
    - APR_STATUS_IS_ENOENT
    - apr_file_remove
    - apr_file_printf
    - strlen
    - strncmp
    - apr_dir_read
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t find_directory(apr_pool_t *pool, const char *base,\n
      \       const char *rest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5_init
      Src: /src/httpd/support/htcacheclean.c:1248,1
    - Dst: apr_md5_update
      Src: /src/httpd/support/htcacheclean.c:1249,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:1249,1
    - Dst: apr_md5_final
      Src: /src/httpd/support/htcacheclean.c:1250,1
    - Dst: find_directory
      Src: /src/httpd/support/htcacheclean.c:1271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - proxypath
    - url
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1272
    functionName: delete_url
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_md5_init
    - apr_md5_update
    - find_directory
    - strlen
    - apr_md5_final
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t delete_url(apr_pool_t *pool, const char *proxypath, const
      char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1281,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1283,1
    - Dst: exit
      Src: /src/httpd/support/htcacheclean.c:1351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - error
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1352
    functionName: usage
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 6
    functionsReached:
    - exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void usage(const char *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1357,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - option
    argTypes:
    - apr_pool_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1360
    functionName: usage_repeated_arg
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - usage
    linkageType: ''
    returnType: void
    signature: void usage_repeated_arg(apr_pool_t *pool, char option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/support/htcacheclean.c:1365,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htcacheclean.c:1367,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1371,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1375,1
    - Dst: exit
      Src: /src/httpd/support/htcacheclean.c:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - pidfilename
    - pidfile
    argTypes:
    - apr_pool_t*
    - char*
    - apr_file_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1381
    functionName: log_pid
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 0
    functionsReached:
    - getpid
    - apr_file_printf
    - exit
    - apr_file_open
    linkageType: ''
    returnType: void
    signature: void log_pid(apr_pool_t *pool, const char *pidfilename, apr_file_t
      **pidfile)
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/htcacheclean.c:1418,1
    - Dst: atexit
      Src: /src/httpd/support/htcacheclean.c:1421,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/support/htcacheclean.c:1424,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:1427,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/support/htcacheclean.c:1430,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/htcacheclean.c:1431,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/support/htcacheclean.c:1432,1
    - Dst: apr_signal
      Src: /src/httpd/support/htcacheclean.c:1433,1
    - Dst: apr_signal
      Src: /src/httpd/support/htcacheclean.c:1434,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/htcacheclean.c:1436,1
    - Dst: apr_getopt
      Src: /src/httpd/support/htcacheclean.c:1439,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1444,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1452,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1459,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1466,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1473,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1480,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1487,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1495,1
    - Dst: apr_atoi64
      Src: /src/httpd/support/htcacheclean.c:1498,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1505,1
    - Dst: apr_strtoff
      Src: /src/httpd/support/htcacheclean.c:1510,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1527,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1527,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1535,1
    - Dst: apr_strtoff
      Src: /src/httpd/support/htcacheclean.c:1540,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1557,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1557,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1565,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1572,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1580,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:1582,1
    - Dst: apr_filepath_set
      Src: /src/httpd/support/htcacheclean.c:1583,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1584,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1584,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1591,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/htcacheclean.c:1593,1
    - Dst: usage_repeated_arg
      Src: /src/httpd/support/htcacheclean.c:1598,1
    - Dst: apr_strtoff
      Src: /src/httpd/support/htcacheclean.c:1600,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1603,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1603,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1607,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1607,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1612,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1612,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1622,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1626,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1633,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1636,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1639,1
    - Dst: delete_url
      Src: /src/httpd/support/htcacheclean.c:1642,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1645,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1652,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1658,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1669,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1673,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1677,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1681,1
    - Dst: apr_filepath_get
      Src: /src/httpd/support/htcacheclean.c:1684,1
    - Dst: usage
      Src: /src/httpd/support/htcacheclean.c:1685,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htcacheclean.c:1685,1
    - Dst: strlen
      Src: /src/httpd/support/htcacheclean.c:1687,1
    - Dst: log_pid
      Src: /src/httpd/support/htcacheclean.c:1690,1
    - Dst: list_urls
      Src: /src/httpd/support/htcacheclean.c:1696,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:1702,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htcacheclean.c:1705,1
    - Dst: apr_proc_detach
      Src: /src/httpd/support/htcacheclean.c:1707,1
    - Dst: log_pid
      Src: /src/httpd/support/htcacheclean.c:1709,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/htcacheclean.c:1715,1
    - Dst: apr_time_now
      Src: /src/httpd/support/htcacheclean.c:1717,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/support/htcacheclean.c:1718,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:1734,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:1736,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:1752,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:1754,1
    - Dst: process_dir
      Src: /src/httpd/support/htcacheclean.c:1771,1
    - Dst: purge
      Src: /src/httpd/support/htcacheclean.c:1772,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1775,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:1785,1
    - Dst: apr_stat
      Src: /src/httpd/support/htcacheclean.c:1787,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/htcacheclean.c:1800,1
    - Dst: apr_time_now
      Src: /src/httpd/support/htcacheclean.c:1802,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:1822,1
    - Dst: apr_sleep
      Src: /src/httpd/support/htcacheclean.c:1826,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htcacheclean.c:1834,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 359
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1386
    functionDepth: 4
    functionLinenumber: 1386
    functionLinenumberEnd: 1840
    functionName: main
    functionSourceFile: /src/httpd/support/htcacheclean.c
    functionUses: 10
    functionsReached:
    - apr_signal
    - apr_time_now
    - apr_file_close
    - list_urls
    - APR_RING_INIT
    - apr_pool_abort_set
    - process_dir
    - apr_stat
    - apr_strtoff
    - apr_app_initialize
    - strlen
    - apr_file_open_stdout
    - delete_url
    - apr_psprintf
    - usage
    - apr_pool_create
    - log_pid
    - atexit
    - apr_pool_destroy
    - usage_repeated_arg
    - apr_file_printf
    - apr_filepath_set
    - apr_file_open_stderr
    - apr_filepath_get
    - apr_proc_detach
    - apr_getopt
    - apr_filepath_name_get
    - apr_getopt_init
    - apr_sleep
    - purge
    - apr_atoi64
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/support/checkgid.c:68,1
    - Dst: getgrnam
      Src: /src/httpd/support/checkgid.c:73,1
    - Dst: fprintf
      Src: /src/httpd/support/checkgid.c:81,1
    - Dst: setgid
      Src: /src/httpd/support/checkgid.c:92,1
    - Dst: fprintf
      Src: /src/httpd/support/checkgid.c:94,1
    - Dst: perror
      Src: /src/httpd/support/checkgid.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/httpd/support/checkgid.c
    functionUses: 10
    functionsReached:
    - fprintf
    - atoi
    - perror
    - setgid
    - getgrnam
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: SK_NUM
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SK_NUM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: SK_VALUE
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SK_VALUE(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: SSL_CTX_set_min_proto_version
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_min_proto_version(ctx, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: SSL_CTX_set_max_proto_version
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_max_proto_version(ctx, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: ROUND_UP
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_UP(x, y)
  - 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: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: ap_min
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_min(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: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: ap_max
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_max(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: ap_round_ms
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_round_ms(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: ap_double_ms
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_double_ms(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - worker
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: worker_should_stop
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE worker_should_stop(struct worker *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - worker
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: worker_can_connect
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE worker_can_connect(struct worker *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finalize_connection
      Src: /src/httpd/support/ab.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: shutdown_connection
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - finalize_connection
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE shutdown_connection(struct connection *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_connection
      Src: /src/httpd/support/ab.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: abort_connection
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - shutdown_connection
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE abort_connection(struct connection *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:541,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: print_error
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_error(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_error
      Src: /src/httpd/support/ab.c:546,1
    - Dst: workers_may_exit
      Src: /src/httpd/support/ab.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: graceful_error
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - workers_may_exit
    - print_error
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE graceful_error(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_error
      Src: /src/httpd/support/ab.c:552,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: fatal_error
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - exit
    - print_error
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE fatal_error(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:561,1
    - Dst: apr_strerror
      Src: /src/httpd/support/ab.c:562,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - rv
    argTypes:
    - char*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: print_strerror
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - fprintf
    - apr_strerror
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_strerror(const char *s, apr_status_t rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_strerror
      Src: /src/httpd/support/ab.c:567,1
    - Dst: workers_may_exit
      Src: /src/httpd/support/ab.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - rv
    argTypes:
    - char*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: graceful_strerror
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - print_strerror
    - workers_may_exit
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE graceful_strerror(const char *s, apr_status_t rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_strerror
      Src: /src/httpd/support/ab.c:573,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - rv
    argTypes:
    - char*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: fatal_strerror
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - print_strerror
    - exit
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE fatal_strerror(const char *s, apr_status_t rv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/support/ab.c:590,1
    - Dst: apr_tolower
      Src: /src/httpd/support/ab.c:590,1
    - Dst: apr_tolower
      Src: /src/httpd/support/ab.c:597,1
    - Dst: apr_tolower
      Src: /src/httpd/support/ab.c:597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 611
    functionName: xstrcasestr
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_tolower
    linkageType: ''
    returnType: char
    signature: char *xstrcasestr(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:616,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - retcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: abort_on_oom
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 4
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int abort_on_oom(int retcode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_remove
      Src: /src/httpd/support/ab.c:638,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/support/ab.c:639,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:640,1
    - Dst: assert
      Src: /src/httpd/support/ab.c:643,1
    - Dst: apr_pollset_add
      Src: /src/httpd/support/ab.c:649,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - c
    - new_reqevents
    argTypes:
    - struct connection*
    - apr_int16_t
    assertStmts:
    - condition: (c->worker->polls > 0)
      pos:
        line_end: 642
        line_start: 642
        source_file: /src/httpd/support/ab.c
    constantsTouched: []
    func_position:
      end: 659
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 659
    functionName: set_polled_events
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_pollset_remove
    - graceful_strerror
    - APR_STATUS_IS_NOTFOUND
    - assert
    linkageType: ''
    returnType: int
    signature: int set_polled_events(struct connection *c, apr_int16_t new_reqevents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/httpd/support/ab.c:666,1
    - Dst: set_polled_events
      Src: /src/httpd/support/ab.c:670,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - c
    - state
    - events
    argTypes:
    - struct connection*
    - conn_state_e
    - apr_int16_t
    assertStmts:
    - condition: (counters[c->state][(c->pollfd.reqevents & APR_POLLOUT) != 0] > 0)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/httpd/support/ab.c
    constantsTouched: []
    func_position:
      end: 675
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 675
    functionName: set_conn_state
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - assert
    - set_polled_events
    - close_connection
    linkageType: ''
    returnType: void
    signature: "void set_conn_state(struct connection *c, conn_state_e state,\n                           apr_int16_t
      events)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/httpd/support/ab.c:698,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:702,1
    - Dst: BIO_dump
      Src: /src/httpd/support/ab.c:704,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:708,1
    - Dst: BIO_dump
      Src: /src/httpd/support/ab.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - bio
    - cmd
    - argp
    - argi
    - argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 713
    functionName: ssl_print_cb
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - BIO_dump
    - BIO_printf
    - BIO_get_callback_arg
    linkageType: ''
    returnType: long
    signature: "long ssl_print_cb(BIO *bio, int cmd, const char *argp,\n                         int
      argi, long argl, long ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:718,1
    - Dst: SSL_alert_type_string_long
      Src: /src/httpd/support/ab.c:720,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/httpd/support/ab.c:721,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:723,1
    - Dst: SSL_in_connect_init
      Src: /src/httpd/support/ab.c:724,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/support/ab.c:725,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:727,1
    - Dst: SSL_state_string_long
      Src: /src/httpd/support/ab.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - w
    - r
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 731
    functionName: ssl_state_cb
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_alert_type_string_long
    - SSL_state_string_long
    - SSL_in_connect_init
    - SSL_alert_desc_string_long
    linkageType: ''
    returnType: void
    signature: void ssl_state_cb(const SSL *s, int w, int r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:744,1
    - Dst: rand
      Src: /src/httpd/support/ab.c:745,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 750
    functionName: ssl_rand_choosenum
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - rand
    - atoi
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int ssl_rand_choosenum(int l, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_seed
      Src: /src/httpd/support/ab.c:764,1
    - Dst: getpid
      Src: /src/httpd/support/ab.c:769,1
    - Dst: RAND_seed
      Src: /src/httpd/support/ab.c:771,1
    - Dst: ssl_rand_choosenum
      Src: /src/httpd/support/ab.c:776,1
    - Dst: RAND_seed
      Src: /src/httpd/support/ab.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 778
    functionName: ssl_rand_seed
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 2
    functionsReached:
    - getpid
    - RAND_seed
    - ssl_rand_choosenum
    linkageType: ''
    returnType: void
    signature: void ssl_rand_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:788,1
    - Dst: SSL_get_version
      Src: /src/httpd/support/ab.c:788,1
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/support/ab.c:790,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:791,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/httpd/support/ab.c:791,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:792,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/httpd/support/ab.c:792,1
    - Dst: SSL_CIPHER_get_bits
      Src: /src/httpd/support/ab.c:794,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - ssl
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 798
    functionName: ssl_print_connection_info
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_get_current_cipher
    - SSL_CIPHER_get_name
    - SSL_CIPHER_get_version
    - SSL_CIPHER_get_bits
    - SSL_get_version
    linkageType: ''
    returnType: int
    signature: int ssl_print_connection_info(BIO *bio, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:806,1
    - Dst: X509_get_version
      Src: /src/httpd/support/ab.c:806,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:807,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/httpd/support/ab.c:808,1
    - Dst: X509_get_notBefore
      Src: /src/httpd/support/ab.c:808,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:809,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:811,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/httpd/support/ab.c:812,1
    - Dst: X509_get_notAfter
      Src: /src/httpd/support/ab.c:812,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:813,1
    - Dst: X509_get_pubkey
      Src: /src/httpd/support/ab.c:815,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:816,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:817,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/support/ab.c:818,1
    - Dst: X509_get_issuer_name
      Src: /src/httpd/support/ab.c:820,1
    - Dst: X509_NAME_oneline
      Src: /src/httpd/support/ab.c:821,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:822,1
    - Dst: X509_get_subject_name
      Src: /src/httpd/support/ab.c:824,1
    - Dst: X509_NAME_oneline
      Src: /src/httpd/support/ab.c:825,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:826,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:829,1
    - Dst: X509_get_ext_count
      Src: /src/httpd/support/ab.c:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 830
    functionName: ssl_print_cert_info
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - ASN1_UTCTIME_print
    - X509_NAME_oneline
    - BIO_printf
    - X509_get_issuer_name
    - X509_get_pubkey
    - EVP_PKEY_bits
    - X509_get_ext_count
    - X509_get_notBefore
    - X509_get_subject_name
    - X509_get_notAfter
    - EVP_PKEY_free
    - X509_get_version
    linkageType: ''
    returnType: void
    signature: void ssl_print_cert_info(BIO *bio, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:838,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/httpd/support/ab.c:839,1
    - Dst: SK_NUM
      Src: /src/httpd/support/ab.c:840,1
    - Dst: SK_VALUE
      Src: /src/httpd/support/ab.c:843,1
    - Dst: ssl_print_cert_info
      Src: /src/httpd/support/ab.c:844,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/support/ab.c:847,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:849,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:851,1
    - Dst: ssl_print_cert_info
      Src: /src/httpd/support/ab.c:852,1
    - Dst: X509_free
      Src: /src/httpd/support/ab.c:853,1
    - Dst: ssl_print_connection_info
      Src: /src/httpd/support/ab.c:855,1
    - Dst: SSL_SESSION_print
      Src: /src/httpd/support/ab.c:856,1
    - Dst: SSL_get_session
      Src: /src/httpd/support/ab.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 857
    functionName: ssl_print_info
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - ssl_print_connection_info
    - BIO_printf
    - X509_free
    - SSL_get_session
    - ssl_print_cert_info
    - SK_NUM
    - SK_VALUE
    - SSL_SESSION_print
    - SSL_get_peer_cert_chain
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: void
    signature: void ssl_print_info(struct connection *c)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_do_handshake
      Src: /src/httpd/support/ab.c:870,1
    - Dst: SSL_get_error
      Src: /src/httpd/support/ab.c:871,1
    - Dst: ssl_print_info
      Src: /src/httpd/support/ab.c:875,1
    - Dst: SSL_get_current_cipher
      Src: /src/httpd/support/ab.c:881,1
    - Dst: SSL_CIPHER_get_bits
      Src: /src/httpd/support/ab.c:882,1
    - Dst: SSL_get_peer_certificate
      Src: /src/httpd/support/ab.c:883,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:885,1
    - Dst: X509_get_pubkey
      Src: /src/httpd/support/ab.c:885,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:889,1
    - Dst: SSL_get_version
      Src: /src/httpd/support/ab.c:891,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/httpd/support/ab.c:892,1
    - Dst: X509_free
      Src: /src/httpd/support/ab.c:894,1
    - Dst: SSL_get_server_tmp_key
      Src: /src/httpd/support/ab.c:899,1
    - Dst: EVP_PKEY_id
      Src: /src/httpd/support/ab.c:900,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:902,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:903,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:906,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:907,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/httpd/support/ab.c:914,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/httpd/support/ab.c:922,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/httpd/support/ab.c:923,1
    - Dst: EC_KEY_get0_group
      Src: /src/httpd/support/ab.c:923,1
    - Dst: EC_KEY_free
      Src: /src/httpd/support/ab.c:924,1
    - Dst: EC_curve_nid2nist
      Src: /src/httpd/support/ab.c:925,1
    - Dst: OBJ_nid2sn
      Src: /src/httpd/support/ab.c:927,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:932,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:933,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:938,1
    - Dst: OBJ_nid2sn
      Src: /src/httpd/support/ab.c:939,1
    - Dst: EVP_PKEY_id
      Src: /src/httpd/support/ab.c:939,1
    - Dst: EVP_PKEY_bits
      Src: /src/httpd/support/ab.c:940,1
    - Dst: EVP_PKEY_free
      Src: /src/httpd/support/ab.c:943,1
    - Dst: write_request
      Src: /src/httpd/support/ab.c:951,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:955,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:959,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/support/ab.c:966,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:967,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/ab.c:968,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:969,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:970,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 978
    functionName: ssl_proceed_handshake
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - SSL_get_server_tmp_key
    - SSL_get_error
    - OBJ_nid2sn
    - SSL_CIPHER_get_name
    - SSL_CIPHER_get_bits
    - EVP_PKEY_id
    - SSL_get_peer_certificate
    - EVP_PKEY_free
    - EC_KEY_get0_group
    - BIO_printf
    - ssl_print_info
    - SSL_do_handshake
    - X509_get_pubkey
    - EVP_PKEY_bits
    - write_request
    - apr_psprintf
    - ERR_print_errors
    - EC_KEY_free
    - EC_GROUP_get_curve_name
    - set_conn_state
    - apr_get_netos_error
    - SSL_get_version
    - apr_snprintf
    - X509_free
    - abort_connection
    - SSL_get_current_cipher
    - EVP_PKEY_get_utf8_string_param
    - EC_curve_nid2nist
    - EVP_PKEY_get1_EC_KEY
    linkageType: ''
    returnType: void
    signature: void ssl_proceed_handshake(struct connection *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:991,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1008,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:1009,1
    - Dst: SSL_write
      Src: /src/httpd/support/ab.c:1015,1
    - Dst: SSL_get_error
      Src: /src/httpd/support/ab.c:1017,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1020,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1024,1
    - Dst: shutdown_connection
      Src: /src/httpd/support/ab.c:1032,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:1037,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:1038,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:1039,1
    - Dst: apr_socket_send
      Src: /src/httpd/support/ab.c:1049,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/support/ab.c:1051,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1052,1
    - Dst: shutdown_connection
      Src: /src/httpd/support/ab.c:1059,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1063,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:1064,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:1074,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1077,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 982
    functionDepth: 4
    functionLinenumber: 982
    functionLinenumberEnd: 1078
    functionName: write_request
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 3
    functionsReached:
    - apr_time_now
    - BIO_printf
    - abort_connection
    - apr_socket_send
    - set_conn_state
    - SSL_get_error
    - shutdown_connection
    - ERR_print_errors
    - SSL_write
    - printf
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: void
    signature: void write_request(struct connection * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct data*
    - struct data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1091
    functionName: compradre
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compradre(struct data * a, struct data * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct data*
    - struct data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1100
    functionName: comprando
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int comprando(struct data * a, struct data * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct data*
    - struct data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1111
    functionName: compri
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compri(struct data * a, struct data * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct data*
    - struct data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: compwait
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compwait(struct data * a, struct data * b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/support/ab.c:1153,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/ab.c:1157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1177
    functionName: consolidate_metrics
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: void
    signature: void consolidate_metrics(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/support/ab.c:1185,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1186,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1187,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1188,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1191,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1195,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1200,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1204,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1205,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1207,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1209,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1210,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1211,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1212,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1213,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1214,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/support/ab.c:1214,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1215,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1216,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1217,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1218,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1220,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1223,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1225,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1227,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1229,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1232,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1234,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1235,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1239,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1241,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1243,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1245,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1248,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1250,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1257,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1268,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1269,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1270,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1271,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1273,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1274,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1275,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1276,1
    - Dst: sqrt
      Src: /src/httpd/support/ab.c:1302,1
    - Dst: sqrt
      Src: /src/httpd/support/ab.c:1303,1
    - Dst: sqrt
      Src: /src/httpd/support/ab.c:1304,1
    - Dst: sqrt
      Src: /src/httpd/support/ab.c:1305,1
    - Dst: qsort
      Src: /src/httpd/support/ab.c:1312,1
    - Dst: qsort
      Src: /src/httpd/support/ab.c:1319,1
    - Dst: qsort
      Src: /src/httpd/support/ab.c:1327,1
    - Dst: qsort
      Src: /src/httpd/support/ab.c:1334,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1341,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1345,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1346,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1347,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1348,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1349,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1350,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1351,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1352,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1353,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1354,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1355,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1356,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1357,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1358,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1359,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1360,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1361,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1362,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1363,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1364,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1368,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1369,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1371,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1373,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1375,1
    - Dst: SANE
      Src: /src/httpd/support/ab.c:1390,1
    - Dst: SANE
      Src: /src/httpd/support/ab.c:1391,1
    - Dst: SANE
      Src: /src/httpd/support/ab.c:1392,1
    - Dst: SANE
      Src: /src/httpd/support/ab.c:1393,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1396,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1398,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1399,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1400,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1401,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1408,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1411,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1413,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1414,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1416,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1417,1
    - Dst: fopen
      Src: /src/httpd/support/ab.c:1421,1
    - Dst: perror
      Src: /src/httpd/support/ab.c:1423,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:1424,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1426,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1430,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1432,1
    - Dst: ap_double_ms
      Src: /src/httpd/support/ab.c:1434,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1435,1
    - Dst: fclose
      Src: /src/httpd/support/ab.c:1437,1
    - Dst: fopen
      Src: /src/httpd/support/ab.c:1441,1
    - Dst: perror
      Src: /src/httpd/support/ab.c:1443,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:1444,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1446,1
    - Dst: apr_ctime
      Src: /src/httpd/support/ab.c:1448,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1449,1
    - Dst: apr_time_sec
      Src: /src/httpd/support/ab.c:1452,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1453,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1454,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1455,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1456,1
    - Dst: fclose
      Src: /src/httpd/support/ab.c:1458,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:1461,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 182
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1462
    functionName: output_results
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - ap_double_ms
    - sqrt
    - apr_time_as_msec
    - fclose
    - fprintf
    - apr_ctime
    - ap_round_ms
    - SANE
    - perror
    - ap_min
    - fflush
    - qsort
    - ap_max
    - fopen
    - exit
    - printf
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: void output_results(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - mean
    - ','
    - median
    - ','
    - sd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1390
    functionName: SANE
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANE(what,mean,median,sd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/support/ab.c:1472,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1473,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1476,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1479,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1482,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1486,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1490,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1493,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1496,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1499,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1502,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/support/ab.c:1504,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1505,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1508,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1511,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1515,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1518,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1522,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1525,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1529,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1532,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1538,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1541,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1545,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1549,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1557,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1564,1
    - Dst: ap_min
      Src: /src/httpd/support/ab.c:1565,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1566,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1567,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1574,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1575,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1576,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1577,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1578,1
    - Dst: ap_round_ms
      Src: /src/httpd/support/ab.c:1579,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1582,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1584,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1586,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1591,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1597,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:1603,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:1605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1606
    functionName: output_html_results
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_time_as_msec
    - ap_round_ms
    - fflush
    - ap_min
    - ap_max
    - printf
    linkageType: ''
    returnType: void
    signature: void output_html_results(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: worker_can_connect
      Src: /src/httpd/support/ab.c:1617,1
    - Dst: assert
      Src: /src/httpd/support/ab.c:1621,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/ab.c:1623,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/support/ab.c:1624,1
    - Dst: apr_socket_create
      Src: /src/httpd/support/ab.c:1629,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1631,1
    - Dst: apr_socket_bind
      Src: /src/httpd/support/ab.c:1644,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1645,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1646,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/support/ab.c:1651,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/support/ab.c:1652,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1653,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1654,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/support/ab.c:1658,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1659,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1660,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/support/ab.c:1665,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1668,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1669,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/support/ab.c:1672,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1675,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1676,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:1689,1
    - Dst: ssl_rand_seed
      Src: /src/httpd/support/ab.c:1696,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/support/ab.c:1697,1
    - Dst: SSL_new
      Src: /src/httpd/support/ab.c:1699,1
    - Dst: graceful_error
      Src: /src/httpd/support/ab.c:1700,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:1701,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1702,1
    - Dst: BIO_new_socket
      Src: /src/httpd/support/ab.c:1705,1
    - Dst: graceful_error
      Src: /src/httpd/support/ab.c:1706,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:1707,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1708,1
    - Dst: BIO_set_nbio
      Src: /src/httpd/support/ab.c:1711,1
    - Dst: SSL_set_bio
      Src: /src/httpd/support/ab.c:1712,1
    - Dst: SSL_set_connect_state
      Src: /src/httpd/support/ab.c:1713,1
    - Dst: BIO_set_callback_ex
      Src: /src/httpd/support/ab.c:1716,1
    - Dst: BIO_set_callback
      Src: /src/httpd/support/ab.c:1718,1
    - Dst: BIO_set_callback_arg
      Src: /src/httpd/support/ab.c:1720,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/httpd/support/ab.c:1724,1
    - Dst: apr_socket_connect
      Src: /src/httpd/support/ab.c:1731,1
    - Dst: APR_STATUS_IS_EINPROGRESS
      Src: /src/httpd/support/ab.c:1732,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1733,1
    - Dst: try_reconnect
      Src: /src/httpd/support/ab.c:1736,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1744,1
    - Dst: ssl_proceed_handshake
      Src: /src/httpd/support/ab.c:1745,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1750,1
    - Dst: write_request
      Src: /src/httpd/support/ab.c:1751,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 107
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts:
    - condition: (c->state == STATE_DISCONNECTED)
      pos:
        line_end: 1620
        line_start: 1620
        source_file: /src/httpd/support/ab.c
    constantsTouched: []
    func_position:
      end: 1753
      start: 1612
    functionDepth: 5
    functionLinenumber: 1612
    functionLinenumberEnd: 1753
    functionName: start_connection
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - try_reconnect
    - apr_time_now
    - SSL_set_bio
    - apr_os_sock_get
    - apr_socket_connect
    - apr_socket_bind
    - SSL_set_connect_state
    - SSL_new
    - apr_socket_create
    - graceful_error
    - ssl_proceed_handshake
    - write_request
    - graceful_strerror
    - close_connection
    - APR_STATUS_IS_EINPROGRESS
    - ERR_print_errors
    - BIO_set_callback_ex
    - apr_socket_timeout_set
    - BIO_set_callback_arg
    - set_conn_state
    - apr_pool_create
    - worker_can_connect
    - BIO_set_nbio
    - assert
    - BIO_new_socket
    - APR_RING_ELEM_INIT
    - ssl_rand_seed
    - SSL_set_tlsext_host_name
    - BIO_set_callback
    linkageType: ''
    returnType: void
    signature: void start_connection(struct connection * c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1761,1
    - Dst: SSL_shutdown
      Src: /src/httpd/support/ab.c:1764,1
    - Dst: SSL_free
      Src: /src/httpd/support/ab.c:1765,1
    - Dst: apr_pool_clear
      Src: /src/httpd/support/ab.c:1769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1759
    functionDepth: 4
    functionLinenumber: 1759
    functionLinenumberEnd: 1771
    functionName: close_connection
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 3
    functionsReached:
    - set_conn_state
    - SSL_free
    - apr_pool_clear
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void close_connection(struct connection *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1783,1
    - Dst: start_connection
      Src: /src/httpd/support/ab.c:1784,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1790,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:1792,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:1796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - c
    - status
    argTypes:
    - struct connection*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1777
    functionDepth: 6
    functionLinenumber: 1777
    functionLinenumberEnd: 1798
    functionName: try_reconnect
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - abort_connection
    - start_connection
    - fprintf
    - graceful_strerror
    - close_connection
    linkageType: ''
    returnType: void
    signature: void try_reconnect(struct connection *c, apr_status_t status)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1812,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:1830,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1837,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1838,1
    - Dst: ap_max
      Src: /src/httpd/support/ab.c:1839,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/support/ab.c:1852,1
    - Dst: apr_atomic_xchg32
      Src: /src/httpd/support/ab.c:1868,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/support/ab.c:1871,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/support/ab.c:1873,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:1886,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:1889,1
    - Dst: start_connection
      Src: /src/httpd/support/ab.c:1913,1
    - Dst: worker_can_connect
      Src: /src/httpd/support/ab.c:1915,1
    - Dst: write_request
      Src: /src/httpd/support/ab.c:1927,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:1930,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 2
    argNames:
    - c
    - reuse
    argTypes:
    - struct connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1804
    functionDepth: 6
    functionLinenumber: 1804
    functionLinenumberEnd: 1932
    functionName: finalize_connection
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_lock
    - apr_time_now
    - apr_thread_mutex_unlock
    - start_connection
    - fprintf
    - apr_atomic_xchg32
    - fflush
    - write_request
    - ap_max
    - close_connection
    - worker_can_connect
    - apr_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void finalize_connection(struct connection *c, int reuse)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/httpd/support/ab.c:1953,1
    - Dst: SSL_get_error
      Src: /src/httpd/support/ab.c:1955,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1958,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1962,1
    - Dst: shutdown_connection
      Src: /src/httpd/support/ab.c:1971,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:1976,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:1977,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:1978,1
    - Dst: apr_socket_recv
      Src: /src/httpd/support/ab.c:1988,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/support/ab.c:1989,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:1990,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/support/ab.c:1994,1
    - Dst: shutdown_connection
      Src: /src/httpd/support/ab.c:1998,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2005,1
    - Dst: apr_strerror
      Src: /src/httpd/support/ab.c:2006,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:2010,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:2012,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2020,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/support/ab.c:2032,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2035,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:2037,1
    - Dst: memcpy
      Src: /src/httpd/support/ab.c:2040,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2046,1
    - Dst: strstr
      Src: /src/httpd/support/ab.c:2048,1
    - Dst: strstr
      Src: /src/httpd/support/ab.c:2054,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:2061,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2066,1
    - Dst: graceful_error
      Src: /src/httpd/support/ab.c:2068,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:2070,1
    - Dst: strstr
      Src: /src/httpd/support/ab.c:2091,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2092,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2092,1
    - Dst: strncpy
      Src: /src/httpd/support/ab.c:2093,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2093,1
    - Dst: strcpy
      Src: /src/httpd/support/ab.c:2097,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2103,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2106,1
    - Dst: xstrcasestr
      Src: /src/httpd/support/ab.c:2109,1
    - Dst: xstrcasestr
      Src: /src/httpd/support/ab.c:2111,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:2114,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2125,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/support/ab.c:2128,1
    - Dst: xstrcasestr
      Src: /src/httpd/support/ab.c:2139,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/support/ab.c:2153,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/support/ab.c:2154,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:2156,1
    - Dst: close_connection
      Src: /src/httpd/support/ab.c:2157,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/support/ab.c:2161,1
    - Dst: finalize_connection
      Src: /src/httpd/support/ab.c:2181,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 155
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 1938
    functionDepth: 7
    functionLinenumber: 1938
    functionLinenumberEnd: 2182
    functionName: read_response
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    - apr_thread_mutex_unlock
    - fprintf
    - SSL_get_error
    - atoi
    - finalize_connection
    - BIO_printf
    - graceful_error
    - APR_RING_INSERT_TAIL
    - shutdown_connection
    - xstrcasestr
    - graceful_strerror
    - close_connection
    - ERR_print_errors
    - APR_STATUS_IS_EAGAIN
    - SSL_read
    - APR_STATUS_IS_EOF
    - apr_strerror
    - set_conn_state
    - exit
    - strncpy
    - memcpy
    - apr_thread_cond_signal
    - apr_thread_mutex_lock
    - abort_connection
    - strstr
    - apr_xlate_conv_buffer
    - strcpy
    - printf
    - strlen
    - apr_socket_recv
    linkageType: ''
    returnType: void
    signature: void read_response(struct connection * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_setup_signal_thread
      Src: /src/httpd/support/ab.c:2206,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2208,1
    - Dst: apr_signal
      Src: /src/httpd/support/ab.c:2213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2200
    functionDepth: 2
    functionLinenumber: 2200
    functionLinenumberEnd: 2215
    functionName: init_signals
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - fatal_strerror
    - apr_signal
    - apr_setup_signal_thread
    linkageType: ''
    returnType: void
    signature: void init_signals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/httpd/support/ab.c:2223,1
    - Dst: sigaddset
      Src: /src/httpd/support/ab.c:2224,1
    - Dst: sigprocmask
      Src: /src/httpd/support/ab.c:2226,1
    - Dst: pthread_sigmask
      Src: /src/httpd/support/ab.c:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2232
    functionName: block_signals
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - sigaddset
    - sigemptyset
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void block_signals(int block)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:2245,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:2249,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2254,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2256,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2257,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:2259,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:2265,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/support/ab.c:2275,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:2285,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:2293,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2301,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2311,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:2326,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2330,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2333,1
    - Dst: apr_palloc
      Src: /src/httpd/support/ab.c:2339,1
    - Dst: strcpy
      Src: /src/httpd/support/ab.c:2340,1
    - Dst: memcpy
      Src: /src/httpd/support/ab.c:2341,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/support/ab.c:2347,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2350,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:2353,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/ab.c:2359,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/support/ab.c:2361,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2364,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2366,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/support/ab.c:2372,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2376,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2378,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/ab.c:2385,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/ab.c:2387,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/ab.c:2389,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/support/ab.c:2403,1
    - Dst: apr_pollset_create
      Src: /src/httpd/support/ab.c:2406,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/support/ab.c:2410,1
    - Dst: apr_pollset_create
      Src: /src/httpd/support/ab.c:2412,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2415,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/support/ab.c:2421,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2424,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/support/ab.c:2426,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2428,1
    - Dst: init_signals
      Src: /src/httpd/support/ab.c:2433,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2437,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:2438,1
    - Dst: block_signals
      Src: /src/httpd/support/ab.c:2445,1
    - Dst: start_worker
      Src: /src/httpd/support/ab.c:2446,1
    - Dst: block_signals
      Src: /src/httpd/support/ab.c:2447,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/support/ab.c:2450,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/support/ab.c:2452,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2454,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/support/ab.c:2457,1
    - Dst: block_signals
      Src: /src/httpd/support/ab.c:2461,1
    - Dst: start_worker
      Src: /src/httpd/support/ab.c:2463,1
    - Dst: block_signals
      Src: /src/httpd/support/ab.c:2465,1
    - Dst: join_worker
      Src: /src/httpd/support/ab.c:2469,1
    - Dst: start_worker
      Src: /src/httpd/support/ab.c:2474,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 131
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2235
    functionDepth: 3
    functionLinenumber: 2235
    functionLinenumberEnd: 2477
    functionName: test
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 11
    functionsReached:
    - APR_STATUS_IS_ENOTIMPL
    - apr_time_now
    - join_worker
    - apr_thread_mutex_unlock
    - fprintf
    - apr_thread_cond_wait
    - apr_pollset_create
    - init_signals
    - APR_RING_INIT
    - start_worker
    - apr_ipsubnet_create
    - apr_pstrcat
    - apr_pstrdup
    - apr_time_from_sec
    - block_signals
    - exit
    - apr_thread_mutex_create
    - memcpy
    - apr_snprintf
    - apr_thread_mutex_lock
    - apr_palloc
    - apr_pcalloc
    - fatal_error
    - fflush
    - fatal_strerror
    - apr_xlate_conv_buffer
    - apr_thread_cond_create
    - strcpy
    - printf
    - strlen
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: start_connection
      Src: /src/httpd/support/ab.c:2490,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/support/ab.c:2498,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2499,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2510,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/ab.c:2516,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2522,1
    - Dst: fflush
      Src: /src/httpd/support/ab.c:2523,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/support/ab.c:2532,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/support/ab.c:2533,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/support/ab.c:2535,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/support/ab.c:2536,1
    - Dst: start_connection
      Src: /src/httpd/support/ab.c:2538,1
    - Dst: assert
      Src: /src/httpd/support/ab.c:2549,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/support/ab.c:2551,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/support/ab.c:2553,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/support/ab.c:2554,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2555,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:2558,1
    - Dst: apr_socket_connect
      Src: /src/httpd/support/ab.c:2571,1
    - Dst: try_reconnect
      Src: /src/httpd/support/ab.c:2573,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:2578,1
    - Dst: set_conn_state
      Src: /src/httpd/support/ab.c:2581,1
    - Dst: ssl_proceed_handshake
      Src: /src/httpd/support/ab.c:2586,1
    - Dst: write_request
      Src: /src/httpd/support/ab.c:2590,1
    - Dst: read_response
      Src: /src/httpd/support/ab.c:2593,1
    - Dst: assert
      Src: /src/httpd/support/ab.c:2596,1
    - Dst: ssl_proceed_handshake
      Src: /src/httpd/support/ab.c:2619,1
    - Dst: write_request
      Src: /src/httpd/support/ab.c:2623,1
    - Dst: read_response
      Src: /src/httpd/support/ab.c:2626,1
    - Dst: assert
      Src: /src/httpd/support/ab.c:2629,1
    - Dst: try_reconnect
      Src: /src/httpd/support/ab.c:2638,1
    - Dst: abort_connection
      Src: /src/httpd/support/ab.c:2642,1
    - Dst: worker_should_stop
      Src: /src/httpd/support/ab.c:2647,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 111
    argCount: 1
    argNames:
    - worker
    argTypes:
    - struct worker*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2628
        line_start: 2628
        source_file: /src/httpd/support/ab.c
    - condition: (worker->polls > 0)
      pos:
        line_end: 2548
        line_start: 2548
        source_file: /src/httpd/support/ab.c
    - condition: (0)
      pos:
        line_end: 2595
        line_start: 2595
        source_file: /src/httpd/support/ab.c
    constantsTouched: []
    func_position:
      end: 2648
      start: 2479
    functionDepth: 7
    functionLinenumber: 2479
    functionLinenumberEnd: 2648
    functionName: worker_test
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - try_reconnect
    - apr_time_now
    - start_connection
    - fprintf
    - apr_pollset_poll
    - apr_socket_connect
    - APR_STATUS_IS_TIMEUP
    - APR_RING_REMOVE
    - ssl_proceed_handshake
    - write_request
    - graceful_strerror
    - APR_RING_FIRST
    - APR_RING_EMPTY
    - set_conn_state
    - assert
    - apr_snprintf
    - APR_STATUS_IS_EINTR
    - APR_RING_ELEM_INIT
    - read_response
    - abort_connection
    - worker_should_stop
    - fflush
    linkageType: ''
    returnType: void
    signature: void worker_test(struct worker *worker)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_get
      Src: /src/httpd/support/ab.c:2655,1
    - Dst: worker_test
      Src: /src/httpd/support/ab.c:2656,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/support/ab.c:2661,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/support/ab.c:2662,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2664,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/support/ab.c:2667,1
    - Dst: apr_thread_exit
      Src: /src/httpd/support/ab.c:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - thd
    - arg
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2651
    functionDepth: 8
    functionLinenumber: 2651
    functionLinenumberEnd: 2672
    functionName: APR_THREAD_FUNC::worker_thread
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_exit
    - fatal_strerror
    - apr_thread_pool_get
    - worker_test
    - apr_thread_cond_signal
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC worker_thread(apr_thread_t *thd, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_create
      Src: /src/httpd/support/ab.c:2680,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2683,1
    - Dst: graceful_strerror
      Src: /src/httpd/support/ab.c:2686,1
    - Dst: worker_test
      Src: /src/httpd/support/ab.c:2693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - worker
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2675
    functionDepth: 8
    functionLinenumber: 2675
    functionLinenumberEnd: 2694
    functionName: start_worker
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - fatal_strerror
    - graceful_strerror
    - apr_thread_create
    - worker_test
    linkageType: ''
    returnType: void
    signature: void start_worker(struct worker *worker)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_join
      Src: /src/httpd/support/ab.c:2702,1
    - Dst: fatal_strerror
      Src: /src/httpd/support/ab.c:2704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - worker
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2697
    functionDepth: 2
    functionLinenumber: 2697
    functionLinenumberEnd: 2708
    functionName: join_worker
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - fatal_strerror
    - apr_thread_join
    linkageType: ''
    returnType: void
    signature: void join_worker(struct worker *worker)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2716,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/support/ab.c:2725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - unused
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2730
    functionName: workers_may_exit
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 2
    functionsReached:
    - apr_time_now
    - apr_pollset_wakeup
    linkageType: ''
    returnType: void
    signature: void workers_may_exit(int unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/support/ab.c:2738,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2739,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2740,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2741,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2744,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2745,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2746,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2747,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2750
    functionName: copyright
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void copyright(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2755,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2762,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2763,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2764,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2765,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2766,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2767,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2768,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2769,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2770,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2771,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2772,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2773,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2774,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2775,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2776,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2777,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2778,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2779,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2780,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2781,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2782,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2783,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2784,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2785,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2786,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2787,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2788,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2789,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2790,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2791,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2792,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2793,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2794,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2795,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2796,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2797,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2798,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2799,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2800,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2801,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2802,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2803,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2804,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2805,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2833,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2835,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2836,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2837,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2838,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:2840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2841
    functionName: usage
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 8
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *progname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:2855,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2857,1
    - Dst: strncmp
      Src: /src/httpd/support/ab.c:2857,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2865,1
    - Dst: strncmp
      Src: /src/httpd/support/ab.c:2865,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:2870,1
    - Dst: strncmp
      Src: /src/httpd/support/ab.c:2870,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2871,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:2872,1
    - Dst: strchr
      Src: /src/httpd/support/ab.c:2876,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/support/ab.c:2878,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/support/ab.c:2879,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:2883,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/ab.c:2886,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/ab.c:2907,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2911
    functionName: parse_url
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 1
    functionsReached:
    - strchr
    - fprintf
    - apr_parse_addr_port
    - apr_pstrmemdup
    - strlen
    - apr_psprintf
    - exit
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: int
    signature: int parse_url(const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/support/ab.c:2924,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2926,1
    - Dst: apr_strerror
      Src: /src/httpd/support/ab.c:2927,1
    - Dst: apr_file_info_get
      Src: /src/httpd/support/ab.c:2931,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2933,1
    - Dst: apr_strerror
      Src: /src/httpd/support/ab.c:2934,1
    - Dst: apr_palloc
      Src: /src/httpd/support/ab.c:2938,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/ab.c:2939,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2941,1
    - Dst: apr_strerror
      Src: /src/httpd/support/ab.c:2942,1
    - Dst: apr_file_close
      Src: /src/httpd/support/ab.c:2945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2917
    functionDepth: 0
    functionLinenumber: 2917
    functionLinenumberEnd: 2947
    functionName: open_postfile
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_strerror
    - apr_palloc
    - apr_file_info_get
    - fprintf
    - apr_file_close
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t open_postfile(const char *pfile)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: consolidate_metrics
      Src: /src/httpd/support/ab.c:2952,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:2956,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2959,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2961,1
    - Dst: printf
      Src: /src/httpd/support/ab.c:2964,1
    - Dst: output_html_results
      Src: /src/httpd/support/ab.c:2969,1
    - Dst: output_results
      Src: /src/httpd/support/ab.c:2971,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/ab.c:2974,1
    - Dst: apr_terminate
      Src: /src/httpd/support/ab.c:2975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2949
    functionDepth: 2
    functionLinenumber: 2949
    functionLinenumberEnd: 2976
    functionName: output_results_at_exit
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 0
    functionsReached:
    - apr_terminate
    - fprintf
    - consolidate_metrics
    - output_results
    - output_html_results
    - apr_pool_destroy
    - printf
    linkageType: ''
    returnType: void
    signature: void output_results_at_exit(void)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: SSLv23_client_method
      Src: /src/httpd/support/ab.c:2993,1
    - Dst: srand
      Src: /src/httpd/support/ab.c:2996,1
    - Dst: apr_time_now
      Src: /src/httpd/support/ab.c:2996,1
    - Dst: apr_app_initialize
      Src: /src/httpd/support/ab.c:3007,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/ab.c:3008,1
    - Dst: abort_on_oom
      Src: /src/httpd/support/ab.c:3009,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/support/ab.c:3011,1
    - Dst: atexit
      Src: /src/httpd/support/ab.c:3012,1
    - Dst: apr_xlate_open
      Src: /src/httpd/support/ab.c:3015,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3017,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3018,1
    - Dst: apr_xlate_open
      Src: /src/httpd/support/ab.c:3020,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3022,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3023,1
    - Dst: apr_base64init_ebcdic
      Src: /src/httpd/support/ab.c:3025,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3027,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3028,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/ab.c:3032,1
    - Dst: apr_getopt
      Src: /src/httpd/support/ab.c:3033,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3043,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3045,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3050,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3052,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3069,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3071,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3075,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3079,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3083,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3089,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3095,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3095,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/support/ab.c:3098,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3098,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3102,1
    - Dst: open_postfile
      Src: /src/httpd/support/ab.c:3103,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3104,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3111,1
    - Dst: open_postfile
      Src: /src/httpd/support/ab.c:3112,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3113,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3125,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3128,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3130,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3133,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:3136,1
    - Dst: apr_isspace
      Src: /src/httpd/support/ab.c:3143,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/support/ab.c:3145,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:3145,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3146,1
    - Dst: apr_base64_encode
      Src: /src/httpd/support/ab.c:3148,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:3148,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:3150,1
    - Dst: apr_isspace
      Src: /src/httpd/support/ab.c:3157,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/support/ab.c:3159,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:3159,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3160,1
    - Dst: apr_base64_encode
      Src: /src/httpd/support/ab.c:3162,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:3162,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:3164,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/ab.c:3168,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3172,1
    - Dst: apr_isspace
      Src: /src/httpd/support/ab.c:3176,1
    - Dst: strlen
      Src: /src/httpd/support/ab.c:3178,1
    - Dst: strdup
      Src: /src/httpd/support/ab.c:3179,1
    - Dst: apr_isspace
      Src: /src/httpd/support/ab.c:3180,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3183,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3185,1
    - Dst: strchr
      Src: /src/httpd/support/ab.c:3206,1
    - Dst: atoi
      Src: /src/httpd/support/ab.c:3209,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3211,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3224,1
    - Dst: copyright
      Src: /src/httpd/support/ab.c:3227,1
    - Dst: strchr
      Src: /src/httpd/support/ab.c:3234,1
    - Dst: apr_palloc
      Src: /src/httpd/support/ab.c:3237,1
    - Dst: strchr
      Src: /src/httpd/support/ab.c:3240,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/support/ab.c:3242,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3246,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3250,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3251,1
    - Dst: strdup
      Src: /src/httpd/support/ab.c:3257,1
    - Dst: strdup
      Src: /src/httpd/support/ab.c:3261,1
    - Dst: strdup
      Src: /src/httpd/support/ab.c:3264,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3268,1
    - Dst: SSLv23_client_method
      Src: /src/httpd/support/ab.c:3269,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3271,1
    - Dst: SSLv2_client_method
      Src: /src/httpd/support/ab.c:3272,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3278,1
    - Dst: SSLv3_client_method
      Src: /src/httpd/support/ab.c:3279,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3285,1
    - Dst: TLSv1_1_client_method
      Src: /src/httpd/support/ab.c:3286,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3287,1
    - Dst: TLSv1_2_client_method
      Src: /src/httpd/support/ab.c:3288,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3290,1
    - Dst: TLSv1_client_method
      Src: /src/httpd/support/ab.c:3291,1
    - Dst: TLS_client_method
      Src: /src/httpd/support/ab.c:3294,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3295,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3299,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3303,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3306,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3310,1
    - Dst: strncasecmp
      Src: /src/httpd/support/ab.c:3314,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3330,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3331,1
    - Dst: parse_url
      Src: /src/httpd/support/ab.c:3338,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/ab.c:3338,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3339,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3340,1
    - Dst: sysconf
      Src: /src/httpd/support/ab.c:3351,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3353,1
    - Dst: ROUND_UP
      Src: /src/httpd/support/ab.c:3357,1
    - Dst: ROUND_UP
      Src: /src/httpd/support/ab.c:3358,1
    - Dst: ROUND_UP
      Src: /src/httpd/support/ab.c:3368,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3369,1
    - Dst: ROUND_UP
      Src: /src/httpd/support/ab.c:3370,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3371,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3374,1
    - Dst: usage
      Src: /src/httpd/support/ab.c:3376,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3381,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3382,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3383,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3385,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/ab.c:3386,1
    - Dst: R_malloc_init
      Src: /src/httpd/support/ab.c:3400,1
    - Dst: CRYPTO_malloc_init
      Src: /src/httpd/support/ab.c:3403,1
    - Dst: SSL_load_error_strings
      Src: /src/httpd/support/ab.c:3406,1
    - Dst: SSL_library_init
      Src: /src/httpd/support/ab.c:3407,1
    - Dst: BIO_new_fp
      Src: /src/httpd/support/ab.c:3408,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3409,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3410,1
    - Dst: BIO_new_fp
      Src: /src/httpd/support/ab.c:3412,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3413,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3414,1
    - Dst: RAND_status
      Src: /src/httpd/support/ab.c:3418,1
    - Dst: fprintf
      Src: /src/httpd/support/ab.c:3419,1
    - Dst: exit
      Src: /src/httpd/support/ab.c:3423,1
    - Dst: SSL_CTX_new
      Src: /src/httpd/support/ab.c:3427,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:3428,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:3429,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3430,1
    - Dst: SSL_CTX_set_options
      Src: /src/httpd/support/ab.c:3432,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/httpd/support/ab.c:3434,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/httpd/support/ab.c:3435,1
    - Dst: SSL_CTX_set_mode
      Src: /src/httpd/support/ab.c:3439,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/httpd/support/ab.c:3446,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/httpd/support/ab.c:3449,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:3451,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:3453,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3454,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/httpd/support/ab.c:3459,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/httpd/support/ab.c:3462,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:3463,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:3465,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3466,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/httpd/support/ab.c:3468,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:3469,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:3471,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3472,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/httpd/support/ab.c:3474,1
    - Dst: BIO_printf
      Src: /src/httpd/support/ab.c:3475,1
    - Dst: ERR_print_errors
      Src: /src/httpd/support/ab.c:3477,1
    - Dst: fatal_error
      Src: /src/httpd/support/ab.c:3478,1
    - Dst: apr_signal
      Src: /src/httpd/support/ab.c:3484,1
    - Dst: copyright
      Src: /src/httpd/support/ab.c:3489,1
    - Dst: test
      Src: /src/httpd/support/ab.c:3492,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 389
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 2981
    functionDepth: 4
    functionLinenumber: 2981
    functionLinenumberEnd: 3493
    functionName: main
    functionSourceFile: /src/httpd/support/ab.c
    functionUses: 10
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - apr_time_now
    - apr_signal
    - SSLv23_client_method
    - fprintf
    - sysconf
    - SSL_load_error_strings
    - atoi
    - apr_pstrmemdup
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_info_callback
    - SSL_CTX_check_private_key
    - SSL_CTX_set_cipher_list
    - srand
    - apr_pool_abort_set
    - apr_base64_encode
    - CRYPTO_malloc_init
    - SSL_library_init
    - BIO_printf
    - apr_pstrcat
    - strchr
    - apr_app_initialize
    - strdup
    - copyright
    - strlen
    - SSL_CTX_set_mode
    - apr_time_from_msec
    - apr_base64_encode_len
    - TLSv1_1_client_method
    - apr_xlate_open
    - R_malloc_init
    - ERR_print_errors
    - abort_on_oom
    - strncasecmp
    - SSLv2_client_method
    - apr_base64init_ebcdic
    - apr_time_from_sec
    - apr_isspace
    - SSL_CTX_set_ciphersuites
    - test
    - usage
    - apr_pool_create
    - atexit
    - exit
    - TLS_client_method
    - ROUND_UP
    - SSL_CTX_use_certificate_chain_file
    - apr_getopt
    - apr_palloc
    - SSL_CTX_use_PrivateKey_file
    - RAND_status
    - apr_getopt_init
    - fatal_error
    - SSLv3_client_method
    - BIO_new_fp
    - SSL_CTX_set_options
    - parse_url
    - TLSv1_client_method
    - SSL_CTX_new
    - apr_pstrdup
    - open_postfile
    - TLSv1_2_client_method
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:56,1
    - Dst: write
      Src: /src/httpd/support/passwd_common.c:58,1
    - Dst: abort
      Src: /src/httpd/support/passwd_common.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: abort_on_oom
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 5
    functionsReached:
    - write
    - strlen
    - abort
    linkageType: ''
    returnType: int
    signature: int abort_on_oom(int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:83,1
    - Dst: abort
      Src: /src/httpd/support/passwd_common.c:84,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/support/passwd_common.c:86,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - s
    - size
    - errstr
    - pool
    argTypes:
    - char*
    - size_t
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: generate_salt
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 1
    functionsReached:
    - apr_generate_random_bytes
    - apr_file_printf
    - abort
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: "int generate_salt(char *s, size_t size, const char **errstr,\n                         apr_pool_t
      *pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_puts
      Src: /src/httpd/support/passwd_common.c:112,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:114,1
    - Dst: apr_file_close
      Src: /src/httpd/support/passwd_common.c:115,1
    - Dst: exit
      Src: /src/httpd/support/passwd_common.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - l
    argTypes:
    - apr_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: putline
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 1
    functionsReached:
    - apr_file_puts
    - apr_file_printf
    - exit
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void putline(apr_file_t *f, const char *l)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stdin
      Src: /src/httpd/support/passwd_common.c:126,1
    - Dst: apr_file_read_full
      Src: /src/httpd/support/passwd_common.c:130,1
    - Dst: apr_file_close
      Src: /src/httpd/support/passwd_common.c:141,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/passwd_common.c:142,1
    - Dst: apr_password_get
      Src: /src/httpd/support/passwd_common.c:146,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/passwd_common.c:148,1
    - Dst: apr_password_get
      Src: /src/httpd/support/passwd_common.c:152,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/passwd_common.c:154,1
    - Dst: apr_password_get
      Src: /src/httpd/support/passwd_common.c:157,1
    - Dst: strcmp
      Src: /src/httpd/support/passwd_common.c:158,1
    - Dst: memset
      Src: /src/httpd/support/passwd_common.c:160,1
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:160,1
    - Dst: memset
      Src: /src/httpd/support/passwd_common.c:161,1
    - Dst: memset
      Src: /src/httpd/support/passwd_common.c:165,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct passwd_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 173
    functionName: get_password
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 2
    functionsReached:
    - strcmp
    - memset
    - apr_file_close
    - apr_file_open_stdin
    - strlen
    - apr_password_get
    - apr_psprintf
    - apr_pstrdup
    - apr_file_read_full
    linkageType: ''
    returnType: int
    signature: int get_password(struct passwd_ctx *ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:195,1
    - Dst: get_password
      Src: /src/httpd/support/passwd_common.c:200,1
    - Dst: apr_sha1_base64
      Src: /src/httpd/support/passwd_common.c:208,1
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:208,1
    - Dst: generate_salt
      Src: /src/httpd/support/passwd_common.c:212,1
    - Dst: apr_md5_encode
      Src: /src/httpd/support/passwd_common.c:215,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:217,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/passwd_common.c:225,1
    - Dst: generate_salt
      Src: /src/httpd/support/passwd_common.c:230,1
    - Dst: crypt
      Src: /src/httpd/support/passwd_common.c:233,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/support/passwd_common.c:235,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:236,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/passwd_common.c:241,1
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:242,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/passwd_common.c:243,1
    - Dst: strcmp
      Src: /src/httpd/support/passwd_common.c:245,1
    - Dst: crypt
      Src: /src/httpd/support/passwd_common.c:245,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:246,1
    - Dst: memset
      Src: /src/httpd/support/passwd_common.c:249,1
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:249,1
    - Dst: generate_salt
      Src: /src/httpd/support/passwd_common.c:257,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:264,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:267,1
    - Dst: crypt
      Src: /src/httpd/support/passwd_common.c:270,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/support/passwd_common.c:272,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:273,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/passwd_common.c:278,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/support/passwd_common.c:284,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:286,1
    - Dst: apr_bcrypt_encode
      Src: /src/httpd/support/passwd_common.c:294,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/passwd_common.c:297,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:306,1
    - Dst: abort
      Src: /src/httpd/support/passwd_common.c:308,1
    - Dst: memset
      Src: /src/httpd/support/passwd_common.c:310,1
    - Dst: strlen
      Src: /src/httpd/support/passwd_common.c:310,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct passwd_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 312
    functionName: mkhash
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 2
    functionsReached:
    - get_password
    - generate_salt
    - strcmp
    - apr_generate_random_bytes
    - memset
    - apr_sha1_base64
    - apr_cpystrn
    - apr_pstrdup
    - apr_md5_encode
    - apr_bcrypt_encode
    - abort
    - apr_psprintf
    - apr_file_printf
    - strlen
    - APR_FROM_OS_ERROR
    - crypt
    linkageType: ''
    returnType: int
    signature: int mkhash(struct passwd_ctx *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:347,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:357,1
    - Dst: strtol
      Src: /src/httpd/support/passwd_common.c:376,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/passwd_common.c:385,1
    - Dst: abort
      Src: /src/httpd/support/passwd_common.c:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - ctx
    - opt
    - opt_arg
    argTypes:
    - struct passwd_ctx*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 391
    functionName: parse_common_options
    functionSourceFile: /src/httpd/support/passwd_common.c
    functionUses: 2
    functionsReached:
    - apr_file_printf
    - abort
    - strtol
    linkageType: ''
    returnType: int
    signature: "int parse_common_options(struct passwd_ctx *ctx, char opt,\n                          const
      char *opt_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:109,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:111,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:121,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:125,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:128,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:131,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argv0
    - reason
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 161
    functionName: usage
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *argv0, const char *reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/support/rotatelogs.c:168,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/support/rotatelogs.c:177,1
    - Dst: apr_time_sec
      Src: /src/httpd/support/rotatelogs.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - config
    - offset
    argTypes:
    - rotate_config_t*
    - apr_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: get_now
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_time_exp_lt
    - apr_time_sec
    linkageType: ''
    returnType: adjusted_time_t
    signature: adjusted_time_t get_now(rotate_config_t *config, apr_int32_t *offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:196,1
    - Dst: apr_file_close
      Src: /src/httpd/support/rotatelogs.c:198,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/rotatelogs.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - config
    - logfile
    argTypes:
    - rotate_config_t*
    - struct logfile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: close_logfile
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - fprintf
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void close_logfile(rotate_config_t *config, struct logfile *logfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:207,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:208,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:209,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:210,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:211,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:212,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:213,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:214,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:216,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:218,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - config
    argTypes:
    - rotate_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: dumpConfig
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dumpConfig (rotate_config_t *config)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_info_get
      Src: /src/httpd/support/rotatelogs.c:243,1
    - Dst: get_now
      Src: /src/httpd/support/rotatelogs.c:251,1
    - Dst: get_now
      Src: /src/httpd/support/rotatelogs.c:257,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:262,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:263,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - config
    - status
    argTypes:
    - rotate_config_t*
    - rotate_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: checkRotate
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - apr_file_info_get
    - fprintf
    - exit
    - get_now
    linkageType: ''
    returnType: void
    signature: void checkRotate(rotate_config_t *config, rotate_status_t *status)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_remove
      Src: /src/httpd/support/rotatelogs.c:284,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:286,1
    - Dst: apr_file_link
      Src: /src/httpd/support/rotatelogs.c:288,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:290,1
    - Dst: fputs
      Src: /src/httpd/support/rotatelogs.c:292,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:293,1
    - Dst: apr_proc_wait_all_procs
      Src: /src/httpd/support/rotatelogs.c:303,1
    - Dst: apr_procattr_create
      Src: /src/httpd/support/rotatelogs.c:306,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:307,1
    - Dst: fputs
      Src: /src/httpd/support/rotatelogs.c:309,1
    - Dst: apr_procattr_error_check_set
      Src: /src/httpd/support/rotatelogs.c:313,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/support/rotatelogs.c:315,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:318,1
    - Dst: fputs
      Src: /src/httpd/support/rotatelogs.c:321,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:336,1
    - Dst: apr_proc_create
      Src: /src/httpd/support/rotatelogs.c:338,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:340,1
    - Dst: fputs
      Src: /src/httpd/support/rotatelogs.c:342,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - pool
    - newlog
    - config
    - status
    argTypes:
    - apr_pool_t*
    - struct logfile*
    - rotate_config_t*
    - rotate_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 345
    functionName: post_rotate
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - apr_procattr_error_check_set
    - apr_procattr_cmdtype_set
    - apr_proc_create
    - fprintf
    - apr_file_link
    - apr_file_remove
    - apr_psprintf
    - apr_proc_wait_all_procs
    - exit
    - apr_procattr_create
    - fputs
    linkageType: ''
    returnType: void
    signature: "void post_rotate(apr_pool_t *pool, struct logfile *newlog,\n                        rotate_config_t
      *config, rotate_status_t *status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/support/rotatelogs.c:352,1
    - Dst: apr_file_trunc
      Src: /src/httpd/support/rotatelogs.c:354,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:355,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:356,1
    - Dst: apr_file_write_full
      Src: /src/httpd/support/rotatelogs.c:358,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:359,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - status
    - message
    argTypes:
    - rotate_status_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: truncate_and_write_error
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - apr_file_write_full
    - fprintf
    - apr_file_trunc
    - exit
    - strlen
    linkageType: ''
    returnType: void
    signature: void truncate_and_write_error(rotate_status_t *status, const char *message)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: get_now
      Src: /src/httpd/support/rotatelogs.c:387,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/rotatelogs.c:411,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/support/rotatelogs.c:419,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/support/rotatelogs.c:419,1
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/support/rotatelogs.c:421,1
    - Dst: apr_strftime
      Src: /src/httpd/support/rotatelogs.c:422,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/rotatelogs.c:426,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/rotatelogs.c:431,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/rotatelogs.c:435,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/rotatelogs.c:439,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/rotatelogs.c:443,1
    - Dst: strrchr
      Src: /src/httpd/support/rotatelogs.c:445,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/support/rotatelogs.c:447,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:449,1
    - Dst: apr_dir_make_recursive
      Src: /src/httpd/support/rotatelogs.c:451,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:453,1
    - Dst: fputs
      Src: /src/httpd/support/rotatelogs.c:456,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:457,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:462,1
    - Dst: apr_file_open
      Src: /src/httpd/support/rotatelogs.c:472,1
    - Dst: post_rotate
      Src: /src/httpd/support/rotatelogs.c:478,1
    - Dst: close_logfile
      Src: /src/httpd/support/rotatelogs.c:483,1
    - Dst: checkRotate
      Src: /src/httpd/support/rotatelogs.c:496,1
    - Dst: doRotate
      Src: /src/httpd/support/rotatelogs.c:498,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:503,1
    - Dst: fprintf
      Src: /src/httpd/support/rotatelogs.c:510,1
    - Dst: exit
      Src: /src/httpd/support/rotatelogs.c:511,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/rotatelogs.c:516,1
    - Dst: truncate_and_write_error
      Src: /src/httpd/support/rotatelogs.c:521,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/rotatelogs.c:524,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - config
    - status
    argTypes:
    - rotate_config_t*
    - rotate_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 528
    functionName: doRotate
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 1
    functionsReached:
    - post_rotate
    - apr_dir_make_recursive
    - fprintf
    - apr_pstrmemdup
    - truncate_and_write_error
    - apr_time_exp_gmt
    - get_now
    - apr_psprintf
    - apr_file_open
    - fputs
    - checkRotate
    - apr_time_from_sec
    - apr_pool_create
    - apr_pool_destroy
    - exit
    - doRotate
    - apr_snprintf
    - strrchr
    - close_logfile
    - apr_time_exp_lt
    - apr_strftime
    linkageType: ''
    returnType: void
    signature: void doRotate(rotate_config_t *config, rotate_status_t *status)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/support/rotatelogs.c:543,1
    - Dst: strchr
      Src: /src/httpd/support/rotatelogs.c:546,1
    - Dst: strchr
      Src: /src/httpd/support/rotatelogs.c:549,1
    - Dst: strchr
      Src: /src/httpd/support/rotatelogs.c:552,1
    - Dst: atoi
      Src: /src/httpd/support/rotatelogs.c:560,1
    - Dst: atoi
      Src: /src/httpd/support/rotatelogs.c:571,1
    - Dst: atoi
      Src: /src/httpd/support/rotatelogs.c:577,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - config
    - arg
    - last
    argTypes:
    - rotate_config_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 583
    functionName: get_time_or_size
    functionSourceFile: /src/httpd/support/rotatelogs.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *get_time_or_size(rotate_config_t *config,\n                                    const
      char *arg, int last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/support/firehose.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: version
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 18
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void version(const char * const progname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/support/firehose.c:163,1
    - Dst: printf
      Src: /src/httpd/support/firehose.c:167,1
    - Dst: printf
      Src: /src/httpd/support/firehose.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - argv
    - header
    - footer
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - apr_getopt_option_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: help
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void help(const char *argv, const char * header, const char *footer,\n
      \       const apr_getopt_option_t opts[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:184,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: cleanup_uuid_rec
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_uuid_rec(void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:203,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/firehose.c:205,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/firehose.c:208,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:214,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:217,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/support/firehose.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - file
    - header
    - ptr
    argTypes:
    - file_rec*
    - header_rec*
    - uuid_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: make_uuid_rec
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - apr_pool_create
    - apr_pstrdup
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t make_uuid_rec(file_rec *file, header_rec *header,\n        uuid_rec
      **ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:237,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/firehose.c:239,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/firehose.c:241,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/support/firehose.c:243,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/support/firehose.c:246,1
    - Dst: apr_file_mtime_set
      Src: /src/httpd/support/firehose.c:249,1
    - Dst: apr_file_rename
      Src: /src/httpd/support/firehose.c:250,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:251,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:258,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:265,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:271,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/firehose.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - file
    - header
    argTypes:
    - file_rec*
    - header_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 279
    functionName: finalise_body
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_file_mtime_set
    - apr_file_rename
    - apr_pool_create
    - apr_file_printf
    - apr_pool_destroy
    - apr_filepath_merge
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t finalise_body(file_rec *file, header_rec *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:292,1
    - Dst: apr_hash_first
      Src: /src/httpd/support/firehose.c:294,1
    - Dst: apr_hash_next
      Src: /src/httpd/support/firehose.c:294,1
    - Dst: apr_hash_this
      Src: /src/httpd/support/firehose.c:296,1
    - Dst: strncmp
      Src: /src/httpd/support/firehose.c:299,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/firehose.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - file
    - header
    - str
    - len
    argTypes:
    - file_rec*
    - header_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 309
    functionName: check_prefix
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_hash_this
    - apr_pool_create
    - apr_hash_next
    - apr_pool_destroy
    - apr_hash_first
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int check_prefix(file_rec *file, header_rec *header, const char *str,\n
      \       apr_size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:332,1
    - Dst: apr_pstrcat
      Src: /src/httpd/support/firehose.c:335,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/support/firehose.c:339,1
    - Dst: apr_file_open
      Src: /src/httpd/support/firehose.c:342,1
    - Dst: apr_file_write_full
      Src: /src/httpd/support/firehose.c:344,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:346,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:352,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:358,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/firehose.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - file
    - header
    - str
    - len
    argTypes:
    - file_rec*
    - header_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 366
    functionName: process_body
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - apr_file_write_full
    - apr_pool_create
    - apr_file_open
    - apr_file_printf
    - apr_pool_destroy
    - apr_filepath_merge
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t process_body(file_rec *file, header_rec *header,\n        const
      char *str, apr_size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_isxdigit
      Src: /src/httpd/support/firehose.c:383,1
    - Dst: apr_isxdigit
      Src: /src/httpd/support/firehose.c:391,1
    - Dst: apr_isxdigit
      Src: /src/httpd/support/firehose.c:409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - char**
    - apr_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 417
    functionName: read_hex
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_isxdigit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t read_hex(const char **buf, apr_uint64_t *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: read_hex
      Src: /src/httpd/support/firehose.c:436,1
    - Dst: apr_isspace
      Src: /src/httpd/support/firehose.c:441,1
    - Dst: read_hex
      Src: /src/httpd/support/firehose.c:445,1
    - Dst: apr_isspace
      Src: /src/httpd/support/firehose.c:450,1
    - Dst: apr_isspace
      Src: /src/httpd/support/firehose.c:460,1
    - Dst: apr_uuid_parse
      Src: /src/httpd/support/firehose.c:468,1
    - Dst: apr_isspace
      Src: /src/httpd/support/firehose.c:473,1
    - Dst: read_hex
      Src: /src/httpd/support/firehose.c:477,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - file
    - header
    - str
    - len
    argTypes:
    - file_rec*
    - header_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 493
    functionName: process_header
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - read_hex
    - apr_uuid_parse
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t process_header(file_rec *file, header_rec *header,\n
      \       const char *str, apr_size_t len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/support/firehose.c:509,1
    - Dst: apr_brigade_create
      Src: /src/httpd/support/firehose.c:510,1
    - Dst: apr_bucket_pipe_create
      Src: /src/httpd/support/firehose.c:511,1
    - Dst: APR_BRIGADE_INSERT_HEAD
      Src: /src/httpd/support/firehose.c:513,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/support/firehose.c:518,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/support/firehose.c:522,1
    - Dst: apr_brigade_flatten
      Src: /src/httpd/support/firehose.c:529,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/support/firehose.c:531,1
    - Dst: process_header
      Src: /src/httpd/support/firehose.c:546,1
    - Dst: apr_hash_get
      Src: /src/httpd/support/firehose.c:556,1
    - Dst: apr_hash_get
      Src: /src/httpd/support/firehose.c:560,1
    - Dst: make_uuid_rec
      Src: /src/httpd/support/firehose.c:584,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/support/firehose.c:589,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:591,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/support/firehose.c:596,1
    - Dst: apr_bucket_read
      Src: /src/httpd/support/firehose.c:597,1
    - Dst: check_prefix
      Src: /src/httpd/support/firehose.c:598,1
    - Dst: process_body
      Src: /src/httpd/support/firehose.c:603,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/support/firehose.c:607,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/support/firehose.c:611,1
    - Dst: process_body
      Src: /src/httpd/support/firehose.c:624,1
    - Dst: finalise_body
      Src: /src/httpd/support/firehose.c:626,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/support/firehose.c:628,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:637,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 1
    argNames:
    - file
    argTypes:
    - file_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 645
    functionName: demux
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - APR_BRIGADE_INSERT_HEAD
    - apr_brigade_create
    - apr_brigade_flatten
    - apr_bucket_read
    - apr_bucket_delete
    - make_uuid_rec
    - apr_brigade_partition
    - apr_brigade_split_line
    - process_body
    - finalise_body
    - apr_brigade_cleanup
    - process_header
    - APR_BRIGADE_EMPTY
    - apr_pool_destroy
    - apr_file_printf
    - apr_hash_get
    - check_prefix
    - apr_bucket_pipe_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t demux(file_rec *file)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/firehose.c:661,1
    - Dst: atexit
      Src: /src/httpd/support/firehose.c:664,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:666,1
    - Dst: apr_signal_block
      Src: /src/httpd/support/firehose.c:671,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/firehose.c:674,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/firehose.c:675,1
    - Dst: apr_file_open_stdin
      Src: /src/httpd/support/firehose.c:676,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/support/firehose.c:677,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/support/firehose.c:680,1
    - Dst: apr_brigade_create
      Src: /src/httpd/support/firehose.c:681,1
    - Dst: apr_hash_make
      Src: /src/httpd/support/firehose.c:682,1
    - Dst: apr_hash_make
      Src: /src/httpd/support/firehose.c:683,1
    - Dst: apr_hash_make
      Src: /src/httpd/support/firehose.c:684,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/firehose.c:686,1
    - Dst: apr_getopt_long
      Src: /src/httpd/support/firehose.c:687,1
    - Dst: apr_file_open
      Src: /src/httpd/support/firehose.c:692,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:695,1
    - Dst: apr_stat
      Src: /src/httpd/support/firehose.c:703,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:705,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:710,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:720,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/firehose.c:721,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:724,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:725,1
    - Dst: version
      Src: /src/httpd/support/firehose.c:730,1
    - Dst: help
      Src: /src/httpd/support/firehose.c:734,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/firehose.c:749,1
    - Dst: apr_pcalloc
      Src: /src/httpd/support/firehose.c:750,1
    - Dst: strlen
      Src: /src/httpd/support/firehose.c:753,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/firehose.c:754,1
    - Dst: demux
      Src: /src/httpd/support/firehose.c:759,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/firehose.c:763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 774
    functionName: main
    functionSourceFile: /src/httpd/support/firehose.c
    functionUses: 10
    functionsReached:
    - apr_brigade_create
    - apr_stat
    - apr_hash_make
    - apr_bucket_alloc_create
    - apr_app_initialize
    - apr_getopt_long
    - apr_file_open_stdout
    - apr_file_open
    - demux
    - version
    - apr_signal_block
    - apr_pool_create
    - atexit
    - apr_file_printf
    - apr_file_open_stderr
    - apr_hash_set
    - apr_pcalloc
    - apr_getopt_init
    - apr_file_open_stdin
    - help
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/support/suexec.c:205,1
    - Dst: err_output
      Src: /src/httpd/support/suexec.c:206,1
    - Dst: va_end
      Src: /src/httpd/support/suexec.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: log_err
    functionSourceFile: /src/httpd/support/suexec.c
    functionUses: 12
    functionsReached:
    - va_end
    - err_output
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_err(const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/support/suexec.c:217,1
    - Dst: err_output
      Src: /src/httpd/support/suexec.c:218,1
    - Dst: va_end
      Src: /src/httpd/support/suexec.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: log_no_err
    functionSourceFile: /src/httpd/support/suexec.c
    functionUses: 0
    functionsReached:
    - va_end
    - err_output
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_no_err(const char *fmt,...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/httpd/support/suexec.c:242,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:243,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:244,1
    - Dst: strdup
      Src: /src/httpd/support/suexec.c:247,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:249,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:250,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:255,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:256,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:270,1
    - Dst: strlen
      Src: /src/httpd/support/suexec.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 282
    functionName: clean_env
    functionSourceFile: /src/httpd/support/suexec.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - exit
    - strlen
    - log_err
    - strncmp
    linkageType: ''
    returnType: void
    signature: void clean_env(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/support/suexec.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: safe_strtol
    functionSourceFile: /src/httpd/support/suexec.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: long
    signature: long safe_strtol(const char *name)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: clean_env
      Src: /src/httpd/support/suexec.c:319,1
    - Dst: getuid
      Src: /src/httpd/support/suexec.c:325,1
    - Dst: getpwuid
      Src: /src/httpd/support/suexec.c:326,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:327,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:328,1
    - Dst: strcmp
      Src: /src/httpd/support/suexec.c:335,1
    - Dst: strcasecmp
      Src: /src/httpd/support/suexec.c:339,1
    - Dst: strcmp
      Src: /src/httpd/support/suexec.c:341,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:345,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:348,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:351,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:354,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:356,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:359,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:362,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:365,1
    - Dst: fprintf
      Src: /src/httpd/support/suexec.c:368,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:370,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:377,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:378,1
    - Dst: strcasecmp
      Src: /src/httpd/support/suexec.c:391,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:392,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:393,1
    - Dst: strcmp
      Src: /src/httpd/support/suexec.c:396,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:397,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:398,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:408,1
    - Dst: strstr
      Src: /src/httpd/support/suexec.c:409,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:410,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:411,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:419,1
    - Dst: strspn
      Src: /src/httpd/support/suexec.c:427,1
    - Dst: strlen
      Src: /src/httpd/support/suexec.c:427,1
    - Dst: getpwnam
      Src: /src/httpd/support/suexec.c:428,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:429,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:430,1
    - Dst: safe_strtol
      Src: /src/httpd/support/suexec.c:434,1
    - Dst: getpwuid
      Src: /src/httpd/support/suexec.c:442,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:443,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:444,1
    - Dst: strspn
      Src: /src/httpd/support/suexec.c:451,1
    - Dst: strlen
      Src: /src/httpd/support/suexec.c:451,1
    - Dst: getgrnam
      Src: /src/httpd/support/suexec.c:452,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:453,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:454,1
    - Dst: safe_strtol
      Src: /src/httpd/support/suexec.c:458,1
    - Dst: getgrgid
      Src: /src/httpd/support/suexec.c:463,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:464,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:465,1
    - Dst: strdup
      Src: /src/httpd/support/suexec.c:469,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:470,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:471,1
    - Dst: ufork
      Src: /src/httpd/support/suexec.c:482,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:484,1
    - Dst: strerror
      Src: /src/httpd/support/suexec.c:485,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:486,1
    - Dst: waitpid
      Src: /src/httpd/support/suexec.c:490,1
    - Dst: WIFSIGNALED
      Src: /src/httpd/support/suexec.c:493,1
    - Dst: kill
      Src: /src/httpd/support/suexec.c:494,1
    - Dst: getpid
      Src: /src/httpd/support/suexec.c:494,1
    - Dst: WTERMSIG
      Src: /src/httpd/support/suexec.c:494,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:496,1
    - Dst: WEXITSTATUS
      Src: /src/httpd/support/suexec.c:496,1
    - Dst: strdup
      Src: /src/httpd/support/suexec.c:505,1
    - Dst: strdup
      Src: /src/httpd/support/suexec.c:506,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:508,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:509,1
    - Dst: log_no_err
      Src: /src/httpd/support/suexec.c:516,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:526,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:527,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:535,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:536,1
    - Dst: setgid
      Src: /src/httpd/support/suexec.c:545,1
    - Dst: initgroups
      Src: /src/httpd/support/suexec.c:545,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:546,1
    - Dst: strerror
      Src: /src/httpd/support/suexec.c:547,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:548,1
    - Dst: setuid
      Src: /src/httpd/support/suexec.c:554,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:555,1
    - Dst: strerror
      Src: /src/httpd/support/suexec.c:556,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:557,1
    - Dst: getcwd
      Src: /src/httpd/support/suexec.c:568,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:569,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:570,1
    - Dst: chdir
      Src: /src/httpd/support/suexec.c:574,1
    - Dst: chdir
      Src: /src/httpd/support/suexec.c:575,1
    - Dst: getcwd
      Src: /src/httpd/support/suexec.c:576,1
    - Dst: chdir
      Src: /src/httpd/support/suexec.c:577,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:578,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:579,1
    - Dst: chdir
      Src: /src/httpd/support/suexec.c:583,1
    - Dst: getcwd
      Src: /src/httpd/support/suexec.c:584,1
    - Dst: chdir
      Src: /src/httpd/support/suexec.c:585,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:586,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:587,1
    - Dst: strncmp
      Src: /src/httpd/support/suexec.c:591,1
    - Dst: strlen
      Src: /src/httpd/support/suexec.c:591,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:592,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:593,1
    - Dst: lstat
      Src: /src/httpd/support/suexec.c:599,1
    - Dst: S_ISDIR
      Src: /src/httpd/support/suexec.c:599,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:600,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:601,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:608,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:609,1
    - Dst: lstat
      Src: /src/httpd/support/suexec.c:615,1
    - Dst: S_ISLNK
      Src: /src/httpd/support/suexec.c:615,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:616,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:617,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:624,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:625,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:632,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:633,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:644,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:649,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:657,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:658,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:666,1
    - Dst: umask
      Src: /src/httpd/support/suexec.c:669,1
    - Dst: closelog
      Src: /src/httpd/support/suexec.c:675,1
    - Dst: fflush
      Src: /src/httpd/support/suexec.c:685,1
    - Dst: setbuf
      Src: /src/httpd/support/suexec.c:686,1
    - Dst: fcntl
      Src: /src/httpd/support/suexec.c:687,1
    - Dst: fileno
      Src: /src/httpd/support/suexec.c:687,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:688,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:689,1
    - Dst: fclose
      Src: /src/httpd/support/suexec.c:696,1
    - Dst: ap_execve
      Src: /src/httpd/support/suexec.c:710,1
    - Dst: execv
      Src: /src/httpd/support/suexec.c:713,1
    - Dst: log_err
      Src: /src/httpd/support/suexec.c:724,1
    - Dst: strerror
      Src: /src/httpd/support/suexec.c:724,1
    - Dst: exit
      Src: /src/httpd/support/suexec.c:725,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 178
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 726
    functionName: main
    functionSourceFile: /src/httpd/support/suexec.c
    functionUses: 10
    functionsReached:
    - fclose
    - fileno
    - fprintf
    - getgrgid
    - ufork
    - strerror
    - strspn
    - closelog
    - strncmp
    - getpwuid
    - getpid
    - strdup
    - lstat
    - umask
    - setuid
    - WIFSIGNALED
    - WEXITSTATUS
    - log_err
    - strcmp
    - setbuf
    - clean_env
    - getuid
    - S_ISLNK
    - ap_execve
    - safe_strtol
    - exit
    - S_ISDIR
    - log_no_err
    - waitpid
    - strstr
    - strcasecmp
    - getpwnam
    - fcntl
    - fflush
    - setgid
    - getgrnam
    - initgroups
    - getcwd
    - kill
    - strlen
    - chdir
    - WTERMSIG
    - execv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/fcgistarter.c:39,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: usage
    functionSourceFile: /src/httpd/support/fcgistarter.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/support/fcgistarter.c:48,1
    - Dst: apr_strerror
      Src: /src/httpd/support/fcgistarter.c:51,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rv
    - func
    argTypes:
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: exit_error
    functionSourceFile: /src/httpd/support/fcgistarter.c
    functionUses: 0
    functionsReached:
    - fprintf
    - apr_strerror
    - exit
    linkageType: ''
    returnType: void
    signature: void exit_error(apr_status_t rv, const char *func)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/fcgistarter.c:72,1
    - Dst: atexit
      Src: /src/httpd/support/fcgistarter.c:74,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/fcgistarter.c:76,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/fcgistarter.c:78,1
    - Dst: apr_getopt
      Src: /src/httpd/support/fcgistarter.c:87,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/support/fcgistarter.c:88,1
    - Dst: usage
      Src: /src/httpd/support/fcgistarter.c:91,1
    - Dst: atoi
      Src: /src/httpd/support/fcgistarter.c:99,1
    - Dst: usage
      Src: /src/httpd/support/fcgistarter.c:101,1
    - Dst: atoi
      Src: /src/httpd/support/fcgistarter.c:110,1
    - Dst: usage
      Src: /src/httpd/support/fcgistarter.c:112,1
    - Dst: usage
      Src: /src/httpd/support/fcgistarter.c:123,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/support/fcgistarter.c:126,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:128,1
    - Dst: apr_socket_create
      Src: /src/httpd/support/fcgistarter.c:131,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:133,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/support/fcgistarter.c:136,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:138,1
    - Dst: apr_socket_bind
      Src: /src/httpd/support/fcgistarter.c:141,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:143,1
    - Dst: apr_socket_listen
      Src: /src/httpd/support/fcgistarter.c:146,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:148,1
    - Dst: apr_proc_detach
      Src: /src/httpd/support/fcgistarter.c:151,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:153,1
    - Dst: apr_proc_fork
      Src: /src/httpd/support/fcgistarter.c:163,1
    - Dst: apr_os_file_put
      Src: /src/httpd/support/fcgistarter.c:180,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:182,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/support/fcgistarter.c:185,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:187,1
    - Dst: apr_os_file_put
      Src: /src/httpd/support/fcgistarter.c:190,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:193,1
    - Dst: apr_file_dup2
      Src: /src/httpd/support/fcgistarter.c:196,1
    - Dst: exit
      Src: /src/httpd/support/fcgistarter.c:198,1
    - Dst: execl
      Src: /src/httpd/support/fcgistarter.c:206,1
    - Dst: apr_socket_close
      Src: /src/httpd/support/fcgistarter.c:210,1
    - Dst: exit_error
      Src: /src/httpd/support/fcgistarter.c:213,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/httpd/support/fcgistarter.c
    functionUses: 10
    functionsReached:
    - apr_socket_opt_set
    - atoi
    - apr_os_sock_get
    - apr_socket_bind
    - apr_socket_listen
    - apr_proc_fork
    - apr_file_dup2
    - apr_socket_create
    - apr_app_initialize
    - execl
    - APR_STATUS_IS_EOF
    - apr_socket_close
    - exit_error
    - usage
    - apr_pool_create
    - atexit
    - exit
    - apr_proc_detach
    - apr_getopt
    - apr_getopt_init
    - apr_os_file_put
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:94,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:95,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:96,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:97,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:100,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:105,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:109,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: print_statistics
    functionSourceFile: /src/httpd/support/logresolve.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void print_statistics (apr_file_t *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:118,1
    - Dst: exit
      Src: /src/httpd/support/logresolve.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: usage
    functionSourceFile: /src/httpd/support/logresolve.c
    functionUses: 10
    functionsReached:
    - exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/logresolve.c:146,1
    - Dst: atexit
      Src: /src/httpd/support/logresolve.c:149,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/support/logresolve.c:152,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/logresolve.c:155,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/logresolve.c:158,1
    - Dst: apr_getopt_init
      Src: /src/httpd/support/logresolve.c:159,1
    - Dst: apr_getopt
      Src: /src/httpd/support/logresolve.c:163,1
    - Dst: usage
      Src: /src/httpd/support/logresolve.c:168,1
    - Dst: usage
      Src: /src/httpd/support/logresolve.c:174,1
    - Dst: usage
      Src: /src/httpd/support/logresolve.c:180,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/logresolve.c:182,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/support/logresolve.c:188,1
    - Dst: apr_file_open_stdin
      Src: /src/httpd/support/logresolve.c:189,1
    - Dst: apr_palloc
      Src: /src/httpd/support/logresolve.c:192,1
    - Dst: apr_palloc
      Src: /src/httpd/support/logresolve.c:193,1
    - Dst: apr_palloc
      Src: /src/httpd/support/logresolve.c:194,1
    - Dst: apr_file_buffer_set
      Src: /src/httpd/support/logresolve.c:199,1
    - Dst: apr_file_buffer_set
      Src: /src/httpd/support/logresolve.c:200,1
    - Dst: apr_hash_make
      Src: /src/httpd/support/logresolve.c:202,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/logresolve.c:203,1
    - Dst: apr_file_gets
      Src: /src/httpd/support/logresolve.c:207,1
    - Dst: apr_isxdigit
      Src: /src/httpd/support/logresolve.c:222,1
    - Dst: apr_file_puts
      Src: /src/httpd/support/logresolve.c:224,1
    - Dst: strchr
      Src: /src/httpd/support/logresolve.c:229,1
    - Dst: apr_hash_get
      Src: /src/httpd/support/logresolve.c:237,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:239,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/support/logresolve.c:245,1
    - Dst: apr_file_puts
      Src: /src/httpd/support/logresolve.c:250,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/support/logresolve.c:266,1
    - Dst: apr_file_puts
      Src: /src/httpd/support/logresolve.c:270,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/logresolve.c:275,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/logresolve.c:276,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/support/logresolve.c:276,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/support/logresolve.c:285,1
    - Dst: memcmp
      Src: /src/httpd/support/logresolve.c:288,1
    - Dst: apr_file_puts
      Src: /src/httpd/support/logresolve.c:291,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/logresolve.c:296,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/logresolve.c:297,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/support/logresolve.c:297,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:303,1
    - Dst: apr_hash_set
      Src: /src/httpd/support/logresolve.c:306,1
    - Dst: apr_pstrdup
      Src: /src/httpd/support/logresolve.c:307,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/support/logresolve.c:307,1
    - Dst: apr_pool_clear
      Src: /src/httpd/support/logresolve.c:309,1
    - Dst: apr_file_flush
      Src: /src/httpd/support/logresolve.c:313,1
    - Dst: apr_file_open
      Src: /src/httpd/support/logresolve.c:317,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/logresolve.c:320,1
    - Dst: print_statistics
      Src: /src/httpd/support/logresolve.c:324,1
    - Dst: apr_file_close
      Src: /src/httpd/support/logresolve.c:325,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 329
    functionName: main
    functionSourceFile: /src/httpd/support/logresolve.c
    functionUses: 10
    functionsReached:
    - apr_file_close
    - apr_getnameinfo
    - apr_file_buffer_set
    - memcmp
    - apr_hash_make
    - strchr
    - apr_app_initialize
    - apr_isxdigit
    - apr_file_open_stdout
    - apr_file_open
    - print_statistics
    - usage
    - apr_pool_create
    - atexit
    - apr_pool_clear
    - apr_file_printf
    - apr_hash_get
    - apr_file_open_stderr
    - apr_hash_set
    - apr_getopt
    - apr_palloc
    - apr_file_puts
    - apr_file_gets
    - apr_filepath_name_get
    - apr_getopt_init
    - apr_file_open_stdin
    - apr_file_flush
    - apr_hash_pool_get
    - apr_pstrdup
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/support/htdigest.c:74,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: cleanup_tempfile_and_exit
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    - exit
    linkageType: ''
    returnType: void
    signature: void cleanup_tempfile_and_exit(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - word
    - line
    - stop
    argTypes:
    - char*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: getword
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getword(char *word, char *line, char stop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_getc
      Src: /src/httpd/support/htdigest.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - s
    - n
    - f
    argTypes:
    - char*
    - int
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: get_line
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 2
    functionsReached:
    - apr_file_getc
    linkageType: ''
    returnType: int
    signature: int get_line(char *s, int n, apr_file_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_putc
      Src: /src/httpd/support/htdigest.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - f
    - l
    argTypes:
    - apr_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: putline
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 1
    functionsReached:
    - apr_file_putc
    linkageType: ''
    returnType: void
    signature: void putline(apr_file_t *f, char *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_password_get
      Src: /src/httpd/support/htdigest.c:143,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:144,1
    - Dst: cleanup_tempfile_and_exit
      Src: /src/httpd/support/htdigest.c:145,1
    - Dst: apr_password_get
      Src: /src/httpd/support/htdigest.c:148,1
    - Dst: strcmp
      Src: /src/httpd/support/htdigest.c:149,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:150,1
    - Dst: cleanup_tempfile_and_exit
      Src: /src/httpd/support/htdigest.c:151,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:154,1
    - Dst: apr_snprintf
      Src: /src/httpd/support/htdigest.c:157,1
    - Dst: apr_md5_init
      Src: /src/httpd/support/htdigest.c:159,1
    - Dst: apr_md5_set_xlate
      Src: /src/httpd/support/htdigest.c:161,1
    - Dst: apr_md5_update
      Src: /src/httpd/support/htdigest.c:163,1
    - Dst: strlen
      Src: /src/httpd/support/htdigest.c:163,1
    - Dst: apr_md5_final
      Src: /src/httpd/support/htdigest.c:164,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:167,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - user
    - realm
    - f
    argTypes:
    - char*
    - char*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 170
    functionName: add_password
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 0
    functionsReached:
    - apr_md5_set_xlate
    - strcmp
    - apr_md5_init
    - strlen
    - apr_md5_update
    - apr_password_get
    - cleanup_tempfile_and_exit
    - apr_file_printf
    - apr_md5_final
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void add_password(const char *user, const char *realm, apr_file_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:174,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:175,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: usage
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 11
    functionsReached:
    - exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:181,1
    - Dst: cleanup_tempfile_and_exit
      Src: /src/httpd/support/htdigest.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: interrupted
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 0
    functionsReached:
    - cleanup_tempfile_and_exit
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void interrupted(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_terminate
      Src: /src/httpd/support/htdigest.c:187,1
    - Dst: pressanykey
      Src: /src/httpd/support/htdigest.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: terminate
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 14
    functionsReached:
    - pressanykey
    - apr_terminate
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/support/htdigest.c:207,1
    - Dst: atexit
      Src: /src/httpd/support/htdigest.c:208,1
    - Dst: apr_pool_create
      Src: /src/httpd/support/htdigest.c:209,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/support/htdigest.c:210,1
    - Dst: apr_xlate_open
      Src: /src/httpd/support/htdigest.c:213,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:215,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:217,1
    - Dst: apr_signal
      Src: /src/httpd/support/htdigest.c:221,1
    - Dst: strcmp
      Src: /src/httpd/support/htdigest.c:223,1
    - Dst: usage
      Src: /src/httpd/support/htdigest.c:224,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htdigest.c:225,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:228,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:230,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/htdigest.c:232,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/htdigest.c:233,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:234,1
    - Dst: add_password
      Src: /src/httpd/support/htdigest.c:236,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htdigest.c:237,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:238,1
    - Dst: usage
      Src: /src/httpd/support/htdigest.c:241,1
    - Dst: apr_temp_dir_get
      Src: /src/httpd/support/htdigest.c:243,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:244,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:246,1
    - Dst: apr_psprintf
      Src: /src/httpd/support/htdigest.c:248,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/support/htdigest.c:250,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:251,1
    - Dst: exit
      Src: /src/httpd/support/htdigest.c:252,1
    - Dst: apr_file_open
      Src: /src/httpd/support/htdigest.c:255,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:256,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:258,1
    - Dst: cleanup_tempfile_and_exit
      Src: /src/httpd/support/htdigest.c:259,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/htdigest.c:261,1
    - Dst: apr_cpystrn
      Src: /src/httpd/support/htdigest.c:262,1
    - Dst: get_line
      Src: /src/httpd/support/htdigest.c:265,1
    - Dst: putline
      Src: /src/httpd/support/htdigest.c:267,1
    - Dst: strcpy
      Src: /src/httpd/support/htdigest.c:270,1
    - Dst: getword
      Src: /src/httpd/support/htdigest.c:271,1
    - Dst: getword
      Src: /src/httpd/support/htdigest.c:271,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:272,1
    - Dst: cleanup_tempfile_and_exit
      Src: /src/httpd/support/htdigest.c:274,1
    - Dst: strcmp
      Src: /src/httpd/support/htdigest.c:276,1
    - Dst: strcmp
      Src: /src/httpd/support/htdigest.c:276,1
    - Dst: putline
      Src: /src/httpd/support/htdigest.c:277,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:281,1
    - Dst: add_password
      Src: /src/httpd/support/htdigest.c:283,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:288,1
    - Dst: add_password
      Src: /src/httpd/support/htdigest.c:289,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htdigest.c:291,1
    - Dst: apr_file_copy
      Src: /src/httpd/support/htdigest.c:295,1
    - Dst: apr_file_printf
      Src: /src/httpd/support/htdigest.c:297,1
    - Dst: apr_file_close
      Src: /src/httpd/support/htdigest.c:300,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/httpd/support/htdigest.c
    functionUses: 10
    functionsReached:
    - apr_signal
    - add_password
    - apr_file_copy
    - apr_file_close
    - apr_file_mktemp
    - cleanup_tempfile_and_exit
    - get_line
    - apr_app_initialize
    - apr_temp_dir_get
    - apr_psprintf
    - apr_xlate_open
    - apr_file_open
    - strcmp
    - getword
    - apr_cpystrn
    - usage
    - apr_pool_create
    - atexit
    - exit
    - apr_file_printf
    - apr_file_open_stderr
    - strcpy
    - putline
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * const argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/support/win32/wintty.c:70,1
    - Dst: wvsprintf
      Src: /src/httpd/support/win32/wintty.c:71,1
    - Dst: OutputDebugString
      Src: /src/httpd/support/win32/wintty.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: printerr
    functionSourceFile: /src/httpd/support/win32/wintty.c
    functionUses: 0
    functionsReached:
    - wvsprintf
    - OutputDebugString
    - va_start
    linkageType: ''
    returnType: void
    signature: void printerr(char *fmt, ...)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/httpd/support/win32/wintty.c:103,1
    - Dst: atoi
      Src: /src/httpd/support/win32/wintty.c:127,1
    - Dst: printf
      Src: /src/httpd/support/win32/wintty.c:142,1
    - Dst: exit
      Src: /src/httpd/support/win32/wintty.c:143,1
    - Dst: printf
      Src: /src/httpd/support/win32/wintty.c:145,1
    - Dst: exit
      Src: /src/httpd/support/win32/wintty.c:146,1
    - Dst: printf
      Src: /src/httpd/support/win32/wintty.c:150,1
    - Dst: exit
      Src: /src/httpd/support/win32/wintty.c:151,1
    - Dst: GetCurrentProcess
      Src: /src/httpd/support/win32/wintty.c:155,1
    - Dst: GetProcessWindowStation
      Src: /src/httpd/support/win32/wintty.c:156,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:158,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:158,1
    - Dst: GetUserObjectInformation
      Src: /src/httpd/support/win32/wintty.c:160,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:161,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:161,1
    - Dst: strnicmp
      Src: /src/httpd/support/win32/wintty.c:163,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:164,1
    - Dst: SetLastError
      Src: /src/httpd/support/win32/wintty.c:167,1
    - Dst: GetStdHandle
      Src: /src/httpd/support/win32/wintty.c:169,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:171,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:172,1
    - Dst: DuplicateHandle
      Src: /src/httpd/support/win32/wintty.c:174,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:176,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:180,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:181,1
    - Dst: GetStdHandle
      Src: /src/httpd/support/win32/wintty.c:184,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:186,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:187,1
    - Dst: DuplicateHandle
      Src: /src/httpd/support/win32/wintty.c:189,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:191,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:195,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:196,1
    - Dst: GetStdHandle
      Src: /src/httpd/support/win32/wintty.c:199,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:201,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:202,1
    - Dst: DuplicateHandle
      Src: /src/httpd/support/win32/wintty.c:204,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:206,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:210,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:211,1
    - Dst: FreeConsole
      Src: /src/httpd/support/win32/wintty.c:217,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:218,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:218,1
    - Dst: GetThreadDesktop
      Src: /src/httpd/support/win32/wintty.c:222,1
    - Dst: GetCurrentThreadId
      Src: /src/httpd/support/win32/wintty.c:222,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:224,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:224,1
    - Dst: CloseWindowStation
      Src: /src/httpd/support/win32/wintty.c:226,1
    - Dst: OpenWindowStation
      Src: /src/httpd/support/win32/wintty.c:227,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:229,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:229,1
    - Dst: SetProcessWindowStation
      Src: /src/httpd/support/win32/wintty.c:231,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:232,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:232,1
    - Dst: OpenDesktop
      Src: /src/httpd/support/win32/wintty.c:234,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:236,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:236,1
    - Dst: SetThreadDesktop
      Src: /src/httpd/support/win32/wintty.c:238,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:239,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:239,1
    - Dst: GetCommandLine
      Src: /src/httpd/support/win32/wintty.c:247,1
    - Dst: GetModuleFileName
      Src: /src/httpd/support/win32/wintty.c:249,1
    - Dst: memset
      Src: /src/httpd/support/win32/wintty.c:253,1
    - Dst: CreateProcess
      Src: /src/httpd/support/win32/wintty.c:269,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:272,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:273,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:274,1
    - Dst: ResumeThread
      Src: /src/httpd/support/win32/wintty.c:275,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:276,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/support/win32/wintty.c:277,1
    - Dst: GetExitCodeProcess
      Src: /src/httpd/support/win32/wintty.c:278,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:279,1
    - Dst: AllocConsole
      Src: /src/httpd/support/win32/wintty.c:286,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:287,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:287,1
    - Dst: SetConsoleTitle
      Src: /src/httpd/support/win32/wintty.c:290,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:291,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:291,1
    - Dst: CreateFile
      Src: /src/httpd/support/win32/wintty.c:294,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:298,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:298,1
    - Dst: GetConsoleMode
      Src: /src/httpd/support/win32/wintty.c:300,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:301,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:301,1
    - Dst: SetConsoleMode
      Src: /src/httpd/support/win32/wintty.c:303,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:305,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:306,1
    - Dst: CreateFile
      Src: /src/httpd/support/win32/wintty.c:309,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:313,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:313,1
    - Dst: GetConsoleMode
      Src: /src/httpd/support/win32/wintty.c:315,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:316,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:316,1
    - Dst: SetConsoleMode
      Src: /src/httpd/support/win32/wintty.c:318,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:320,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:321,1
    - Dst: CreateThread
      Src: /src/httpd/support/win32/wintty.c:326,1
    - Dst: ReadFile
      Src: /src/httpd/support/win32/wintty.c:328,1
    - Dst: WriteFile
      Src: /src/httpd/support/win32/wintty.c:329,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:332,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:332,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/wintty.c:334,1
    - Dst: GetConsoleTitle
      Src: /src/httpd/support/win32/wintty.c:335,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:336,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:336,1
    - Dst: strcat
      Src: /src/httpd/support/win32/wintty.c:339,1
    - Dst: SetConsoleTitle
      Src: /src/httpd/support/win32/wintty.c:340,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:341,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:341,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/support/win32/wintty.c:345,1
    - Dst: FreeConsole
      Src: /src/httpd/support/win32/wintty.c:346,1
    - Dst: SetProcessWindowStation
      Src: /src/httpd/support/win32/wintty.c:348,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:349,1
    - Dst: SetThreadDesktop
      Src: /src/httpd/support/win32/wintty.c:351,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:352,1
    - Dst: CloseDesktop
      Src: /src/httpd/support/win32/wintty.c:354,1
    - Dst: CloseWindowStation
      Src: /src/httpd/support/win32/wintty.c:355,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 207
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 358
    functionName: main
    functionSourceFile: /src/httpd/support/win32/wintty.c
    functionUses: 10
    functionsReached:
    - SetLastError
    - DuplicateHandle
    - CreateProcess
    - atoi
    - GetExitCodeProcess
    - strnicmp
    - GetConsoleTitle
    - GetThreadDesktop
    - AllocConsole
    - CloseHandle
    - CreateThread
    - ReadFile
    - GetCurrentProcess
    - WaitForSingleObject
    - GetConsoleMode
    - ResumeThread
    - printerr
    - CloseWindowStation
    - GetModuleFileName
    - FreeConsole
    - SetThreadDesktop
    - CloseDesktop
    - GetStdHandle
    - OpenWindowStation
    - GetProcessWindowStation
    - GetLastError
    - exit
    - SetProcessWindowStation
    - SetConsoleMode
    - OpenDesktop
    - strcat
    - GetUserObjectInformation
    - memset
    - SetConsoleTitle
    - CreateFile
    - WriteFile
    - GetCurrentThreadId
    - GetCommandLine
    - tolower
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/httpd/support/win32/wintty.c:367,1
    - Dst: WriteFile
      Src: /src/httpd/support/win32/wintty.c:368,1
    - Dst: printerr
      Src: /src/httpd/support/win32/wintty.c:371,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/wintty.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: feedback
    functionSourceFile: /src/httpd/support/win32/wintty.c
    functionUses: 0
    functionsReached:
    - WriteFile
    - ReadFile
    - GetLastError
    - printerr
    linkageType: ''
    returnType: DWORD
    signature: DWORD feedback(LPVOID arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AM_STRINGIFY
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AM_STRINGIFY(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: AM_STRINGIFY_HELPER
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AM_STRINGIFY_HELPER(n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:128,1
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:131,1
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:134,1
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:137,1
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:140,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: am_ClearServicesSt
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void am_ClearServicesSt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:154,1
    - Dst: RegCloseKey
      Src: /src/httpd/support/win32/ApacheMonitor.c:155,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: am_ClearComputersSt
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - memset
    - free
    - RegCloseKey
    linkageType: ''
    returnType: void
    signature: void am_ClearComputersSt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - szComputerName
    argTypes:
    - LPTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: am_IsComputerConnected
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - _tcscmp
    linkageType: ''
    returnType: BOOL
    signature: BOOL am_IsComputerConnected(LPTSTR szComputerName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:180,1
    - Dst: free
      Src: /src/httpd/support/win32/ApacheMonitor.c:186,1
    - Dst: RegCloseKey
      Src: /src/httpd/support/win32/ApacheMonitor.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - szComputerName
    argTypes:
    - LPTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: am_DisconnectComputer
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - free
    - _tcscmp
    linkageType: ''
    returnType: void
    signature: void am_DisconnectComputer(LPTSTR szComputerName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MessageBox
      Src: /src/httpd/support/win32/ApacheMonitor.c:202,1
    - Dst: FormatMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:206,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/ApacheMonitor.c:209,1
    - Dst: MessageBox
      Src: /src/httpd/support/win32/ApacheMonitor.c:211,1
    - Dst: LocalFree
      Src: /src/httpd/support/win32/ApacheMonitor.c:214,1
    - Dst: PostQuitMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - szError
    - bFatal
    argTypes:
    - LPCTSTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: ErrorMessage
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - LocalFree
    - PostQuitMessage
    - GetLastError
    - MessageBox
    - FormatMessage
    linkageType: ''
    returnType: void
    signature: void ErrorMessage(LPCTSTR szError, BOOL bFatal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:228,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:232,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:233,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:234,1
    - Dst: ShellExecute
      Src: /src/httpd/support/win32/ApacheMonitor.c:235,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:235,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - hwnd
    - op
    - szService
    - szComputerName
    argTypes:
    - HWND
    - DWORD
    - LPCTSTR
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: am_RespawnAsUserAdmin
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - ShellExecute
    - ErrorMessage
    - _sntprintf
    - _T
    linkageType: ''
    returnType: int
    signature: "int am_RespawnAsUserAdmin(HWND hwnd, DWORD op, LPCTSTR szService,\n
      \                         LPCTSTR szComputerName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:252,1
    - Dst: RegConnectRegistry
      Src: /src/httpd/support/win32/ApacheMonitor.c:260,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:262,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:265,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - szComputerName
    argTypes:
    - LPTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: am_ConnectComputer
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - _tcscmp
    - _sntprintf
    - ErrorMessage
    - RegConnectRegistry
    - _tcsdup
    linkageType: ''
    returnType: BOOL
    signature: BOOL am_ConnectComputer(LPTSTR szComputerName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadString
      Src: /src/httpd/support/win32/ApacheMonitor.c:281,1
    - Dst: GetModuleHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: GetStringRes
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - LoadString
    - GetModuleHandle
    linkageType: ''
    returnType: LPTSTR
    signature: LPTSTR GetStringRes(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:293,1
    - Dst: GetVersionEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - dwVersion
    argTypes:
    - LPDWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 316
    functionName: GetSystemOSVersion
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - GetVersionEx
    - memset
    linkageType: ''
    returnType: BOOL
    signature: BOOL GetSystemOSVersion(LPDWORD dwVersion)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:324,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:351,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:354,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:358,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:362,1
    - Dst: Shell_NotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - hWnd
    - dwMessage
    argTypes:
    - HWND
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 365
    functionName: ShowNotifyIcon
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - _tcscpy
    - Shell_NotifyIcon
    - memset
    - _sntprintf
    linkageType: ''
    returnType: VOID
    signature: VOID ShowNotifyIcon(HWND hWnd, DWORD dwMessage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:373,1
    - Dst: _tcslen
      Src: /src/httpd/support/win32/ApacheMonitor.c:376,1
    - Dst: InsertMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - hMenu
    - uMenuId
    - szName
    - fDefault
    - fEnabled
    argTypes:
    - HMENU
    - UINT
    - LPTSTR
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: appendMenuItem
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - InsertMenuItem
    - _tcslen
    - memset
    linkageType: ''
    returnType: void
    signature: "void appendMenuItem(HMENU hMenu, UINT uMenuId, LPTSTR szName,\n                    BOOL
      fDefault, BOOL fEnabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreatePopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:401,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:403,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:405,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:407,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:410,1
    - Dst: InsertMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - hMenu
    - uMenuId
    - szServiceName
    - fRunning
    argTypes:
    - HMENU
    - UINT
    - LPTSTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 422
    functionName: appendServiceMenu
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - CreatePopupMenu
    - memset
    - appendMenuItem
    - InsertMenuItem
    linkageType: ''
    returnType: void
    signature: "void appendServiceMenu(HMENU hMenu, UINT uMenuId,\n                       LPTSTR
      szServiceName, BOOL fRunning)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreatePopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:428,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:433,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:436,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:439,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:439,1
    - Dst: appendMenuItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:440,1
    - Dst: SetForegroundWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:444,1
    - Dst: SetForegroundWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:445,1
    - Dst: GetCursorPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:447,1
    - Dst: TrackPopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:448,1
    - Dst: DestroyMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - hWnd
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 452
    functionName: ShowTryPopupMenu
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - appendMenuItem
    - TrackPopupMenu
    - CreatePopupMenu
    - GetCursorPos
    - DestroyMenu
    - SetForegroundWindow
    - _T
    linkageType: ''
    returnType: void
    signature: void ShowTryPopupMenu(HWND hWnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreatePopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:458,1
    - Dst: appendServiceMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:466,1
    - Dst: SetForegroundWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:472,1
    - Dst: SetForegroundWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:473,1
    - Dst: GetCursorPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:475,1
    - Dst: TrackPopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:476,1
    - Dst: DestroyMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - hWnd
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: ShowTryServicesMenu
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - TrackPopupMenu
    - CreatePopupMenu
    - GetCursorPos
    - DestroyMenu
    - SetForegroundWindow
    - appendServiceMenu
    linkageType: ''
    returnType: void
    signature: void ShowTryServicesMenu(HWND hWnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowRect
      Src: /src/httpd/support/win32/ApacheMonitor.c:492,1
    - Dst: SystemParametersInfo
      Src: /src/httpd/support/win32/ApacheMonitor.c:497,1
    - Dst: GetSystemMetrics
      Src: /src/httpd/support/win32/ApacheMonitor.c:501,1
    - Dst: GetSystemMetrics
      Src: /src/httpd/support/win32/ApacheMonitor.c:502,1
    - Dst: SetWindowPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - hwndChild
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 510
    functionName: CenterWindow
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - GetWindowRect
    - SystemParametersInfo
    - GetSystemMetrics
    - SetWindowPos
    linkageType: ''
    returnType: BOOL
    signature: BOOL CenterWindow(HWND hwndChild)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:517,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hDlg
    - lpStr
    - hBmp
    argTypes:
    - HWND
    - LPTSTR
    - HBITMAP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: addListBoxItem
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - SendMessage
    linkageType: ''
    returnType: void
    signature: void addListBoxItem(HWND hDlg, LPTSTR lpStr, HBITMAP hBmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:531,1
    - Dst: ListBox_SetCurSel
      Src: /src/httpd/support/win32/ApacheMonitor.c:534,1
    - Dst: ListBox_AddString
      Src: /src/httpd/support/win32/ApacheMonitor.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hListBox
    - lpStr
    argTypes:
    - HWND
    - LPTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: addListBoxString
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - ListBox_SetCurSel
    - SendMessage
    - ListBox_AddString
    linkageType: ''
    returnType: void
    signature: void addListBoxString(HWND hListBox, LPTSTR lpStr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/httpd/support/win32/ApacheMonitor.c:550,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:553,1
    - Dst: OpenService
      Src: /src/httpd/support/win32/ApacheMonitor.c:558,1
    - Dst: am_RespawnAsUserAdmin
      Src: /src/httpd/support/win32/ApacheMonitor.c:565,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:569,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:572,1
    - Dst: SetCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:579,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:583,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:586,1
    - Dst: ControlService
      Src: /src/httpd/support/win32/ApacheMonitor.c:587,1
    - Dst: Sleep
      Src: /src/httpd/support/win32/ApacheMonitor.c:589,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:590,1
    - Dst: Sleep
      Src: /src/httpd/support/win32/ApacheMonitor.c:594,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:601,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:606,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:609,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:615,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:618,1
    - Dst: StartService
      Src: /src/httpd/support/win32/ApacheMonitor.c:620,1
    - Dst: Sleep
      Src: /src/httpd/support/win32/ApacheMonitor.c:622,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:623,1
    - Dst: Sleep
      Src: /src/httpd/support/win32/ApacheMonitor.c:627,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:634,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:639,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:642,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:648,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:651,1
    - Dst: ControlService
      Src: /src/httpd/support/win32/ApacheMonitor.c:652,1
    - Dst: Sleep
      Src: /src/httpd/support/win32/ApacheMonitor.c:658,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:659,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:661,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:662,1
    - Dst: SetCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:664,1
    - Dst: _sntprintf
      Src: /src/httpd/support/win32/ApacheMonitor.c:675,1
    - Dst: addListBoxString
      Src: /src/httpd/support/win32/ApacheMonitor.c:678,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:682,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:683,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:685,1
    - Dst: SetCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:689,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 4
    argNames:
    - szServiceName
    - szImagePath
    - szComputerName
    - dwCommand
    argTypes:
    - LPCTSTR
    - LPCTSTR
    - LPTSTR
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 693
    functionName: ApacheManageService
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - QueryServiceStatus
    - Sleep
    - _sntprintf
    - OpenService
    - ControlService
    - SetCursor
    - am_RespawnAsUserAdmin
    - StartService
    - CloseServiceHandle
    - ErrorMessage
    - addListBoxString
    - OpenSCManager
    linkageType: ''
    returnType: BOOL
    signature: "BOOL ApacheManageService(LPCTSTR szServiceName, LPCTSTR szImagePath,\n
      \                        LPTSTR szComputerName, DWORD dwCommand)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/httpd/support/win32/ApacheMonitor.c:705,1
    - Dst: OpenService
      Src: /src/httpd/support/win32/ApacheMonitor.c:711,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:715,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:722,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:723,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - szServiceName
    - szComputerName
    - lpdwPid
    argTypes:
    - LPCTSTR
    - LPCTSTR
    - LPDWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 731
    functionName: IsServiceRunning
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - OpenSCManager
    - CloseServiceHandle
    - QueryServiceStatus
    - OpenService
    linkageType: ''
    returnType: BOOL
    signature: "BOOL IsServiceRunning(LPCTSTR szServiceName, LPCTSTR szComputerName,\n
      \                     LPDWORD lpdwPid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsServiceRunning
      Src: /src/httpd/support/win32/ApacheMonitor.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 752
    functionName: FindRunningServices
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - IsServiceRunning
    linkageType: ''
    returnType: BOOL
    signature: BOOL FindRunningServices(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: am_ClearServicesSt
      Src: /src/httpd/support/win32/ApacheMonitor.c:770,1
    - Dst: RegOpenKeyEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:773,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:774,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:778,1
    - Dst: RegEnumKey
      Src: /src/httpd/support/win32/ApacheMonitor.c:783,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:786,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:786,1
    - Dst: _tcscat
      Src: /src/httpd/support/win32/ApacheMonitor.c:787,1
    - Dst: RegOpenKeyEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:789,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:793,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:793,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:801,1
    - Dst: CharLower
      Src: /src/httpd/support/win32/ApacheMonitor.c:802,1
    - Dst: _tcsstr
      Src: /src/httpd/support/win32/ApacheMonitor.c:804,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:804,1
    - Dst: _tcsstr
      Src: /src/httpd/support/win32/ApacheMonitor.c:805,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:805,1
    - Dst: _tcsstr
      Src: /src/httpd/support/win32/ApacheMonitor.c:806,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:806,1
    - Dst: _tcsstr
      Src: /src/httpd/support/win32/ApacheMonitor.c:807,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:807,1
    - Dst: _tcsstr
      Src: /src/httpd/support/win32/ApacheMonitor.c:808,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:808,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:810,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:811,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:813,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:815,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:815,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:818,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:821,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:821,1
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:825,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:828,1
    - Dst: _tcscat
      Src: /src/httpd/support/win32/ApacheMonitor.c:830,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:830,1
    - Dst: _tcscat
      Src: /src/httpd/support/win32/ApacheMonitor.c:831,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:834,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:836,1
    - Dst: RegCloseKey
      Src: /src/httpd/support/win32/ApacheMonitor.c:845,1
    - Dst: RegCloseKey
      Src: /src/httpd/support/win32/ApacheMonitor.c:850,1
    - Dst: FindRunningServices
      Src: /src/httpd/support/win32/ApacheMonitor.c:852,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 854
    functionName: GetApacheServicesStatus
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - RegQueryValueEx
    - FindRunningServices
    - _tcscmp
    - RegCloseKey
    - _tcscpy
    - RegEnumKey
    - CharLower
    - _tcsstr
    - ErrorMessage
    - _T
    - RegOpenKeyEx
    - _tcscat
    - am_ClearServicesSt
    - _tcsdup
    linkageType: ''
    returnType: BOOL
    signature: BOOL GetApacheServicesStatus()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:864,1
    - Dst: CenterWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:866,1
    - Dst: ShowWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:867,1
    - Dst: SetFocus
      Src: /src/httpd/support/win32/ApacheMonitor.c:868,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:868,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:872,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:875,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:876,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:876,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:877,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:877,1
    - Dst: _tcsupr
      Src: /src/httpd/support/win32/ApacheMonitor.c:881,1
    - Dst: _tcslen
      Src: /src/httpd/support/win32/ApacheMonitor.c:882,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:883,1
    - Dst: am_ConnectComputer
      Src: /src/httpd/support/win32/ApacheMonitor.c:886,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:887,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:890,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:898,1
    - Dst: SHGetSpecialFolderLocation
      Src: /src/httpd/support/win32/ApacheMonitor.c:899,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:901,1
    - Dst: SHBrowseForFolder
      Src: /src/httpd/support/win32/ApacheMonitor.c:910,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:911,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:911,1
    - Dst: SUCCEEDED
      Src: /src/httpd/support/win32/ApacheMonitor.c:915,1
    - Dst: SHGetMalloc
      Src: /src/httpd/support/win32/ApacheMonitor.c:915,1
    - Dst: LPMALLOC::lpVtbl::Free
      Src: /src/httpd/support/win32/ApacheMonitor.c:916,1
    - Dst: LPMALLOC::lpVtbl::Release
      Src: /src/httpd/support/win32/ApacheMonitor.c:917,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 4
    argNames:
    - hDlg
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 934
    functionName: ConnectDlgProc
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - SHBrowseForFolder
    - _tcsupr
    - _tcslen
    - CenterWindow
    - _tcscpy
    - SHGetSpecialFolderLocation
    - _T
    - LOWORD
    - LPMALLOC::lpVtbl::Free
    - LPMALLOC::lpVtbl::Release
    - ShowWindow
    - am_ConnectComputer
    - SendMessage
    - memset
    - EndDialog
    - SUCCEEDED
    - SHGetMalloc
    - GetDlgItem
    - SetFocus
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT ConnectDlgProc(HWND hDlg, UINT message,\n                                WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:951,1
    - Dst: ShowWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:955,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:957,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:958,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:958,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:959,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:959,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:960,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:960,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:961,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:961,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:962,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:962,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:964,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:964,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:966,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:966,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:968,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:968,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:970,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:970,1
    - Dst: SetWindowText
      Src: /src/httpd/support/win32/ApacheMonitor.c:972,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:972,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:974,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:975,1
    - Dst: CreateStatusWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:976,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:978,1
    - Dst: GetApacheServicesStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:979,1
    - Dst: addListBoxItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:984,1
    - Dst: CenterWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:990,1
    - Dst: ShowWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:991,1
    - Dst: SetFocus
      Src: /src/httpd/support/win32/ApacheMonitor.c:992,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:993,1
    - Dst: ApacheManageService
      Src: /src/httpd/support/win32/ApacheMonitor.c:998,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:998,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:999,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1000,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1001,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1007,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1008,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1009,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1009,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1010,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1010,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1011,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1011,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1012,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1012,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1013,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1013,1
    - Dst: addListBoxItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1017,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1021,1
    - Dst: SetWindowPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:1023,1
    - Dst: SetWindowPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:1025,1
    - Dst: SetFocus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1027,1
    - Dst: SetCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1038,1
    - Dst: SetCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1041,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1055,1
    - Dst: CreateCompatibleDC
      Src: /src/httpd/support/win32/ApacheMonitor.c:1059,1
    - Dst: SelectObject
      Src: /src/httpd/support/win32/ApacheMonitor.c:1060,1
    - Dst: BitBlt
      Src: /src/httpd/support/win32/ApacheMonitor.c:1062,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1066,1
    - Dst: GetTextMetrics
      Src: /src/httpd/support/win32/ApacheMonitor.c:1069,1
    - Dst: SelectObject
      Src: /src/httpd/support/win32/ApacheMonitor.c:1072,1
    - Dst: DeleteDC
      Src: /src/httpd/support/win32/ApacheMonitor.c:1073,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1084,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1084,1
    - Dst: Button_SetStyle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1085,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1085,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1086,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1086,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1087,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1087,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1091,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1091,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1092,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1092,1
    - Dst: Button_SetStyle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1093,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1093,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1094,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1094,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1097,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1097,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1098,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1098,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1099,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1099,1
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:1101,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1103,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1103,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1106,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1106,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1110,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1114,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1114,1
    - Dst: SetTextColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1117,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1117,1
    - Dst: SetBkColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1118,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1118,1
    - Dst: FillRect
      Src: /src/httpd/support/win32/ApacheMonitor.c:1119,1
    - Dst: SetTextColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1122,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1122,1
    - Dst: SetBkColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1123,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1123,1
    - Dst: FillRect
      Src: /src/httpd/support/win32/ApacheMonitor.c:1124,1
    - Dst: SetTextColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1129,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1129,1
    - Dst: SetBkColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1130,1
    - Dst: GetSysColor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1130,1
    - Dst: FillRect
      Src: /src/httpd/support/win32/ApacheMonitor.c:1131,1
    - Dst: TextOut
      Src: /src/httpd/support/win32/ApacheMonitor.c:1133,1
    - Dst: _tcslen
      Src: /src/httpd/support/win32/ApacheMonitor.c:1133,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1138,1
    - Dst: HIWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1141,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1145,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1146,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1149,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1153,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1157,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:1167,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1171,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1171,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1172,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1173,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1175,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1178,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1178,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1182,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1182,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1183,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1184,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1186,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1189,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1189,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1193,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1193,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1194,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1195,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1197,1
    - Dst: Button_Enable
      Src: /src/httpd/support/win32/ApacheMonitor.c:1200,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1200,1
    - Dst: ShellExecute
      Src: /src/httpd/support/win32/ApacheMonitor.c:1205,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1205,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1205,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1205,1
    - Dst: WinExec
      Src: /src/httpd/support/win32/ApacheMonitor.c:1209,1
    - Dst: DialogBox
      Src: /src/httpd/support/win32/ApacheMonitor.c:1214,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1214,1
    - Dst: GetDlgItem
      Src: /src/httpd/support/win32/ApacheMonitor.c:1219,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1220,1
    - Dst: am_DisconnectComputer
      Src: /src/httpd/support/win32/ApacheMonitor.c:1222,1
    - Dst: SendMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1223,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1230,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:1233,1
    - Dst: EndDialog
      Src: /src/httpd/support/win32/ApacheMonitor.c:1241,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 218
    argCount: 4
    argNames:
    - hDlg
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 1248
    functionName: ServiceDlgProc
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - _tcscmp
    - addListBoxItem
    - MAKEINTRESOURCE
    - SetWindowText
    - GetApacheServicesStatus
    - _tcslen
    - CreateCompatibleDC
    - DialogBox
    - FillRect
    - DeleteDC
    - ApacheManageService
    - ShellExecute
    - CreateStatusWindow
    - CenterWindow
    - Button_Enable
    - SetWindowPos
    - SetBkColor
    - _T
    - LOWORD
    - am_DisconnectComputer
    - ShowWindow
    - SetCursor
    - SetTextColor
    - WinExec
    - SelectObject
    - GetSysColor
    - TextOut
    - SendMessage
    - memset
    - EndDialog
    - GetDlgItem
    - BitBlt
    - HIWORD
    - Button_SetStyle
    - SetFocus
    - GetTextMetrics
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT ServiceDlgProc(HWND hDlg, UINT message,\n                                WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1257,1
    - Dst: DefWindowProc
      Src: /src/httpd/support/win32/ApacheMonitor.c:1258,1
    - Dst: GetApacheServicesStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1263,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1264,1
    - Dst: SetTimer
      Src: /src/httpd/support/win32/ApacheMonitor.c:1265,1
    - Dst: SetTimer
      Src: /src/httpd/support/win32/ApacheMonitor.c:1266,1
    - Dst: EnterCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1275,1
    - Dst: FindRunningServices
      Src: /src/httpd/support/win32/ApacheMonitor.c:1276,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1278,1
    - Dst: PostMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1280,1
    - Dst: GetApacheServicesStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1285,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1290,1
    - Dst: PostMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1292,1
    - Dst: LeaveCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1295,1
    - Dst: EnterCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1301,1
    - Dst: GetApacheServicesStatus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1304,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1305,1
    - Dst: PostMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1307,1
    - Dst: FindRunningServices
      Src: /src/httpd/support/win32/ApacheMonitor.c:1310,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1312,1
    - Dst: PostMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1314,1
    - Dst: LeaveCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1317,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1324,1
    - Dst: DialogBox
      Src: /src/httpd/support/win32/ApacheMonitor.c:1334,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1334,1
    - Dst: IsWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1339,1
    - Dst: SetWindowPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:1342,1
    - Dst: SetWindowPos
      Src: /src/httpd/support/win32/ApacheMonitor.c:1344,1
    - Dst: SetFocus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1346,1
    - Dst: ShowTryServicesMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:1351,1
    - Dst: ShowTryPopupMenu
      Src: /src/httpd/support/win32/ApacheMonitor.c:1355,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1361,1
    - Dst: ApacheManageService
      Src: /src/httpd/support/win32/ApacheMonitor.c:1363,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1363,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1365,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1367,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1372,1
    - Dst: ApacheManageService
      Src: /src/httpd/support/win32/ApacheMonitor.c:1374,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1374,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1376,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1378,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1383,1
    - Dst: ApacheManageService
      Src: /src/httpd/support/win32/ApacheMonitor.c:1385,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1385,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1387,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1389,1
    - Dst: LOWORD
      Src: /src/httpd/support/win32/ApacheMonitor.c:1394,1
    - Dst: DialogBox
      Src: /src/httpd/support/win32/ApacheMonitor.c:1400,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1400,1
    - Dst: IsWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1405,1
    - Dst: SetFocus
      Src: /src/httpd/support/win32/ApacheMonitor.c:1406,1
    - Dst: ShellExecute
      Src: /src/httpd/support/win32/ApacheMonitor.c:1412,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1412,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1412,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1412,1
    - Dst: WinExec
      Src: /src/httpd/support/win32/ApacheMonitor.c:1416,1
    - Dst: ShowNotifyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1421,1
    - Dst: PostQuitMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1422,1
    - Dst: DefWindowProc
      Src: /src/httpd/support/win32/ApacheMonitor.c:1427,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 4
    argNames:
    - hWnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1251
    functionDepth: 4
    functionLinenumber: 1251
    functionLinenumberEnd: 1431
    functionName: WndProc
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - MAKEINTRESOURCE
    - GetApacheServicesStatus
    - DialogBox
    - ApacheManageService
    - ShellExecute
    - EnterCriticalSection
    - SetWindowPos
    - ShowTryServicesMenu
    - _T
    - LOWORD
    - LeaveCriticalSection
    - IsWindow
    - WinExec
    - FindRunningServices
    - PostMessage
    - ShowTryPopupMenu
    - DefWindowProc
    - ShowNotifyIcon
    - PostQuitMessage
    - SetFocus
    - SetTimer
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT WndProc(HWND hWnd, UINT message,\n                          WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetLastError
      Src: /src/httpd/support/win32/ApacheMonitor.c:1440,1
    - Dst: GetWindowThreadProcessId
      Src: /src/httpd/support/win32/ApacheMonitor.c:1441,1
    - Dst: GetLastError
      Src: /src/httpd/support/win32/ApacheMonitor.c:1442,1
    - Dst: OpenProcess
      Src: /src/httpd/support/win32/ApacheMonitor.c:1445,1
    - Dst: PostMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1446,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/support/win32/ApacheMonitor.c:1448,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1450,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1455,1
    - Dst: OpenProcess
      Src: /src/httpd/support/win32/ApacheMonitor.c:1457,1
    - Dst: TerminateProcess
      Src: /src/httpd/support/win32/ApacheMonitor.c:1458,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1459,1
    - Dst: CloseHandle
      Src: /src/httpd/support/win32/ApacheMonitor.c:1462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - appwindow
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1467
    functionName: KillAWindow
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - SetLastError
    - CloseHandle
    - PostMessage
    - OpenProcess
    - WaitForSingleObject
    - GetWindowThreadProcessId
    - GetLastError
    - TerminateProcess
    linkageType: ''
    returnType: int
    signature: int KillAWindow(HWND appwindow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FindWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1479,1
    - Dst: KillAWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1480,1
    - Dst: GetCurrentProcessId
      Src: /src/httpd/support/win32/ApacheMonitor.c:1485,1
    - Dst: WTSEnumerateProcesses
      Src: /src/httpd/support/win32/ApacheMonitor.c:1487,1
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:1498,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1498,1
    - Dst: AM_STRINGIFY
      Src: /src/httpd/support/win32/ApacheMonitor.c:1498,1
    - Dst: WTSTerminateProcess
      Src: /src/httpd/support/win32/ApacheMonitor.c:1500,1
    - Dst: WTSFreeMemory
      Src: /src/httpd/support/win32/ApacheMonitor.c:1503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1505
    functionName: KillAllMonitors
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - WTSEnumerateProcesses
    - _tcscmp
    - GetCurrentProcessId
    - _T
    - FindWindow
    - WTSTerminateProcess
    - WTSFreeMemory
    - AM_STRINGIFY
    - KillAWindow
    linkageType: ''
    returnType: int
    signature: int KillAllMonitors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1521,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1521,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1527,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1527,1
    - Dst: RegisterClassEx
      Src: /src/httpd/support/win32/ApacheMonitor.c:1530,1
    - Dst: CreateWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - hInstance
    argTypes:
    - HINSTANCE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1536
    functionName: CreateMainWindow
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - CreateWindow
    - MAKEINTRESOURCE
    - LoadImage
    - RegisterClassEx
    linkageType: ''
    returnType: HWND
    signature: HWND CreateMainWindow(HINSTANCE hInstance)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemOSVersion
      Src: /src/httpd/support/win32/ApacheMonitor.c:1556,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1558,1
    - Dst: GetUserDefaultLangID
      Src: /src/httpd/support/win32/ApacheMonitor.c:1562,1
    - Dst: MAKELANGID
      Src: /src/httpd/support/win32/ApacheMonitor.c:1564,1
    - Dst: LoadString
      Src: /src/httpd/support/win32/ApacheMonitor.c:1567,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:1568,1
    - Dst: LoadString
      Src: /src/httpd/support/win32/ApacheMonitor.c:1570,1
    - Dst: _tcscpy
      Src: /src/httpd/support/win32/ApacheMonitor.c:1572,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1572,1
    - Dst: GetComputerName
      Src: /src/httpd/support/win32/ApacheMonitor.c:1573,1
    - Dst: _tcsupr
      Src: /src/httpd/support/win32/ApacheMonitor.c:1574,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:1575,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:1577,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:1578,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:1580,1
    - Dst: LoadString
      Src: /src/httpd/support/win32/ApacheMonitor.c:1581,1
    - Dst: _tcsdup
      Src: /src/httpd/support/win32/ApacheMonitor.c:1582,1
    - Dst: FindWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1584,1
    - Dst: CommandLineToArgvW
      Src: /src/httpd/support/win32/ApacheMonitor.c:1587,1
    - Dst: GetCommandLineW
      Src: /src/httpd/support/win32/ApacheMonitor.c:1587,1
    - Dst: _setargv
      Src: /src/httpd/support/win32/ApacheMonitor.c:1590,1
    - Dst: _tcscmp
      Src: /src/httpd/support/win32/ApacheMonitor.c:1594,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1594,1
    - Dst: KillAllMonitors
      Src: /src/httpd/support/win32/ApacheMonitor.c:1597,1
    - Dst: _ttoi
      Src: /src/httpd/support/win32/ApacheMonitor.c:1601,1
    - Dst: KillAWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1611,1
    - Dst: ErrorMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1618,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1622,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1622,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1624,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1624,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1626,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1626,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1629,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1629,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1632,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1632,1
    - Dst: LoadImage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1635,1
    - Dst: MAKEINTRESOURCE
      Src: /src/httpd/support/win32/ApacheMonitor.c:1635,1
    - Dst: memset
      Src: /src/httpd/support/win32/ApacheMonitor.c:1639,1
    - Dst: CoInitialize
      Src: /src/httpd/support/win32/ApacheMonitor.c:1640,1
    - Dst: InitCommonControls
      Src: /src/httpd/support/win32/ApacheMonitor.c:1641,1
    - Dst: CreateMainWindow
      Src: /src/httpd/support/win32/ApacheMonitor.c:1643,1
    - Dst: RegisterWindowMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1644,1
    - Dst: _T
      Src: /src/httpd/support/win32/ApacheMonitor.c:1644,1
    - Dst: InitializeCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1645,1
    - Dst: ApacheManageService
      Src: /src/httpd/support/win32/ApacheMonitor.c:1651,1
    - Dst: GetMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1653,1
    - Dst: TranslateMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1655,1
    - Dst: DispatchMessage
      Src: /src/httpd/support/win32/ApacheMonitor.c:1656,1
    - Dst: am_ClearServicesSt
      Src: /src/httpd/support/win32/ApacheMonitor.c:1658,1
    - Dst: am_ClearComputersSt
      Src: /src/httpd/support/win32/ApacheMonitor.c:1660,1
    - Dst: DeleteCriticalSection
      Src: /src/httpd/support/win32/ApacheMonitor.c:1661,1
    - Dst: DestroyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1662,1
    - Dst: DestroyIcon
      Src: /src/httpd/support/win32/ApacheMonitor.c:1663,1
    - Dst: DestroyCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1664,1
    - Dst: DestroyCursor
      Src: /src/httpd/support/win32/ApacheMonitor.c:1665,1
    - Dst: DeleteObject
      Src: /src/httpd/support/win32/ApacheMonitor.c:1666,1
    - Dst: DeleteObject
      Src: /src/httpd/support/win32/ApacheMonitor.c:1667,1
    - Dst: CoUninitialize
      Src: /src/httpd/support/win32/ApacheMonitor.c:1668,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1544
    functionDepth: 3
    functionLinenumber: 1544
    functionLinenumberEnd: 1670
    functionName: WinMain
    functionSourceFile: /src/httpd/support/win32/ApacheMonitor.c
    functionUses: 0
    functionsReached:
    - DestroyCursor
    - CoInitialize
    - _setargv
    - _tcscmp
    - GetCommandLineW
    - MAKEINTRESOURCE
    - DeleteCriticalSection
    - GetUserDefaultLangID
    - _ttoi
    - _tcsupr
    - InitCommonControls
    - ApacheManageService
    - TranslateMessage
    - CommandLineToArgvW
    - _tcscpy
    - InitializeCriticalSection
    - _T
    - LoadString
    - KillAllMonitors
    - GetMessage
    - CreateMainWindow
    - RegisterWindowMessage
    - CoUninitialize
    - DeleteObject
    - DispatchMessage
    - am_ClearServicesSt
    - _tcsdup
    - memset
    - GetSystemOSVersion
    - MAKELANGID
    - ErrorMessage
    - DestroyIcon
    - am_ClearComputersSt
    - FindWindow
    - LoadImage
    - GetComputerName
    - KillAWindow
    linkageType: ''
    returnType: int
    signature: "int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,\n                   LPSTR
      lpCmdLine, int nCmdShow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/connection.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - p
    - server
    - csd
    - conn_id
    - sbh
    - alloc
    - outgoing
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_socket_t*
    - long
    - void*
    - apr_bucket_alloc_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: ap_create_connection
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 3
    functionsReached:
    - ap_run_create_connection
    linkageType: ''
    returnType: void
    signature: "void ap_create_connection(apr_pool_t *p,\n                                            server_rec
      *server,\n                                            apr_socket_t *csd,\n                                            long
      conn_id, void *sbh,\n                                            apr_bucket_alloc_t
      *alloc,\n                                            unsigned int outgoing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_create_secondary_connection
      Src: /src/httpd/server/connection.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - master
    - alloc
    argTypes:
    - apr_pool_t*
    - conn_rec*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: ap_create_secondary_connection
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 1
    functionsReached:
    - ap_run_create_secondary_connection
    linkageType: ''
    returnType: void
    signature: "void ap_create_secondary_connection(apr_pool_t *p,\n                                                      conn_rec
      *master,\n                                                      apr_bucket_alloc_t
      *alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/connection.c:110,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/server/connection.c:114,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/connection.c:115,1
    - Dst: ap_bucket_eoc_create
      Src: /src/httpd/server/connection.c:119,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/connection.c:120,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/connection.c:122,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/connection.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - c
    - flush
    argTypes:
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: ap_shutdown_conn
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_destroy
    - ap_bucket_eoc_create
    - apr_brigade_create
    - apr_bucket_flush_create
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void ap_shutdown_conn(conn_rec *c, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_shutdown_conn
      Src: /src/httpd/server/connection.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: ap_flush_conn
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 1
    functionsReached:
    - ap_shutdown_conn
    linkageType: ''
    returnType: void
    signature: void ap_flush_conn(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_pre_close_connection
      Src: /src/httpd/server/connection.c:135,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/connection.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: ap_prep_lingering_close
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 0
    functionsReached:
    - ap_run_pre_close_connection
    - ap_update_child_status
    linkageType: ''
    returnType: void
    signature: void ap_prep_lingering_close(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/connection.c:157,1
    - Dst: ap_assert
      Src: /src/httpd/server/connection.c:159,1
    - Dst: ap_prep_lingering_close
      Src: /src/httpd/server/connection.c:161,1
    - Dst: ap_flush_conn
      Src: /src/httpd/server/connection.c:171,1
    - Dst: apr_socket_shutdown
      Src: /src/httpd/server/connection.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: ap_start_lingering_close
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 0
    functionsReached:
    - ap_prep_lingering_close
    - ap_get_conn_socket
    - apr_socket_shutdown
    - ap_assert
    - ap_flush_conn
    linkageType: ''
    returnType: void
    signature: void ap_start_lingering_close(conn_rec *c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/connection.c:188,1
    - Dst: ap_start_lingering_close
      Src: /src/httpd/server/connection.c:199,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/connection.c:200,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/connection.c:209,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/connection.c:209,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/connection.c:210,1
    - Dst: apr_socket_recv
      Src: /src/httpd/server/connection.c:218,1
    - Dst: apr_time_now
      Src: /src/httpd/server/connection.c:221,1
    - Dst: apr_table_get
      Src: /src/httpd/server/connection.c:231,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/connection.c:232,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/connection.c:235,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/connection.c:241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 242
    functionName: ap_lingering_close
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 2
    functionsReached:
    - apr_socket_opt_set
    - ap_get_conn_socket
    - apr_time_from_sec
    - ap_start_lingering_close
    - apr_time_now
    - apr_socket_timeout_set
    - apr_socket_close
    - apr_table_get
    - apr_socket_recv
    linkageType: ''
    returnType: void
    signature: void ap_lingering_close(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_vhost_given_ip
      Src: /src/httpd/server/connection.c:246,1
    - Dst: ap_pre_connection
      Src: /src/httpd/server/connection.c:248,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/connection.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: ap_process_connection
    functionSourceFile: /src/httpd/server/connection.c
    functionUses: 1
    functionsReached:
    - ap_pre_connection
    - ap_update_vhost_given_ip
    - ap_run_process_connection
    linkageType: ''
    returnType: void
    signature: void ap_process_connection(conn_rec *c, void *csd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_sec
      Src: /src/httpd/server/util_time.c:66,1
    - Dst: memcpy
      Src: /src/httpd/server/util_time.c:115,1
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/server/util_time.c:121,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/server/util_time.c:124,1
    - Dst: memcpy
      Src: /src/httpd/server/util_time.c:129,1
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/server/util_time.c:136,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/server/util_time.c:139,1
    - Dst: memcpy
      Src: /src/httpd/server/util_time.c:145,1
    - Dst: apr_time_usec
      Src: /src/httpd/server/util_time.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - xt
    - t
    - cache
    - use_gmt
    argTypes:
    - apr_time_exp_t*
    - apr_time_t
    - struct exploded_time_cache_element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 150
    functionName: cached_explode
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 0
    functionsReached:
    - apr_time_usec
    - apr_time_sec
    - apr_time_exp_gmt
    - apr_time_exp_lt
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t cached_explode(apr_time_exp_t *xt, apr_time_t t,\n                                   struct
      exploded_time_cache_element *cache,\n                                   int
      use_gmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cached_explode
      Src: /src/httpd/server/util_time.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tm
    - t
    argTypes:
    - apr_time_exp_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: ap_explode_recent_localtime
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 1
    functionsReached:
    - cached_explode
    linkageType: ''
    returnType: void
    signature: "void ap_explode_recent_localtime(apr_time_exp_t * tm,\n                                                     apr_time_t
      t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cached_explode
      Src: /src/httpd/server/util_time.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tm
    - t
    argTypes:
    - apr_time_exp_t*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: ap_explode_recent_gmt
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 0
    functionsReached:
    - cached_explode
    linkageType: ''
    returnType: void
    signature: "void ap_explode_recent_gmt(apr_time_exp_t * tm,\n                                               apr_time_t
      t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_recent_ctime_ex
      Src: /src/httpd/server/util_time.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - date_str
    - t
    argTypes:
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ap_recent_ctime
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 1
    functionsReached:
    - ap_recent_ctime_ex
    linkageType: ''
    returnType: void
    signature: void ap_recent_ctime(char *date_str, apr_time_t t)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_explode_recent_localtime
      Src: /src/httpd/server/util_time.c:219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 90
    argCount: 4
    argNames:
    - date_str
    - t
    - option
    - len
    argTypes:
    - char*
    - apr_time_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 295
    functionName: ap_recent_ctime_ex
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 1
    functionsReached:
    - ap_explode_recent_localtime
    linkageType: ''
    returnType: void
    signature: "void ap_recent_ctime_ex(char *date_str, apr_time_t t,\n                                            int
      option, int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_explode_recent_gmt
      Src: /src/httpd/server/util_time.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - date_str
    - t
    argTypes:
    - char*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 346
    functionName: ap_recent_rfc822_date
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 3
    functionsReached:
    - ap_explode_recent_gmt
    linkageType: ''
    returnType: void
    signature: void ap_recent_rfc822_date(char *date_str, apr_time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_env_get
      Src: /src/httpd/server/util_time.c:362,1
    - Dst: apr_env_set
      Src: /src/httpd/server/util_time.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: ap_force_set_tz
    functionSourceFile: /src/httpd/server/util_time.c
    functionUses: 0
    functionsReached:
    - apr_env_get
    - apr_env_set
    linkageType: ''
    returnType: void
    signature: void ap_force_set_tz(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: cleanup_global_providers
    functionSourceFile: /src/httpd/server/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cleanup_global_providers(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:44,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:45,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/provider.c:46,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:51,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:55,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:56,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:60,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:64,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:65,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:70,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:74,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:78,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:79,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:83,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/provider.c:87,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:88,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/provider.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - pool
    - provider_group
    - provider_name
    - provider_version
    - provider
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 97
    functionName: ap_register_provider
    functionSourceFile: /src/httpd/server/provider.c
    functionUses: 24
    functionsReached:
    - apr_hash_set
    - apr_hash_get
    - apr_hash_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_register_provider(apr_pool_t *pool,\n                                              const
      char *provider_group,\n                                              const char
      *provider_name,\n                                              const char *provider_version,\n
      \                                             const void *provider)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:109,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:116,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - provider_group
    - provider_name
    - provider_version
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: ap_lookup_provider
    functionSourceFile: /src/httpd/server/provider.c
    functionUses: 39
    functionsReached:
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: "void ap_lookup_provider(const char *provider_group,\n                                      const
      char *provider_name,\n                                      const char *provider_version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:141,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/provider.c:148,1
    - Dst: apr_array_make
      Src: /src/httpd/server/provider.c:154,1
    - Dst: apr_hash_count
      Src: /src/httpd/server/provider.c:154,1
    - Dst: apr_hash_first
      Src: /src/httpd/server/provider.c:155,1
    - Dst: apr_hash_next
      Src: /src/httpd/server/provider.c:155,1
    - Dst: apr_hash_this
      Src: /src/httpd/server/provider.c:156,1
    - Dst: apr_array_push
      Src: /src/httpd/server/provider.c:157,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/provider.c:158,1
    - Dst: apr_array_make
      Src: /src/httpd/server/provider.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pool
    - provider_group
    - provider_version
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 166
    functionName: ap_list_provider_names
    functionSourceFile: /src/httpd/server/provider.c
    functionUses: 10
    functionsReached:
    - apr_hash_get
    - apr_array_push
    - apr_hash_count
    - apr_hash_this
    - apr_hash_next
    - apr_hash_first
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_list_provider_names(apr_pool_t *pool,\n                                              const
      char *provider_group,\n                                              const char
      *provider_version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/server/provider.c:170,1
    - Dst: apr_hash_first
      Src: /src/httpd/server/provider.c:179,1
    - Dst: apr_hash_next
      Src: /src/httpd/server/provider.c:181,1
    - Dst: apr_hash_this
      Src: /src/httpd/server/provider.c:183,1
    - Dst: apr_hash_first
      Src: /src/httpd/server/provider.c:186,1
    - Dst: apr_hash_next
      Src: /src/httpd/server/provider.c:188,1
    - Dst: apr_hash_this
      Src: /src/httpd/server/provider.c:190,1
    - Dst: apr_array_push
      Src: /src/httpd/server/provider.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: ap_list_provider_groups
    functionSourceFile: /src/httpd/server/provider.c
    functionUses: 1
    functionsReached:
    - apr_array_push
    - apr_hash_this
    - apr_hash_next
    - apr_hash_first
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void ap_list_provider_groups(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ap_fcgi_header*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ap_fcgi_header_to_array
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_header_to_array(ap_fcgi_header *h,\n                                         unsigned
      char a[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ap_fcgi_header*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: ap_fcgi_header_from_array
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_header_from_array(ap_fcgi_header *h,\n                                           unsigned
      char a[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - version
    - type
    - request_id
    - content_len
    - padding_len
    - a
    argTypes:
    - unsigned char*
    - unsigned char*
    - apr_uint16_t*
    - apr_uint16_t*
    - unsigned char*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: ap_fcgi_header_fields_from_array
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_header_fields_from_array(unsigned char *version,\n                                                  unsigned
      char *type,\n                                                  apr_uint16_t
      *request_id,\n                                                  apr_uint16_t
      *content_len,\n                                                  unsigned char
      *padding_len,\n                                                  unsigned char
      a[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ap_fcgi_begin_request_body*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: ap_fcgi_begin_request_body_to_array
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_begin_request_body_to_array(ap_fcgi_begin_request_body
      *h,\n                                                     unsigned char a[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - header
    - type
    - request_id
    - content_len
    - padding_len
    argTypes:
    - ap_fcgi_header*
    - unsigned char
    - apr_uint16_t
    - apr_uint16_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: ap_fcgi_fill_in_header
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_fill_in_header(ap_fcgi_header *header,\n                                        unsigned
      char type,\n                                        apr_uint16_t request_id,\n
      \                                       apr_uint16_t content_len,\n                                        unsigned
      char padding_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - brb
    - role
    - flags
    argTypes:
    - ap_fcgi_begin_request_body*
    - int
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: ap_fcgi_fill_in_request_body
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_fill_in_request_body(ap_fcgi_begin_request_body *brb,\n
      \                                             int role,\n                                              unsigned
      char flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/server/util_fcgi.c:129,1
    - Dst: strlen
      Src: /src/httpd/server/util_fcgi.c:145,1
    - Dst: strlen
      Src: /src/httpd/server/util_fcgi.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - env
    - maxlen
    - starting_elem
    argTypes:
    - apr_table_t*
    - apr_size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 177
    functionName: ap_fcgi_encoded_env_len
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 2
    functionsReached:
    - apr_table_elts
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_encoded_env_len(apr_table_t *env,\n                                               apr_size_t
      maxlen,\n                                               int *starting_elem)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/server/util_fcgi.c:191,1
    - Dst: strlen
      Src: /src/httpd/server/util_fcgi.c:205,1
    - Dst: strlen
      Src: /src/httpd/server/util_fcgi.c:229,1
    - Dst: memcpy
      Src: /src/httpd/server/util_fcgi.c:257,1
    - Dst: memcpy
      Src: /src/httpd/server/util_fcgi.c:267,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_fcgi.c:284,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_fcgi.c:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 5
    argNames:
    - r
    - env
    - buffer
    - buflen
    - starting_elem
    argTypes:
    - request_rec*
    - apr_table_t*
    - void*
    - apr_size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 290
    functionName: ap_fcgi_encode_env
    functionSourceFile: /src/httpd/server/util_fcgi.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - APLOGNO
    - apr_table_elts
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_fcgi_encode_env(request_rec *r,\n                                            apr_table_t
      *env,\n                                            void *buffer,\n                                            apr_size_t
      buflen,\n                                            int *starting_elem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_script.c:58,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:58,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_script.c:69,1
    - Dst: apr_toupper
      Src: /src/httpd/server/util_script.c:70,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/server/util_script.c:76,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:77,1
    - Dst: ap_escape_logitem
      Src: /src/httpd/server/util_script.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - r
    - w
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionName: http2env
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_palloc
    - ap_escape_logitem
    - APLOGrtrace1
    - apr_isalnum
    - strlen
    - apr_toupper
    linkageType: ''
    returnType: char
    signature: char *http2env(request_rec *r, const char *w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - table
    - name
    - val
    argTypes:
    - apr_table_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: add_unless_null
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: void
    signature: void add_unless_null(apr_table_t *table, const char *name, const char
      *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:103,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:105,1
    - Dst: getenv
      Src: /src/httpd/server/util_script.c:105,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:107,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - dest
    - r
    - name
    - fallback
    argTypes:
    - apr_table_t*
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: env2env
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - getenv
    - apr_pstrdup
    - apr_table_addn
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void env2env(apr_table_t *dest, request_rec *r,\n                    const
      char *name, const char *fallback)"
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_elts
      Src: /src/httpd/server/util_script.c:114,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_script.c:116,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:122,1
    - Dst: getenv
      Src: /src/httpd/server/util_script.c:123,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_script.c:125,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_script.c:134,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/util_script.c:136,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_script.c:142,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_script.c:144,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:160,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_script.c:180,1
    - Dst: apr_table_elts
      Src: /src/httpd/server/util_script.c:182,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/server/util_script.c:193,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:197,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:215,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:216,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:218,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:219,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:225,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:235,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:236,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:238,1
    - Dst: http2env
      Src: /src/httpd/server/util_script.c:238,1
    - Dst: http2env
      Src: /src/httpd/server/util_script.c:243,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:246,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:248,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:249,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:250,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:251,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:253,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:254,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:255,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:256,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:258,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:260,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:262,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:265,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:266,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:268,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:271,1
    - Dst: ap_psignature
      Src: /src/httpd/server/util_script.c:271,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:272,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/util_script.c:272,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:273,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/util_script.c:274,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/util_script.c:274,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:275,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:276,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_script.c:277,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/util_script.c:277,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:278,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/server/util_script.c:279,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:280,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:281,1
    - Dst: ap_document_root
      Src: /src/httpd/server/util_script.c:281,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:282,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/util_script.c:282,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:283,1
    - Dst: ap_context_prefix
      Src: /src/httpd/server/util_script.c:283,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:284,1
    - Dst: ap_context_document_root
      Src: /src/httpd/server/util_script.c:284,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:285,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:286,1
    - Dst: ap_strchr
      Src: /src/httpd/server/util_script.c:286,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_script.c:287,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:288,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:291,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:295,1
    - Dst: apr_itoa
      Src: /src/httpd/server/util_script.c:295,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:298,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:305,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:311,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/server/util_script.c:312,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:314,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:314,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:321,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/util_script.c:327,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/util_script.c:330,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_script.c:331,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/util_script.c:334,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:336,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/server/util_script.c:337,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:339,1
    - Dst: apr_table_overlap
      Src: /src/httpd/server/util_script.c:343,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:354,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:355,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_script.c:381,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:386,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:389,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:394,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_script.c:398,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_script.c:405,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:409,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:410,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:411,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:412,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_script.c:415,1
    - Dst: strcmp
      Src: /src/httpd/server/util_script.c:417,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:421,1
    - Dst: original_uri
      Src: /src/httpd/server/util_script.c:422,1
    - Dst: strcmp
      Src: /src/httpd/server/util_script.c:430,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:431,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:433,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:437,1
    - Dst: ap_find_path_info
      Src: /src/httpd/server/util_script.c:440,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:442,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/util_script.c:443,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:445,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/server/util_script.c:456,1
    - Dst: ap_escape_uri
      Src: /src/httpd/server/util_script.c:456,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_script.c:460,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/util_script.c:464,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:466,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/server/util_script.c:468,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:475,1
    - Dst: APLOG_R_MODULE_IS_LEVEL
      Src: /src/httpd/server/util_script.c:493,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:502,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:510,1
    - Dst: apr_table_do
      Src: /src/httpd/server/util_script.c:511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:521,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:523,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:528,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:530,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:536,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/server/util_script.c:577,1
    - Dst: apr_table_overlap
      Src: /src/httpd/server/util_script.c:579,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/server/util_script.c:581,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/util_script.c:583,1
    - Dst: apr_table_overlay
      Src: /src/httpd/server/util_script.c:584,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:592,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:594,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:595,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:604,1
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/server/util_script.c:610,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:611,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:611,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:613,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:613,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_script.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_script.c:618,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/server/util_script.c:622,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:627,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:636,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:638,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:643,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:647,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:652,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:653,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:657,1
    - Dst: ap_content_type_tolower
      Src: /src/httpd/server/util_script.c:658,1
    - Dst: ap_set_content_type
      Src: /src/httpd/server/util_script.c:659,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:665,1
    - Dst: atoi
      Src: /src/httpd/server/util_script.c:666,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/server/util_script.c:667,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:669,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:671,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/server/util_script.c:673,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:674,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:676,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:677,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:679,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:680,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:682,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:683,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:685,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:686,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:688,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:689,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:691,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:692,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:698,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/server/util_script.c:699,1
    - Dst: ap_update_mtime
      Src: /src/httpd/server/util_script.c:701,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/server/util_script.c:702,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/server/util_script.c:703,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/server/util_script.c:704,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:704,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/server/util_script.c:716,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:722,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:727,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:734,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:741,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_script.c:741,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:745,1
    - Dst: apr_table_add
      Src: /src/httpd/server/util_script.c:746,1
    - Dst: apr_table_add
      Src: /src/httpd/server/util_script.c:749,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:761,1
    - Dst: apr_file_gets
      Src: /src/httpd/server/util_script.c:768,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:774,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:781,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_script.c:791,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_script.c:795,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/util_script.c:796,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util_script.c:803,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/util_script.c:807,1
    - Dst: apr_bucket_split
      Src: /src/httpd/server/util_script.c:822,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_script.c:824,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/util_script.c:825,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:836,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:845,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_script.c:866,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_script.c:870,1
    - Dst: strncpy
      Src: /src/httpd/server/util_script.c:874,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:878,1
    - Dst: va_start
      Src: /src/httpd/server/util_script.c:899,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:901,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:902,1
    - Dst: va_end
      Src: /src/httpd/server/util_script.c:908,1
    - Dst: va_start
      Src: /src/httpd/server/util_script.c:920,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:922,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:923,1
    - Dst: va_end
      Src: /src/httpd/server/util_script.c:929,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_script.c:944,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:946,1
    - Dst: ap_unescape_url
      Src: /src/httpd/server/util_script.c:954,1
    - Dst: ap_unescape_url
      Src: /src/httpd/server/util_script.c:955,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:956,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_script.c:957,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:963,1
    - Dst: argstr_to_table
      Src: /src/httpd/server/util_script.c:964,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:964,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 426
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - apr_pool_t*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 966
    functionName: ap_create_environment
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 4
    functionsReached:
    - ap_update_mtime
    - ap_meets_conditions
    - ap_destroy_sub_req
    - apr_pstrmemdup
    - apr_table_make
    - apr_isprint
    - ap_strchr
    - ap_http_scheme
    - apr_filepath_merge
    - ap_get_server_name_for_url
    - apr_hash_get
    - va_arg
    - APLOGNO
    - ap_content_type_tolower
    - apr_table_set
    - apr_table_unset
    - apr_table_addn
    - apr_table_overlay
    - apr_isalnum
    - apr_pstrdup
    - ap_sub_req_lookup_uri
    - APR_BRIGADE_FIRST
    - apr_table_add
    - apr_date_parse_rfc
    - apr_table_elts
    - ap_psignature
    - strchr
    - apr_isdigit
    - apr_pstrndup
    - apr_psprintf
    - apr_table_get
    - ap_set_last_modified
    - APR_BUCKET_NEXT
    - apr_bucket_split
    - apr_table_do
    - apr_palloc
    - apr_pcalloc
    - ap_context_prefix
    - apr_file_gets
    - apr_itoa
    - ap_get_server_banner
    - apr_is_empty_table
    - ap_escape_html
    - APR_BRIGADE_SENTINEL
    - strlen
    - ap_unescape_url
    - apr_uri_unparse
    - ap_scan_script_header_err_core_ex
    - apr_table_overlap
    - atoi
    - APR_STATUS_IS_TIMEUP
    - APLOGrtrace1
    - ap_cstr_casecmp
    - APR_BUCKET_IS_EOS
    - getenv
    - va_end
    - strcmp
    - ap_get_core_module_config
    - ap_escape_uri
    - apr_filepath_name_get
    - ap_get_server_port
    - va_start
    - apr_strtok
    - ap_get_useragent_host
    - ap_find_path_info
    - env2env
    - apr_bucket_read
    - apr_pstrcat
    - apr_bucket_delete
    - APLOG_R_MODULE_IS_LEVEL
    - http2env
    - ap_strchr_c
    - ap_get_remote_logname
    - add_unless_null
    - apr_isspace
    - apr_xlate_conv_byte
    - original_uri
    - apr_date_parse_http
    - ap_is_HTTP_VALID_RESPONSE
    - ap_log_error
    - ap_document_root
    - strncpy
    - ap_log_rerror
    - ap_context_document_root
    - apr_table_setn
    - apr_xlate_conv_buffer
    - argstr_to_table
    - ap_set_content_type
    linkageType: ''
    returnType: void
    signature: void ap_create_environment(apr_pool_t *p, apr_table_t *t)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_script.c:180,1
    - Dst: apr_table_elts
      Src: /src/httpd/server/util_script.c:182,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/server/util_script.c:193,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:197,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:215,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:216,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:218,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:219,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:225,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:235,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:236,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:238,1
    - Dst: http2env
      Src: /src/httpd/server/util_script.c:238,1
    - Dst: http2env
      Src: /src/httpd/server/util_script.c:243,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:246,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:248,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:249,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:250,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:251,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:253,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:254,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:255,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:256,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:258,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:260,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:262,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:265,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:266,1
    - Dst: env2env
      Src: /src/httpd/server/util_script.c:268,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:271,1
    - Dst: ap_psignature
      Src: /src/httpd/server/util_script.c:271,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:272,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/util_script.c:272,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:273,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/util_script.c:274,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/util_script.c:274,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:275,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:276,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_script.c:277,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/util_script.c:277,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:278,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/server/util_script.c:279,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:280,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:281,1
    - Dst: ap_document_root
      Src: /src/httpd/server/util_script.c:281,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:282,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/util_script.c:282,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:283,1
    - Dst: ap_context_prefix
      Src: /src/httpd/server/util_script.c:283,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:284,1
    - Dst: ap_context_document_root
      Src: /src/httpd/server/util_script.c:284,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:285,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:286,1
    - Dst: ap_strchr
      Src: /src/httpd/server/util_script.c:286,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_script.c:287,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:288,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:291,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:295,1
    - Dst: apr_itoa
      Src: /src/httpd/server/util_script.c:295,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:298,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:305,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:311,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/server/util_script.c:312,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:314,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:314,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:321,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/util_script.c:327,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/util_script.c:330,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_script.c:331,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/util_script.c:334,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:336,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/server/util_script.c:337,1
    - Dst: add_unless_null
      Src: /src/httpd/server/util_script.c:339,1
    - Dst: apr_table_overlap
      Src: /src/httpd/server/util_script.c:343,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 345
    functionName: ap_add_common_vars
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 9
    functionsReached:
    - apr_uri_unparse
    - apr_table_elts
    - apr_table_overlap
    - ap_get_useragent_host
    - apr_pstrmemdup
    - ap_psignature
    - env2env
    - apr_table_make
    - ap_cstr_casecmp
    - http2env
    - apr_psprintf
    - apr_table_get
    - ap_get_remote_logname
    - add_unless_null
    - ap_strchr
    - ap_get_core_module_config
    - ap_document_root
    - ap_http_scheme
    - ap_get_server_name_for_url
    - ap_context_document_root
    - ap_context_prefix
    - apr_itoa
    - apr_table_setn
    - ap_get_server_banner
    - apr_table_addn
    - apr_is_empty_table
    - ap_escape_html
    - ap_get_server_port
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void ap_add_common_vars(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:354,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - uri
    - path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 371
    functionName: ap_find_path_info
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_find_path_info(const char *uri, const char *path_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_script.c:381,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:386,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:389,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:394,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_script.c:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: original_uri
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 1
    functionsReached:
    - apr_isspace
    - apr_pcalloc
    - apr_pstrmemdup
    linkageType: ''
    returnType: char
    signature: char *original_uri(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_script.c:405,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:409,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:410,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:411,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:412,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_script.c:415,1
    - Dst: strcmp
      Src: /src/httpd/server/util_script.c:417,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:421,1
    - Dst: original_uri
      Src: /src/httpd/server/util_script.c:422,1
    - Dst: strcmp
      Src: /src/httpd/server/util_script.c:430,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:431,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:433,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:437,1
    - Dst: ap_find_path_info
      Src: /src/httpd/server/util_script.c:440,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:442,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/util_script.c:443,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:445,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/server/util_script.c:456,1
    - Dst: ap_escape_uri
      Src: /src/httpd/server/util_script.c:456,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_script.c:460,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/util_script.c:464,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_script.c:466,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/server/util_script.c:468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 470
    functionName: ap_add_cgi_vars
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 9
    functionsReached:
    - strcmp
    - ap_get_core_module_config
    - apr_pstrcat
    - original_uri
    - ap_destroy_sub_req
    - apr_table_setn
    - ap_escape_uri
    - ap_find_path_info
    - apr_pstrndup
    - apr_filepath_merge
    - apr_hash_get
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: void
    signature: void ap_add_cgi_vars(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_script.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: set_cookie_doo_doo
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - apr_table_addn
    linkageType: ''
    returnType: int
    signature: int set_cookie_doo_doo(void *v, const char *key, const char *val)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: APLOG_R_MODULE_IS_LEVEL
      Src: /src/httpd/server/util_script.c:493,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:502,1
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:510,1
    - Dst: apr_table_do
      Src: /src/httpd/server/util_script.c:511,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:521,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:523,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:528,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:530,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:536,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/server/util_script.c:577,1
    - Dst: apr_table_overlap
      Src: /src/httpd/server/util_script.c:579,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/server/util_script.c:581,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/util_script.c:583,1
    - Dst: apr_table_overlay
      Src: /src/httpd/server/util_script.c:584,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:592,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:594,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:595,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:604,1
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/server/util_script.c:610,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:611,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:611,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:613,1
    - Dst: apr_isprint
      Src: /src/httpd/server/util_script.c:613,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_script.c:617,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_script.c:618,1
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/server/util_script.c:622,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:627,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:636,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:638,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:643,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:647,1
    - Dst: strlen
      Src: /src/httpd/server/util_script.c:652,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_script.c:653,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:657,1
    - Dst: ap_content_type_tolower
      Src: /src/httpd/server/util_script.c:658,1
    - Dst: ap_set_content_type
      Src: /src/httpd/server/util_script.c:659,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:665,1
    - Dst: atoi
      Src: /src/httpd/server/util_script.c:666,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/server/util_script.c:667,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:669,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:671,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/server/util_script.c:673,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:674,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/util_script.c:676,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:677,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:679,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:680,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:682,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:683,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:685,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:686,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:688,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:689,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:691,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:692,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:698,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/server/util_script.c:699,1
    - Dst: ap_update_mtime
      Src: /src/httpd/server/util_script.c:701,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/server/util_script.c:702,1
    - Dst: APLOGrtrace1
      Src: /src/httpd/server/util_script.c:703,1
    - Dst: apr_date_parse_http
      Src: /src/httpd/server/util_script.c:704,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:704,1
    - Dst: apr_date_parse_rfc
      Src: /src/httpd/server/util_script.c:716,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:722,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_script.c:727,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:734,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_script.c:741,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_script.c:741,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_script.c:745,1
    - Dst: apr_table_add
      Src: /src/httpd/server/util_script.c:746,1
    - Dst: apr_table_add
      Src: /src/httpd/server/util_script.c:749,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 125
    argCount: 4
    argNames:
    - r
    - buffer
    - getsfunc_data
    - module_index
    argTypes:
    - request_rec*
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 755
    functionName: ap_scan_script_header_err_core_ex
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 1
    functionsReached:
    - ap_update_mtime
    - apr_table_add
    - apr_date_parse_rfc
    - ap_meets_conditions
    - apr_table_overlap
    - atoi
    - APLOGrtrace1
    - apr_table_make
    - ap_cstr_casecmp
    - strchr
    - apr_pstrdup
    - APLOG_R_MODULE_IS_LEVEL
    - apr_isprint
    - ap_set_last_modified
    - apr_table_get
    - apr_isspace
    - apr_xlate_conv_byte
    - apr_date_parse_http
    - ap_is_HTTP_VALID_RESPONSE
    - ap_log_error
    - apr_table_do
    - ap_log_rerror
    - apr_filepath_name_get
    - APLOGNO
    - ap_content_type_tolower
    - apr_table_set
    - apr_table_unset
    - apr_table_overlay
    - apr_is_empty_table
    - apr_xlate_conv_buffer
    - strlen
    - ap_set_content_type
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_core_ex(request_rec *r, char *buffer,\n
      \                                      int (*getsfunc) (char *, int, void *),\n
      \                                      void *getsfunc_data,\n                                       int
      module_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - buffer
    - getsfunc_data
    argTypes:
    - request_rec*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 764
    functionName: ap_scan_script_header_err_core
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - ap_scan_script_header_err_core_ex
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_core(request_rec *r, char *buffer,\n
      \                                      int (*getsfunc) (char *, int, void *),\n
      \                                      void *getsfunc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_gets
      Src: /src/httpd/server/util_script.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - len
    - f
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: getsfunc_FILE
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - apr_file_gets
    linkageType: ''
    returnType: int
    signature: int getsfunc_FILE(char *buf, int len, void *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - f
    - buffer
    argTypes:
    - request_rec*
    - apr_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: ap_scan_script_header_err
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - ap_scan_script_header_err_core_ex
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err(request_rec *r, apr_file_t *f,\n                                          char
      *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - f
    - buffer
    - module_index
    argTypes:
    - request_rec*
    - apr_file_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: ap_scan_script_header_err_ex
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 1
    functionsReached:
    - ap_scan_script_header_err_core_ex
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_ex(request_rec *r, apr_file_t *f,\n
      \                                         char *buffer, int module_index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_script.c:791,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_script.c:795,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/util_script.c:796,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util_script.c:803,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/util_script.c:807,1
    - Dst: apr_bucket_split
      Src: /src/httpd/server/util_script.c:822,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_script.c:824,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/util_script.c:825,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 830
    functionName: getsfunc_BRIGADE
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_STATUS_IS_TIMEUP
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    linkageType: ''
    returnType: int
    signature: int getsfunc_BRIGADE(char *buf, int len, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - bb
    - buffer
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 4
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: ap_scan_script_header_err_brigade
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - ap_scan_script_header_err_core_ex
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_brigade(request_rec *r,\n                                                  apr_bucket_brigade
      *bb,\n                                                  char *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - bb
    - buffer
    - module_index
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 847
    functionName: ap_scan_script_header_err_brigade_ex
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 4
    functionsReached:
    - ap_scan_script_header_err_core_ex
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_brigade_ex(request_rec *r,\n                                                     apr_bucket_brigade
      *bb,\n                                                     char *buffer,\n                                                     int
      module_index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_script.c:866,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_script.c:870,1
    - Dst: strncpy
      Src: /src/httpd/server/util_script.c:874,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - w
    - len
    - pvastrs
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 883
    functionName: getsfunc_STRING
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - strncpy
    - va_arg
    linkageType: ''
    returnType: int
    signature: int getsfunc_STRING(char *w, int len, void *pvastrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/util_script.c:899,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:901,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:902,1
    - Dst: va_end
      Src: /src/httpd/server/util_script.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - r
    - buffer
    - module_index
    - termch
    - termarg
    argTypes:
    - request_rec*
    - char*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 910
    functionName: ap_scan_script_header_err_strs_ex
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 1
    functionsReached:
    - va_end
    - ap_scan_script_header_err_core_ex
    - va_arg
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_strs_ex(request_rec *r,\n                                                         char
      *buffer,\n                                                         int module_index,\n
      \                                                        const char **termch,\n
      \                                                        int *termarg, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/util_script.c:920,1
    - Dst: va_arg
      Src: /src/httpd/server/util_script.c:922,1
    - Dst: ap_scan_script_header_err_core_ex
      Src: /src/httpd/server/util_script.c:923,1
    - Dst: va_end
      Src: /src/httpd/server/util_script.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - buffer
    - termch
    - termarg
    argTypes:
    - request_rec*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 912
    functionDepth: 4
    functionLinenumber: 912
    functionLinenumberEnd: 931
    functionName: ap_scan_script_header_err_strs
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 0
    functionsReached:
    - va_end
    - ap_scan_script_header_err_core_ex
    - va_arg
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_scan_script_header_err_strs(request_rec *r,\n                                                      char
      *buffer,\n                                                      const char **termch,\n
      \                                                     int *termarg, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/httpd/server/util_script.c:944,1
    - Dst: strchr
      Src: /src/httpd/server/util_script.c:946,1
    - Dst: ap_unescape_url
      Src: /src/httpd/server/util_script.c:954,1
    - Dst: ap_unescape_url
      Src: /src/httpd/server/util_script.c:955,1
    - Dst: apr_table_set
      Src: /src/httpd/server/util_script.c:956,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_script.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - str
    - parms
    argTypes:
    - char*
    - apr_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 959
    functionName: argstr_to_table
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 3
    functionsReached:
    - apr_table_set
    - apr_strtok
    - ap_unescape_url
    - strchr
    linkageType: ''
    returnType: void
    signature: void argstr_to_table(char *str, apr_table_t *parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/server/util_script.c:963,1
    - Dst: argstr_to_table
      Src: /src/httpd/server/util_script.c:964,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_script.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - table
    argTypes:
    - request_rec*
    - apr_table_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 966
    functionName: ap_args_to_table
    functionSourceFile: /src/httpd/server/util_script.c
    functionUses: 2
    functionsReached:
    - apr_pstrdup
    - apr_table_make
    - argstr_to_table
    linkageType: ''
    returnType: void
    signature: void ap_args_to_table(request_rec *r, apr_table_t **table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/scoreboard.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ap_set_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char * ap_set_scoreboard(cmd_parms *cmd, void *dummy,\n                               const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/scoreboard.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ap_set_extended_status
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *ap_set_extended_status(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/scoreboard.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: ap_set_reqtail
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *ap_set_reqtail(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/scoreboard.c:126,1
    - Dst: apr_shm_destroy
      Src: /src/httpd/server/scoreboard.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ap_cleanup_shared_mem
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - apr_shm_destroy
    - free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_cleanup_shared_mem(void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/scoreboard.c:140,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/scoreboard.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: ap_calc_scoreboard_size
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    linkageType: ''
    returnType: void
    signature: void ap_calc_scoreboard_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/scoreboard.c:155,1
    - Dst: ap_calc_scoreboard_size
      Src: /src/httpd/server/scoreboard.c:160,1
    - Dst: ap_calloc
      Src: /src/httpd/server/scoreboard.c:162,1
    - Dst: ap_assert
      Src: /src/httpd/server/scoreboard.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - shared_score
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: ap_init_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_calc_scoreboard_size
    - ap_calloc
    - ap_assert
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ap_init_scoreboard(void *shared_score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_remove
      Src: /src/httpd/server/scoreboard.c:191,1
    - Dst: apr_shm_create
      Src: /src/httpd/server/scoreboard.c:193,1
    - Dst: ap_log_error
      Src: /src/httpd/server/scoreboard.c:195,1
    - Dst: APLOGNO
      Src: /src/httpd/server/scoreboard.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pool
    - fname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: create_namebased_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - apr_shm_create
    - APLOGNO
    - ap_log_error
    - apr_shm_remove
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t create_namebased_scoreboard(apr_pool_t *pool,\n                                                const
      char *fname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_parent_get
      Src: /src/httpd/server/scoreboard.c:213,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/scoreboard.c:217,1
    - Dst: apr_pool_parent_get
      Src: /src/httpd/server/scoreboard.c:217,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/scoreboard.c:222,1
    - Dst: ap_log_error
      Src: /src/httpd/server/scoreboard.c:224,1
    - Dst: APLOGNO
      Src: /src/httpd/server/scoreboard.c:224,1
    - Dst: create_namebased_scoreboard
      Src: /src/httpd/server/scoreboard.c:229,1
    - Dst: apr_shm_create
      Src: /src/httpd/server/scoreboard.c:232,1
    - Dst: ap_log_error
      Src: /src/httpd/server/scoreboard.c:235,1
    - Dst: APLOGNO
      Src: /src/httpd/server/scoreboard.c:235,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/scoreboard.c:244,1
    - Dst: create_namebased_scoreboard
      Src: /src/httpd/server/scoreboard.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 251
    functionName: open_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - create_namebased_scoreboard
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_shm_create
    - ap_runtime_dir_relative
    - ap_log_error
    - apr_pool_parent_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t open_scoreboard(apr_pool_t *pconf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_shm_size_get
      Src: /src/httpd/server/scoreboard.c:263,1
    - Dst: ap_log_error
      Src: /src/httpd/server/scoreboard.c:264,1
    - Dst: APLOGNO
      Src: /src/httpd/server/scoreboard.c:264,1
    - Dst: apr_shm_detach
      Src: /src/httpd/server/scoreboard.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - p
    - shm
    - detached
    argTypes:
    - apr_pool_t*
    - apr_shm_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: ap_reopen_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - apr_shm_detach
    - APLOGNO
    - ap_log_error
    - apr_shm_size_get
    linkageType: ''
    returnType: void
    signature: "void ap_reopen_scoreboard(apr_pool_t *p, apr_shm_t **shm,\n                                              int
      detached)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cleanup_shared_mem
      Src: /src/httpd/server/scoreboard.c:284,1
    - Dst: free
      Src: /src/httpd/server/scoreboard.c:287,1
    - Dst: free
      Src: /src/httpd/server/scoreboard.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: ap_cleanup_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - free
    - ap_cleanup_shared_mem
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_cleanup_scoreboard(void *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/scoreboard.c:305,1
    - Dst: memset
      Src: /src/httpd/server/scoreboard.c:306,1
    - Dst: memset
      Src: /src/httpd/server/scoreboard.c:309,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/scoreboard.c:312,1
    - Dst: ap_calc_scoreboard_size
      Src: /src/httpd/server/scoreboard.c:316,1
    - Dst: open_scoreboard
      Src: /src/httpd/server/scoreboard.c:320,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/server/scoreboard.c:321,1
    - Dst: memset
      Src: /src/httpd/server/scoreboard.c:324,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/scoreboard.c:325,1
    - Dst: ap_calloc
      Src: /src/httpd/server/scoreboard.c:331,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/scoreboard.c:332,1
    - Dst: apr_time_now
      Src: /src/httpd/server/scoreboard.c:337,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/scoreboard.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - p
    - sb_type
    argTypes:
    - apr_pool_t*
    - ap_scoreboard_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 342
    functionName: ap_create_scoreboard
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_calloc
    - apr_time_now
    - memset
    - open_scoreboard
    - apr_shm_baseaddr_get
    - ap_calc_scoreboard_size
    - ap_init_scoreboard
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e sb_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: ap_exists_scoreboard_image
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_exists_scoreboard_image(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sb
    - r
    - conn_count
    argTypes:
    - ap_sb_handle_t*
    - request_rec*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: ap_set_conn_count
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_conn_count(ap_sb_handle_t *sb, request_rec *r, \n                                   unsigned
      short conn_count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pfn_ap_logio_get_last_bytes
      Src: /src/httpd/server/scoreboard.c:382,1
    - Dst: times
      Src: /src/httpd/server/scoreboard.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sb
    - r
    argTypes:
    - ap_sb_handle_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 400
    functionName: ap_increment_counts
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - times
    - pfn_ap_logio_get_last_bytes
    linkageType: ''
    returnType: void
    signature: void ap_increment_counts(ap_sb_handle_t *sb, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/scoreboard.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pid
    argTypes:
    - apr_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: ap_find_child_by_pid
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    linkageType: ''
    returnType: void
    signature: void ap_find_child_by_pid(apr_proc_t *pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sbh
    - child_num
    - thread_num
    argTypes:
    - ap_sb_handle_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: ap_update_sb_handle
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_update_sb_handle(ap_sb_handle_t *sbh,\n                                     int
      child_num, int thread_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/scoreboard.c:428,1
    - Dst: ap_update_sb_handle
      Src: /src/httpd/server/scoreboard.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - new_sbh
    - p
    - child_num
    - thread_num
    argTypes:
    - ap_sb_handle_t**
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: ap_create_sb_handle
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_update_sb_handle
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_create_sb_handle(ap_sb_handle_t **new_sbh, apr_pool_t *p,\n
      \                                    int child_num, int thread_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/scoreboard.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sbh
    - pchild_num
    - pthread_num
    argTypes:
    - ap_sb_handle_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: ap_sb_get_child_thread
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached:
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void ap_sb_get_child_thread(ap_sb_handle_t *sbh,\n                                        int
      *pchild_num, int *pthread_num)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:445,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/scoreboard.c:454,1
    - Dst: apr_uri_unparse
      Src: /src/httpd/server/scoreboard.c:455,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:462,1
    - Dst: strlen
      Src: /src/httpd/server/scoreboard.c:465,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:468,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rbuf
    - rbuflen
    - r
    argTypes:
    - char*
    - apr_size_t
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 474
    functionName: copy_request
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    - apr_uri_unparse
    - strlen
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/scoreboard.c:496,1
    - Dst: apr_time_now
      Src: /src/httpd/server/scoreboard.c:519,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:523,1
    - Dst: copy_request
      Src: /src/httpd/server/scoreboard.c:526,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/server/scoreboard.c:533,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:534,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:535,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:538,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:539,1
    - Dst: ap_get_remote_host
      Src: /src/httpd/server/scoreboard.c:543,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:545,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:546,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:549,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:550,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/scoreboard.c:556,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:560,1
    - Dst: ap_get_protocol
      Src: /src/httpd/server/scoreboard.c:568,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/scoreboard.c:569,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 7
    argNames:
    - child_num
    - thread_num
    - status
    - c
    - s
    - r
    - descr
    argTypes:
    - int
    - int
    - int
    - conn_rec*
    - server_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 574
    functionName: update_child_status_internal
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_time_now
    - ap_get_remote_host
    - apr_cpystrn
    - ap_get_useragent_host
    - ap_get_protocol
    - copy_request
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int update_child_status_internal(int child_num,\n                                        int
      thread_num,\n                                        int status,\n                                        conn_rec
      *c,\n                                        server_rec *s,\n                                        request_rec
      *r,\n                                        const char *descr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_child_status_internal
      Src: /src/httpd/server/scoreboard.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - child_num
    - thread_num
    - status
    - r
    argTypes:
    - int
    - int
    - int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: ap_update_child_status_from_indexes
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - update_child_status_internal
    linkageType: ''
    returnType: void
    signature: "void ap_update_child_status_from_indexes(int child_num,\n                                                    int
      thread_num,\n                                                    int status,\n
      \                                                   request_rec *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_child_status_internal
      Src: /src/httpd/server/scoreboard.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sbh
    - status
    - r
    argTypes:
    - ap_sb_handle_t*
    - int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: ap_update_child_status
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 4
    functionsReached:
    - update_child_status_internal
    linkageType: ''
    returnType: void
    signature: "void ap_update_child_status(ap_sb_handle_t *sbh, int status,\n                                      request_rec
      *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_child_status_internal
      Src: /src/httpd/server/scoreboard.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sbh
    - status
    - c
    argTypes:
    - ap_sb_handle_t*
    - int
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: ap_update_child_status_from_conn
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 3
    functionsReached:
    - update_child_status_internal
    linkageType: ''
    returnType: void
    signature: "void ap_update_child_status_from_conn(ap_sb_handle_t *sbh, int status,\n
      \                                                conn_rec *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_child_status_internal
      Src: /src/httpd/server/scoreboard.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - sbh
    - status
    - c
    - s
    argTypes:
    - ap_sb_handle_t*
    - int
    - conn_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: ap_update_child_status_from_server
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 2
    functionsReached:
    - update_child_status_internal
    linkageType: ''
    returnType: void
    signature: "void ap_update_child_status_from_server(ap_sb_handle_t *sbh, int status,
      \n                                                   conn_rec *c, server_rec
      *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_child_status_internal
      Src: /src/httpd/server/scoreboard.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sbh
    - status
    - descr
    argTypes:
    - ap_sb_handle_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: ap_update_child_status_descr
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached:
    - update_child_status_internal
    linkageType: ''
    returnType: void
    signature: void ap_update_child_status_descr(ap_sb_handle_t *sbh, int status,
      const char *descr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/scoreboard.c:647,1
    - Dst: apr_time_now
      Src: /src/httpd/server/scoreboard.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - sbh
    - status
    argTypes:
    - ap_sb_handle_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 655
    functionName: ap_time_process_request
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 4
    functionsReached:
    - apr_time_now
    linkageType: ''
    returnType: void
    signature: void ap_time_process_request(ap_sb_handle_t *sbh, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sbh
    - timebeg
    - timeend
    argTypes:
    - ap_sb_handle_t*
    - apr_time_t
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 671
    functionName: ap_set_time_process_request
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_time_process_request(ap_sb_handle_t* const sbh,\n\t\tconst
      apr_time_t timebeg,const apr_time_t timeend)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: times
      Src: /src/httpd/server/scoreboard.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: ap_update_global_status
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 0
    functionsReached:
    - times
    linkageType: ''
    returnType: void
    signature: void ap_update_global_status(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 691
    functionName: ap_get_scoreboard_worker_from_indexes
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_scoreboard_worker_from_indexes(int x, int y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_scoreboard_worker_from_indexes
      Src: /src/httpd/server/scoreboard.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sbh
    argTypes:
    - ap_sb_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: ap_get_scoreboard_worker
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached:
    - ap_get_scoreboard_worker_from_indexes
    linkageType: ''
    returnType: void
    signature: void ap_get_scoreboard_worker(ap_sb_handle_t *sbh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_scoreboard_worker_from_indexes
      Src: /src/httpd/server/scoreboard.c:706,1
    - Dst: memcpy
      Src: /src/httpd/server/scoreboard.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - child_num
    - thread_num
    argTypes:
    - worker_score*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 717
    functionName: ap_copy_scoreboard_worker
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 2
    functionsReached:
    - ap_get_scoreboard_worker_from_indexes
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_copy_scoreboard_worker(worker_score *dest, \n                                           int
      child_num,\n                                           int thread_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: ap_get_scoreboard_process
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_scoreboard_process(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: ap_get_scoreboard_global
    functionSourceFile: /src/httpd/server/scoreboard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_scoreboard_global(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: YY_SC_TO_UI
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SC_TO_UI(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: YY_STATE_EOF
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STATE_EOF(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: yyless
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyless(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: unput
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unput(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is_interactive
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: yy_set_interactive
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yy_set_interactive(is_interactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - at_bol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: yy_set_bol
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yy_set_bol(at_bol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: YY_AT_BOL
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_AT_BOL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: yymore
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yymore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - result
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: YY_INPUT
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INPUT(buf,result,max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: YY_FATAL_ERROR
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_FATAL_ERROR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: PERROR
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERROR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: PERROR_CHAR
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERROR_CHAR(prefix, chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: STACK_PUSH
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STACK_PUSH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 684
    functionName: STACK_POP
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STACK_POP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - sk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: STATE_PUSH
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_PUSH(st, sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: STATE_POP
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_POP(sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - chr
    - ','
    - chk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: STR_APPEND_CHECK
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_APPEND_CHECK(chr, chk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: STR_APPEND_NOCHECK
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_APPEND_NOCHECK(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: STR_EMPTY
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_EMPTY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 722
    functionName: STR_RETURN
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - result
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 919
    functionName: YY_INPUT
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INPUT(buf,result,max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: yyterminate
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyterminate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 937
    functionName: YY_FATAL_ERROR
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_FATAL_ERROR(msg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:1828,1
    - Dst: ap_expr_yyrealloc
      Src: /src/httpd/server/util_expr_scan.c:1889,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:1896,1
    - Dst: YY_INPUT
      Src: /src/httpd/server/util_expr_scan.c:1910,1
    - Dst: ap_expr_yyrestart
      Src: /src/httpd/server/util_expr_scan.c:1921,1
    - Dst: ap_expr_yyrealloc
      Src: /src/httpd/server/util_expr_scan.c:1938,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:1940,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1950
    functionName: yy_get_next_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - YY_INPUT
    - ap_expr_yyrealloc
    - YY_FATAL_ERROR
    - ap_expr_yyrestart
    linkageType: ''
    returnType: int
    signature: int yy_get_next_buffer (yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YY_SC_TO_UI
      Src: /src/httpd/server/util_expr_scan.c:1964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1980
    functionName: yy_get_previous_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - YY_SC_TO_UI
    linkageType: ''
    returnType: yy_state_type
    signature: yy_state_type yy_get_previous_state (yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - yy_current_state
    - yyscanner
    argTypes:
    - yy_state_type
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2010
    functionName: yy_try_NUL_trans
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: yy_state_type
    signature: yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t
      yyscanner)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: yy_get_next_buffer
      Src: /src/httpd/server/util_expr_scan.c:2044,1
    - Dst: ap_expr_yyrestart
      Src: /src/httpd/server/util_expr_scan.c:2058,1
    - Dst: ap_expr_yywrap
      Src: /src/httpd/server/util_expr_scan.c:2064,1
    - Dst: yyinput
      Src: /src/httpd/server/util_expr_scan.c:2070,1
    - Dst: input
      Src: /src/httpd/server/util_expr_scan.c:2072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2020
    functionDepth: 2
    functionLinenumber: 2020
    functionLinenumberEnd: 2088
    functionName: input
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 23
    functionsReached:
    - input
    - yyinput
    - ap_expr_yywrap
    - yy_get_next_buffer
    - ap_expr_yyrestart
    linkageType: ''
    returnType: int
    signature: int input  (yyscan_t yyscanner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyensure_buffer_stack
      Src: /src/httpd/server/util_expr_scan.c:2101,1
    - Dst: ap_expr_yy_create_buffer
      Src: /src/httpd/server/util_expr_scan.c:2103,1
    - Dst: ap_expr_yy_init_buffer
      Src: /src/httpd/server/util_expr_scan.c:2106,1
    - Dst: ap_expr_yy_load_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input_file
    - yyscanner
    argTypes:
    - FILE*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2108
    functionName: ap_expr_yyrestart
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 2
    functionsReached:
    - ap_expr_yy_load_buffer_state
    - ap_expr_yy_init_buffer
    - ap_expr_yy_create_buffer
    - ap_expr_yyensure_buffer_stack
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyrestart  (FILE * input_file , yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyensure_buffer_stack
      Src: /src/httpd/server/util_expr_scan.c:2123,1
    - Dst: ap_expr_yy_load_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - new_buffer
    - yyscanner
    argTypes:
    - YY_BUFFER_STATE
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2144
    functionName: ap_expr_yy_switch_to_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_load_buffer_state
    - ap_expr_yyensure_buffer_stack
    linkageType: ''
    returnType: void
    signature: void ap_expr_yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t
      yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2153
    functionName: ap_expr_yy_load_buffer_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yy_load_buffer_state  (yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2165,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2167,1
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2174,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2176,1
    - Dst: ap_expr_yy_init_buffer
      Src: /src/httpd/server/util_expr_scan.c:2180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - file
    - size
    - yyscanner
    argTypes:
    - FILE*
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2183
    functionName: ap_expr_yy_create_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 1
    functionsReached:
    - ap_expr_yy_init_buffer
    - YY_FATAL_ERROR
    - ap_expr_yyalloc
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE ap_expr_yy_create_buffer  (FILE * file, int  size ,
      yyscan_t yyscanner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyfree
      Src: /src/httpd/server/util_expr_scan.c:2200,1
    - Dst: ap_expr_yyfree
      Src: /src/httpd/server/util_expr_scan.c:2202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - b
    - yyscanner
    argTypes:
    - YY_BUFFER_STATE
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2203
    functionName: ap_expr_yy_delete_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yyfree
    linkageType: ''
    returnType: void
    signature: void ap_expr_yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yy_flush_buffer
      Src: /src/httpd/server/util_expr_scan.c:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - b
    - file
    - yyscanner
    argTypes:
    - YY_BUFFER_STATE
    - FILE*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2232
    functionName: ap_expr_yy_init_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 2
    functionsReached:
    - ap_expr_yy_flush_buffer
    linkageType: ''
    returnType: void
    signature: void ap_expr_yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t
      yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yy_load_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - b
    - yyscanner
    argTypes:
    - YY_BUFFER_STATE
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2260
    functionName: ap_expr_yy_flush_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 1
    functionsReached:
    - ap_expr_yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void ap_expr_yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyensure_buffer_stack
      Src: /src/httpd/server/util_expr_scan.c:2274,1
    - Dst: ap_expr_yy_load_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - new_buffer
    - yyscanner
    argTypes:
    - YY_BUFFER_STATE
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2293
    functionName: ap_expr_yypush_buffer_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_load_buffer_state
    - ap_expr_yyensure_buffer_stack
    linkageType: ''
    returnType: void
    signature: void ap_expr_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t
      yyscanner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yy_delete_buffer
      Src: /src/httpd/server/util_expr_scan.c:2305,1
    - Dst: ap_expr_yy_load_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2299
    functionDepth: 2
    functionLinenumber: 2299
    functionLinenumberEnd: 2314
    functionName: ap_expr_yypop_buffer_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_delete_buffer
    - ap_expr_yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void ap_expr_yypop_buffer_state (yyscan_t yyscanner)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2331,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2335,1
    - Dst: memset
      Src: /src/httpd/server/util_expr_scan.c:2337,1
    - Dst: ap_expr_yyrealloc
      Src: /src/httpd/server/util_expr_scan.c:2350,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2355,1
    - Dst: memset
      Src: /src/httpd/server/util_expr_scan.c:2358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2319
    functionDepth: 1
    functionLinenumber: 2319
    functionLinenumberEnd: 2361
    functionName: ap_expr_yyensure_buffer_stack
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 3
    functionsReached:
    - ap_expr_yyrealloc
    - YY_FATAL_ERROR
    - memset
    - ap_expr_yyalloc
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyensure_buffer_stack (yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2379,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2381,1
    - Dst: ap_expr_yy_switch_to_buffer
      Src: /src/httpd/server/util_expr_scan.c:2393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - base
    - size
    - yyscanner
    argTypes:
    - char*
    - yy_size_t
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2369
    functionDepth: 2
    functionLinenumber: 2369
    functionLinenumberEnd: 2396
    functionName: ap_expr_yy_scan_buffer
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_switch_to_buffer
    - YY_FATAL_ERROR
    - ap_expr_yyalloc
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE ap_expr_yy_scan_buffer  (char * base, yy_size_t  size
      , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yy_scan_bytes
      Src: /src/httpd/server/util_expr_scan.c:2409,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_scan.c:2409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - yystr
    - yyscanner
    argTypes:
    - yyconst*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2410
    functionName: ap_expr_yy_scan_string
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_scan_bytes
    - strlen
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE ap_expr_yy_scan_string (yyconst char * yystr , yyscan_t
      yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2428,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2430,1
    - Dst: ap_expr_yy_scan_buffer
      Src: /src/httpd/server/util_expr_scan.c:2437,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - yybytes
    - _yybytes_len
    - yyscanner
    argTypes:
    - yyconst*
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2419
    functionDepth: 3
    functionLinenumber: 2419
    functionLinenumberEnd: 2447
    functionName: ap_expr_yy_scan_bytes
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 1
    functionsReached:
    - ap_expr_yy_scan_buffer
    - YY_FATAL_ERROR
    - ap_expr_yyalloc
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE ap_expr_yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len
      , yyscan_t yyscanner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2460,1
    - Dst: ap_expr_yyrealloc
      Src: /src/httpd/server/util_expr_scan.c:2463,1
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2466,1
    - Dst: BEGIN
      Src: /src/httpd/server/util_expr_scan.c:2471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - _new_state
    - yyscanner
    argTypes:
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2472
    functionName: yy_push_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - BEGIN
    - ap_expr_yyrealloc
    - YY_FATAL_ERROR
    - ap_expr_yyalloc
    linkageType: ''
    returnType: void
    signature: void yy_push_state (int  _new_state , yyscan_t yyscanner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2478,1
    - Dst: BEGIN
      Src: /src/httpd/server/util_expr_scan.c:2480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2481
    functionName: yy_pop_state
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - BEGIN
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: void
    signature: void yy_pop_state  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/server/util_expr_scan.c:2491,1
    - Dst: exit
      Src: /src/httpd/server/util_expr_scan.c:2492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - yyscanner
    argTypes:
    - yyconst*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2493
    functionName: yy_fatal_error
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2501
    functionName: yyless
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyless(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2534
    functionName: ap_expr_yyget_lineno
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_expr_yyget_lineno  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2547
    functionName: ap_expr_yyget_in
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: FILE *ap_expr_yyget_in  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2556
    functionName: ap_expr_yyget_out
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: FILE *ap_expr_yyget_out  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2565
    functionName: ap_expr_yyget_leng
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_expr_yyget_leng  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2575
    functionName: ap_expr_yyget_text
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ap_expr_yyget_text  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - user_defined
    - yyscanner
    argTypes:
    - YY_EXTRA_TYPE
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2585
    functionName: ap_expr_yyset_extra
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_FATAL_ERROR
      Src: /src/httpd/server/util_expr_scan.c:2597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _line_number
    - yyscanner
    argTypes:
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2600
    functionName: ap_expr_yyset_lineno
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_lineno (int  _line_number , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _in_str
    - yyscanner
    argTypes:
    - FILE*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2617
    functionName: ap_expr_yyset_in
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_in (FILE *  _in_str , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _out_str
    - yyscanner
    argTypes:
    - FILE*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2623
    functionName: ap_expr_yyset_out
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_out (FILE *  _out_str , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2629
    functionName: ap_expr_yyget_debug
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_expr_yyget_debug  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _bdebug
    - yyscanner
    argTypes:
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2635
    functionName: ap_expr_yyset_debug
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_debug (int  _bdebug , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2643
    functionName: ap_expr_yyget_lval
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YYSTYPE
    signature: YYSTYPE * ap_expr_yyget_lval  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - yylval_param
    - yyscanner
    argTypes:
    - YYSTYPE*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2649
    functionName: ap_expr_yyset_lval
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2666,1
    - Dst: memset
      Src: /src/httpd/server/util_expr_scan.c:2674,1
    - Dst: yy_init_globals
      Src: /src/httpd/server/util_expr_scan.c:2676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ptr_yy_globals
    argTypes:
    - yyscan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2658
    functionDepth: 1
    functionLinenumber: 2658
    functionLinenumberEnd: 2677
    functionName: ap_expr_yylex_init
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - yy_init_globals
    - memset
    - ap_expr_yyalloc
    linkageType: ''
    returnType: int
    signature: int ap_expr_yylex_init(yyscan_t* ptr_yy_globals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yyset_extra
      Src: /src/httpd/server/util_expr_scan.c:2692,1
    - Dst: ap_expr_yyalloc
      Src: /src/httpd/server/util_expr_scan.c:2699,1
    - Dst: memset
      Src: /src/httpd/server/util_expr_scan.c:2708,1
    - Dst: ap_expr_yyset_extra
      Src: /src/httpd/server/util_expr_scan.c:2710,1
    - Dst: yy_init_globals
      Src: /src/httpd/server/util_expr_scan.c:2712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - yy_user_defined
    - ptr_yy_globals
    argTypes:
    - YY_EXTRA_TYPE
    - yyscan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2687
    functionDepth: 1
    functionLinenumber: 2687
    functionLinenumberEnd: 2713
    functionName: ap_expr_yylex_init_extra
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - yy_init_globals
    - ap_expr_yyset_extra
    - memset
    - ap_expr_yyalloc
    linkageType: ''
    returnType: int
    signature: int ap_expr_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t*
      ptr_yy_globals )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2746
    functionName: yy_init_globals
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int yy_init_globals (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_yy_delete_buffer
      Src: /src/httpd/server/util_expr_scan.c:2755,1
    - Dst: ap_expr_yypop_buffer_state
      Src: /src/httpd/server/util_expr_scan.c:2757,1
    - Dst: ap_expr_yyfree
      Src: /src/httpd/server/util_expr_scan.c:2761,1
    - Dst: ap_expr_yyfree
      Src: /src/httpd/server/util_expr_scan.c:2765,1
    - Dst: yy_init_globals
      Src: /src/httpd/server/util_expr_scan.c:2770,1
    - Dst: ap_expr_yyfree
      Src: /src/httpd/server/util_expr_scan.c:2773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - yyscanner
    argTypes:
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2749
    functionDepth: 3
    functionLinenumber: 2749
    functionLinenumberEnd: 2776
    functionName: ap_expr_yylex_destroy
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached:
    - ap_expr_yy_delete_buffer
    - ap_expr_yypop_buffer_state
    - yy_init_globals
    - ap_expr_yyfree
    linkageType: ''
    returnType: int
    signature: int ap_expr_yylex_destroy  (yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s1
    - s2
    - n
    - yyscanner
    argTypes:
    - char*
    - yyconst*
    - int
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2791
    functionName: yy_flex_strncpy
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t
      yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - yyscanner
    argTypes:
    - yyconst*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2802
    functionName: yy_flex_strlen
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/httpd/server/util_expr_scan.c:2809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - yyscanner
    argTypes:
    - yy_size_t
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: ap_expr_yyalloc
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 7
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *ap_expr_yyalloc (yy_size_t  size , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/httpd/server/util_expr_scan.c:2824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - yyscanner
    argTypes:
    - void*
    - yy_size_t
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2825
    functionName: ap_expr_yyrealloc
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 3
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *ap_expr_yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/util_expr_scan.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - yyscanner
    argTypes:
    - void*
    - yyscan_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2832
    functionName: ap_expr_yyfree
    functionSourceFile: /src/httpd/server/util_expr_scan.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ap_expr_yyfree (void * ptr , yyscan_t yyscanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:95,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/server/protocol.c:97,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/server/protocol.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: ap_setup_make_content_type
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - apr_strmatch_precompile
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_setup_make_content_type(apr_pool_t *pool)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:115,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:127,1
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:132,1
    - Dst: apr_strmatch
      Src: /src/httpd/server/protocol.c:134,1
    - Dst: apr_strmatch
      Src: /src/httpd/server/protocol.c:144,1
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:151,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/server/protocol.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - r
    - type
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 159
    functionName: ap_make_content_type
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 4
    functionsReached:
    - apr_pstrcatv
    - strlen
    - ap_get_core_module_config
    - apr_strmatch
    linkageType: ''
    returnType: void
    signature: void ap_make_content_type(request_rec *r, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:164,1
    - Dst: apr_off_t_toa
      Src: /src/httpd/server/protocol.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - clength
    argTypes:
    - request_rec*
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: ap_set_content_length
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 15
    functionsReached:
    - apr_off_t_toa
    - apr_table_setn
    linkageType: ''
    returnType: void
    signature: void ap_set_content_length(request_rec *r, apr_off_t clength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/protocol.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - mtime
    argTypes:
    - request_rec*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: ap_rationalize_mtime
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - apr_time_now
    linkageType: ''
    returnType: void
    signature: void ap_rationalize_mtime(request_rec *r, apr_time_t mtime)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:247,1
    - Dst: ap_get_brigade
      Src: /src/httpd/server/protocol.c:248,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/protocol.c:257,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/protocol.c:267,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/protocol.c:268,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:269,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/protocol.c:275,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/protocol.c:280,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:348,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:359,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:362,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:370,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:415,1
    - Dst: ap_get_brigade
      Src: /src/httpd/server/protocol.c:418,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/protocol.c:423,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/protocol.c:427,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/protocol.c:430,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/protocol.c:434,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:436,1
    - Dst: ap_fgetline_core
      Src: /src/httpd/server/protocol.c:473,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:484,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:487,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:490,1
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:515,1
    - Dst: ap_log_data
      Src: /src/httpd/server/protocol.c:517,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 167
    argCount: 7
    argNames:
    - s
    - n
    - read
    - f
    - flags
    - bb
    - p
    argTypes:
    - char**
    - apr_size_t
    - apr_size_t*
    - ap_filter_t*
    - int
    - apr_bucket_brigade*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 526
    functionName: ap_fgetline_core
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_get_brigade
    - APR_BRIGADE_FIRST
    - APR_BUCKET_NEXT
    - apr_palloc
    - APR_BUCKET_IS_EOS
    - ap_fgetline_core
    - ap_log_data
    - apr_brigade_cleanup
    - apr_bucket_read
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_EMPTY
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_fgetline_core(char **s, apr_size_t n,\n                                     apr_size_t
      *read, ap_filter_t *f,\n                                     int flags, apr_bucket_brigade
      *bb,\n                                     apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_fgetline_core
      Src: /src/httpd/server/protocol.c:535,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/server/protocol.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - s
    - n
    - read
    - f
    - flags
    - bb
    - p
    argTypes:
    - char**
    - apr_size_t
    - apr_size_t*
    - ap_filter_t*
    - int
    - apr_bucket_brigade*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 549
    functionName: ap_fgetline
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_fgetline_core
    linkageType: ''
    returnType: void
    signature: "void ap_fgetline(char **s, apr_size_t n,\n                                     apr_size_t
      *read, ap_filter_t *f,\n                                     int flags, apr_bucket_brigade
      *bb,\n                                     apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_fgetline_core
      Src: /src/httpd/server/protocol.c:562,1
    - Dst: ap_xlate_proto_from_ascii
      Src: /src/httpd/server/protocol.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s
    - n
    - read
    - r
    - flags
    - bb
    argTypes:
    - char**
    - apr_size_t
    - apr_size_t*
    - request_rec*
    - int
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 576
    functionName: ap_rgetline
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 2
    functionsReached:
    - ap_xlate_proto_from_ascii
    - ap_fgetline_core
    linkageType: ''
    returnType: void
    signature: "void ap_rgetline(char **s, apr_size_t n,\n                                     apr_size_t
      *read, request_rec *r,\n                                     int flags, apr_bucket_brigade
      *bb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:589,1
    - Dst: ap_rgetline
      Src: /src/httpd/server/protocol.c:590,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/protocol.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - s
    - n
    - r
    - flags
    argTypes:
    - char*
    - int
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 604
    functionName: ap_getline
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - apr_brigade_destroy
    - apr_brigade_create
    - ap_rgetline
    linkageType: ''
    returnType: void
    signature: void ap_getline(char *s, int n, request_rec *r, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:616,1
    - Dst: apr_uri_parse_hostinfo
      Src: /src/httpd/server/protocol.c:629,1
    - Dst: apr_uri_parse
      Src: /src/httpd/server/protocol.c:632,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/protocol.c:638,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/protocol.c:638,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:650,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:653,1
    - Dst: strchr
      Src: /src/httpd/server/protocol.c:664,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:673,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - r
    - uri
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 675
    functionName: ap_parse_uri
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_cstr_casecmp
    - apr_uri_parse
    - strchr
    - apr_pstrdup
    - apr_uri_parse_hostinfo
    - ap_http_scheme
    linkageType: ''
    returnType: void
    signature: void ap_parse_uri(request_rec *r, const char *uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/protocol.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: field_name_len
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    linkageType: ''
    returnType: int
    signature: int field_name_len(const char *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_h1_tokenize_request_line
      Src: /src/httpd/server/protocol.c:691,1
    - Dst: ap_assign_request_line
      Src: /src/httpd/server/protocol.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: ap_parse_request_line
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 2
    functionsReached:
    - ap_h1_tokenize_request_line
    - ap_assign_request_line
    linkageType: ''
    returnType: void
    signature: void ap_parse_request_line(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:703,1
    - Dst: ap_update_vhost_from_headers_ex
      Src: /src/httpd/server/protocol.c:709,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:712,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:712,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:717,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:717,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:729,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:730,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:731,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:739,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:739,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:747,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:749,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/protocol.c:757,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:761,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:761,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:766,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:766,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 775
    functionName: ap_check_request_header
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - ap_cstr_casecmp
    - APLOGNO
    - HTTP_VERSION
    - ap_update_vhost_from_headers_ex
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void ap_check_request_header(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:781,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:785,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:787,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:787,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r_
    - key
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 791
    functionName: table_do_fn_check_lengths
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - field_name_len
    - APLOGNO
    - apr_table_setn
    - strlen
    linkageType: ''
    returnType: int
    signature: "int table_do_fn_check_lengths(void *r_, const char *key,\n                                     const
      char *value)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:803,1
    - Dst: ap_rgetline
      Src: /src/httpd/server/protocol.c:814,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/protocol.c:818,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:830,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:833,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:833,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:837,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:861,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:861,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:869,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:869,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:893,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:896,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:899,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:909,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:910,1
    - Dst: memcpy
      Src: /src/httpd/server/protocol.c:913,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:933,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:936,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:936,1
    - Dst: strchr
      Src: /src/httpd/server/protocol.c:946,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:948,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:948,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:957,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:957,1
    - Dst: strpbrk
      Src: /src/httpd/server/protocol.c:964,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:966,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:966,1
    - Dst: strpbrk
      Src: /src/httpd/server/protocol.c:976,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:978,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:978,1
    - Dst: ap_scan_http_token
      Src: /src/httpd/server/protocol.c:987,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:990,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:990,1
    - Dst: ap_scan_http_field_content
      Src: /src/httpd/server/protocol.c:1003,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1012,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1012,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/protocol.c:1019,1
    - Dst: apr_table_compress
      Src: /src/httpd/server/protocol.c:1044,1
    - Dst: apr_table_do
      Src: /src/httpd/server/protocol.c:1047,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 116
    argCount: 2
    argNames:
    - r
    - bb
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 1048
    functionName: ap_get_mime_headers_core
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - apr_table_compress
    - apr_table_do
    - ap_log_rerror
    - ap_get_core_module_config
    - apr_palloc
    - field_name_len
    - strchr
    - APLOGNO
    - apr_table_setn
    - apr_table_addn
    - APR_STATUS_IS_TIMEUP
    - ap_rgetline
    - strpbrk
    - ap_scan_http_field_content
    - ap_scan_http_token
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1053,1
    - Dst: ap_get_mime_headers_core
      Src: /src/httpd/server/protocol.c:1054,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/protocol.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1050
    functionDepth: 4
    functionLinenumber: 1050
    functionLinenumberEnd: 1056
    functionName: ap_get_mime_headers
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_get_mime_headers_core
    - apr_brigade_destroy
    - apr_brigade_create
    linkageType: ''
    returnType: void
    signature: void ap_get_mime_headers(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/protocol.c:1063,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/protocol.c:1064,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/protocol.c:1065,1
    - Dst: AP_READ_REQUEST_ENTRY
      Src: /src/httpd/server/protocol.c:1066,1
    - Dst: ap_make_method_list
      Src: /src/httpd/server/protocol.c:1074,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1076,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1077,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1078,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1079,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1080,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1081,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1082,1
    - Dst: ap_create_request_config
      Src: /src/httpd/server/protocol.c:1084,1
    - Dst: ap_run_create_request
      Src: /src/httpd/server/protocol.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - conn
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1112
    functionName: ap_create_request
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 2
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - apr_pool_create
    - ap_run_create_request
    - AP_READ_REQUEST_ENTRY
    - ap_make_method_list
    - apr_table_make
    - ap_create_request_config
    linkageType: ''
    returnType: void
    signature: void ap_create_request(conn_rec *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/protocol.c:1119,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/protocol.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1123
    functionName: apply_server_config
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_set
    - ap_get_conn_socket
    linkageType: ''
    returnType: void
    signature: void apply_server_config(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/server/protocol.c:1141,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/protocol.c:1142,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1145,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/protocol.c:1151,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/protocol.c:1152,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1155,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/protocol.c:1159,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/server/protocol.c:1159,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/server/protocol.c:1160,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1163,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1170,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 24
    argCount: 3
    argNames:
    - r
    - protocol
    - strict
    argTypes:
    - request_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1175
    functionName: r_assign_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - HTTP_VERSION_MAJOR
    - apr_isdigit
    - HTTP_VERSION
    - apr_psprintf
    - HTTP_VERSION_MINOR
    linkageType: ''
    returnType: http_error
    signature: "http_error r_assign_protocol(request_rec *r,\n                                    const
      char *protocol,\n                                    int strict)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:1181,1
    - Dst: r_assign_protocol
      Src: /src/httpd/server/protocol.c:1183,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1185,1
    - Dst: ap_method_number_of
      Src: /src/httpd/server/protocol.c:1192,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/protocol.c:1199,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1201,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/protocol.c:1204,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:1209,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1214,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1217,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1230,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1230,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:1233,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1236,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1236,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1240,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1240,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:1243,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1254,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1254,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:1257,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1264,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1264,1
    - Dst: field_name_len
      Src: /src/httpd/server/protocol.c:1266,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1273,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1273,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1279,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1279,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1289,1
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:1299,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 4
    argNames:
    - r
    - method
    - uri
    - protocol
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1304
    functionName: ap_assign_request_line
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_method_number_of
    - strcmp
    - ap_log_rerror
    - r_assign_protocol
    - ap_get_core_module_config
    - apr_pstrcat
    - field_name_len
    - ap_parse_uri
    - APLOGNO
    - HTTP_VERSION
    linkageType: ''
    returnType: void
    signature: "void ap_assign_request_line(request_rec *r,\n                                       const
      char *method, const char *uri,\n                                       const
      char *protocol)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ap_create_request
      Src: /src/httpd/server/protocol.c:1316,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1318,1
    - Dst: ap_run_pre_read_request
      Src: /src/httpd/server/protocol.c:1321,1
    - Dst: apr_time_now
      Src: /src/httpd/server/protocol.c:1323,1
    - Dst: ap_get_brigade
      Src: /src/httpd/server/protocol.c:1324,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/protocol.c:1325,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/protocol.c:1328,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/protocol.c:1332,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/protocol.c:1333,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:1334,1
    - Dst: AP_BUCKET_IS_REQUEST
      Src: /src/httpd/server/protocol.c:1336,1
    - Dst: AP_BUCKET_IS_ERROR
      Src: /src/httpd/server/protocol.c:1339,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/server/protocol.c:1342,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1349,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1349,1
    - Dst: apr_pool_is_ancestor
      Src: /src/httpd/server/protocol.c:1358,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:1365,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:1366,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/protocol.c:1367,1
    - Dst: apr_table_clone
      Src: /src/httpd/server/protocol.c:1368,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1381,1
    - Dst: ap_assign_request_line
      Src: /src/httpd/server/protocol.c:1385,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:1386,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1393,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1393,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:1397,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1398,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1398,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/protocol.c:1406,1
    - Dst: ap_run_log_transaction
      Src: /src/httpd/server/protocol.c:1408,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/protocol.c:1413,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1428,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1428,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:1435,1
    - Dst: apply_server_config
      Src: /src/httpd/server/protocol.c:1441,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1444,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/server/protocol.c:1448,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1449,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1449,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/server/protocol.c:1462,1
    - Dst: ap_check_request_header
      Src: /src/httpd/server/protocol.c:1466,1
    - Dst: apply_server_config
      Src: /src/httpd/server/protocol.c:1468,1
    - Dst: apply_server_config
      Src: /src/httpd/server/protocol.c:1474,1
    - Dst: ap_post_read_request
      Src: /src/httpd/server/protocol.c:1476,1
    - Dst: AP_READ_REQUEST_SUCCESS
      Src: /src/httpd/server/protocol.c:1480,1
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/server/protocol.c:1494,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:1495,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/server/protocol.c:1499,1
    - Dst: ap_die
      Src: /src/httpd/server/protocol.c:1511,1
    - Dst: ap_acquire_brigade
      Src: /src/httpd/server/protocol.c:1518,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:1519,1
    - Dst: ap_bucket_eor_create
      Src: /src/httpd/server/protocol.c:1520,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1521,1
    - Dst: ap_release_brigade
      Src: /src/httpd/server/protocol.c:1522,1
    - Dst: AP_READ_REQUEST_FAILURE
      Src: /src/httpd/server/protocol.c:1527,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 149
    argCount: 1
    argNames:
    - conn
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1529
    functionName: ap_read_request
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 2
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_time_now
    - ap_acquire_brigade
    - ap_run_log_transaction
    - apr_brigade_create
    - ap_update_child_status
    - ap_run_pre_read_request
    - ap_parse_strict_length
    - ap_create_request
    - ap_release_brigade
    - apr_table_clone
    - apr_table_get
    - ap_add_input_filter_handle
    - ap_check_request_header
    - ap_filter_reinstate_brigade
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - strcmp
    - AP_READ_REQUEST_SUCCESS
    - ap_pass_brigade
    - ap_die
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - apr_pool_destroy
    - ap_bucket_eor_create
    - APR_BRIGADE_INSERT_TAIL
    - apr_pool_is_ancestor
    - AP_BUCKET_IS_REQUEST
    - ap_log_rerror
    - ap_assign_request_line
    - AP_BUCKET_IS_ERROR
    - APLOGNO
    - ap_post_read_request
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - AP_READ_REQUEST_FAILURE
    - apply_server_config
    - apr_pstrdup
    - ap_remove_input_filter
    linkageType: ''
    returnType: void
    signature: void ap_read_request(conn_rec *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_post_read_request
      Src: /src/httpd/server/protocol.c:1535,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/server/protocol.c:1542,1
    - Dst: apr_tolower
      Src: /src/httpd/server/protocol.c:1544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1550
    functionName: ap_post_read_request
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 3
    functionsReached:
    - apr_tolower
    - ap_cstr_casecmpn
    - ap_run_post_read_request
    linkageType: ''
    returnType: void
    signature: void ap_post_read_request(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1559,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1560,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1561,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1562,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1563,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1564,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1565,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1566,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1567,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/protocol.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - rnew
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1569
    functionName: strip_headers_request_body
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - apr_table_unset
    linkageType: ''
    returnType: void
    signature: void strip_headers_request_body(request_rec *rnew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_copy
      Src: /src/httpd/server/protocol.c:1592,1
    - Dst: apr_table_copy
      Src: /src/httpd/server/protocol.c:1593,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1598,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1599,1
    - Dst: strip_headers_request_body
      Src: /src/httpd/server/protocol.c:1600,1
    - Dst: apr_table_copy
      Src: /src/httpd/server/protocol.c:1602,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1603,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1604,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1605,1
    - Dst: apr_table_make
      Src: /src/httpd/server/protocol.c:1606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - rnew
    - r
    argTypes:
    - request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1613
    functionName: ap_set_sub_req_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - strip_headers_request_body
    - apr_table_copy
    - apr_table_make
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: "void ap_set_sub_req_protocol(request_rec *rnew,\n                                         const
      request_rec *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1621,1
    - Dst: ap_bucket_error_create
      Src: /src/httpd/server/protocol.c:1623,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:1624,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/server/protocol.c:1626,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:1627,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1629,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:1630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - status
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1631
    functionName: end_output_stream
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_create
    - apr_bucket_eos_create
    - ap_bucket_error_create
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void end_output_stream(request_rec *r, int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end_output_stream
      Src: /src/httpd/server/protocol.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sub
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1639
    functionName: ap_finalize_sub_req_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - end_output_stream
    linkageType: ''
    returnType: void
    signature: void ap_finalize_sub_req_protocol(request_rec *sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_discard_request_body
      Src: /src/httpd/server/protocol.c:1648,1
    - Dst: end_output_stream
      Src: /src/httpd/server/protocol.c:1652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1646
    functionDepth: 2
    functionLinenumber: 1646
    functionLinenumberEnd: 1654
    functionName: ap_finalize_request_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 6
    functionsReached:
    - end_output_stream
    - ap_discard_request_body
    linkageType: ''
    returnType: void
    signature: void ap_finalize_request_protocol(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_type
      Src: /src/httpd/server/protocol.c:1661,1
    - Dst: ap_run_note_auth_failure
      Src: /src/httpd/server/protocol.c:1663,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1666,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1669
    functionName: ap_note_auth_failure
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_run_note_auth_failure
    - APLOGNO
    - ap_log_rerror
    - ap_auth_type
    linkageType: ''
    returnType: void
    signature: void ap_note_auth_failure(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_note_auth_failure
      Src: /src/httpd/server/protocol.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1674
    functionName: ap_note_basic_auth_failure
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - ap_note_auth_failure
    linkageType: ''
    returnType: void
    signature: void ap_note_basic_auth_failure(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_note_auth_failure
      Src: /src/httpd/server/protocol.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1679
    functionName: ap_note_digest_auth_failure
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_note_auth_failure
    linkageType: ''
    returnType: void
    signature: void ap_note_digest_auth_failure(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_auth_type
      Src: /src/httpd/server/protocol.c:1685,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/protocol.c:1685,1
    - Dst: ap_auth_name
      Src: /src/httpd/server/protocol.c:1688,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1689,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1689,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1694,1
    - Dst: ap_note_auth_failure
      Src: /src/httpd/server/protocol.c:1699,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/protocol.c:1703,1
    - Dst: ap_getword
      Src: /src/httpd/server/protocol.c:1703,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1705,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1705,1
    - Dst: ap_note_auth_failure
      Src: /src/httpd/server/protocol.c:1707,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/server/protocol.c:1715,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/server/protocol.c:1716,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:1717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - r
    - pw
    argTypes:
    - request_rec*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1723
    functionName: ap_get_basic_auth_pw
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 3
    functionsReached:
    - ap_log_rerror
    - ap_auth_type
    - ap_cstr_casecmp
    - ap_getword_nulls
    - APLOGNO
    - ap_auth_name
    - apr_table_setn
    - ap_pbase64decode
    - apr_table_get
    - ap_getword
    - ap_note_auth_failure
    linkageType: ''
    returnType: void
    signature: void ap_get_basic_auth_pw(request_rec *r, const char **pw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1736,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/protocol.c:1743,1
    - Dst: ap_getword
      Src: /src/httpd/server/protocol.c:1743,1
    - Dst: ap_pbase64decode
      Src: /src/httpd/server/protocol.c:1759,1
    - Dst: ap_getword_nulls
      Src: /src/httpd/server/protocol.c:1760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - username
    - password
    argTypes:
    - request_rec*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1770
    functionName: ap_get_basic_auth_components
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 4
    functionsReached:
    - ap_cstr_casecmp
    - ap_getword_nulls
    - ap_getword
    - apr_table_get
    - ap_pbase64decode
    linkageType: ''
    returnType: void
    signature: "void ap_get_basic_auth_components(const request_rec *r,\n                                                      const
      char **username,\n                                                      const
      char **password)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:1796,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1798,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/protocol.c:1804,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/protocol.c:1805,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/protocol.c:1808,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/server/protocol.c:1814,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:1815,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/server/protocol.c:1818,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:1819,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:1826,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/protocol.c:1834,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/protocol.c:1835,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:1836,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:1836,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/protocol.c:1843,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/protocol.c:1846,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/server/protocol.c:1854,1
    - Dst: APR_BUCKET_INSERT_BEFORE
      Src: /src/httpd/server/protocol.c:1855,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/protocol.c:1863,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/protocol.c:1863,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/server/protocol.c:1869,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1871,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:1878,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/protocol.c:1879,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/protocol.c:1880,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:1893,1
    - Dst: AP_STATUS_IS_HEADER_ONLY
      Src: /src/httpd/server/protocol.c:1927,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:1931,1
    - Dst: ap_set_content_length
      Src: /src/httpd/server/protocol.c:1932,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1937,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1938
    functionName: ap_content_length_filter
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - apr_brigade_create
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_table_get
    - APR_STATUS_IS_EAGAIN
    - APR_BUCKET_NEXT
    - ap_pass_brigade
    - AP_STATUS_IS_HEADER_ONLY
    - ap_get_core_module_config
    - apr_bucket_flush_create
    - apr_brigade_cleanup
    - APR_BRIGADE_CONCAT
    - ap_log_rerror
    - apr_palloc
    - APLOGNO
    - APR_BUCKET_IS_FLUSH
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    - ap_set_content_length
    - APR_BUCKET_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: "void ap_content_length_filter(\n    ap_filter_t *f,\n    apr_bucket_brigade
      *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1951,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/server/protocol.c:1953,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - r
    - offset
    - len
    - nbytes
    argTypes:
    - apr_file_t*
    - request_rec*
    - apr_off_t
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1964
    functionName: ap_send_fd
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - apr_brigade_insert_file
    - ap_pass_brigade
    - apr_brigade_create
    linkageType: ''
    returnType: void
    signature: "void ap_send_fd(apr_file_t *fd, request_rec *r,\n                                    apr_off_t
      offset, apr_size_t len,\n                                    apr_size_t *nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:1977,1
    - Dst: apr_bucket_mmap_create
      Src: /src/httpd/server/protocol.c:1978,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:1979,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mm
    - r
    - offset
    - length
    argTypes:
    - apr_mmap_t*
    - request_rec*
    - apr_size_t
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1983
    functionName: ap_send_mmap
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - ap_pass_brigade
    - apr_brigade_create
    - apr_bucket_mmap_create
    linkageType: ''
    returnType: void
    signature: "void ap_send_mmap(apr_mmap_t *mm,\n                                    request_rec
      *r,\n                                    apr_size_t offset,\n                                    apr_size_t
      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/protocol.c:1996,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/server/protocol.c:2003,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:2006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2007
    functionName: ap_old_write_filter
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APR_BRIGADE_PREPEND
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void ap_old_write_filter(\n    ap_filter_t *f, apr_bucket_brigade
      *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/protocol.c:2026,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:2027,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/server/protocol.c:2029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2034
    functionName: insert_old_write_filter
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - apr_brigade_create
    - apr_pcalloc
    - ap_add_output_filter
    linkageType: ''
    returnType: ap_filter_t
    signature: ap_filter_t *insert_old_write_filter(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert_old_write_filter
      Src: /src/httpd/server/protocol.c:2046,1
    - Dst: apr_bucket_transient_create
      Src: /src/httpd/server/protocol.c:2054,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:2055,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:2057,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:2058,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:2063,1
    - Dst: ap_fwrite
      Src: /src/httpd/server/protocol.c:2066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - r
    - str
    - len
    argTypes:
    - request_rec*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2036
    functionDepth: 2
    functionLinenumber: 2036
    functionLinenumberEnd: 2067
    functionName: buffer_output
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - ap_fwrite
    - apr_brigade_create
    - apr_bucket_transient_create
    - insert_old_write_filter
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t buffer_output(request_rec *r,\n                                  const
      char *str, apr_size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buffer_output
      Src: /src/httpd/server/protocol.c:2077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2069
    functionDepth: 3
    functionLinenumber: 2069
    functionLinenumberEnd: 2081
    functionName: ap_rputc
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 5
    functionsReached:
    - buffer_output
    linkageType: ''
    returnType: void
    signature: void ap_rputc(int c, request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buffer_output
      Src: /src/httpd/server/protocol.c:2091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - nbyte
    - r
    argTypes:
    - void*
    - int
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2083
    functionDepth: 3
    functionLinenumber: 2083
    functionLinenumberEnd: 2095
    functionName: ap_rwrite
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 7
    functionsReached:
    - buffer_output
    linkageType: ''
    returnType: void
    signature: void ap_rwrite(const void *buf, int nbyte, request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buffer_output
      Src: /src/httpd/server/protocol.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - buff
    argTypes:
    - apr_vformatter_buff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2104
    functionDepth: 3
    functionLinenumber: 2104
    functionLinenumberEnd: 2126
    functionName: r_flush
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - buffer_output
    linkageType: ''
    returnType: int
    signature: int r_flush(apr_vformatter_buff_t *buff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_vformatter
      Src: /src/httpd/server/protocol.c:2142,1
    - Dst: buffer_output
      Src: /src/httpd/server/protocol.c:2148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - fmt
    - va
    argTypes:
    - request_rec*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2128
    functionDepth: 3
    functionLinenumber: 2128
    functionLinenumberEnd: 2155
    functionName: ap_vrprintf
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - buffer_output
    - apr_vformatter
    linkageType: ''
    returnType: void
    signature: void ap_vrprintf(request_rec *r, const char *fmt, va_list va)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/protocol.c:2165,1
    - Dst: ap_vrprintf
      Src: /src/httpd/server/protocol.c:2166,1
    - Dst: va_end
      Src: /src/httpd/server/protocol.c:2167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - fmt
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2157
    functionDepth: 4
    functionLinenumber: 2157
    functionLinenumberEnd: 2170
    functionName: ap_rprintf
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 41
    functionsReached:
    - va_end
    - ap_vrprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_rprintf(request_rec *r, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/protocol.c:2186,1
    - Dst: va_arg
      Src: /src/httpd/server/protocol.c:2188,1
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:2192,1
    - Dst: buffer_output
      Src: /src/httpd/server/protocol.c:2193,1
    - Dst: va_end
      Src: /src/httpd/server/protocol.c:2194,1
    - Dst: va_end
      Src: /src/httpd/server/protocol.c:2200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2172
    functionDepth: 3
    functionLinenumber: 2172
    functionLinenumberEnd: 2203
    functionName: ap_rvputs
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 16
    functionsReached:
    - va_arg
    - buffer_output
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_rvputs(request_rec *r, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert_old_write_filter
      Src: /src/httpd/server/protocol.c:2213,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/server/protocol.c:2216,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:2217,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:2219,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/protocol.c:2220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2205
    functionDepth: 2
    functionLinenumber: 2205
    functionLinenumberEnd: 2225
    functionName: ap_rflush
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 6
    functionsReached:
    - ap_pass_brigade
    - apr_bucket_flush_create
    - insert_old_write_filter
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void ap_rflush(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_rationalize_mtime
      Src: /src/httpd/server/protocol.c:2235,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:2236,1
    - Dst: apr_rfc822_date
      Src: /src/httpd/server/protocol.c:2238,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:2239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2241
    functionName: ap_set_last_modified
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 8
    functionsReached:
    - ap_rationalize_mtime
    - apr_rfc822_date
    - apr_table_setn
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_set_last_modified(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:2259,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:2261,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/server/protocol.c:2262,1
    - Dst: apr_table_get
      Src: /src/httpd/server/protocol.c:2265,1
    - Dst: apr_palloc
      Src: /src/httpd/server/protocol.c:2268,1
    - Dst: ap_recent_rfc822_date
      Src: /src/httpd/server/protocol.c:2269,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:2273,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/protocol.c:2276,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/protocol.c:2278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2249
    functionDepth: 3
    functionLinenumber: 2249
    functionLinenumberEnd: 2279
    functionName: ap_set_std_response_headers
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - apr_table_setn
    - ap_get_server_banner
    - ap_recent_rfc822_date
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void ap_set_std_response_headers(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_VERSION
      Src: /src/httpd/server/protocol.c:2288,1
    - Dst: ap_is_HTTP_INFO
      Src: /src/httpd/server/protocol.c:2292,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:2293,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2293,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/protocol.c:2316,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/protocol.c:2318,1
    - Dst: ap_set_std_response_headers
      Src: /src/httpd/server/protocol.c:2320,1
    - Dst: strlen
      Src: /src/httpd/server/protocol.c:2322,1
    - Dst: ap_bucket_response_create
      Src: /src/httpd/server/protocol.c:2325,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:2328,1
    - Dst: apr_table_clear
      Src: /src/httpd/server/protocol.c:2330,1
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/server/protocol.c:2332,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/protocol.c:2333,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/protocol.c:2334,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/protocol.c:2335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - r
    - send_headers
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2281
    functionDepth: 4
    functionLinenumber: 2281
    functionLinenumberEnd: 2336
    functionName: ap_send_interim_response
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 5
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_destroy
    - ap_log_rerror
    - ap_is_HTTP_INFO
    - APLOGNO
    - apr_brigade_create
    - apr_table_clear
    - apr_bucket_flush_create
    - ap_set_std_response_headers
    - ap_bucket_response_create
    - HTTP_VERSION
    - strlen
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void ap_send_interim_response(request_rec *r, int send_headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_array_str_index
      Src: /src/httpd/server/protocol.c:2347,1
    - Dst: ap_array_str_index
      Src: /src/httpd/server/protocol.c:2348,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:2359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - preferences
    - proto1
    - proto2
    argTypes:
    - apr_array_header_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2342
    functionDepth: 1
    functionLinenumber: 2342
    functionLinenumberEnd: 2360
    functionName: protocol_cmp
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_array_str_index
    linkageType: ''
    returnType: int
    signature: "int protocol_cmp(const apr_array_header_t *preferences,\n                        const
      char *proto1,\n                        const char *proto2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_protocol_get
      Src: /src/httpd/server/protocol.c:2364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2366
    functionName: ap_get_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 5
    functionsReached:
    - ap_run_protocol_get
    linkageType: ''
    returnType: void
    signature: void ap_get_protocol(conn_rec *c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:2380,1
    - Dst: ap_get_protocol
      Src: /src/httpd/server/protocol.c:2383,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2385,1
    - Dst: apr_array_make
      Src: /src/httpd/server/protocol.c:2390,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/protocol.c:2393,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:2394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - c
    - r
    - s
    - report_all
    - pupgrades
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - int
    - apr_array_header_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2368
    functionDepth: 1
    functionLinenumber: 2368
    functionLinenumberEnd: 2407
    functionName: ap_get_protocol_upgrades
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 0
    functionsReached:
    - ap_array_str_contains
    - strcmp
    - APR_ARRAY_IDX
    - ap_get_core_module_config
    - ap_get_protocol
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_get_protocol_upgrades(conn_rec *c, request_rec *r, \n                                                  server_rec
      *s, int report_all, \n                                                  const
      apr_array_header_t **pupgrades)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:2421,1
    - Dst: APLOGcdebug
      Src: /src/httpd/server/protocol.c:2423,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/protocol.c:2424,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2425,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2425,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/protocol.c:2427,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2435,1
    - Dst: apr_array_make
      Src: /src/httpd/server/protocol.c:2443,1
    - Dst: ap_run_protocol_propose
      Src: /src/httpd/server/protocol.c:2444,1
    - Dst: ap_get_protocol
      Src: /src/httpd/server/protocol.c:2449,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2450,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2451,1
    - Dst: APLOGcdebug
      Src: /src/httpd/server/protocol.c:2468,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2469,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2469,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/protocol.c:2471,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/protocol.c:2472,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/protocol.c:2473,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/protocol.c:2476,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2477,1
    - Dst: protocol_cmp
      Src: /src/httpd/server/protocol.c:2482,1
    - Dst: APLOGcdebug
      Src: /src/httpd/server/protocol.c:2488,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2489,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2489,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - c
    - r
    - s
    - choices
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2409
    functionDepth: 2
    functionLinenumber: 2409
    functionLinenumberEnd: 2495
    functionName: ap_select_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - APLOGcdebug
    - ap_array_str_contains
    - ap_get_core_module_config
    - ap_log_cerror
    - APR_ARRAY_IDX
    - APLOGNO
    - ap_run_protocol_propose
    - apr_array_pstrcat
    - ap_get_protocol
    - protocol_cmp
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_select_protocol(conn_rec *c, request_rec *r, \n                                            server_rec
      *s,\n                                            const apr_array_header_t *choices)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_protocol
      Src: /src/httpd/server/protocol.c:2501,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:2504,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2505,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2505,1
    - Dst: ap_run_protocol_switch
      Src: /src/httpd/server/protocol.c:2511,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2514,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2514,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/protocol.c:2522,1
    - Dst: APLOGNO
      Src: /src/httpd/server/protocol.c:2522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - c
    - r
    - s
    - protocol
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2497
    functionDepth: 1
    functionLinenumber: 2497
    functionLinenumberEnd: 2527
    functionName: ap_switch_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ap_log_cerror
    - ap_run_protocol_switch
    - APLOGNO
    - ap_get_protocol
    linkageType: ''
    returnType: void
    signature: "void ap_switch_protocol(conn_rec *c, request_rec *r, \n                                            server_rec
      *s,\n                                            const char *protocol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/protocol.c:2537,1
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/protocol.c:2540,1
    - Dst: strcmp
      Src: /src/httpd/server/protocol.c:2542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - c
    - r
    - s
    - protocol
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2543
    functionName: ap_is_allowed_protocol
    functionSourceFile: /src/httpd/server/protocol.c
    functionUses: 3
    functionsReached:
    - ap_array_str_contains
    - strcmp
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: "void ap_is_allowed_protocol(conn_rec *c, request_rec *r,\n                                       server_rec
      *s, const char *protocol)"
  - 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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: MIN
    functionSourceFile: /src/httpd/server/util_expr_private.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: isatty
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/main.c:69,1
    - Dst: ap_show_mpm
      Src: /src/httpd/server/main.c:69,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/main.c:71,1
    - Dst: printf
      Src: /src/httpd/server/main.c:74,1
    - Dst: printf
      Src: /src/httpd/server/main.c:77,1
    - Dst: printf
      Src: /src/httpd/server/main.c:80,1
    - Dst: printf
      Src: /src/httpd/server/main.c:83,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/main.c:87,1
    - Dst: printf
      Src: /src/httpd/server/main.c:90,1
    - Dst: printf
      Src: /src/httpd/server/main.c:93,1
    - Dst: printf
      Src: /src/httpd/server/main.c:96,1
    - Dst: printf
      Src: /src/httpd/server/main.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: show_mpm_settings
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - ap_show_mpm
    - printf
    - ap_mpm_query
    linkageType: ''
    returnType: void
    signature: void show_mpm_settings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/main.c:106,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/main.c:106,1
    - Dst: printf
      Src: /src/httpd/server/main.c:107,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/main.c:107,1
    - Dst: printf
      Src: /src/httpd/server/main.c:108,1
    - Dst: printf
      Src: /src/httpd/server/main.c:111,1
    - Dst: apr_version_string
      Src: /src/httpd/server/main.c:112,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/server/main.c:112,1
    - Dst: printf
      Src: /src/httpd/server/main.c:113,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/server/main.c:114,1
    - Dst: printf
      Src: /src/httpd/server/main.c:116,1
    - Dst: apr_version_string
      Src: /src/httpd/server/main.c:117,1
    - Dst: apu_version_string
      Src: /src/httpd/server/main.c:117,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/server/main.c:118,1
    - Dst: printf
      Src: /src/httpd/server/main.c:119,1
    - Dst: ap_pcre_version_string
      Src: /src/httpd/server/main.c:121,1
    - Dst: printf
      Src: /src/httpd/server/main.c:127,1
    - Dst: show_mpm_settings
      Src: /src/httpd/server/main.c:129,1
    - Dst: printf
      Src: /src/httpd/server/main.c:131,1
    - Dst: printf
      Src: /src/httpd/server/main.c:133,1
    - Dst: printf
      Src: /src/httpd/server/main.c:137,1
    - Dst: printf
      Src: /src/httpd/server/main.c:141,1
    - Dst: printf
      Src: /src/httpd/server/main.c:145,1
    - Dst: printf
      Src: /src/httpd/server/main.c:149,1
    - Dst: printf
      Src: /src/httpd/server/main.c:153,1
    - Dst: printf
      Src: /src/httpd/server/main.c:157,1
    - Dst: printf
      Src: /src/httpd/server/main.c:161,1
    - Dst: printf
      Src: /src/httpd/server/main.c:165,1
    - Dst: printf
      Src: /src/httpd/server/main.c:169,1
    - Dst: printf
      Src: /src/httpd/server/main.c:171,1
    - Dst: printf
      Src: /src/httpd/server/main.c:173,1
    - Dst: printf
      Src: /src/httpd/server/main.c:178,1
    - Dst: printf
      Src: /src/httpd/server/main.c:181,1
    - Dst: printf
      Src: /src/httpd/server/main.c:184,1
    - Dst: printf
      Src: /src/httpd/server/main.c:187,1
    - Dst: printf
      Src: /src/httpd/server/main.c:190,1
    - Dst: printf
      Src: /src/httpd/server/main.c:194,1
    - Dst: printf
      Src: /src/httpd/server/main.c:198,1
    - Dst: printf
      Src: /src/httpd/server/main.c:201,1
    - Dst: printf
      Src: /src/httpd/server/main.c:204,1
    - Dst: printf
      Src: /src/httpd/server/main.c:207,1
    - Dst: printf
      Src: /src/httpd/server/main.c:210,1
    - Dst: printf
      Src: /src/httpd/server/main.c:213,1
    - Dst: printf
      Src: /src/httpd/server/main.c:216,1
    - Dst: printf
      Src: /src/httpd/server/main.c:220,1
    - Dst: printf
      Src: /src/httpd/server/main.c:224,1
    - Dst: printf
      Src: /src/httpd/server/main.c:228,1
    - Dst: printf
      Src: /src/httpd/server/main.c:232,1
    - Dst: printf
      Src: /src/httpd/server/main.c:236,1
    - Dst: printf
      Src: /src/httpd/server/main.c:238,1
    - Dst: printf
      Src: /src/httpd/server/main.c:242,1
    - Dst: printf
      Src: /src/httpd/server/main.c:245,1
    - Dst: printf
      Src: /src/httpd/server/main.c:249,1
    - Dst: printf
      Src: /src/httpd/server/main.c:254,1
    - Dst: printf
      Src: /src/httpd/server/main.c:258,1
    - Dst: printf
      Src: /src/httpd/server/main.c:262,1
    - Dst: printf
      Src: /src/httpd/server/main.c:266,1
    - Dst: printf
      Src: /src/httpd/server/main.c:270,1
    - Dst: printf
      Src: /src/httpd/server/main.c:274,1
    - Dst: printf
      Src: /src/httpd/server/main.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 280
    functionName: show_compile_settings
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - apr_version_string
    - apu_version_string
    - show_mpm_settings
    - ap_get_server_built
    - ap_pcre_version_string
    - printf
    - ap_get_server_description
    linkageType: ''
    returnType: void
    signature: void show_compile_settings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_sleep
      Src: /src/httpd/server/main.c:300,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/main.c:302,1
    - Dst: apr_terminate
      Src: /src/httpd/server/main.c:303,1
    - Dst: isatty
      Src: /src/httpd/server/main.c:304,1
    - Dst: fileno
      Src: /src/httpd/server/main.c:304,1
    - Dst: fprintf
      Src: /src/httpd/server/main.c:305,1
    - Dst: exit
      Src: /src/httpd/server/main.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - process
    - process_exit_value
    argTypes:
    - process_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 308
    functionName: destroy_and_exit_process
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - apr_terminate
    - fileno
    - fprintf
    - isatty
    - apr_sleep
    - apr_pool_destroy
    - exit
    linkageType: ''
    returnType: void
    signature: "void destroy_and_exit_process(process_rec *process,\n                                     int
      process_exit_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_abort_on_oom
      Src: /src/httpd/server/main.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - retcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: abort_on_oom
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 6
    functionsReached:
    - ap_abort_on_oom
    linkageType: ''
    returnType: int
    signature: int abort_on_oom(int retcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_clear_auth_internal
      Src: /src/httpd/server/main.c:324,1
    - Dst: apr_hook_deregister_all
      Src: /src/httpd/server/main.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: deregister_all_hooks
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - ap_clear_auth_internal
    - apr_hook_deregister_all
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t deregister_all_hooks(void *unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/server/main.c:332,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/main.c:336,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/main.c:337,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/server/main.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: reset_process_pconf
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - apr_pool_clear
    - apr_pool_tag
    - apr_pool_pre_cleanup_register
    - apr_pool_create
    linkageType: ''
    returnType: void
    signature: void reset_process_pconf(process_rec *process)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_app_initialize
      Src: /src/httpd/server/main.c:349,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/main.c:352,1
    - Dst: apr_ctime
      Src: /src/httpd/server/main.c:366,1
    - Dst: apr_time_now
      Src: /src/httpd/server/main.c:366,1
    - Dst: fprintf
      Src: /src/httpd/server/main.c:367,1
    - Dst: apr_terminate
      Src: /src/httpd/server/main.c:370,1
    - Dst: exit
      Src: /src/httpd/server/main.c:371,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/server/main.c:374,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/main.c:375,1
    - Dst: ap_open_stderr_log
      Src: /src/httpd/server/main.c:376,1
    - Dst: apr_palloc
      Src: /src/httpd/server/main.c:383,1
    - Dst: reset_process_pconf
      Src: /src/httpd/server/main.c:387,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/main.c:391,1
    - Dst: ap_thread_main_create
      Src: /src/httpd/server/main.c:397,1
    - Dst: apr_ctime
      Src: /src/httpd/server/main.c:399,1
    - Dst: apr_time_now
      Src: /src/httpd/server/main.c:399,1
    - Dst: fprintf
      Src: /src/httpd/server/main.c:400,1
    - Dst: apr_terminate
      Src: /src/httpd/server/main.c:403,1
    - Dst: exit
      Src: /src/httpd/server/main.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 410
    functionName: init_process
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_terminate
    - ap_open_stderr_log
    - apr_palloc
    - fprintf
    - reset_process_pconf
    - apr_ctime
    - apr_app_initialize
    - apr_pool_tag
    - apr_filepath_name_get
    - apr_pool_create
    - ap_thread_main_create
    - exit
    - apr_pool_abort_set
    linkageType: ''
    returnType: process_rec
    signature: process_rec *init_process(int *argc, const char * const * *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/main.c:415,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:417,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:420,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:424,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:427,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:434,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:438,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:441,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:444,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:447,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:450,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:452,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:455,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:460,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:464,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:467,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:469,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:472,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:474,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:476,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:479,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:481,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:485,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:488,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:490,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:492,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:494,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:497,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:499,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:502,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:504,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:506,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:508,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:510,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:512,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:514,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:516,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:518,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 522
    functionName: usage
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 12
    functionsReached:
    - strlen
    - ap_log_error
    - destroy_and_exit_process
    linkageType: ''
    returnType: void
    signature: void usage(process_rec *process)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/main.c:545,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/main.c:548,1
    - Dst: init_process
      Src: /src/httpd/server/main.c:550,1
    - Dst: ap_init_rng
      Src: /src/httpd/server/main.c:554,1
    - Dst: apr_pool_abort_set
      Src: /src/httpd/server/main.c:558,1
    - Dst: apr_pool_parent_get
      Src: /src/httpd/server/main.c:558,1
    - Dst: ap_init_ebcdic
      Src: /src/httpd/server/main.c:561,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:562,1
    - Dst: apr_array_make
      Src: /src/httpd/server/main.c:567,1
    - Dst: apr_array_make
      Src: /src/httpd/server/main.c:569,1
    - Dst: apr_array_make
      Src: /src/httpd/server/main.c:571,1
    - Dst: ap_setup_prelinked_modules
      Src: /src/httpd/server/main.c:574,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:576,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:576,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:578,1
    - Dst: ap_run_rewrite_args
      Src: /src/httpd/server/main.c:581,1
    - Dst: apr_getopt_init
      Src: /src/httpd/server/main.c:586,1
    - Dst: apr_getopt
      Src: /src/httpd/server/main.c:588,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:594,1
    - Dst: apr_pstrdup::apr_pstrdup
      Src: /src/httpd/server/main.c:595,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:599,1
    - Dst: apr_pstrdup::apr_pstrdup
      Src: /src/httpd/server/main.c:600,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:608,1
    - Dst: apr_pstrdup::apr_pstrdup
      Src: /src/httpd/server/main.c:609,1
    - Dst: strcmp
      Src: /src/httpd/server/main.c:611,1
    - Dst: strcmp
      Src: /src/httpd/server/main.c:614,1
    - Dst: strcmp
      Src: /src/httpd/server/main.c:617,1
    - Dst: strcmp
      Src: /src/httpd/server/main.c:620,1
    - Dst: ap_parse_log_level
      Src: /src/httpd/server/main.c:625,1
    - Dst: usage
      Src: /src/httpd/server/main.c:626,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/main.c:630,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:634,1
    - Dst: printf
      Src: /src/httpd/server/main.c:643,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/main.c:643,1
    - Dst: printf
      Src: /src/httpd/server/main.c:644,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/main.c:644,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:645,1
    - Dst: ap_show_modules
      Src: /src/httpd/server/main.c:648,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:649,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:667,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:669,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/main.c:675,1
    - Dst: strcmp
      Src: /src/httpd/server/main.c:680,1
    - Dst: ap_show_mpm
      Src: /src/httpd/server/main.c:680,1
    - Dst: show_compile_settings
      Src: /src/httpd/server/main.c:681,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:682,1
    - Dst: usage
      Src: /src/httpd/server/main.c:692,1
    - Dst: usage
      Src: /src/httpd/server/main.c:701,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/main.c:705,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/main.c:706,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/main.c:707,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/main.c:708,1
    - Dst: ap_replace_stderr_log
      Src: /src/httpd/server/main.c:718,1
    - Dst: ap_read_config
      Src: /src/httpd/server/main.c:721,1
    - Dst: show_compile_settings
      Src: /src/httpd/server/main.c:726,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:728,1
    - Dst: ap_assert
      Src: /src/httpd/server/main.c:730,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/main.c:731,1
    - Dst: show_compile_settings
      Src: /src/httpd/server/main.c:735,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:736,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/server/main.c:740,1
    - Dst: ap_run_pre_config
      Src: /src/httpd/server/main.c:742,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:743,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:744,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:745,1
    - Dst: ap_process_config_tree
      Src: /src/httpd/server/main.c:748,1
    - Dst: ap_fixup_virtual_hosts
      Src: /src/httpd/server/main.c:751,1
    - Dst: ap_fini_vhost_config
      Src: /src/httpd/server/main.c:752,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/server/main.c:758,1
    - Dst: ap_run_check_config
      Src: /src/httpd/server/main.c:760,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:761,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:762,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:763,1
    - Dst: ap_show_directives
      Src: /src/httpd/server/main.c:768,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:769,1
    - Dst: ap_run_test_config
      Src: /src/httpd/server/main.c:772,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:774,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:776,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:782,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/main.c:785,1
    - Dst: signal_server
      Src: /src/httpd/server/main.c:789,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:790,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/main.c:794,1
    - Dst: ap_run_open_logs
      Src: /src/httpd/server/main.c:796,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:797,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:798,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:799,1
    - Dst: ap_run_post_config
      Src: /src/httpd/server/main.c:802,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:803,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:804,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:805,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/main.c:808,1
    - Dst: reset_process_pconf
      Src: /src/httpd/server/main.c:812,1
    - Dst: ap_register_hooks
      Src: /src/httpd/server/main.c:817,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/main.c:825,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/main.c:826,1
    - Dst: ap_read_config
      Src: /src/httpd/server/main.c:829,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:830,1
    - Dst: ap_assert
      Src: /src/httpd/server/main.c:832,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/main.c:833,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/server/main.c:836,1
    - Dst: ap_run_pre_config
      Src: /src/httpd/server/main.c:838,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:839,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:840,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:841,1
    - Dst: ap_process_config_tree
      Src: /src/httpd/server/main.c:844,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:846,1
    - Dst: ap_fixup_virtual_hosts
      Src: /src/httpd/server/main.c:848,1
    - Dst: ap_fini_vhost_config
      Src: /src/httpd/server/main.c:849,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/server/main.c:855,1
    - Dst: ap_run_check_config
      Src: /src/httpd/server/main.c:857,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:858,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:859,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:860,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/main.c:863,1
    - Dst: ap_run_open_logs
      Src: /src/httpd/server/main.c:864,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:865,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:866,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:867,1
    - Dst: ap_run_post_config
      Src: /src/httpd/server/main.c:870,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:871,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:872,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:873,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/main.c:876,1
    - Dst: apr_pool_lock
      Src: /src/httpd/server/main.c:877,1
    - Dst: ap_run_optional_fn_retrieve
      Src: /src/httpd/server/main.c:879,1
    - Dst: ap_run_mpm
      Src: /src/httpd/server/main.c:882,1
    - Dst: apr_pool_lock
      Src: /src/httpd/server/main.c:884,1
    - Dst: ap_log_error
      Src: /src/httpd/server/main.c:892,1
    - Dst: APLOGNO
      Src: /src/httpd/server/main.c:892,1
    - Dst: destroy_and_exit_process
      Src: /src/httpd/server/main.c:895,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 235
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 899
    functionName: main
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 10
    functionsReached:
    - apr_pstrdup::apr_pstrdup
    - ap_process_config_tree
    - ap_run_test_config
    - ap_show_mpm
    - signal_server
    - ap_init_rng
    - ap_fixup_virtual_hosts
    - apr_hook_sort_all
    - ap_fini_vhost_config
    - APR_OPTIONAL_FN_TYPE
    - show_compile_settings
    - ap_register_hooks
    - ap_show_modules
    - ap_run_optional_fn_retrieve
    - ap_run_check_config
    - reset_process_pconf
    - apr_pstrdup
    - ap_read_config
    - destroy_and_exit_process
    - ap_run_mpm
    - ap_replace_stderr_log
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_run_post_config
    - strcmp
    - AP_MONCONTROL
    - ap_show_directives
    - usage
    - apr_pool_create
    - apr_pool_clear
    - ap_log_error
    - ap_run_pre_config
    - apr_pool_destroy
    - ap_assert
    - init_process
    - ap_get_server_description
    - apr_getopt
    - APLOGNO
    - apr_getopt_init
    - ap_run_rewrite_args
    - ap_get_server_built
    - apr_pool_tag
    - ap_setup_prelinked_modules
    - ap_run_open_logs
    - ap_init_ebcdic
    - apr_pool_lock
    - ap_parse_log_level
    - apr_array_push::apr_array_push
    - apr_pool_parent_get
    - printf
    - apr_pool_abort_set
    - apr_array_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: ap_suck_in_APR
    functionSourceFile: /src/httpd/server/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ap_suck_in_APR(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: LOG_MARK
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_MARK(info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ap_expr_eval_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: inc_rec
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int inc_rec(ap_expr_eval_ctx_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:115,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:120,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/util_expr_eval.c:123,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:125,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:126,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:127,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:128,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:130,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:131,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p
    - list
    - sep
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: ap_expr_list_pstrcat
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_varbuf_init
    - strlen
    - ap_varbuf_strmemcat
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: char
    signature: "char *ap_expr_list_pstrcat(apr_pool_t *p,\n                                        const
      apr_array_header_t *list,\n                                        const char
      *sep)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: inc_rec
      Src: /src/httpd/server/util_expr_eval.c:141,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:149,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:152,1
    - Dst: ap_expr_eval_var
      Src: /src/httpd/server/util_expr_eval.c:155,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:161,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:162,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_expr_eval.c:168,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:179,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:184,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:186,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:190,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:191,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/server/util_expr_eval.c:192,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:202,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:206,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:208,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:212,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:213,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/server/util_expr_eval.c:215,1
    - Dst: ap_expr_eval_string_func
      Src: /src/httpd/server/util_expr_eval.c:221,1
    - Dst: ap_expr_list_make
      Src: /src/httpd/server/util_expr_eval.c:226,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:227,1
    - Dst: ap_expr_list_pstrcat
      Src: /src/httpd/server/util_expr_eval.c:228,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:233,1
    - Dst: ap_expr_regexec
      Src: /src/httpd/server/util_expr_eval.c:234,1
    - Dst: ap_expr_eval_re_backref
      Src: /src/httpd/server/util_expr_eval.c:239,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 250
    functionName: ap_expr_eval_word
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - ap_expr_eval_word
    - inc_rec
    - ap_expr_eval_var
    - ap_expr_list_make
    - apr_palloc
    - apr_pstrcat
    - ap_expr_eval_re_backref
    - ap_expr_eval_cond
    - ap_expr_eval_string_func
    - apr_pstrcatv
    - strlen
    - ap_expr_regexec
    - ap_expr_list_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *ap_expr_eval_word(ap_expr_eval_ctx_t *ctx,\n                                     const
      ap_expr_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:256,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - func
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_var_func_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: ap_expr_eval_var
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: char
    signature: "char *ap_expr_eval_var(ap_expr_eval_ctx_t *ctx,\n                                    ap_expr_var_func_t
      *func,\n                                    const void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrndup
      Src: /src/httpd/server/util_expr_eval.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - ap_expr_eval_ctx_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: ap_expr_eval_re_backref
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - apr_pstrndup
    linkageType: ''
    returnType: char
    signature: char *ap_expr_eval_re_backref(ap_expr_eval_ctx_t *ctx, unsigned int
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:282,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:283,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:284,1
    - Dst: ap_expr_list_make
      Src: /src/httpd/server/util_expr_eval.c:288,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - info
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: ap_expr_eval_string_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - ap_expr_list_make
    - AP_DEBUG_ASSERT
    - ap_expr_eval_word
    linkageType: ''
    returnType: char
    signature: "char *ap_expr_eval_string_func(ap_expr_eval_ctx_t *ctx,\n                                            const
      ap_expr_t *info,\n                                            const ap_expr_t
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atoi64
      Src: /src/httpd/server/util_expr_eval.c:299,1
    - Dst: apr_atoi64
      Src: /src/httpd/server/util_expr_eval.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: intstrcmp
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_atoi64
    linkageType: ''
    returnType: int
    signature: int intstrcmp(const char *s1, const char *s2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/util_expr_eval.c:325,1
    - Dst: ap_regexec
      Src: /src/httpd/server/util_expr_eval.c:340,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:345,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:349,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:350,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:353,1
    - Dst: memcpy
      Src: /src/httpd/server/util_expr_eval.c:354,1
    - Dst: memcpy
      Src: /src/httpd/server/util_expr_eval.c:355,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util_expr_eval.c:359,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:360,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:361,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:364,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:364,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:389,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - subject
    - reg
    - list
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - apr_array_header_t*
    - ap_expr_eval_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 399
    functionName: ap_expr_regexec
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - ap_expr_eval_word
    - ap_varbuf_strmemcat
    - apr_palloc
    - AP_DEBUG_ASSERT
    - ap_varbuf_grow
    - ap_regexec
    - ap_varbuf_init
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *ap_expr_regexec(const char *subject,\n                                   const
      ap_expr_t *reg,\n                                   apr_array_header_t *list,\n
      \                                  ap_expr_eval_ctx_t *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_list_make
      Src: /src/httpd/server/util_expr_eval.c:409,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util_expr_eval.c:412,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:414,1
    - Dst: ap_expr_regexec
      Src: /src/httpd/server/util_expr_eval.c:415,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:422,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util_expr_eval.c:426,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:429,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:436,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:437,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:439,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util_expr_eval.c:442,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 447
    functionName: ap_expr_list_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 3
    functionsReached:
    - ap_expr_list_make
    - ap_expr_eval_word
    - APR_ARRAY_IDX
    - AP_DEBUG_ASSERT
    - ap_expr_regexec
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *ap_expr_list_make(ap_expr_eval_ctx_t *ctx,\n                                             const
      ap_expr_t *node)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:455,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:455,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:455,1
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:457,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:457,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:457,1
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:459,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:459,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:459,1
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:461,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:461,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:461,1
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:463,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:463,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:463,1
    - Dst: intstrcmp
      Src: /src/httpd/server/util_expr_eval.c:465,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:465,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:465,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:467,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:467,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:467,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:469,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:469,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:469,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:471,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:471,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:471,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:473,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:473,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:473,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:475,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:475,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:475,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:477,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:477,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:477,1
    - Dst: ap_expr_list_make
      Src: /src/httpd/server/util_expr_eval.c:482,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:484,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:486,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:487,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:496,1
    - Dst: ap_regexec
      Src: /src/httpd/server/util_expr_eval.c:505,1
    - Dst: ap_regexec
      Src: /src/httpd/server/util_expr_eval.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 519
    functionName: ap_expr_eval_comp
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_eval_word
    - ap_expr_list_make
    - strcmp
    - APR_ARRAY_IDX
    - ap_regexec
    - intstrcmp
    linkageType: ''
    returnType: int
    signature: int ap_expr_eval_comp(ap_expr_eval_ctx_t *ctx, const ap_expr_t *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:530,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: strcmplex
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int strcmplex(const char *str1, const char *str2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:552,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:552,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:552,1
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:555,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:555,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:555,1
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:558,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:558,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:558,1
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:561,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:561,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:561,1
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:564,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:564,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:564,1
    - Dst: strcmplex
      Src: /src/httpd/server/util_expr_eval.c:567,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:567,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:567,1
    - Dst: ap_expr_eval_comp
      Src: /src/httpd/server/util_expr_eval.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 571
    functionName: ssl_expr_eval_comp
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_eval_word
    - ap_expr_eval_comp
    - strcmplex
    linkageType: ''
    returnType: int
    signature: int ssl_expr_eval_comp(ap_expr_eval_ctx_t *ctx, const ap_expr_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_expr_lookup
      Src: /src/httpd/server/util_expr_eval.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: ap_expr_lookup_default
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - ap_run_expr_lookup
    linkageType: ''
    returnType: void
    signature: void ap_expr_lookup_default(ap_expr_lookup_parms *parms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/util_expr_eval.c:585,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:589,1
    - Dst: ap_expr_yylex_init
      Src: /src/httpd/server/util_expr_eval.c:595,1
    - Dst: ap_expr_yyset_extra
      Src: /src/httpd/server/util_expr_eval.c:599,1
    - Dst: ap_expr_yyparse
      Src: /src/httpd/server/util_expr_eval.c:600,1
    - Dst: ap_expr_yylex_destroy
      Src: /src/httpd/server/util_expr_eval.c:601,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:609,1
    - Dst: expr_dump_tree
      Src: /src/httpd/server/util_expr_eval.c:622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - pool
    - ptemp
    - info
    - expr
    - lookup_fn
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - ap_expr_info_t*
    - char*
    - ap_expr_lookup_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 628
    functionName: ap_expr_parse
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 4
    functionsReached:
    - ap_expr_yyparse
    - memset
    - expr_dump_tree
    - ap_expr_yyset_extra
    - ap_expr_yylex_destroy
    - apr_psprintf
    - strlen
    - ap_expr_yylex_init
    linkageType: ''
    returnType: void
    signature: "void ap_expr_parse(apr_pool_t *pool, apr_pool_t *ptemp,\n                                       ap_expr_info_t
      *info, const char *expr,\n                                       ap_expr_lookup_fn_t
      *lookup_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_expr_eval.c:637,1
    - Dst: ap_expr_parse
      Src: /src/httpd/server/util_expr_eval.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - cmd
    - expr
    - flags
    - err
    - lookup_fn
    - module_index
    argTypes:
    - cmd_parms*
    - char*
    - unsigned int
    - char**
    - ap_expr_lookup_fn_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 654
    functionName: ap_expr_parse_cmd_mi
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void ap_expr_parse_cmd_mi(const cmd_parms *cmd,\n                                                 const
      char *expr,\n                                                 unsigned int flags,\n
      \                                                const char **err,\n                                                 ap_expr_lookup_fn_t
      *lookup_fn,\n                                                 int module_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - op
    - a1
    - a2
    - ctx
    argTypes:
    - ap_expr_node_op_e
    - void*
    - void*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: ap_expr_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_make(ap_expr_node_op_e op, const void *a1, const
      void *a2,\n                        ap_expr_parse_ctx_t *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - a1
    - a2
    - ctx
    argTypes:
    - void*
    - void*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: ap_expr_concat_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_concat_make(const void *a1, const void *a2,\n                               ap_expr_parse_ctx_t
      *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_expr_eval.c:693,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/util_expr_eval.c:713,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - pattern
    - subst
    - flags
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - char*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 723
    functionName: ap_expr_regex_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pcalloc
    - ap_pregcomp
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_regex_make(const char *pattern, const ap_expr_t
      *subst,\n                              const char *flags, ap_expr_parse_ctx_t
      *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:729,1
    - Dst: ap_expr_parse_ctx_t*::lookup_fn
      Src: /src/httpd/server/util_expr_eval.c:760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - type
    - name
    - ctx
    - arg
    argTypes:
    - int
    - char*
    - ap_expr_parse_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 763
    functionName: ap_expr_info_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_expr_parse_ctx_t*::lookup_fn
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_info_make(int type, const char *name,\n                                  ap_expr_parse_ctx_t
      *ctx,\n                                  const ap_expr_t *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_info_make
      Src: /src/httpd/server/util_expr_eval.c:768,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - arg
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: ap_expr_str_func_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    - ap_expr_info_make
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_str_func_make(const char *name, const ap_expr_t
      *arg,\n                               ap_expr_parse_ctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_info_make
      Src: /src/httpd/server/util_expr_eval.c:779,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - arg
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: ap_expr_list_func_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    - ap_expr_info_make
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_list_func_make(const char *name, const ap_expr_t
      *arg,\n                                ap_expr_parse_ctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_info_make
      Src: /src/httpd/server/util_expr_eval.c:790,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - arg
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 796
    functionName: ap_expr_unary_op_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    - ap_expr_info_make
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_unary_op_make(const char *name, const ap_expr_t
      *arg,\n                               ap_expr_parse_ctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_info_make
      Src: /src/httpd/server/util_expr_eval.c:802,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:808,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - arg1
    - arg2
    - ctx
    argTypes:
    - char*
    - ap_expr_t*
    - ap_expr_t*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: ap_expr_binary_op_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    - ap_expr_info_make
    linkageType: ''
    returnType: ap_expr_t
    signature: "ap_expr_t *ap_expr_binary_op_make(const char *name, const ap_expr_t
      *arg1,\n                                const ap_expr_t *arg2, ap_expr_parse_ctx_t
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_info_make
      Src: /src/httpd/server/util_expr_eval.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - char*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: ap_expr_var_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_info_make
    linkageType: ''
    returnType: ap_expr_t
    signature: ap_expr_t *ap_expr_var_make(const char *name, ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util_expr_eval.c:825,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_eval.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - ctx
    argTypes:
    - int
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: ap_expr_backref_make
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_make
    - apr_pmemdup
    linkageType: ''
    returnType: ap_expr_t
    signature: ap_expr_t *ap_expr_backref_make(int num, ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 837
    functionName: DUMP_E_E
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_E_E(op, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - s1
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: DUMP_S_E
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_S_E(op, s1, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - s1
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 843
    functionName: DUMP_S_P
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_S_P(op, s1, p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: DUMP_P_P
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_P_P(op, p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionName: DUMP_S_S
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_S_S(op, s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 849
    functionName: DUMP_P
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_P(op, p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 851
    functionName: DUMP_IP
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_IP(op, p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - s1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 853
    functionName: DUMP_S
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_S(op, s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: CASE_OP
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_OP(op)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:867,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:868,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:869,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:871,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_expr_eval.c:873,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:884,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:885,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:886,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:888,1
    - Dst: DUMP_S_E
      Src: /src/httpd/server/util_expr_eval.c:890,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:926,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:927,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:928,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:929,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:930,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:931,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:932,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:933,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:934,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:935,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:936,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:937,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:938,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:939,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:940,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:941,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:942,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:943,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:944,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:945,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:946,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:947,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:948,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:949,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:950,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:951,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:952,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:953,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:955,1
    - Dst: DUMP_E_E
      Src: /src/httpd/server/util_expr_eval.c:957,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:966,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:967,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:969,1
    - Dst: DUMP_S
      Src: /src/httpd/server/util_expr_eval.c:971,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:983,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:984,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:985,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:986,1
    - Dst: CASE_OP
      Src: /src/httpd/server/util_expr_eval.c:987,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:989,1
    - Dst: DUMP_P_P
      Src: /src/httpd/server/util_expr_eval.c:991,1
    - Dst: DUMP_P
      Src: /src/httpd/server/util_expr_eval.c:996,1
    - Dst: DUMP_IP
      Src: /src/httpd/server/util_expr_eval.c:1000,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_expr_eval.c:1003,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 129
    argCount: 4
    argNames:
    - e
    - s
    - loglevel
    - indent
    argTypes:
    - ap_expr_t*
    - server_rec*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 1006
    functionName: expr_dump_tree
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - DUMP_IP
    - DUMP_S_E
    - CASE_OP
    - DUMP_P
    - DUMP_E_E
    - DUMP_P_P
    - ap_log_error
    - DUMP_S
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void expr_dump_tree(const ap_expr_t *e, const server_rec *s,\n                           int
      loglevel, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - level
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1021
    functionName: expr_eval_log
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expr_eval_log(ctx, level, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1028,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1029,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1030,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - info
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1032
    functionName: ap_expr_eval_unary_op
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_eval_word
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: "int ap_expr_eval_unary_op(ap_expr_eval_ctx_t *ctx, const ap_expr_t
      *info,\n                                 const ap_expr_t *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1043,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1044,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1045,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1046,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:1047,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - info
    - args
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1049
    functionName: ap_expr_eval_binary_op
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_expr_eval_word
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: "int ap_expr_eval_binary_op(ap_expr_eval_ctx_t *ctx,\n                                  const
      ap_expr_t *info,\n                                  const ap_expr_t *args)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: inc_rec
      Src: /src/httpd/server/util_expr_eval.c:1057,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:1074,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:1080,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:1092,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:1098,1
    - Dst: ap_expr_eval_unary_op
      Src: /src/httpd/server/util_expr_eval.c:1108,1
    - Dst: ap_expr_eval_binary_op
      Src: /src/httpd/server/util_expr_eval.c:1111,1
    - Dst: ssl_expr_eval_comp
      Src: /src/httpd/server/util_expr_eval.c:1115,1
    - Dst: ap_expr_eval_comp
      Src: /src/httpd/server/util_expr_eval.c:1117,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - ap_expr_eval_ctx_t*
    - ap_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1052
    functionDepth: 7
    functionLinenumber: 1052
    functionLinenumberEnd: 1129
    functionName: ap_expr_eval_cond
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 2
    functionsReached:
    - inc_rec
    - ap_expr_eval_binary_op
    - ap_expr_eval_comp
    - ap_expr_eval_cond
    - ssl_expr_eval_comp
    - ap_expr_eval_unary_op
    linkageType: ''
    returnType: int
    signature: int ap_expr_eval_cond(ap_expr_eval_ctx_t *ctx, const ap_expr_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_exec_re
      Src: /src/httpd/server/util_expr_eval.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - info
    - err
    argTypes:
    - request_rec*
    - ap_expr_info_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: ap_expr_exec
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 9
    functionsReached:
    - ap_expr_exec_re
    linkageType: ''
    returnType: void
    signature: "void ap_expr_exec(request_rec *r, const ap_expr_info_t *info,\n                             const
      char **err)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1141,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1142,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1143,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1145,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1146,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1161,1
    - Dst: ap_expr_eval_word
      Src: /src/httpd/server/util_expr_eval.c:1166,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1168,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_expr_eval.c:1168,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1173,1
    - Dst: ap_expr_eval_cond
      Src: /src/httpd/server/util_expr_eval.c:1181,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1183,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_expr_eval.c:1183,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1189,1
    - Dst: apr_table_merge
      Src: /src/httpd/server/util_expr_eval.c:1194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ap_expr_eval_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1137
    functionDepth: 8
    functionLinenumber: 1137
    functionLinenumberEnd: 1199
    functionName: ap_expr_exec_ctx
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - ap_expr_eval_word
    - AP_DEBUG_ASSERT
    - APLOGNO
    - ap_expr_eval_cond
    - apr_table_merge
    - expr_eval_log
    linkageType: ''
    returnType: void
    signature: void ap_expr_exec_ctx(ap_expr_eval_ctx_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1210,1
    - Dst: ap_expr_exec_ctx
      Src: /src/httpd/server/util_expr_eval.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 6
    argNames:
    - r
    - info
    - nmatch
    - pmatch
    - source
    - err
    argTypes:
    - request_rec*
    - ap_expr_info_t*
    - apr_size_t
    - ap_regmatch_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1201
    functionDepth: 9
    functionLinenumber: 1201
    functionLinenumberEnd: 1231
    functionName: ap_expr_exec_re
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 4
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_expr_exec_ctx
    linkageType: ''
    returnType: void
    signature: "void ap_expr_exec_re(request_rec *r, const ap_expr_info_t *info,\n
      \                               apr_size_t nmatch, ap_regmatch_t *pmatch,\n
      \                               const char **source, const char **err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1246,1
    - Dst: ap_expr_exec_ctx
      Src: /src/httpd/server/util_expr_eval.c:1278,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 6
    argNames:
    - r
    - info
    - nmatch
    - pmatch
    - source
    - err
    argTypes:
    - request_rec*
    - ap_expr_info_t*
    - apr_size_t
    - ap_regmatch_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1233
    functionDepth: 9
    functionLinenumber: 1233
    functionLinenumberEnd: 1287
    functionName: ap_expr_str_exec_re
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 1
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_assert
    - ap_expr_exec_ctx
    linkageType: ''
    returnType: void
    signature: "void ap_expr_str_exec_re(request_rec *r,\n                                             const
      ap_expr_info_t *info,\n                                             apr_size_t
      nmatch,\n                                             ap_regmatch_t *pmatch,\n
      \                                            const char **source,\n                                             const
      char **err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_str_exec_re
      Src: /src/httpd/server/util_expr_eval.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - info
    - err
    argTypes:
    - request_rec*
    - ap_expr_info_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1289
    functionDepth: 10
    functionLinenumber: 1289
    functionLinenumberEnd: 1294
    functionName: ap_expr_str_exec
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 27
    functionsReached:
    - ap_expr_str_exec_re
    linkageType: ''
    returnType: void
    signature: "void ap_expr_str_exec(request_rec *r,\n                                          const
      ap_expr_info_t *info,\n                                          const char
      **err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_expr_eval.c:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - ap_expr_eval_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1309
    functionName: add_vary
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void add_vary(ap_expr_eval_ctx_t *ctx, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1321,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_expr_eval.c:1338,1
    - Dst: add_vary
      Src: /src/httpd/server/util_expr_eval.c:1339,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1343
    functionName: req_table_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - add_vary
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char *req_table_func(ap_expr_eval_ctx_t *ctx, const void *data,\n
      \                                 const char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1351,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1353,1
    - Dst: getenv
      Src: /src/httpd/server/util_expr_eval.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1357
    functionName: env_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - getenv
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: "char *env_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                            const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/httpd/server/util_expr_eval.c:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1363
    functionName: osenv_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: "char *osenv_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                              const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_expr_eval.c:1368,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/util_expr_eval.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1371
    functionName: tolower_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_str_tolower
    linkageType: ''
    returnType: char
    signature: "char *tolower_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                                const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_expr_eval.c:1376,1
    - Dst: ap_str_toupper
      Src: /src/httpd/server/util_expr_eval.c:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1379
    functionName: toupper_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_str_toupper
    linkageType: ''
    returnType: char
    signature: "char *toupper_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                                const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_uri
      Src: /src/httpd/server/util_expr_eval.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: escape_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_escape_uri
    linkageType: ''
    returnType: char
    signature: "char *escape_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64encode
      Src: /src/httpd/server/util_expr_eval.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1391
    functionName: base64_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_pbase64encode
    linkageType: ''
    returnType: char
    signature: "char *base64_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pbase64decode
      Src: /src/httpd/server/util_expr_eval.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1397
    functionName: unbase64_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_pbase64decode
    linkageType: ''
    returnType: char
    signature: "char *unbase64_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:1406,1
    - Dst: apr_sha1_init
      Src: /src/httpd/server/util_expr_eval.c:1408,1
    - Dst: apr_sha1_update
      Src: /src/httpd/server/util_expr_eval.c:1409,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:1409,1
    - Dst: apr_sha1_final
      Src: /src/httpd/server/util_expr_eval.c:1410,1
    - Dst: ap_bin2hex
      Src: /src/httpd/server/util_expr_eval.c:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1415
    functionName: sha1_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_sha1_init
    - strlen
    - ap_bin2hex
    - apr_sha1_final
    - apr_sha1_update
    linkageType: ''
    returnType: char
    signature: "char *sha1_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_md5
      Src: /src/httpd/server/util_expr_eval.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1421
    functionName: md5_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_md5
    linkageType: ''
    returnType: char
    signature: "char *md5_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pescape_ldap
      Src: /src/httpd/server/util_expr_eval.c:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1428
    functionName: ldap_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_pescape_ldap
    linkageType: ''
    returnType: char
    signature: "char *ldap_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_escape_html
      Src: /src/httpd/server/util_expr_eval.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1435
    functionName: escapehtml_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_escape_html
    linkageType: ''
    returnType: char
    signature: "char *escapehtml_func(ap_expr_eval_ctx_t *ctx, const void *data,\n
      \                                  const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1443,1
    - Dst: apr_strmatch_precompile
      Src: /src/httpd/server/util_expr_eval.c:1447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1450
    functionName: replace_func_parse_arg
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_strmatch_precompile
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int replace_func_parse_arg(ap_expr_lookup_parms *parms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1463,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:1468,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:1469,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util_expr_eval.c:1470,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:1471,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:1472,1
    - Dst: strlen
      Src: /src/httpd/server/util_expr_eval.c:1473,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/util_expr_eval.c:1475,1
    - Dst: apr_strmatch
      Src: /src/httpd/server/util_expr_eval.c:1478,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:1480,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util_expr_eval.c:1481,1
    - Dst: ap_varbuf_pdup
      Src: /src/httpd/server/util_expr_eval.c:1488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - args
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1489
    functionName: replace_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_varbuf_pdup
    - ap_varbuf_strmemcat
    - APR_ARRAY_IDX
    - apr_strmatch
    - apr_psprintf
    - ap_varbuf_init
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *replace_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
      apr_array_header_t *args)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open
      Src: /src/httpd/server/util_expr_eval.c:1501,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1503,1
    - Dst: apr_file_info_get
      Src: /src/httpd/server/util_expr_eval.c:1506,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1508,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_expr_eval.c:1509,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_expr_eval.c:1514,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_expr_eval.c:1518,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_expr_eval.c:1520,1
    - Dst: apr_file_seek
      Src: /src/httpd/server/util_expr_eval.c:1524,1
    - Dst: apr_file_read
      Src: /src/httpd/server/util_expr_eval.c:1525,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1526,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_expr_eval.c:1527,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_expr_eval.c:1532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1534
    functionName: file_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_file_info_get
    - apr_file_close
    - apr_file_seek
    - apr_psprintf
    - apr_file_open
    - apr_file_read
    linkageType: ''
    returnType: char
    signature: "char *file_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                             char
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_stat_check
      Src: /src/httpd/server/util_expr_eval.c:1539,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1543
    functionName: stat_check
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 2
    functionsReached:
    - ap_stat_check
    - apr_psprintf
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t stat_check(ap_expr_eval_ctx_t *ctx, const void *data,
      const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1548,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1551,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1544
    functionDepth: 2
    functionLinenumber: 1544
    functionLinenumberEnd: 1556
    functionName: filesize_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - stat_check
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *filesize_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                                  char
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1562,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1565,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1570
    functionName: filemod_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - stat_check
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *filemod_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                                  char
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_expr_eval.c:1576,1
    - Dst: ap_unescape_url_keep2f
      Src: /src/httpd/server/util_expr_eval.c:1577,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1580,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_expr_eval.c:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1585
    functionName: unescape_func
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_pstrdup
    - expr_eval_log
    - ap_unescape_url_keep2f
    linkageType: ''
    returnType: char
    signature: "char *unescape_func(ap_expr_eval_ctx_t *ctx, const void *data,\n                                 const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1594
    functionName: op_nz
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op_nz(ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1600,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1603,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:1615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1596
    functionDepth: 2
    functionLinenumber: 1596
    functionLinenumberEnd: 1618
    functionName: op_file_min
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - stat_check
    - ap_assert
    linkageType: ''
    returnType: int
    signature: int op_file_min(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1624,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1620
    functionDepth: 2
    functionLinenumber: 1620
    functionLinenumberEnd: 1633
    functionName: op_file_link
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - stat_check
    linkageType: ''
    returnType: int
    signature: int op_file_link(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1638,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1646
    functionName: op_file_xbit
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_stat
    - stat_check
    linkageType: ''
    returnType: int
    signature: int op_file_xbit(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:1655,1
    - Dst: ap_sub_req_lookup_uri
      Src: /src/httpd/server/util_expr_eval.c:1658,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1662,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/server/util_expr_eval.c:1666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1668
    functionName: op_url_subr
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_destroy_sub_req
    - strcmp
    - expr_eval_log
    - ap_sub_req_lookup_uri
    linkageType: ''
    returnType: int
    signature: int op_url_subr(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat_check
      Src: /src/httpd/server/util_expr_eval.c:1677,1
    - Dst: ap_sub_req_lookup_file
      Src: /src/httpd/server/util_expr_eval.c:1680,1
    - Dst: apr_stat
      Src: /src/httpd/server/util_expr_eval.c:1683,1
    - Dst: expr_eval_log
      Src: /src/httpd/server/util_expr_eval.c:1686,1
    - Dst: ap_destroy_sub_req
      Src: /src/httpd/server/util_expr_eval.c:1690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1670
    functionDepth: 2
    functionLinenumber: 1670
    functionLinenumberEnd: 1692
    functionName: op_file_subr
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - expr_eval_log
    - ap_destroy_sub_req
    - stat_check
    - ap_sub_req_lookup_file
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int op_file_subr(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/server/util_expr_eval.c:1716,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/httpd/server/util_expr_eval.c:1725,1
    - Dst: is_http2
      Src: /src/httpd/server/util_expr_eval.c:1738,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:1743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1746
    functionName: conn_var_fn
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - ap_ssl_conn_is_ssl
    - ap_assert
    - is_http2
    linkageType: ''
    returnType: char
    signature: char *conn_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: ap_http_scheme
      Src: /src/httpd/server/util_expr_eval.c:1796,1
    - Dst: ap_get_useragent_host
      Src: /src/httpd/server/util_expr_eval.c:1802,1
    - Dst: ap_get_remote_logname
      Src: /src/httpd/server/util_expr_eval.c:1804,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/util_expr_eval.c:1810,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1812,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/util_expr_eval.c:1812,1
    - Dst: ap_document_root
      Src: /src/httpd/server/util_expr_eval.c:1824,1
    - Dst: apr_uid_name_get
      Src: /src/httpd/server/util_expr_eval.c:1839,1
    - Dst: apr_gid_name_get
      Src: /src/httpd/server/util_expr_eval.c:1846,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1851,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/server/util_expr_eval.c:1857,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1858,1
    - Dst: ap_context_prefix
      Src: /src/httpd/server/util_expr_eval.c:1864,1
    - Dst: ap_context_document_root
      Src: /src/httpd/server/util_expr_eval.c:1866,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1868,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1877,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/server/util_expr_eval.c:1879,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1883,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/httpd/server/util_expr_eval.c:1883,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/server/util_expr_eval.c:1885,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1890,1
    - Dst: HTTP_VERSION_MINOR
      Src: /src/httpd/server/util_expr_eval.c:1890,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1892,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:1894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 105
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1897
    functionName: request_var_fn
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_time_exp_lt
    - HTTP_VERSION_MAJOR
    - ap_context_document_root
    - apr_gid_name_get
    - apr_uid_name_get
    - ap_assert
    - ap_context_prefix
    - ap_get_useragent_host
    - HTTP_VERSION_MINOR
    - apr_psprintf
    - ap_get_server_port
    - apr_table_get
    - ap_document_root
    - ap_http_scheme
    - ap_get_server_name_for_url
    - ap_get_remote_logname
    linkageType: ''
    returnType: char
    signature: char *request_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:1926,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_expr_eval.c:1934,1
    - Dst: add_vary
      Src: /src/httpd/server/util_expr_eval.c:1935,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util_expr_eval.c:1937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1920
    functionDepth: 1
    functionLinenumber: 1920
    functionLinenumberEnd: 1938
    functionName: req_header_var_fn
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - add_vary
    - apr_table_get
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *req_header_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_exp_lt
      Src: /src/httpd/server/util_expr_eval.c:1958,1
    - Dst: apr_time_now
      Src: /src/httpd/server/util_expr_eval.c:1958,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1962,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1965,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1967,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1969,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1971,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1973,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1975,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:1977,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/util_expr_eval.c:1982,1
    - Dst: apr_itoa
      Src: /src/httpd/server/util_expr_eval.c:1984,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:1986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1990
    functionName: misc_var_fn
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_itoa
    - ap_get_server_banner
    - apr_psprintf
    - ap_assert
    - apr_time_exp_lt
    linkageType: ''
    returnType: char
    signature: char *misc_var_fn(ap_expr_eval_ctx_t *ctx, const void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:2000,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_expr_eval.c:2006,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_expr_eval.c:2008,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/server/util_expr_eval.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2020
    functionName: subnet_parse_arg
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_strchr_c
    - apr_ipsubnet_create
    - apr_psprintf
    - apr_pstrmemdup
    linkageType: ''
    returnType: int
    signature: int subnet_parse_arg(ap_expr_lookup_parms *parms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:2028,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/util_expr_eval.c:2031,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/server/util_expr_eval.c:2034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - data
    - arg1
    - arg2
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2022
    functionDepth: 1
    functionLinenumber: 2022
    functionLinenumberEnd: 2035
    functionName: op_ipmatch
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - AP_DEBUG_ASSERT
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: "int op_ipmatch(ap_expr_eval_ctx_t *ctx, const void *data, const char
      *arg1,\n                const char *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_expr_eval.c:2041,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/server/util_expr_eval.c:2046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - arg1
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2047
    functionName: op_R
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_ipsubnet_test
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: int op_R(ap_expr_eval_ctx_t *ctx, const void *data, const char *arg1)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/util_expr_eval.c:2056,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_expr_eval.c:2059,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_expr_eval.c:2062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - data
    - arg
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2068
    functionName: op_T
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int op_T(ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_fnmatch
      Src: /src/httpd/server/util_expr_eval.c:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - data
    - arg1
    - arg2
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2074
    functionName: op_fnmatch
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_fnmatch
    linkageType: ''
    returnType: int
    signature: "int op_fnmatch(ap_expr_eval_ctx_t *ctx, const void *data,\n                      const
      char *arg1, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_fnmatch
      Src: /src/httpd/server/util_expr_eval.c:2079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - data
    - arg1
    - arg2
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2080
    functionName: op_strmatch
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_fnmatch
    linkageType: ''
    returnType: int
    signature: "int op_strmatch(ap_expr_eval_ctx_t *ctx, const void *data,\n                       const
      char *arg1, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_fnmatch
      Src: /src/httpd/server/util_expr_eval.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - data
    - arg1
    - arg2
    argTypes:
    - ap_expr_eval_ctx_t*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2086
    functionName: op_strcmatch
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_fnmatch
    linkageType: ''
    returnType: int
    signature: "int op_strcmatch(ap_expr_eval_ctx_t *ctx, const void *data,\n                        const
      char *arg1, const char *arg2)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_expr_eval.c:2175,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_expr_eval.c:2201,1
    - Dst: strcmp
      Src: /src/httpd/server/util_expr_eval.c:2206,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_expr_eval.c:2208,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:2215,1
    - Dst: struct expr_provider_single*::arg_parsing_func
      Src: /src/httpd/server/util_expr_eval.c:2223,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2238
    functionName: core_expr_lookup
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - strcmp
    - struct expr_provider_single*::arg_parsing_func
    - ap_cstr_casecmp
    - apr_psprintf
    - ap_assert
    linkageType: ''
    returnType: int
    signature: int core_expr_lookup(ap_expr_lookup_parms *parms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_expr_eval.c:2269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - parms
    argTypes:
    - ap_expr_lookup_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2272
    functionName: expr_lookup_not_found
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: int
    signature: int expr_lookup_not_found(ap_expr_lookup_parms *parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/util_expr_eval.c:2277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2279
    functionName: ap_expr_post_config
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: int
    signature: "int ap_expr_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/server/util_expr_eval.c:2283,1
    - Dst: ap_hook_expr_lookup
      Src: /src/httpd/server/util_expr_eval.c:2284,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/server/util_expr_eval.c:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2286
    functionName: ap_expr_init
    functionSourceFile: /src/httpd/server/util_expr_eval.c
    functionUses: 0
    functionsReached:
    - ap_hook_expr_lookup
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void ap_expr_init(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - next
    - u
    argTypes:
    - char*
    - apr_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: etag_uint64_to_hex
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *etag_uint64_to_hex(char *next, apr_uint64_t u)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - etag
    - weak
    - next
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: etag_start
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void etag_start(char *etag, const char *weak, char **next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/util_etag.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - next
    - vlv
    - vlv_len
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: etag_end
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: void
    signature: void etag_end(char *next, const char *vlv, apr_size_t vlv_len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_etag.c:109,1
    - Dst: apr_file_open
      Src: /src/httpd/server/util_etag.c:115,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:117,1
    - Dst: apr_file_seek
      Src: /src/httpd/server/util_etag.c:126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:127,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:130,1
    - Dst: apr_file_seek
      Src: /src/httpd/server/util_etag.c:135,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:136,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:136,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:139,1
    - Dst: apr_file_seek
      Src: /src/httpd/server/util_etag.c:144,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:145,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:148,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util_etag.c:153,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/server/util_etag.c:155,1
    - Dst: apr_bucket_file_enable_mmap
      Src: /src/httpd/server/util_etag.c:159,1
    - Dst: apr_sha1_init
      Src: /src/httpd/server/util_etag.c:163,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_etag.c:164,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_etag.c:168,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util_etag.c:170,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/util_etag.c:171,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:172,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:172,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:175,1
    - Dst: apr_sha1_update
      Src: /src/httpd/server/util_etag.c:180,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/util_etag.c:181,1
    - Dst: apr_file_seek
      Src: /src/httpd/server/util_etag.c:184,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_etag.c:185,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_etag.c:185,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:188,1
    - Dst: apr_sha1_final
      Src: /src/httpd/server/util_etag.c:192,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_etag.c:194,1
    - Dst: etag_start
      Src: /src/httpd/server/util_etag.c:197,1
    - Dst: apr_base64_encode_binary
      Src: /src/httpd/server/util_etag.c:198,1
    - Dst: etag_end
      Src: /src/httpd/server/util_etag.c:199,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util_etag.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 6
    argNames:
    - r
    - er
    - vlv
    - vlv_len
    - weak
    - weak_len
    argTypes:
    - request_rec*
    - etag_rec*
    - char*
    - apr_size_t
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 206
    functionName: make_digest_etag
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - apr_file_close
    - apr_brigade_create
    - apr_bucket_read
    - etag_end
    - apr_bucket_file_enable_mmap
    - apr_bucket_delete
    - apr_sha1_init
    - etag_start
    - apr_file_open
    - apr_sha1_update
    - ap_get_core_module_config
    - apr_file_seek
    - apr_brigade_insert_file
    - APR_BRIGADE_EMPTY
    - apr_sha1_final
    - ap_log_rerror
    - apr_base64_encode_binary
    - apr_palloc
    - APLOGNO
    linkageType: ''
    returnType: char
    signature: "char *make_digest_etag(request_rec *r, etag_rec *er, char *vlv,\n
      \       apr_size_t vlv_len, char *weak, apr_size_t weak_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_etag.c:223,1
    - Dst: strlen
      Src: /src/httpd/server/util_etag.c:258,1
    - Dst: AP_REQUEST_IS_STRONG_ETAG
      Src: /src/httpd/server/util_etag.c:271,1
    - Dst: make_digest_etag
      Src: /src/httpd/server/util_etag.c:273,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_etag.c:310,1
    - Dst: etag_start
      Src: /src/httpd/server/util_etag.c:313,1
    - Dst: etag_uint64_to_hex
      Src: /src/httpd/server/util_etag.c:317,1
    - Dst: etag_uint64_to_hex
      Src: /src/httpd/server/util_etag.c:324,1
    - Dst: etag_uint64_to_hex
      Src: /src/httpd/server/util_etag.c:331,1
    - Dst: etag_end
      Src: /src/httpd/server/util_etag.c:334,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_etag.c:341,1
    - Dst: etag_start
      Src: /src/httpd/server/util_etag.c:344,1
    - Dst: etag_uint64_to_hex
      Src: /src/httpd/server/util_etag.c:345,1
    - Dst: etag_end
      Src: /src/httpd/server/util_etag.c:346,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - r
    - er
    argTypes:
    - request_rec*
    - etag_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 351
    functionName: ap_make_etag_ex
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 1
    functionsReached:
    - etag_uint64_to_hex
    - apr_palloc
    - ap_get_core_module_config
    - etag_start
    - make_digest_etag
    - strlen
    - AP_REQUEST_IS_STRONG_ETAG
    - etag_end
    linkageType: ''
    returnType: void
    signature: void ap_make_etag_ex(request_rec *r, etag_rec *er)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_etag_ex
      Src: /src/httpd/server/util_etag.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - r
    - force_weak
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: ap_make_etag
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 2
    functionsReached:
    - ap_make_etag_ex
    linkageType: ''
    returnType: void
    signature: void ap_make_etag(request_rec *r, int force_weak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_etag_ex
      Src: /src/httpd/server/util_etag.c:380,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_etag.c:383,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_etag.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: ap_set_etag
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 3
    functionsReached:
    - apr_table_setn
    - ap_make_etag_ex
    linkageType: ''
    returnType: void
    signature: void ap_set_etag(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_etag_ex
      Src: /src/httpd/server/util_etag.c:404,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_etag.c:407,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util_etag.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - r
    - fd
    argTypes:
    - request_rec*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: ap_set_etag_fd
    functionSourceFile: /src/httpd/server/util_etag.c
    functionUses: 1
    functionsReached:
    - apr_table_setn
    - ap_make_etag_ex
    linkageType: ''
    returnType: void
    signature: void ap_set_etag_fd(request_rec *r, apr_file_t *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: YY_
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: YY_
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Spec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: YY_ATTRIBUTE
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ATTRIBUTE(Spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: YYUSE
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYUSE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: YYCOPY
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: YYCOPY
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: YYTRANSLATE
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yystate
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: yypact_value_is_default
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yystate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yytable_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: yytable_value_is_error
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yytable_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 743
    functionName: YYRECOVERING
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 760
    functionName: YYBACKUP
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: YYDPRINTF
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 784
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Type
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 797
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Type, Value, Location)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/httpd/server/util_expr_parse.c:807,1
    - Dst: YYUSE
      Src: /src/httpd/server/util_expr_parse.c:808,1
    - Dst: YYPRINT
      Src: /src/httpd/server/util_expr_parse.c:813,1
    - Dst: YYUSE
      Src: /src/httpd/server/util_expr_parse.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - yyoutput
    - yytype
    - yyvaluep
    - ctx
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 816
    functionName: yy_symbol_value_print
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YYUSE
    - YYPRINT
    linkageType: ''
    returnType: void
    signature: void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const
      * const yyvaluep, ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:826,1
    - Dst: yy_symbol_value_print
      Src: /src/httpd/server/util_expr_parse.c:829,1
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - yyoutput
    - yytype
    - yyvaluep
    - ctx
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 831
    functionName: yy_symbol_print
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    - yy_symbol_value_print
    linkageType: ''
    returnType: void
    signature: void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const
      yyvaluep, ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:841,1
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:845,1
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yytype_int16*
    - yytype_int16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 848
    functionName: yy_stack_print
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:867,1
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:872,1
    - Dst: yy_symbol_print
      Src: /src/httpd/server/util_expr_parse.c:873,1
    - Dst: YYFPRINTF
      Src: /src/httpd/server/util_expr_parse.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - yyssp
    - yyvsp
    - yyrule
    - ctx
    argTypes:
    - yytype_int16*
    - YYSTYPE*
    - int
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 879
    functionName: yy_reduce_print
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    - yy_symbol_print
    linkageType: ''
    returnType: void
    signature: void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule,
      ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: yystrlen
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YYSIZE_T
    signature: YYSIZE_T yystrlen (const char *yystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - yydest
    - yysrc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: yystpcpy
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yystpcpy (char *yydest, const char *yysrc)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yystrlen
      Src: /src/httpd/server/util_expr_parse.c:995,1
    - Dst: yystpcpy
      Src: /src/httpd/server/util_expr_parse.c:997,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - yyres
    - yystr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 998
    functionName: yytnamerr
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - yystpcpy
    - yystrlen
    linkageType: ''
    returnType: YYSIZE_T
    signature: YYSIZE_T yytnamerr (char *yyres, const char *yystr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yytnamerr
      Src: /src/httpd/server/util_expr_parse.c:1013,1
    - Dst: yypact_value_is_default
      Src: /src/httpd/server/util_expr_parse.c:1051,1
    - Dst: yytable_value_is_error
      Src: /src/httpd/server/util_expr_parse.c:1064,1
    - Dst: yytnamerr
      Src: /src/httpd/server/util_expr_parse.c:1074,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1091,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1091,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1092,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1092,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1093,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1093,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1094,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1094,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1095,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1095,1
    - Dst: YYCASE_
      Src: /src/httpd/server/util_expr_parse.c:1096,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1096,1
    - Dst: yystrlen
      Src: /src/httpd/server/util_expr_parse.c:1101,1
    - Dst: yytnamerr
      Src: /src/httpd/server/util_expr_parse.c:1125,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 4
    argNames:
    - yymsg_alloc
    - yymsg
    - yyssp
    - yytoken
    argTypes:
    - YYSIZE_T*
    - char**
    - yytype_int16*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1135
    functionName: yysyntax_error
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YY_
    - yypact_value_is_default
    - yystrlen
    - YYCASE_
    - yytable_value_is_error
    - yytnamerr
    linkageType: ''
    returnType: int
    signature: "int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,\n                yytype_int16
      *yyssp, int yytoken)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1090
    functionName: YYCASE_
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCASE_(N, S)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/httpd/server/util_expr_parse.c:1145,1
    - Dst: YYUSE
      Src: /src/httpd/server/util_expr_parse.c:1146,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - yymsg
    - yytype
    - yyvaluep
    - ctx
    argTypes:
    - char*
    - int
    - YYSTYPE*
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1154
    functionName: yydestruct
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 0
    functionsReached:
    - YY_SYMBOL_PRINT
    - YYUSE
    linkageType: ''
    returnType: void
    signature: void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep,
      ap_expr_parse_ctx_t *ctx)
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: YYDPRINTF
      Src: /src/httpd/server/util_expr_parse.c:1227,1
    - Dst: yyoverflow
      Src: /src/httpd/server/util_expr_parse.c:1265,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1265,1
    - Dst: YYSTACK_ALLOC
      Src: /src/httpd/server/util_expr_parse.c:1287,1
    - Dst: YYSTACK_BYTES
      Src: /src/httpd/server/util_expr_parse.c:1287,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/httpd/server/util_expr_parse.c:1290,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/httpd/server/util_expr_parse.c:1291,1
    - Dst: YYSTACK_FREE
      Src: /src/httpd/server/util_expr_parse.c:1294,1
    - Dst: YYDPRINTF
      Src: /src/httpd/server/util_expr_parse.c:1302,1
    - Dst: YYDPRINTF
      Src: /src/httpd/server/util_expr_parse.c:1309,1
    - Dst: yypact_value_is_default
      Src: /src/httpd/server/util_expr_parse.c:1326,1
    - Dst: YYDPRINTF
      Src: /src/httpd/server/util_expr_parse.c:1334,1
    - Dst: yylex
      Src: /src/httpd/server/util_expr_parse.c:1335,1
    - Dst: YYDPRINTF
      Src: /src/httpd/server/util_expr_parse.c:1341,1
    - Dst: YYTRANSLATE
      Src: /src/httpd/server/util_expr_parse.c:1345,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1346,1
    - Dst: yytable_value_is_error
      Src: /src/httpd/server/util_expr_parse.c:1357,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1369,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1410,1
    - Dst: ap_expr_concat_make
      Src: /src/httpd/server/util_expr_parse.c:1439,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1451,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1457,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1463,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1469,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1475,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1481,1
    - Dst: ap_expr_unary_op_make
      Src: /src/httpd/server/util_expr_parse.c:1487,1
    - Dst: ap_expr_binary_op_make
      Src: /src/httpd/server/util_expr_parse.c:1493,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1511,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1517,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1523,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1529,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1535,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1541,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1547,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1553,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1559,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1565,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1571,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1577,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1583,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1589,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1595,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1601,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1607,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1619,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1679,1
    - Dst: ap_expr_var_make
      Src: /src/httpd/server/util_expr_parse.c:1691,1
    - Dst: ap_expr_str_func_make
      Src: /src/httpd/server/util_expr_parse.c:1697,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1703,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1709,1
    - Dst: ap_expr_backref_make
      Src: /src/httpd/server/util_expr_parse.c:1715,1
    - Dst: ap_expr_str_func_make
      Src: /src/httpd/server/util_expr_parse.c:1721,1
    - Dst: ap_expr_str_func_make
      Src: /src/httpd/server/util_expr_parse.c:1727,1
    - Dst: ap_expr_list_func_make
      Src: /src/httpd/server/util_expr_parse.c:1733,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1739,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1745,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1751,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1757,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1763,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1769,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1775,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1781,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1787,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1793,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1799,1
    - Dst: ap_expr_make
      Src: /src/httpd/server/util_expr_parse.c:1805,1
    - Dst: ap_expr_regex_make
      Src: /src/httpd/server/util_expr_parse.c:1812,1
    - Dst: ap_expr_regex_make
      Src: /src/httpd/server/util_expr_parse.c:1825,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1862,1
    - Dst: YYPOPSTACK
      Src: /src/httpd/server/util_expr_parse.c:1864,1
    - Dst: YY_STACK_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1866,1
    - Dst: YYTRANSLATE
      Src: /src/httpd/server/util_expr_parse.c:1891,1
    - Dst: yyerror
      Src: /src/httpd/server/util_expr_parse.c:1898,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1898,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:1903,1
    - Dst: YYSTACK_FREE
      Src: /src/httpd/server/util_expr_parse.c:1911,1
    - Dst: YYSTACK_ALLOC
      Src: /src/httpd/server/util_expr_parse.c:1912,1
    - Dst: yyerror
      Src: /src/httpd/server/util_expr_parse.c:1925,1
    - Dst: yydestruct
      Src: /src/httpd/server/util_expr_parse.c:1948,1
    - Dst: YYPOPSTACK
      Src: /src/httpd/server/util_expr_parse.c:1972,1
    - Dst: YY_STACK_PRINT
      Src: /src/httpd/server/util_expr_parse.c:1974,1
    - Dst: yypact_value_is_default
      Src: /src/httpd/server/util_expr_parse.c:1988,1
    - Dst: yydestruct
      Src: /src/httpd/server/util_expr_parse.c:2004,1
    - Dst: YYPOPSTACK
      Src: /src/httpd/server/util_expr_parse.c:2006,1
    - Dst: YY_STACK_PRINT
      Src: /src/httpd/server/util_expr_parse.c:2008,1
    - Dst: yyerror
      Src: /src/httpd/server/util_expr_parse.c:2042,1
    - Dst: YY_
      Src: /src/httpd/server/util_expr_parse.c:2042,1
    - Dst: YYTRANSLATE
      Src: /src/httpd/server/util_expr_parse.c:2052,1
    - Dst: yydestruct
      Src: /src/httpd/server/util_expr_parse.c:2053,1
    - Dst: YYPOPSTACK
      Src: /src/httpd/server/util_expr_parse.c:2058,1
    - Dst: YY_STACK_PRINT
      Src: /src/httpd/server/util_expr_parse.c:2059,1
    - Dst: yydestruct
      Src: /src/httpd/server/util_expr_parse.c:2062,1
    - Dst: YYPOPSTACK
      Src: /src/httpd/server/util_expr_parse.c:2064,1
    - Dst: YYSTACK_FREE
      Src: /src/httpd/server/util_expr_parse.c:2068,1
    - Dst: YYSTACK_FREE
      Src: /src/httpd/server/util_expr_parse.c:2072,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 508
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ap_expr_parse_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 2075
    functionName: yyparse
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 1
    functionsReached:
    - yydestruct
    - YYSTACK_RELOCATE
    - ap_expr_unary_op_make
    - YY_REDUCE_PRINT
    - ap_expr_binary_op_make
    - ap_expr_make
    - yytable_value_is_error
    - yyerror
    - yylex
    - YYTRANSLATE
    - YYPOPSTACK
    - ap_expr_regex_make
    - YYDPRINTF
    - yypact_value_is_default
    - YYSTACK_BYTES
    - ap_expr_var_make
    - YYSTACK_FREE
    - YYSTACK_ALLOC
    - YY_SYMBOL_PRINT
    - YY_STACK_PRINT
    - YY_
    - ap_expr_str_func_make
    - yyoverflow
    - ap_expr_list_func_make
    - ap_expr_concat_make
    - ap_expr_backref_make
    linkageType: ''
    returnType: int
    signature: int yyparse (ap_expr_parse_ctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1218
    functionName: YYPOPSTACK
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_expr_parse.c:2082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - ap_expr_parse_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: yyerror
    functionSourceFile: /src/httpd/server/util_expr_parse.c
    functionUses: 1
    functionsReached:
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void yyerror(ap_expr_parse_ctx_t *ctx, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:99,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:101,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:104,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - intype
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: ap_field_noparam
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - apr_pstrdup
    - ap_strchr_c
    - apr_isspace
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: void ap_field_noparam(apr_pool_t *p, const char *intype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_exp_gmt
      Src: /src/httpd/server/util.c:123,1
    - Dst: apr_time_exp_lt
      Src: /src/httpd/server/util.c:155,1
    - Dst: apr_strftime
      Src: /src/httpd/server/util.c:159,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - p
    - t
    - fmt
    - gmt
    argTypes:
    - apr_pool_t*
    - apr_time_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 162
    functionName: ap_ht_time
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - apr_pstrdup
    - apr_time_exp_lt
    - apr_strftime
    - apr_time_exp_gmt
    linkageType: ''
    returnType: void
    signature: "void ap_ht_time(apr_pool_t *p, apr_time_t t, const char *fmt,\n                              int
      gmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_strcmp_match
      Src: /src/httpd/server/util.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: ap_strcmp_match
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 8
    functionsReached:
    - ap_strcmp_match
    linkageType: ''
    returnType: void
    signature: void ap_strcmp_match(const char *str, const char *expected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/server/util.c:214,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:220,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - str
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: ap_strcasecmp_match
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 8
    functionsReached:
    - ap_strcasecmp_match
    - apr_tolower
    linkageType: ''
    returnType: void
    signature: void ap_strcasecmp_match(const char *str, const char *expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_filepath_root
      Src: /src/httpd/server/util.c:235,1
    - Dst: strncmp
      Src: /src/httpd/server/util.c:236,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: ap_os_is_path_absolute
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - apr_filepath_root
    - strncmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_os_is_path_absolute(apr_pool_t *p, const char *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: ap_is_matchexp
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_is_matchexp(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_regfree
      Src: /src/httpd/server/util.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - preg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: regex_cleanup
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_regfree
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t regex_cleanup(void *preg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:267,1
    - Dst: ap_regcomp
      Src: /src/httpd/server/util.c:268,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/server/util.c:271,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - pattern
    - cflags
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: ap_pregcomp
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 22
    functionsReached:
    - ap_regcomp
    - apr_palloc
    - apr_pool_cleanup_register
    - ap_abort_on_oom
    linkageType: ''
    returnType: void
    signature: "void ap_pregcomp(apr_pool_t *p, const char *pattern,\n                                     int
      cflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_regfree
      Src: /src/httpd/server/util.c:283,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/server/util.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - reg
    argTypes:
    - apr_pool_t*
    - ap_regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ap_pregfree
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - ap_regfree
    - apr_pool_cleanup_kill
    linkageType: ''
    returnType: void
    signature: void ap_pregfree(apr_pool_t *p, ap_regex_t *reg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:299,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:299,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:306,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 320
    functionName: ap_strcasestr
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - apr_tolower
    linkageType: ''
    returnType: void
    signature: void ap_strcasestr(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bigstring
    - prefix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: ap_stripprefix
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_stripprefix(const char *bigstring,\n                                        const
      char *prefix)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util.c:378,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:382,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:386,1
    - Dst: ap_varbuf_strmemcat
      Src: /src/httpd/server/util.c:390,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/util.c:397,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:419,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:423,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:424,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/util.c:434,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:446,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 8
    argNames:
    - p
    - result
    - vb
    - input
    - source
    - nmatch
    - pmatch
    - maxlen
    argTypes:
    - apr_pool_t*
    - char**
    - struct ap_varbuf*
    - char*
    - char*
    - apr_size_t
    - ap_regmatch_t[]
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 454
    functionName: regsub_core
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_varbuf_strmemcat
    - apr_palloc
    - apr_isdigit
    - AP_DEBUG_ASSERT
    - apr_pstrmemdup
    - ap_varbuf_grow
    - strlen
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t regsub_core(apr_pool_t *p, char **result,\n                                struct
      ap_varbuf *vb, const char *input,\n                                const char
      *source, apr_size_t nmatch,\n                                ap_regmatch_t pmatch[],
      apr_size_t maxlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regsub_core
      Src: /src/httpd/server/util.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - p
    - input
    - source
    - nmatch
    - pmatch
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_size_t
    - ap_regmatch_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: ap_pregsub
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - regsub_core
    linkageType: ''
    returnType: void
    signature: "void ap_pregsub(apr_pool_t *p, const char *input,\n                              const
      char *source, apr_size_t nmatch,\n                              ap_regmatch_t
      pmatch[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regsub_core
      Src: /src/httpd/server/util.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - p
    - result
    - input
    - source
    - nmatch
    - pmatch
    - maxlen
    argTypes:
    - apr_pool_t*
    - char**
    - char*
    - char*
    - apr_size_t
    - ap_regmatch_t[]
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: ap_pregsub_ex
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - regsub_core
    linkageType: ''
    returnType: void
    signature: "void ap_pregsub_ex(apr_pool_t *p, char **result,\n                                       const
      char *input, const char *source,\n                                       apr_size_t
      nmatch, ap_regmatch_t pmatch[],\n                                       apr_size_t
      maxlen)"
  - 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: IS_SLASH_OR_NUL
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SLASH_OR_NUL(s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:498,1
    - Dst: apr_isxdigit
      Src: /src/httpd/server/util.c:524,1
    - Dst: apr_isxdigit
      Src: /src/httpd/server/util.c:524,1
    - Dst: x2c
      Src: /src/httpd/server/util.c:525,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:526,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:539,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:541,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:544,1
    - Dst: IS_SLASH_OR_NUL
      Src: /src/httpd/server/util.c:550,1
    - Dst: IS_SLASH_OR_NUL
      Src: /src/httpd/server/util.c:568,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:573,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 59
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 599
    functionName: ap_normalize_path
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - x2c
    - apr_isxdigit
    - TEST_CHAR
    - IS_SLASH_OR_NUL
    - AP_IS_SLASH
    linkageType: ''
    returnType: void
    signature: void ap_normalize_path(char *path, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_normalize_path
      Src: /src/httpd/server/util.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: ap_getparents
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_normalize_path
    linkageType: ''
    returnType: void
    signature: void ap_getparents(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - name
    - is_fs_path
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 640
    functionName: ap_no2slash_ex
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_no2slash_ex(char *name, int is_fs_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_no2slash_ex
      Src: /src/httpd/server/util.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: ap_no2slash
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_no2slash_ex
    linkageType: ''
    returnType: void
    signature: void ap_no2slash(char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 688
    functionName: ap_make_dirstr_prefix
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_make_dirstr_prefix(char *d, const char *s, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/util.c:696,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:701,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: ap_make_dirstr_parent
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 16
    functionsReached:
    - ap_strrchr_c
    - apr_pstrdup
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: void ap_make_dirstr_parent(apr_pool_t *p, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 718
    functionName: ap_count_dirs
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_count_dirs(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword
      Src: /src/httpd/server/util.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - atrans
    - line
    - stop
    argTypes:
    - apr_pool_t*
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: ap_getword_nc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_getword
    linkageType: ''
    returnType: void
    signature: void ap_getword_nc(apr_pool_t *atrans, char **line, char stop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - atrans
    - line
    - stop
    argTypes:
    - apr_pool_t*
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 746
    functionName: ap_getword
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 22
    functionsReached:
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: void ap_getword(apr_pool_t *atrans, const char **line, char stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_white
      Src: /src/httpd/server/util.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - atrans
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: ap_getword_white_nc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_getword_white
    linkageType: ''
    returnType: void
    signature: void ap_getword_white_nc(apr_pool_t *atrans, char **line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:759,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:764,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - atrans
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 773
    functionName: ap_getword_white
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - apr_isspace
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: void ap_getword_white(apr_pool_t *atrans, const char **line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_nulls
      Src: /src/httpd/server/util.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - atrans
    - line
    - stop
    argTypes:
    - apr_pool_t*
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: ap_getword_nulls_nc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_getword_nulls
    linkageType: ''
    returnType: void
    signature: "void ap_getword_nulls_nc(apr_pool_t *atrans, char **line,\n                                       char
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:784,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:788,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:789,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - atrans
    - line
    - stop
    argTypes:
    - apr_pool_t*
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 801
    functionName: ap_getword_nulls
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - ap_strchr_c
    - apr_pstrmemdup
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_getword_nulls(apr_pool_t *atrans, const char **line,\n                                    char
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:810,1
    - Dst: ap_resolve_env
      Src: /src/httpd/server/util.c:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - p
    - start
    - len
    - quote
    argTypes:
    - apr_pool_t*
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 828
    functionName: substring_conf
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_resolve_env
    - apr_palloc
    linkageType: ''
    returnType: char
    signature: "char *substring_conf(apr_pool_t *p, const char *start, int len,\n
      \                           char quote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/server/util.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: ap_getword_conf_nc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: void ap_getword_conf_nc(apr_pool_t *p, char **line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:841,1
    - Dst: substring_conf
      Src: /src/httpd/server/util.c:860,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:867,1
    - Dst: substring_conf
      Src: /src/httpd/server/util.c:870,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:873,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 877
    functionName: ap_getword_conf
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 52
    functionsReached:
    - substring_conf
    - apr_isspace
    linkageType: ''
    returnType: void
    signature: void ap_getword_conf(apr_pool_t *p, const char **line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf2
      Src: /src/httpd/server/util.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: ap_getword_conf2_nc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_getword_conf2
    linkageType: ''
    returnType: void
    signature: void ap_getword_conf2_nc(apr_pool_t *p, char **line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:891,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/util.c:900,1
    - Dst: substring_conf
      Src: /src/httpd/server/util.c:914,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:921,1
    - Dst: substring_conf
      Src: /src/httpd/server/util.c:924,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:927,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 931
    functionName: ap_getword_conf2
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - substring_conf
    - apr_isspace
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: void ap_getword_conf2(apr_pool_t *p, const char **line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/util.c:936,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util.c:936,1
    - Dst: ap_configfile_t*::close
      Src: /src/httpd/server/util.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfp
    argTypes:
    - ap_configfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 940
    functionName: ap_cfg_closefile
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 8
    functionsReached:
    - APLOGNO
    - ap_configfile_t*::close
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void ap_cfg_closefile(ap_configfile_t *cfp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/util.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: cfg_close
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cfg_close(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_getc
      Src: /src/httpd/server/util.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - param
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: cfg_getch
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_file_getc
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cfg_getch(char *ch, void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_gets
      Src: /src/httpd/server/util.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufsiz
    - param
    argTypes:
    - void*
    - apr_size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: cfg_getstr
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_file_gets
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t cfg_getstr(void *buf, apr_size_t bufsiz, void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - descr
    - param
    argTypes:
    - apr_pool_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1054
    functionName: ap_pcfg_open_custom
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_pcfg_open_custom(\n            apr_pool_t *p, const char *descr,
      void *param,\n            apr_status_t (*getc_func) (char *ch, void *param),\n
      \           apr_status_t (*gets_func) (void *buf, apr_size_t bufsize, void *param),\n
      \           apr_status_t (*close_func) (void *param))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_configfile_t*::getch
      Src: /src/httpd/server/util.c:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - cfp
    argTypes:
    - char*
    - ap_configfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1063
    functionName: ap_cfg_getc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_configfile_t*::getch
    linkageType: ''
    returnType: void
    signature: void ap_cfg_getc(char *ch, ap_configfile_t *cfp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:1072,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - cfp
    - rc
    argTypes:
    - apr_pool_t*
    - ap_configfile_t*
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1077
    functionName: ap_pcfg_strerror
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void ap_pcfg_strerror(apr_pool_t *p, ap_configfile_t *cfp,\n                                          apr_status_t
      rc)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_configfile_t*::getstr
      Src: /src/httpd/server/util.c:1093,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:1112,1
    - Dst: ap_configfile_t*::getch
      Src: /src/httpd/server/util.c:1145,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 4
    argNames:
    - buf
    - bufsize
    - offset
    - cfp
    argTypes:
    - char*
    - apr_size_t
    - apr_size_t
    - ap_configfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1174
    functionName: ap_cfg_getline_core
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_configfile_t*::getch
    - ap_configfile_t*::getstr
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_cfg_getline_core(char *buf, apr_size_t bufsize,\n
      \                                       apr_size_t offset, ap_configfile_t *cfp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1183,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:1186,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1187,1
    - Dst: memmove
      Src: /src/httpd/server/util.c:1191,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util.c:1193,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util.c:1193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1196
    functionName: cfg_trim_line
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    - APLOGNO
    - ap_log_error
    - memmove
    - strlen
    linkageType: ''
    returnType: int
    signature: int cfg_trim_line(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cfg_getline_core
      Src: /src/httpd/server/util.c:1203,1
    - Dst: cfg_trim_line
      Src: /src/httpd/server/util.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - bufsize
    - cfp
    argTypes:
    - char*
    - apr_size_t
    - ap_configfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1207
    functionName: ap_cfg_getline
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - cfg_trim_line
    - ap_cfg_getline_core
    linkageType: ''
    returnType: void
    signature: "void ap_cfg_getline(char *buf, apr_size_t bufsize,\n                                        ap_configfile_t
      *cfp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:1219,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:1226,1
    - Dst: ap_cfg_getline_core
      Src: /src/httpd/server/util.c:1230,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:1232,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:1240,1
    - Dst: cfg_trim_line
      Src: /src/httpd/server/util.c:1246,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - vb
    - cfp
    - max_len
    argTypes:
    - struct ap_varbuf*
    - ap_configfile_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1248
    functionName: ap_varbuf_cfg_getline
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - cfg_trim_line
    - ap_cfg_getline_core
    - strlen
    - ap_varbuf_grow
    linkageType: ''
    returnType: void
    signature: "void ap_varbuf_cfg_getline(struct ap_varbuf *vb,\n                                               ap_configfile_t
      *cfp,\n                                               apr_size_t max_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1264,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1303,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - field
    - len
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1308
    functionName: ap_size_list_item
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_isspace
    linkageType: ''
    returnType: void
    signature: void ap_size_list_item(const char **field, int *len)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ap_size_list_item
      Src: /src/httpd/server/util.c:1327,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:1330,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:1389,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 2
    argNames:
    - p
    - field
    argTypes:
    - apr_pool_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1398
    functionName: ap_get_list_item
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - ap_size_list_item
    - apr_tolower
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_get_list_item(apr_pool_t *p, const char **field)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1436,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:1520,1
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:1520,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 101
    argCount: 4
    argNames:
    - p
    - line
    - tok
    - type
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - ap_etag_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1532
    functionName: find_list_item
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - apr_tolower
    - apr_isspace
    linkageType: ''
    returnType: int
    signature: "int find_list_item(apr_pool_t *p, const char *line,\n                                  const
      char *tok, ap_etag_e type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_list_item
      Src: /src/httpd/server/util.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1543
    functionName: ap_find_list_item
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - find_list_item
    linkageType: ''
    returnType: void
    signature: "void ap_find_list_item(apr_pool_t *p, const char *line,\n                                  const
      char *tok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_list_item
      Src: /src/httpd/server/util.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1552
    functionName: ap_find_etag_strong
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - find_list_item
    linkageType: ''
    returnType: void
    signature: "void ap_find_etag_strong(apr_pool_t *p, const char *line,\n                                    const
      char *tok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_list_item
      Src: /src/httpd/server/util.c:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: ap_find_etag_weak
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - find_list_item
    linkageType: ''
    returnType: void
    signature: "void ap_find_etag_weak(apr_pool_t *p, const char *line,\n                                  const
      char *tok)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1584,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util.c:1611,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/server/util.c:1613,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:1614,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:1630,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:1632,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:1641,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - p
    - str_in
    - tokens
    - skip_invalid
    argTypes:
    - apr_pool_t*
    - char*
    - apr_array_header_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1650
    functionName: ap_parse_token_list_strict
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - APR_ARRAY_PUSH
    - TEST_CHAR
    - apr_pstrmemdup
    - apr_psprintf
    - ap_strchr_c
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_parse_token_list_strict(apr_pool_t *p,\n                                                const
      char *str_in,\n                                                apr_array_header_t
      **tokens,\n                                                int skip_invalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1661
    functionName: ap_scan_http_field_content
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_scan_http_field_content(const char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1671
    functionName: ap_scan_http_token
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_scan_http_token(const char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1681
    functionName: ap_scan_vchar_obstext
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_scan_vchar_obstext(const char *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1698,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1707,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:1715,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1719,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - p
    - accept_line
    - accept_white
    argTypes:
    - apr_pool_t*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1724
    functionName: ap_get_token
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - apr_isspace
    - apr_pstrmemdup
    linkageType: ''
    returnType: void
    signature: "void ap_get_token(apr_pool_t *p, const char **accept_line,\n                                int
      accept_white)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1739,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1747,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/server/util.c:1750,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1758
    functionName: ap_find_token
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 10
    functionsReached:
    - ap_cstr_casecmpn
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_find_token(apr_pool_t *p, const char *line, const char *tok)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:1768,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:1769,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util.c:1773,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/server/util.c:1776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1780
    functionName: find_last_token
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_cstr_casecmpn
    - strlen
    - apr_isspace
    linkageType: ''
    returnType: char
    signature: "char *find_last_token(apr_pool_t *p, const char *line,\n                            const
      char *tok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_token
      Src: /src/httpd/server/util.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - line
    - tok
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1782
    functionDepth: 2
    functionLinenumber: 1782
    functionLinenumberEnd: 1786
    functionName: ap_find_last_token
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - find_last_token
    linkageType: ''
    returnType: void
    signature: "void ap_find_last_token(apr_pool_t *p, const char *line,\n                                   const
      char *tok)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util.c:1794,1
    - Dst: find_last_token
      Src: /src/httpd/server/util.c:1798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1788
    functionDepth: 2
    functionLinenumber: 1788
    functionLinenumberEnd: 1812
    functionName: ap_is_chunked
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - find_last_token
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: void ap_is_chunked(apr_pool_t *p, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:1819,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:1821,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:1822,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p
    - str
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1847
    functionName: ap_escape_shell_cmd
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - strlen
    - apr_palloc
    - ap_assert
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_escape_shell_cmd(apr_pool_t *p, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/server/util.c:1866,1
    - Dst: strtol
      Src: /src/httpd/server/util.c:1867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1870
    functionName: x2c
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - apr_xlate_conv_byte
    - strtol
    linkageType: ''
    returnType: char
    signature: char x2c(const char *what)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/server/util.c:1898,1
    - Dst: apr_isxdigit
      Src: /src/httpd/server/util.c:1907,1
    - Dst: apr_isxdigit
      Src: /src/httpd/server/util.c:1907,1
    - Dst: x2c
      Src: /src/httpd/server/util.c:1913,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:1915,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:1916,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:1921,1
    - Dst: AP_IS_SLASH
      Src: /src/httpd/server/util.c:1923,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:1924,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - url
    - forbid
    - reserved
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1946
    functionName: unescape_url
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 23
    functionsReached:
    - strchr
    - x2c
    - apr_isxdigit
    - TEST_CHAR
    - AP_IS_SLASH
    - ap_strchr_c
    linkageType: ''
    returnType: int
    signature: "int unescape_url(char *url, const char *forbid, const char *reserved,\n
      \                       unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1947
    functionDepth: 2
    functionLinenumber: 1947
    functionLinenumberEnd: 1951
    functionName: ap_unescape_url
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 23
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_url(char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1957,1
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - url
    - decode_slashes
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1952
    functionDepth: 2
    functionLinenumber: 1952
    functionLinenumberEnd: 1962
    functionName: ap_unescape_url_keep2f
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_url_keep2f(char *url, int decode_slashes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1966
    functionName: ap_unescape_url_ex
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_url_ex(char *url, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 1978
    functionName: ap_unescape_url_proxy
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_url_proxy(char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - reserved
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 1982
    functionName: ap_unescape_url_reserved
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_url_reserved(char *url, const char *reserved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:1999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1985
    functionDepth: 2
    functionLinenumber: 1985
    functionLinenumberEnd: 2000
    functionName: ap_unescape_urlencoded
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_urlencoded(char *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_default_port
      Src: /src/httpd/server/util.c:2005,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2006,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:2009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p
    - hostname
    - port
    - r
    argTypes:
    - apr_pool_t*
    - char*
    - apr_port_t
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2011
    functionName: ap_construct_server
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_is_default_port
    - apr_pstrdup
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void ap_construct_server(apr_pool_t *p, const char *hostname,\n                                       apr_port_t
      port, const request_rec *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unescape_url
      Src: /src/httpd/server/util.c:2015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2016
    functionName: ap_unescape_all
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - unescape_url
    linkageType: ''
    returnType: void
    signature: void ap_unescape_all(char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_byte
      Src: /src/httpd/server/util.c:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - what
    - prefix
    - where
    argTypes:
    - unsigned
    - unsigned char
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2040
    functionName: c2x
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - apr_xlate_conv_byte
    linkageType: ''
    returnType: APR_INLINE unsigned
    signature: "APR_INLINE unsigned *c2x(unsigned what, unsigned char prefix,\n                                     unsigned
      char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2064,1
    - Dst: c2x
      Src: /src/httpd/server/util.c:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - copy
    - segment
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2074
    functionName: ap_escape_path_segment_buffer
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - c2x
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_escape_path_segment_buffer(char *copy, const char *segment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:2078,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:2079,1
    - Dst: ap_escape_path_segment_buffer
      Src: /src/httpd/server/util.c:2080,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - segment
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2081
    functionName: ap_escape_path_segment
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - ap_escape_path_segment_buffer
    - strlen
    - apr_palloc
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void ap_escape_path_segment(apr_pool_t *p, const char *segment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:2089,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:2095,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2096,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:2101,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:2102,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2110,1
    - Dst: c2x
      Src: /src/httpd/server/util.c:2111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - p
    - path
    - partial
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2120
    functionName: ap_os_escape_path
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - apr_palloc
    - ap_assert
    - TEST_CHAR
    - strlen
    - ap_strchr_c
    - c2x
    linkageType: ''
    returnType: void
    signature: void ap_os_escape_path(apr_pool_t *p, const char *path, int partial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2129,1
    - Dst: c2x
      Src: /src/httpd/server/util.c:2130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - copy
    - buffer
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2142
    functionName: ap_escape_urlencoded_buffer
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - c2x
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: void ap_escape_urlencoded_buffer(char *copy, const char *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:2146,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:2147,1
    - Dst: ap_escape_urlencoded_buffer
      Src: /src/httpd/server/util.c:2148,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - buffer
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2149
    functionName: ap_escape_urlencoded
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - apr_palloc
    - strlen
    - ap_escape_urlencoded_buffer
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void ap_escape_urlencoded(apr_pool_t *p, const char *buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/httpd/server/util.c:2161,1
    - Dst: apr_isascii
      Src: /src/httpd/server/util.c:2169,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:2174,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2176,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2179,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2183,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2187,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2191,1
    - Dst: apr_isascii
      Src: /src/httpd/server/util.c:2194,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:2195,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2196,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - p
    - s
    - toasc
    argTypes:
    - apr_pool_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2204
    functionName: ap_escape_html2
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - apr_palloc
    - apr_pstrmemdup
    - abort
    - apr_isascii
    - apr_psprintf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ap_escape_html2(apr_pool_t *p, const char *s, int toasc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2219,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util.c:2229,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2233,1
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2237,1
    - Dst: c2x
      Src: /src/httpd/server/util.c:2260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - p
    - str
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2271
    functionName: ap_escape_logitem
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 28
    functionsReached:
    - apr_palloc
    - apr_pmemdup
    - TEST_CHAR
    - c2x
    linkageType: ''
    returnType: void
    signature: void ap_escape_logitem(apr_pool_t *p, const char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CHAR
      Src: /src/httpd/server/util.c:2289,1
    - Dst: c2x
      Src: /src/httpd/server/util.c:2323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - dest
    - source
    - buflen
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2334
    functionName: ap_escape_errorlog_item
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - c2x
    - TEST_CHAR
    linkageType: ''
    returnType: void
    signature: "void ap_escape_errorlog_item(char *dest, const char *source,\n                                               apr_size_t
      buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - src
    - srclen
    - dest
    argTypes:
    - void*
    - apr_size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2346
    functionName: ap_bin2hex
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_bin2hex(const void *src, apr_size_t srclen, char *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/server/util.c:2352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - path
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2356
    functionName: ap_is_directory
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: void
    signature: void ap_is_directory(apr_pool_t *p, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/server/util.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - path
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2366
    functionName: ap_is_rdirectory
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_stat
    linkageType: ''
    returnType: void
    signature: void ap_is_rdirectory(apr_pool_t *p, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:2374,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:2375,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2379,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2382,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2386,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:2391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - a
    - src1
    - src2
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2394
    functionName: ap_make_full_path
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - strlen
    - apr_palloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_make_full_path(apr_pool_t *a, const char *src1,\n                                  const
      char *src2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalnum
      Src: /src/httpd/server/util.c:2405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - u
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2412
    functionName: ap_is_url
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - apr_isalnum
    linkageType: ''
    returnType: void
    signature: void ap_is_url(const char *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:2416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2421
    functionName: ap_ind
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - ap_strchr_c
    linkageType: ''
    returnType: void
    signature: void ap_ind(const char *s, char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/util.c:2425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2430
    functionName: ap_rind
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_strrchr_c
    linkageType: ''
    returnType: void
    signature: void ap_rind(const char *s, char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_tolower
      Src: /src/httpd/server/util.c:2435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2438
    functionName: ap_str_tolower
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 29
    functionsReached:
    - apr_tolower
    linkageType: ''
    returnType: void
    signature: void ap_str_tolower(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_toupper
      Src: /src/httpd/server/util.c:2443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2446
    functionName: ap_str_toupper
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - apr_toupper
    linkageType: ''
    returnType: void
    signature: void ap_str_toupper(char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_gethostname
      Src: /src/httpd/server/util.c:2461,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/util.c:2462,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util.c:2462,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/util.c:2467,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/server/util.c:2468,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:2469,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2470,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:2472,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2473,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/server/util.c:2475,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2476,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/util.c:2479,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util.c:2479,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2486,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/util.c:2488,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util.c:2488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - a
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2495
    functionName: ap_get_local_host
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - apr_pstrdup
    - apr_getnameinfo
    - apr_sockaddr_ip_get
    - ap_strchr_c
    - apr_gethostname
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: char *ap_get_local_host(apr_pool_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2503,1
    - Dst: apr_base64_decode_len
      Src: /src/httpd/server/util.c:2503,1
    - Dst: apr_base64_decode
      Src: /src/httpd/server/util.c:2504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bufcoded
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2507
    functionName: ap_pbase64decode
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - apr_base64_decode_len
    - apr_palloc
    - apr_base64_decode
    linkageType: ''
    returnType: void
    signature: void ap_pbase64decode(apr_pool_t *p, const char *bufcoded)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/httpd/server/util.c:2523,1
    - Dst: ap_strchr
      Src: /src/httpd/server/util.c:2545,1
    - Dst: ap_strchr
      Src: /src/httpd/server/util.c:2558,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2573,1
    - Dst: apr_base64_decode_len
      Src: /src/httpd/server/util.c:2573,1
    - Dst: apr_base64_decode
      Src: /src/httpd/server/util.c:2574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - p
    - encoded
    - decoded
    - len
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2577
    functionName: ap_pbase64decode_strict
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - ap_strchr
    - apr_palloc
    - apr_base64_decode
    - apr_base64_decode_len
    - strspn
    linkageType: ''
    returnType: void
    signature: "void ap_pbase64decode_strict(apr_pool_t *p,\n                                                 const
      char *encoded,\n                                                 char **decoded,\n
      \                                                apr_size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:2582,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2584,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/server/util.c:2584,1
    - Dst: apr_base64_encode
      Src: /src/httpd/server/util.c:2585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - string
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2588
    functionName: ap_pbase64encode
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - apr_base64_encode
    - strlen
    - apr_base64_encode_len
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_pbase64encode(apr_pool_t *p, char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/server/util.c:2601,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/util.c:2606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2611
    functionName: ap_content_type_tolower
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 5
    functionsReached:
    - ap_str_tolower
    - strchr
    linkageType: ''
    returnType: void
    signature: void ap_content_type_tolower(char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:2641,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:2657,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:2659,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - p
    - instring
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2616
    functionDepth: 1
    functionLinenumber: 2616
    functionLinenumberEnd: 2679
    functionName: ap_escape_quotes
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - apr_pstrdup
    - apr_palloc
    - ap_assert
    linkageType: ''
    returnType: void
    signature: void ap_escape_quotes(apr_pool_t *p, const char *instring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:2690,1
    - Dst: getpid
      Src: /src/httpd/server/util.c:2691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - string
    - delim
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2693
    functionName: ap_append_pid
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - getpid
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void ap_append_pid(apr_pool_t *p, const char *string,\n                                    const
      char *delim)"
  - 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: 2714
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2714
    functionName: CHECK_OVERFLOW
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW(a, b)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/httpd/server/util.c:2724,1
    - Dst: CHECK_OVERFLOW
      Src: /src/httpd/server/util.c:2743,1
    - Dst: apr_time_sec
      Src: /src/httpd/server/util.c:2743,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/util.c:2744,1
    - Dst: CHECK_OVERFLOW
      Src: /src/httpd/server/util.c:2749,1
    - Dst: apr_time_sec
      Src: /src/httpd/server/util.c:2749,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/util.c:2750,1
    - Dst: CHECK_OVERFLOW
      Src: /src/httpd/server/util.c:2758,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/server/util.c:2758,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/util.c:2759,1
    - Dst: CHECK_OVERFLOW
      Src: /src/httpd/server/util.c:2764,1
    - Dst: apr_time_sec
      Src: /src/httpd/server/util.c:2764,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/util.c:2765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - timeout_parameter
    - timeout
    - default_time_unit
    argTypes:
    - char*
    - apr_interval_time_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2777
    functionName: ap_timeout_parameter_parse
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 23
    functionsReached:
    - apr_time_from_sec
    - apr_time_as_msec
    - CHECK_OVERFLOW
    - apr_strtoi64
    - apr_time_from_msec
    - apr_time_sec
    linkageType: ''
    returnType: void
    signature: "void ap_timeout_parameter_parse(\n                                               const
      char *timeout_parameter,\n                                               apr_interval_time_t
      *timeout,\n                                               const char *default_time_unit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/server/util.c:2784,1
    - Dst: apr_strtoff
      Src: /src/httpd/server/util.c:2785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - len
    - str
    argTypes:
    - apr_off_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2787
    functionName: ap_parse_strict_length
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 17
    functionsReached:
    - apr_isdigit
    - apr_strtoff
    linkageType: ''
    returnType: void
    signature: void ap_parse_strict_length(apr_off_t *len, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/util.c:2802,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util.c:2803,1
    - Dst: ap_parse_strict_length
      Src: /src/httpd/server/util.c:2804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2795
    functionDepth: 1
    functionLinenumber: 2795
    functionLinenumberEnd: 2805
    functionName: ap_request_has_body
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_parse_strict_length
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void ap_request_has_body(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_request_tainted
      Src: /src/httpd/server/util.c:2818,1
    - Dst: ap_request_tainted
      Src: /src/httpd/server/util.c:2819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2812
    functionDepth: 1
    functionLinenumber: 2812
    functionLinenumberEnd: 2820
    functionName: ap_request_tainted
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_request_tainted
    linkageType: ''
    returnType: void
    signature: void ap_request_tainted(request_rec *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2827
    functionName: ap_pool_cleanup_set_null
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_pool_cleanup_set_null(void *data_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_isprint
      Src: /src/httpd/server/util.c:2833,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util.c:2835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2829
    functionDepth: 1
    functionLinenumber: 2829
    functionLinenumberEnd: 2843
    functionName: ap_str2_alnum
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_isalnum
    - apr_isprint
    linkageType: ''
    returnType: void
    signature: void ap_str2_alnum(const char *src, char *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:2848,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:2848,1
    - Dst: ap_str2_alnum
      Src: /src/httpd/server/util.c:2852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - src
    - dest
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2845
    functionDepth: 2
    functionLinenumber: 2845
    functionLinenumberEnd: 2853
    functionName: ap_pstr2_alnum
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - ap_str2_alnum
    - strlen
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_pstr2_alnum(apr_pool_t *p, const char *src,\n                                        const
      char **dest)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/server/util.c:2911,1
    - Dst: apr_table_get
      Src: /src/httpd/server/util.c:2917,1
    - Dst: ap_cstr_casecmpn
      Src: /src/httpd/server/util.c:2918,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/server/util.c:2919,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util.c:2931,1
    - Dst: ap_get_brigade
      Src: /src/httpd/server/util.c:2935,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/util.c:2938,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/server/util.c:2939,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util.c:2942,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util.c:2943,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util.c:2944,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/util.c:2949,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/util.c:2951,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util.c:2959,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/util.c:2961,1
    - Dst: x2c
      Src: /src/httpd/server/util.c:2985,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util.c:2991,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/server/util.c:2992,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util.c:2993,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util.c:3003,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:3004,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util.c:3005,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util.c:3020,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/server/util.c:3021,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util.c:3022,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util.c:3035,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util.c:3042,1
    - Dst: apr_bucket_pool_create
      Src: /src/httpd/server/util.c:3043,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util.c:3044,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 104
    argCount: 5
    argNames:
    - r
    - f
    - ptr
    - num
    - usize
    argTypes:
    - request_rec*
    - ap_filter_t*
    - apr_array_header_t**
    - apr_size_t
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 2899
    functionDepth: 2
    functionLinenumber: 2899
    functionLinenumberEnd: 3049
    functionName: ap_parse_form_data
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_array_push
    - apr_pstrmemdup
    - apr_bucket_read
    - apr_bucket_pool_create
    - ap_discard_request_body
    - apr_bucket_delete
    - APR_BUCKET_IS_EOS
    - apr_table_get
    - ap_cstr_casecmpn
    - apr_pmemdup
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - x2c
    - apr_brigade_cleanup
    - APR_BRIGADE_INSERT_TAIL
    - ap_map_http_request_error
    - APR_BRIGADE_SENTINEL
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_parse_form_data(request_rec *r, ap_filter_t *f,\n                                   apr_array_header_t
      **ptr,\n                                   apr_size_t num, apr_size_t usize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_allocator_free
      Src: /src/httpd/server/util.c:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3060
    functionDepth: 0
    functionLinenumber: 3060
    functionLinenumberEnd: 3066
    functionName: varbuf_cleanup
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_allocator_free
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t varbuf_cleanup(void *info_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:3080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - vb
    - init_size
    argTypes:
    - apr_pool_t*
    - struct ap_varbuf*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3071
    functionDepth: 1
    functionLinenumber: 3071
    functionLinenumberEnd: 3081
    functionName: ap_varbuf_init
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 9
    functionsReached:
    - ap_varbuf_grow
    linkageType: ''
    returnType: void
    signature: "void ap_varbuf_init(apr_pool_t *p, struct ap_varbuf *vb,\n                                apr_size_t
      init_size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util.c:3090,1
    - Dst: apr_pool_abort_get
      Src: /src/httpd/server/util.c:3100,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:3101,1
    - Dst: abort_fn
      Src: /src/httpd/server/util.c:3102,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/server/util.c:3108,1
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/util.c:3109,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util.c:3111,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util.c:3112,1
    - Dst: vb::vb
      Src: /src/httpd/server/util.c:3113,1
    - Dst: apr_pool_allocator_get
      Src: /src/httpd/server/util.c:3136,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/util.c:3139,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:3140,1
    - Dst: apr_allocator_alloc
      Src: /src/httpd/server/util.c:3143,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/server/util.c:3144,1
    - Dst: apr_pool_abort_get
      Src: /src/httpd/server/util.c:3146,1
    - Dst: ap_assert
      Src: /src/httpd/server/util.c:3147,1
    - Dst: abort_fn
      Src: /src/httpd/server/util.c:3148,1
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/server/util.c:3152,1
    - Dst: new_node::new_node
      Src: /src/httpd/server/util.c:3155,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util.c:3156,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:3160,1
    - Dst: vb::vb
      Src: /src/httpd/server/util.c:3160,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/server/util.c:3165,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util.c:3166,1
    - Dst: vb::vb
      Src: /src/httpd/server/util.c:3169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - vb
    - new_len
    argTypes:
    - struct ap_varbuf*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3171
    functionName: ap_varbuf_grow
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - AP_DEBUG_ASSERT
    - apr_allocator_alloc
    - apr_palloc::apr_palloc
    - apr_allocator_create
    - abort_fn
    - APR_ALIGN_DEFAULT
    - apr_pool_abort_get
    - apr_pool_allocator_get
    - new_node::new_node
    - apr_pool_cleanup_register
    - ap_assert
    - apr_pool_cleanup_run
    - vb::vb
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ap_varbuf_grow(struct ap_varbuf *vb, apr_size_t new_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:3179,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:3180,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:3186,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:3187,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:3188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - vb
    - str
    - len
    argTypes:
    - struct ap_varbuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3173
    functionDepth: 2
    functionLinenumber: 3173
    functionLinenumberEnd: 3191
    functionName: ap_varbuf_strmemcat
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 8
    functionsReached:
    - strlen
    - ap_varbuf_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_varbuf_strmemcat(struct ap_varbuf *vb, const char *str,\n
      \                                    int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/server/util.c:3196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vb
    argTypes:
    - struct ap_varbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3200
    functionName: ap_varbuf_free
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - apr_pool_cleanup_run
    linkageType: ''
    returnType: void
    signature: void ap_varbuf_free(struct ap_varbuf *vb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:3217,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/server/util.c:3228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - p
    - buf
    - prepend
    - prepend_len
    - append
    - append_len
    - new_len
    argTypes:
    - apr_pool_t*
    - struct ap_varbuf*
    - char*
    - apr_size_t
    - char*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 3202
    functionDepth: 0
    functionLinenumber: 3202
    functionLinenumberEnd: 3233
    functionName: ap_varbuf_pdup
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - strlen
    - apr_pstrcatv
    linkageType: ''
    returnType: void
    signature: "void ap_varbuf_pdup(apr_pool_t *p, struct ap_varbuf *buf,\n                                  const
      char *prepend, apr_size_t prepend_len,\n                                  const
      char *append, apr_size_t append_len,\n                                  apr_size_t
      *new_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regsub_core
      Src: /src/httpd/server/util.c:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vb
    - input
    - source
    - nmatch
    - pmatch
    - maxlen
    argTypes:
    - struct ap_varbuf*
    - char*
    - char*
    - apr_size_t
    - ap_regmatch_t[]
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3235
    functionDepth: 2
    functionLinenumber: 3235
    functionLinenumberEnd: 3243
    functionName: ap_varbuf_regsub
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - regsub_core
    linkageType: ''
    returnType: void
    signature: "void ap_varbuf_regsub(struct ap_varbuf *vb,\n                                          const
      char *input,\n                                          const char *source,\n
      \                                         apr_size_t nmatch,\n                                          ap_regmatch_t
      pmatch[],\n                                          apr_size_t maxlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util.c:3250,1
    - Dst: write
      Src: /src/httpd/server/util.c:3253,1
    - Dst: abort
      Src: /src/httpd/server/util.c:3261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3262
    functionName: ap_abort_on_oom
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 6
    functionsReached:
    - write
    - strlen
    - abort
    linkageType: ''
    returnType: void
    signature: void ap_abort_on_oom(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/httpd/server/util.c:3266,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/server/util.c:3268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3264
    functionDepth: 1
    functionLinenumber: 3264
    functionLinenumberEnd: 3270
    functionName: ap_malloc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 7
    functionsReached:
    - malloc
    - ap_abort_on_oom
    linkageType: ''
    returnType: void
    signature: void ap_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/httpd/server/util.c:3274,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/server/util.c:3276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - nelem
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3272
    functionDepth: 1
    functionLinenumber: 3272
    functionLinenumberEnd: 3278
    functionName: ap_calloc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - calloc
    - ap_abort_on_oom
    linkageType: ''
    returnType: void
    signature: void ap_calloc(size_t nelem, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/httpd/server/util.c:3282,1
    - Dst: ap_abort_on_oom
      Src: /src/httpd/server/util.c:3284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3280
    functionDepth: 1
    functionLinenumber: 3280
    functionLinenumberEnd: 3286
    functionName: ap_realloc
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - realloc
    - ap_abort_on_oom
    linkageType: ''
    returnType: void
    signature: void ap_realloc(void *ptr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_get
      Src: /src/httpd/server/util.c:3307,1
    - Dst: apr_pool_allocator_get
      Src: /src/httpd/server/util.c:3308,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/util.c:3310,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/util.c:3314,1
    - Dst: struct thread_ctx*::func
      Src: /src/httpd/server/util.c:3317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - thread
    - data
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3318
    functionName: APR_THREAD_FUNC::thread_start
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - APR_VERSION_AT_LEAST
    - struct thread_ctx*::func
    - apr_allocator_max_free_set
    - apr_thread_pool_get
    - apr_pool_allocator_get
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC thread_start(apr_thread_t *thread, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:3325,1
    - Dst: apr_thread_create
      Src: /src/httpd/server/util.c:3329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - thread
    - attr
    - func
    - data
    - pool
    argTypes:
    - apr_thread_t**
    - apr_threadattr_t*
    - apr_thread_start_t
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3330
    functionName: ap_thread_create
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - apr_thread_create
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_thread_create(apr_thread_t **thread, \n                                          apr_threadattr_t
      *attr, \n                                          apr_thread_start_t func,
      \n                                          void *data, apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/util.c:3335,1
    - Dst: apr_thread_pool_get
      Src: /src/httpd/server/util.c:3335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3332
    functionDepth: 0
    functionLinenumber: 3332
    functionLinenumberEnd: 3337
    functionName: main_thread_cleanup
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_thread_pool_get
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t main_thread_cleanup(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_threadattr_create
      Src: /src/httpd/server/util.c:3349,1
    - Dst: apr_threadattr_detach_set
      Src: /src/httpd/server/util.c:3350,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/util.c:3351,1
    - Dst: apr_threadattr_max_free_set
      Src: /src/httpd/server/util.c:3352,1
    - Dst: ap_thread_current_create
      Src: /src/httpd/server/util.c:3354,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util.c:3359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - thread
    - pool
    argTypes:
    - apr_thread_t**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3339
    functionDepth: 1
    functionLinenumber: 3339
    functionLinenumberEnd: 3362
    functionName: ap_thread_main_create
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - APR_VERSION_AT_LEAST
    - apr_threadattr_max_free_set
    - ap_thread_current_create
    - apr_threadattr_detach_set
    - apr_threadattr_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_thread_main_create(apr_thread_t **thread,\n                                               apr_pool_t
      *pool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_thread_current
      Src: /src/httpd/server/util.c:3377,1
    - Dst: apr_pool_abort_get
      Src: /src/httpd/server/util.c:3382,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/util.c:3383,1
    - Dst: abort_fn
      Src: /src/httpd/server/util.c:3386,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/util.c:3390,1
    - Dst: apr_pool_create_unmanaged_ex
      Src: /src/httpd/server/util.c:3391,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/util.c:3395,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/util.c:3397,1
    - Dst: apr_os_thread_put
      Src: /src/httpd/server/util.c:3398,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/util.c:3400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - current
    - attr
    - pool
    argTypes:
    - apr_thread_t**
    - apr_threadattr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3366
    functionDepth: 1
    functionLinenumber: 3366
    functionLinenumberEnd: 3409
    functionName: ap_thread_current_create
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - apr_allocator_owner_set
    - apr_allocator_create
    - apr_os_thread_put
    - apr_allocator_max_free_set
    - abort_fn
    - ap_thread_current
    - apr_pool_abort_get
    - apr_pool_destroy
    - apr_pool_create_unmanaged_ex
    - apr_os_thread_current
    linkageType: ''
    returnType: void
    signature: "void ap_thread_current_create(apr_thread_t **current,\n                                                  apr_threadattr_t
      *attr,\n                                                  apr_pool_t *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3416
    functionName: ap_thread_current_after_fork
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_thread_current_after_fork(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3425
    functionName: ap_thread_current
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_thread_current(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/util.c:3445,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/util.c:3446,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/util.c:3447,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/util.c:3451,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 1
    argNames:
    - ld
    argTypes:
    - ap_sload_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3431
    functionDepth: 1
    functionLinenumber: 3431
    functionLinenumberEnd: 3484
    functionName: ap_get_sload
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - ap_mpm_query
    - ap_get_scoreboard_process
    linkageType: ''
    returnType: void
    signature: void ap_get_sload(ap_sload_t *ld)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getloadavg
      Src: /src/httpd/server/util.c:3498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ld
    argTypes:
    - ap_loadavg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3510
    functionName: ap_get_loadavg
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - getloadavg
    linkageType: ''
    returnType: void
    signature: void ap_get_loadavg(ap_loadavg_t *ld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/util.c:3528,1
    - Dst: strncmp
      Src: /src/httpd/server/util.c:3530,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3531,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:3538,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/util.c:3539,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/util.c:3540,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:3542,1
    - Dst: strlen
      Src: /src/httpd/server/util.c:3543,1
    - Dst: ap_varbuf_grow
      Src: /src/httpd/server/util.c:3544,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:3545,1
    - Dst: memcpy
      Src: /src/httpd/server/util.c:3546,1
    - Dst: apr_password_validate
      Src: /src/httpd/server/util.c:3547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - r
    - username
    - passwd
    - hash
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3520
    functionDepth: 2
    functionLinenumber: 3520
    functionLinenumberEnd: 3549
    functionName: ap_password_validate
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 4
    functionsReached:
    - strcmp
    - apr_palloc
    - apr_password_validate
    - apr_table_setn
    - ap_varbuf_grow
    - apr_table_get
    - ap_varbuf_init
    - strlen
    - strncmp
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_password_validate(request_rec *r,\n                                              const
      char *username,\n                                              const char *passwd,\n
      \                                             const char *hash)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/server/util.c:3563,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/server/util.c:3565,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/server/util.c:3568,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/util.c:3569,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/server/util.c:3571,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util.c:3573,1
    - Dst: apr_proc_create
      Src: /src/httpd/server/util.c:3574,1
    - Dst: apr_file_read
      Src: /src/httpd/server/util.c:3581,1
    - Dst: apr_file_close
      Src: /src/httpd/server/util.c:3588,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/util.c:3590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - p
    - cmd
    - argv
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3551
    functionDepth: 1
    functionLinenumber: 3551
    functionLinenumberEnd: 3591
    functionName: ap_get_exec_line
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 2
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - ap_make_dirstr_parent
    - apr_file_close
    - apr_procattr_dir_set
    - apr_pstrndup
    - apr_file_read
    - apr_procattr_create
    linkageType: ''
    returnType: void
    signature: "void ap_get_exec_line(apr_pool_t *p,\n                                    const
      char *cmd,\n                                    const char * const * argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/util.c:3601,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - array
    - s
    - start
    argTypes:
    - apr_array_header_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3593
    functionDepth: 0
    functionLinenumber: 3593
    functionLinenumberEnd: 3609
    functionName: ap_array_str_index
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - strcmp
    - APR_ARRAY_IDX
    linkageType: ''
    returnType: void
    signature: "void ap_array_str_index(const apr_array_header_t *array, \n                                   const
      char *s,\n                                   int start)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_array_str_index
      Src: /src/httpd/server/util.c:3614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - s
    argTypes:
    - apr_array_header_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3611
    functionDepth: 1
    functionLinenumber: 3611
    functionLinenumberEnd: 3615
    functionName: ap_array_str_contains
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 11
    functionsReached:
    - ap_array_str_index
    linkageType: ''
    returnType: void
    signature: "void ap_array_str_contains(const apr_array_header_t *array, \n                                      const
      char *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3718
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3718
    functionName: ap_cstr_casecmp
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_cstr_casecmp(const char *s1, const char *s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3720
    functionDepth: 0
    functionLinenumber: 3720
    functionLinenumberEnd: 3732
    functionName: ap_cstr_casecmpn
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_cstr_casecmpn(const char *s1, const char *s2, apr_size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fn1
    - fn2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3744
    functionName: fname_alphasort
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fname_alphasort(const void *fn1, const void *fn2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util.c:3749,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util.c:3751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - cmd
    - flags
    - (*cb)(ap_dir_match_t *w, const char *fname)
    - ctx
    argTypes:
    - cmd_parms*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3760
    functionName: ap_dir_cfgmatch
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void ap_dir_cfgmatch(cmd_parms *cmd, int flags,\n        const char
      *(*cb)(ap_dir_match_t *w, const char *fname), void *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_is_directory
      Src: /src/httpd/server/util.c:3767,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util.c:3773,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:3776,1
    - Dst: apr_dir_open
      Src: /src/httpd/server/util.c:3787,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:3789,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util.c:3793,1
    - Dst: apr_dir_read
      Src: /src/httpd/server/util.c:3794,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3796,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3797,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util.c:3798,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/util.c:3799,1
    - Dst: apr_dir_close
      Src: /src/httpd/server/util.c:3803,1
    - Dst: qsort
      Src: /src/httpd/server/util.c:3805,1
    - Dst: ap_dir_nofnmatch
      Src: /src/httpd/server/util.c:3814,1
    - Dst: apr_stat
      Src: /src/httpd/server/util.c:3830,1
    - Dst: ap_dir_match_t*::cb
      Src: /src/httpd/server/util.c:3835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - w
    - fname
    argTypes:
    - ap_dir_match_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3836
    functionName: ap_dir_nofnmatch
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_dir_nofnmatch
    - apr_dir_open
    - strcmp
    - ap_dir_match_t*::cb
    - apr_dir_close
    - ap_make_full_path
    - ap_is_directory
    - apr_array_push
    - apr_stat
    - qsort
    - apr_psprintf
    - apr_pstrdup
    - apr_array_make
    - apr_dir_read
    linkageType: ''
    returnType: void
    signature: void ap_dir_nofnmatch(ap_dir_match_t *w, const char *fname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util.c:3850,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util.c:3852,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/util.c:3857,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/util.c:3858,1
    - Dst: ap_dir_nofnmatch
      Src: /src/httpd/server/util.c:3860,1
    - Dst: ap_dir_fnmatch
      Src: /src/httpd/server/util.c:3863,1
    - Dst: apr_dir_open
      Src: /src/httpd/server/util.c:3872,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:3880,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util.c:3884,1
    - Dst: apr_dir_read
      Src: /src/httpd/server/util.c:3885,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3887,1
    - Dst: strcmp
      Src: /src/httpd/server/util.c:3888,1
    - Dst: apr_fnmatch
      Src: /src/httpd/server/util.c:3889,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/util.c:3891,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util.c:3898,1
    - Dst: apr_dir_close
      Src: /src/httpd/server/util.c:3903,1
    - Dst: qsort
      Src: /src/httpd/server/util.c:3907,1
    - Dst: ap_dir_nofnmatch
      Src: /src/httpd/server/util.c:3917,1
    - Dst: ap_dir_fnmatch
      Src: /src/httpd/server/util.c:3920,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util.c:3930,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - w
    - path
    - fname
    argTypes:
    - ap_dir_match_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3838
    functionDepth: 2
    functionLinenumber: 3838
    functionLinenumberEnd: 3936
    functionName: ap_dir_fnmatch
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 1
    functionsReached:
    - ap_dir_nofnmatch
    - apr_dir_open
    - strcmp
    - apr_dir_read
    - apr_dir_close
    - ap_make_full_path
    - apr_array_push
    - apr_pstrmemdup
    - ap_dir_fnmatch
    - qsort
    - apr_psprintf
    - apr_fnmatch
    - ap_strchr_c
    - apr_array_make
    - apr_fnmatch_test
    linkageType: ''
    returnType: void
    signature: "void ap_dir_fnmatch(ap_dir_match_t *w, const char *path,\n        const
      char *fname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_memeq_timingsafe
      Src: /src/httpd/server/util.c:3943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf1
    - buf2
    - n
    argTypes:
    - void*
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3944
    functionName: ap_memeq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - apr_memeq_timingsafe
    linkageType: ''
    returnType: void
    signature: "void ap_memeq_timingsafe(const void *buf1, const void *buf2,\n                                     apr_size_t
      n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_streq_timingsafe
      Src: /src/httpd/server/util.c:3948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sec1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3946
    functionDepth: 0
    functionLinenumber: 3946
    functionLinenumberEnd: 3949
    functionName: ap_streq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_streq_timingsafe
    linkageType: ''
    returnType: void
    signature: void ap_streq_timingsafe(const char *sec1, const char *str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_strneq_timingsafe
      Src: /src/httpd/server/util.c:3954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec1
    - str2
    - n
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 3955
    functionName: ap_strneq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - apr_strneq_timingsafe
    linkageType: ''
    returnType: void
    signature: "void ap_strneq_timingsafe(const char *sec1, const char *str2,\n                                      apr_size_t
      n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 3990
    functionName: test_nonzero_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE test_nonzero_timingsafe(apr_uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_nonzero_timingsafe
      Src: /src/httpd/server/util.c:4007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf1
    - buf2
    - n
    argTypes:
    - void*
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 3992
    functionDepth: 1
    functionLinenumber: 3992
    functionLinenumberEnd: 4008
    functionName: ap_memeq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 3
    functionsReached:
    - test_nonzero_timingsafe
    linkageType: ''
    returnType: void
    signature: "void ap_memeq_timingsafe(const void *buf1, const void *buf2,\n                                     apr_size_t
      n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_nonzero_timingsafe
      Src: /src/httpd/server/util.c:4034,1
    - Dst: test_nonzero_timingsafe
      Src: /src/httpd/server/util.c:4038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sec1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4010
    functionDepth: 1
    functionLinenumber: 4010
    functionLinenumberEnd: 4039
    functionName: ap_streq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - test_nonzero_timingsafe
    linkageType: ''
    returnType: void
    signature: void ap_streq_timingsafe(const char *sec1, const char *str2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_nonzero_timingsafe
      Src: /src/httpd/server/util.c:4067,1
    - Dst: test_nonzero_timingsafe
      Src: /src/httpd/server/util.c:4071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sec1
    - str2
    - n
    argTypes:
    - char*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4072
      start: 4041
    functionDepth: 1
    functionLinenumber: 4041
    functionLinenumberEnd: 4072
    functionName: ap_strneq_timingsafe
    functionSourceFile: /src/httpd/server/util.c
    functionUses: 0
    functionsReached:
    - test_nonzero_timingsafe
    linkageType: ''
    returnType: void
    signature: "void ap_strneq_timingsafe(const char *sec1, const char *str2,\n                                     apr_size_t
      n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ap_get_server_built
    functionSourceFile: /src/httpd/server/buildmark.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_server_built(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:86,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:88,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:91,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:96,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:98,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:98,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:101,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:125,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:127,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:135,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:137,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:137,1
    - Dst: ap_sock_disable_nagle
      Src: /src/httpd/server/listen.c:146,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/listen.c:153,1
    - Dst: setsockopt
      Src: /src/httpd/server/listen.c:154,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/listen.c:156,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:157,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:161,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:170,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/listen.c:171,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:172,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:172,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:175,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:185,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:187,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:191,1
    - Dst: apr_socket_bind
      Src: /src/httpd/server/listen.c:197,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:198,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:198,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:201,1
    - Dst: apr_socket_listen
      Src: /src/httpd/server/listen.c:205,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:206,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:206,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:210,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:226,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:228,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:228,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:231,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 3
    argNames:
    - p
    - server
    - do_bind_listen
    argTypes:
    - apr_pool_t*
    - ap_listen_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 242
    functionName: make_sock
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - ap_log_perror
    - APLOGNO
    - apr_socket_close
    - setsockopt
    - ap_sock_disable_nagle
    - apr_os_sock_get
    - apr_get_netos_error
    - apr_socket_bind
    - apr_socket_listen
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server, int do_bind_listen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/listen.c:247,1
    - Dst: apr_table_get
      Src: /src/httpd/server/listen.c:252,1
    - Dst: strcmp
      Src: /src/httpd/server/listen.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - proto
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: find_accf_name
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_core_module_config
    - apr_table_get
    linkageType: ''
    returnType: char
    signature: char * find_accf_name(server_rec *s, const char *proto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_protocol
      Src: /src/httpd/server/listen.c:272,1
    - Dst: find_accf_name
      Src: /src/httpd/server/listen.c:276,1
    - Dst: apr_socket_accept_filter
      Src: /src/httpd/server/listen.c:283,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:283,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:284,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/server/listen.c:285,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:286,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:286,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:291,1
    - Dst: APR_STATUS_IS_ENOTIMPL
      Src: /src/httpd/server/listen.c:292,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:293,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - p
    - lis
    - server
    argTypes:
    - apr_pool_t*
    - ap_listen_rec*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 298
    functionName: ap_apply_accept_filter
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - APR_STATUS_IS_ENOTIMPL
    - ap_log_perror
    - find_accf_name
    - APLOGNO
    - apr_socket_accept_filter
    - ap_get_server_protocol
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: "void ap_apply_accept_filter(apr_pool_t *p, ap_listen_rec *lis,\n                                           server_rec
      *server)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_close_listeners
      Src: /src/httpd/server/listen.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: close_listeners_on_exec
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_close_listeners
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t close_listeners_on_exec(void *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/listen.c:320,1
    - Dst: getsockname
      Src: /src/httpd/server/listen.c:322,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/listen.c:325,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:326,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:326,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/listen.c:337,1
    - Dst: apr_os_sock_make
      Src: /src/httpd/server/listen.c:339,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:341,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:341,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/server/listen.c:346,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:348,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:348,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:353,1
    - Dst: make_sock
      Src: /src/httpd/server/listen.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - process
    - fd
    - proto
    - out_rec
    argTypes:
    - process_rec*
    - int
    - char*
    - ap_listen_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 358
    functionName: alloc_systemd_listener
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - memset
    - apr_pcalloc
    - apr_socket_addr_get
    - APLOGNO
    - apr_get_netos_error
    - apr_os_sock_make
    - make_sock
    - getsockname
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t alloc_systemd_listener(process_rec * process,\n                                           int
      fd, const char *proto,\n                                           ap_listen_rec
      **out_rec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/listen.c:365,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/listen.c:368,1
    - Dst: find_systemd_socket
      Src: /src/httpd/server/listen.c:374,1
    - Dst: alloc_systemd_listener
      Src: /src/httpd/server/listen.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - process
    - port
    - proto
    argTypes:
    - process_rec*
    - apr_port_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 398
    functionName: set_systemd_listener
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - find_systemd_socket
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    - alloc_systemd_listener
    linkageType: ''
    returnType: char
    signature: "char *set_systemd_listener(process_rec *process, apr_port_t port,\n
      \                                       const char *proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/listen.c:409,1
    - Dst: apr_sockaddr_zone_get
      Src: /src/httpd/server/listen.c:413,1
    - Dst: strcmp
      Src: /src/httpd/server/listen.c:418,1
    - Dst: strcmp
      Src: /src/httpd/server/listen.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 5
    argNames:
    - sa
    - hostname
    - port
    - scope_id
    - p
    argTypes:
    - apr_sockaddr_t*
    - char*
    - apr_port_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: match_address
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_zone_get
    - strcmp
    - APR_VERSION_AT_LEAST
    linkageType: ''
    returnType: int
    signature: "int match_address(const apr_sockaddr_t *sa,\n                         const
      char *hostname, apr_port_t port,\n                         const char *scope_id,
      apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: match_address
      Src: /src/httpd/server/listen.c:439,1
    - Dst: from::from
      Src: /src/httpd/server/listen.c:444,1
    - Dst: next::next
      Src: /src/httpd/server/listen.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - from
    - to
    - addr
    - port
    - scope_id
    - temp_pool
    argTypes:
    - ap_listen_rec**
    - ap_listen_rec**
    - char*
    - apr_port_t
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 456
    functionName: find_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - next::next
    - from::from
    - match_address
    linkageType: ''
    returnType: int
    signature: "int find_listeners(ap_listen_rec **from, ap_listen_rec **to,\n                          const
      char *addr, apr_port_t port,\n                          const char *scope_id,
      apr_pool_t *temp_pool)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find_listeners
      Src: /src/httpd/server/listen.c:468,1
    - Dst: find_listeners
      Src: /src/httpd/server/listen.c:473,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/listen.c:481,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:484,1
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/listen.c:506,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:510,1
    - Dst: apr_socket_create
      Src: /src/httpd/server/listen.c:516,1
    - Dst: sd::sd
      Src: /src/httpd/server/listen.c:516,1
    - Dst: bind_addr::bind_addr
      Src: /src/httpd/server/listen.c:516,1
    - Dst: bind_addr::bind_addr
      Src: /src/httpd/server/listen.c:524,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:529,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:529,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/listen.c:535,1
    - Dst: apr_sockaddr_zone_set
      Src: /src/httpd/server/listen.c:537,1
    - Dst: bind_addr::bind_addr
      Src: /src/httpd/server/listen.c:537,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:539,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:539,1
    - Dst: bind_addr::bind_addr
      Src: /src/httpd/server/listen.c:541,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 8
    argNames:
    - process
    - addr
    - port
    - proto
    - scope_id
    - slave
    - temp_pool
    - flags
    argTypes:
    - process_rec*
    - char*
    - apr_port_t
    - char*
    - char*
    - void*
    - apr_pool_t*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 558
    functionName: alloc_listener
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - ap_log_perror
    - APR_VERSION_AT_LEAST
    - APLOGNO
    - apr_palloc::apr_palloc
    - sd::sd
    - find_listeners
    - bind_addr::bind_addr
    - apr_pstrdup
    - apr_sockaddr_zone_set
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *alloc_listener(process_rec *process, const char *addr,\n                                  apr_port_t
      port, const char* proto,\n                                  const char *scope_id,
      void *slave,\n                                  apr_pool_t *temp_pool, apr_uint32_t
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: IS_INADDR_ANY
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INADDR_ANY(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: IS_IN6ADDR_ANY
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_IN6ADDR_ANY(addr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IS_INADDR_ANY
      Src: /src/httpd/server/listen.c:615,1
    - Dst: IS_IN6ADDR_ANY
      Src: /src/httpd/server/listen.c:617,1
    - Dst: IS_INADDR_ANY
      Src: /src/httpd/server/listen.c:637,1
    - Dst: IS_IN6ADDR_ANY
      Src: /src/httpd/server/listen.c:640,1
    - Dst: apr_socket_opt_get
      Src: /src/httpd/server/listen.c:641,1
    - Dst: make_sock
      Src: /src/httpd/server/listen.c:659,1
    - Dst: IS_IN6ADDR_ANY
      Src: /src/httpd/server/listen.c:670,1
    - Dst: IS_INADDR_ANY
      Src: /src/httpd/server/listen.c:672,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/listen.c:700,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:713,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:715,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:715,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/listen.c:726,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/server/listen.c:728,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/listen.c:730,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 735
    functionName: open_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - apr_socket_opt_get
    - ap_log_perror
    - IS_IN6ADDR_ANY
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - APLOGNO
    - IS_INADDR_ANY
    - make_sock
    - ap_close_listeners_ex
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int open_listeners(apr_pool_t *pool)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/listen.c:746,1
    - Dst: ap_get_server_protocol
      Src: /src/httpd/server/listen.c:750,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/server/listen.c:758,1
    - Dst: ap_set_server_protocol
      Src: /src/httpd/server/listen.c:760,1
    - Dst: ap_set_server_protocol
      Src: /src/httpd/server/listen.c:769,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/listen.c:781,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/server/listen.c:783,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/listen.c:787,1
    - Dst: systemd_listen_fds
      Src: /src/httpd/server/listen.c:789,1
    - Dst: open_listeners
      Src: /src/httpd/server/listen.c:796,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/server/listen.c:807,1
    - Dst: ap_apply_accept_filter
      Src: /src/httpd/server/listen.c:810,1
    - Dst: ap_apply_accept_filter
      Src: /src/httpd/server/listen.c:816,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 821
    functionName: ap_setup_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    - apr_sockaddr_equal
    - ap_set_server_protocol
    - systemd_listen_fds
    - ap_apply_accept_filter
    - open_listeners
    - APR_OPTIONAL_FN_TYPE
    - ap_get_server_protocol
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ap_setup_listeners(server_rec *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/httpd/server/listen.c:838,1
    - Dst: ap_log_error
      Src: /src/httpd/server/listen.c:843,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:843,1
    - Dst: ap_log_error
      Src: /src/httpd/server/listen.c:852,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:852,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/listen.c:861,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/listen.c:876,1
    - Dst: alloc_systemd_listener
      Src: /src/httpd/server/listen.c:877,1
    - Dst: apr_palloc
      Src: /src/httpd/server/listen.c:885,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:887,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:888,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/listen.c:890,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:892,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:892,1
    - Dst: apr_socket_create
      Src: /src/httpd/server/listen.c:904,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:907,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:907,1
    - Dst: make_sock
      Src: /src/httpd/server/listen.c:913,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/listen.c:917,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/listen.c:919,1
    - Dst: APLOGNO
      Src: /src/httpd/server/listen.c:919,1
    - Dst: ap_apply_accept_filter
      Src: /src/httpd/server/listen.c:924,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 4
    argNames:
    - p
    - s
    - buckets
    - num_buckets
    argTypes:
    - apr_pool_t*
    - server_rec*
    - ap_listen_rec***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 940
    functionName: ap_duplicate_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - apr_socket_opt_set
    - ap_log_perror
    - apr_pcalloc
    - apr_palloc
    - sysconf
    - APLOGNO
    - apr_os_sock_get
    - make_sock
    - ap_log_error
    - alloc_systemd_listener
    - ap_apply_accept_filter
    - apr_pstrdup
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: void
    signature: "void ap_duplicate_listeners(apr_pool_t *p, server_rec *s,\n                                                ap_listen_rec
      ***buckets,\n                                                int *num_buckets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/listen.c:946,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/listen.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 955
    functionName: ap_close_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 3
    functionsReached:
    - ap_close_listeners_ex
    linkageType: ''
    returnType: void
    signature: void ap_close_listeners(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - listeners
    argTypes:
    - ap_listen_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 964
    functionName: ap_close_listeners_ex
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 2
    functionsReached:
    - apr_socket_close
    linkageType: ''
    returnType: void
    signature: void ap_close_listeners_ex(ap_listen_rec *listeners)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - slave
    argTypes:
    - ap_slave_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 981
    functionName: ap_close_selected_listeners
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_socket_close
    linkageType: ''
    returnType: void
    signature: void ap_close_selected_listeners(ap_slave_t *slave)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_create
      Src: /src/httpd/server/listen.c:1011,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/listen.c:1014,1
    - Dst: setsockopt
      Src: /src/httpd/server/listen.c:1015,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/listen.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1025
    functionName: ap_listen_pre_config
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 1
    functionsReached:
    - apr_socket_create
    - apr_socket_close
    - setsockopt
    - apr_os_sock_get
    linkageType: ''
    returnType: void
    signature: void ap_listen_pre_config(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_STATUS_IS_ECONNREFUSED
      Src: /src/httpd/server/listen.c:1030,1
    - Dst: APR_STATUS_IS_ECONNABORTED
      Src: /src/httpd/server/listen.c:1031,1
    - Dst: APR_STATUS_IS_ECONNRESET
      Src: /src/httpd/server/listen.c:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - apr_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1033
    functionName: ap_accept_error_is_nonfatal
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_ECONNRESET
    - APR_STATUS_IS_ECONNABORTED
    - APR_STATUS_IS_ECONNREFUSED
    linkageType: ''
    returnType: void
    signature: void ap_accept_error_is_nonfatal(apr_status_t status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:1042,1
    - Dst: apr_strtok
      Src: /src/httpd/server/listen.c:1044,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/listen.c:1046,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/listen.c:1048,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/listen.c:1050,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/listen.c:1052,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/listen.c:1056,1
    - Dst: apr_strtok
      Src: /src/httpd/server/listen.c:1063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - temp_pool
    - arg
    - flags_out
    argTypes:
    - apr_pool_t*
    - char*
    - apr_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1069
    functionName: parse_listen_flags
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_pstrdup
    - apr_psprintf
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *parse_listen_flags(apr_pool_t *temp_pool, const char *arg,\n
      \                                     apr_uint32_t *flags_out)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1077,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/listen.c:1080,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/listen.c:1092,1
    - Dst: systemd_listen_fds
      Src: /src/httpd/server/listen.c:1094,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/server/listen.c:1101,1
    - Dst: strcmp
      Src: /src/httpd/server/listen.c:1106,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/listen.c:1110,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/listen.c:1112,1
    - Dst: strncasecmp
      Src: /src/httpd/server/listen.c:1124,1
    - Dst: parse_listen_flags
      Src: /src/httpd/server/listen.c:1128,1
    - Dst: strncasecmp
      Src: /src/httpd/server/listen.c:1139,1
    - Dst: parse_listen_flags
      Src: /src/httpd/server/listen.c:1140,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/listen.c:1152,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/listen.c:1153,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/listen.c:1156,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/listen.c:1157,1
    - Dst: set_systemd_listener
      Src: /src/httpd/server/listen.c:1169,1
    - Dst: alloc_listener
      Src: /src/httpd/server/listen.c:1173,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 4
    argNames:
    - cmd
    - dummy
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1175
    functionName: ap_set_listener
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - parse_listen_flags
    - strcmp
    - alloc_listener
    - ap_str_tolower
    - APR_VERSION_AT_LEAST
    - apr_pstrcat
    - apr_parse_addr_port
    - apr_pstrdup
    - ap_check_cmd_context
    - apr_psprintf
    - systemd_listen_fds
    - APR_OPTIONAL_FN_TYPE
    - ap_strchr_c
    - APR_RETRIEVE_OPTIONAL_FN
    - strncasecmp
    - set_systemd_listener
    linkageType: ''
    returnType: void
    signature: "void ap_set_listener(cmd_parms *cmd, void *dummy,\n                                                int
      argc, char *const argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1182,1
    - Dst: atoi
      Src: /src/httpd/server/listen.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1195
    functionName: ap_set_listenbacklog
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_set_listenbacklog(cmd_parms *cmd,\n                                                     void
      *dummy,\n                                                     const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1202,1
    - Dst: atoi
      Src: /src/httpd/server/listen.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1215
    functionName: ap_set_listentcpdeferaccept
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_set_listentcpdeferaccept(cmd_parms *cmd,\n                                                            void
      *dummy,\n                                                            const char
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1222,1
    - Dst: atoi
      Src: /src/httpd/server/listen.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1235
    functionName: ap_set_listencbratio
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_set_listencbratio(cmd_parms *cmd,\n                                                     void
      *dummy,\n                                                     const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/server/listen.c:1241,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1254
    functionName: ap_set_send_buffer_size
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_set_send_buffer_size(cmd_parms *cmd,\n                                                        void
      *dummy,\n                                                        const char
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: ap_set_accept_errors_nonfatal
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: void
    signature: "void ap_set_accept_errors_nonfatal(cmd_parms *cmd,\n                                                           void
      *dummy,\n                                                           int flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/server/listen.c:1272,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/listen.c:1273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1285
    functionName: ap_set_receive_buffer_size
    functionSourceFile: /src/httpd/server/listen.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_set_receive_buffer_size(cmd_parms *cmd,\n                                                           void
      *dummy,\n                                                           const char
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: eoc_bucket_read
    functionSourceFile: /src/httpd/server/eoc_bucket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t eoc_bucket_read(apr_bucket *b, const char **str,\n                                    apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ap_bucket_eoc_make
    functionSourceFile: /src/httpd/server/eoc_bucket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_bucket_eoc_make(apr_bucket *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/eoc_bucket.c:40,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/eoc_bucket.c:42,1
    - Dst: ap_bucket_eoc_make
      Src: /src/httpd/server/eoc_bucket.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: ap_bucket_eoc_create
    functionSourceFile: /src/httpd/server/eoc_bucket.c
    functionUses: 3
    functionsReached:
    - apr_bucket_alloc
    - ap_bucket_eoc_make
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: void ap_bucket_eoc_create(apr_bucket_alloc_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - a
    - dir
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 223
    functionName: create_core_dir_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void *create_core_dir_config(apr_pool_t *a, char *dir)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/server/core.c:234,1
    - Dst: d::d
      Src: /src/httpd/server/core.c:236,1
    - Dst: d_is_fnmatch::d_is_fnmatch
      Src: /src/httpd/server/core.c:237,1
    - Dst: d_components::d_components
      Src: /src/httpd/server/core.c:238,1
    - Dst: r::r
      Src: /src/httpd/server/core.c:239,1
    - Dst: refs::refs
      Src: /src/httpd/server/core.c:240,1
    - Dst: condition::condition
      Src: /src/httpd/server/core.c:241,1
    - Dst: opts::opts
      Src: /src/httpd/server/core.c:243,1
    - Dst: opts_remove::opts_remove
      Src: /src/httpd/server/core.c:247,1
    - Dst: opts_add::opts_add
      Src: /src/httpd/server/core.c:247,1
    - Dst: opts_add::opts_add
      Src: /src/httpd/server/core.c:248,1
    - Dst: opts_remove::opts_remove
      Src: /src/httpd/server/core.c:249,1
    - Dst: opts::opts
      Src: /src/httpd/server/core.c:257,1
    - Dst: opts::opts
      Src: /src/httpd/server/core.c:266,1
    - Dst: opts_add::opts_add
      Src: /src/httpd/server/core.c:267,1
    - Dst: opts_remove::opts_remove
      Src: /src/httpd/server/core.c:268,1
    - Dst: override_opts::override_opts
      Src: /src/httpd/server/core.c:275,1
    - Dst: override_opts::override_opts
      Src: /src/httpd/server/core.c:276,1
    - Dst: override_list::override_list
      Src: /src/httpd/server/core.c:279,1
    - Dst: override_list::override_list
      Src: /src/httpd/server/core.c:280,1
    - Dst: response_code_exprs::response_code_exprs
      Src: /src/httpd/server/core.c:284,1
    - Dst: response_code_exprs::response_code_exprs
      Src: /src/httpd/server/core.c:286,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/server/core.c:287,1
    - Dst: response_code_exprs::response_code_exprs
      Src: /src/httpd/server/core.c:288,1
    - Dst: hostname_lookups::hostname_lookups
      Src: /src/httpd/server/core.c:293,1
    - Dst: hostname_lookups::hostname_lookups
      Src: /src/httpd/server/core.c:294,1
    - Dst: accept_path_info::accept_path_info
      Src: /src/httpd/server/core.c:297,1
    - Dst: accept_path_info::accept_path_info
      Src: /src/httpd/server/core.c:298,1
    - Dst: use_canonical_name::use_canonical_name
      Src: /src/httpd/server/core.c:301,1
    - Dst: use_canonical_name::use_canonical_name
      Src: /src/httpd/server/core.c:302,1
    - Dst: use_canonical_phys_port::use_canonical_phys_port
      Src: /src/httpd/server/core.c:305,1
    - Dst: use_canonical_phys_port::use_canonical_phys_port
      Src: /src/httpd/server/core.c:306,1
    - Dst: limit_cpu::limit_cpu
      Src: /src/httpd/server/core.c:310,1
    - Dst: limit_cpu::limit_cpu
      Src: /src/httpd/server/core.c:311,1
    - Dst: limit_mem::limit_mem
      Src: /src/httpd/server/core.c:316,1
    - Dst: limit_mem::limit_mem
      Src: /src/httpd/server/core.c:317,1
    - Dst: limit_nproc::limit_nproc
      Src: /src/httpd/server/core.c:322,1
    - Dst: limit_nproc::limit_nproc
      Src: /src/httpd/server/core.c:323,1
    - Dst: limit_req_body::limit_req_body
      Src: /src/httpd/server/core.c:327,1
    - Dst: limit_req_body::limit_req_body
      Src: /src/httpd/server/core.c:328,1
    - Dst: limit_xml_body::limit_xml_body
      Src: /src/httpd/server/core.c:331,1
    - Dst: limit_xml_body::limit_xml_body
      Src: /src/httpd/server/core.c:332,1
    - Dst: sec_file::sec_file
      Src: /src/httpd/server/core.c:335,1
    - Dst: sec_file::sec_file
      Src: /src/httpd/server/core.c:337,1
    - Dst: apr_array_append
      Src: /src/httpd/server/core.c:340,1
    - Dst: sec_file::sec_file
      Src: /src/httpd/server/core.c:340,1
    - Dst: sec_if::sec_if
      Src: /src/httpd/server/core.c:346,1
    - Dst: sec_if::sec_if
      Src: /src/httpd/server/core.c:348,1
    - Dst: apr_array_append
      Src: /src/httpd/server/core.c:351,1
    - Dst: sec_if::sec_if
      Src: /src/httpd/server/core.c:351,1
    - Dst: server_signature::server_signature
      Src: /src/httpd/server/core.c:356,1
    - Dst: server_signature::server_signature
      Src: /src/httpd/server/core.c:357,1
    - Dst: add_default_charset::add_default_charset
      Src: /src/httpd/server/core.c:360,1
    - Dst: add_default_charset::add_default_charset
      Src: /src/httpd/server/core.c:361,1
    - Dst: add_default_charset_name::add_default_charset_name
      Src: /src/httpd/server/core.c:362,1
    - Dst: mime_type::mime_type
      Src: /src/httpd/server/core.c:367,1
    - Dst: mime_type::mime_type
      Src: /src/httpd/server/core.c:368,1
    - Dst: handler::handler
      Src: /src/httpd/server/core.c:371,1
    - Dst: handler::handler
      Src: /src/httpd/server/core.c:372,1
    - Dst: expr_handler::expr_handler
      Src: /src/httpd/server/core.c:374,1
    - Dst: expr_handler::expr_handler
      Src: /src/httpd/server/core.c:375,1
    - Dst: output_filters::output_filters
      Src: /src/httpd/server/core.c:378,1
    - Dst: output_filters::output_filters
      Src: /src/httpd/server/core.c:379,1
    - Dst: input_filters::input_filters
      Src: /src/httpd/server/core.c:382,1
    - Dst: input_filters::input_filters
      Src: /src/httpd/server/core.c:383,1
    - Dst: etag_bits::etag_bits
      Src: /src/httpd/server/core.c:389,1
    - Dst: etag_remove::etag_remove
      Src: /src/httpd/server/core.c:391,1
    - Dst: etag_add::etag_add
      Src: /src/httpd/server/core.c:391,1
    - Dst: etag_add::etag_add
      Src: /src/httpd/server/core.c:393,1
    - Dst: etag_remove::etag_remove
      Src: /src/httpd/server/core.c:393,1
    - Dst: etag_bits::etag_bits
      Src: /src/httpd/server/core.c:398,1
    - Dst: etag_add::etag_add
      Src: /src/httpd/server/core.c:399,1
    - Dst: etag_remove::etag_remove
      Src: /src/httpd/server/core.c:400,1
    - Dst: enable_mmap::enable_mmap
      Src: /src/httpd/server/core.c:407,1
    - Dst: enable_mmap::enable_mmap
      Src: /src/httpd/server/core.c:408,1
    - Dst: enable_sendfile::enable_sendfile
      Src: /src/httpd/server/core.c:411,1
    - Dst: enable_sendfile::enable_sendfile
      Src: /src/httpd/server/core.c:412,1
    - Dst: read_buf_size::read_buf_size
      Src: /src/httpd/server/core.c:415,1
    - Dst: read_buf_size::read_buf_size
      Src: /src/httpd/server/core.c:416,1
    - Dst: allow_encoded_slashes_set::allow_encoded_slashes_set
      Src: /src/httpd/server/core.c:422,1
    - Dst: allow_encoded_slashes::allow_encoded_slashes
      Src: /src/httpd/server/core.c:423,1
    - Dst: decode_encoded_slashes_set::decode_encoded_slashes_set
      Src: /src/httpd/server/core.c:425,1
    - Dst: decode_encoded_slashes::decode_encoded_slashes
      Src: /src/httpd/server/core.c:426,1
    - Dst: log::log
      Src: /src/httpd/server/core.c:429,1
    - Dst: log::log
      Src: /src/httpd/server/core.c:431,1
    - Dst: ap_new_log_config
      Src: /src/httpd/server/core.c:434,1
    - Dst: log::log
      Src: /src/httpd/server/core.c:434,1
    - Dst: ap_merge_log_config
      Src: /src/httpd/server/core.c:435,1
    - Dst: max_ranges::max_ranges
      Src: /src/httpd/server/core.c:439,1
    - Dst: max_ranges::max_ranges
      Src: /src/httpd/server/core.c:439,1
    - Dst: max_overlaps::max_overlaps
      Src: /src/httpd/server/core.c:440,1
    - Dst: max_overlaps::max_overlaps
      Src: /src/httpd/server/core.c:440,1
    - Dst: max_reversals::max_reversals
      Src: /src/httpd/server/core.c:441,1
    - Dst: max_reversals::max_reversals
      Src: /src/httpd/server/core.c:441,1
    - Dst: cgi_pass_auth::cgi_pass_auth
      Src: /src/httpd/server/core.c:443,1
    - Dst: cgi_pass_auth::cgi_pass_auth
      Src: /src/httpd/server/core.c:443,1
    - Dst: cgi_var_rules::cgi_var_rules
      Src: /src/httpd/server/core.c:445,1
    - Dst: cgi_var_rules::cgi_var_rules
      Src: /src/httpd/server/core.c:447,1
    - Dst: apr_hash_overlay
      Src: /src/httpd/server/core.c:450,1
    - Dst: cgi_var_rules::cgi_var_rules
      Src: /src/httpd/server/core.c:450,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 145
    argCount: 3
    argNames:
    - a
    - basev
    - newv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 457
    functionName: merge_core_dir_configs
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - cgi_pass_auth::cgi_pass_auth
    - enable_sendfile::enable_sendfile
    - limit_nproc::limit_nproc
    - etag_add::etag_add
    - sec_file::sec_file
    - r::r
    - add_default_charset_name::add_default_charset_name
    - d_components::d_components
    - enable_mmap::enable_mmap
    - etag_bits::etag_bits
    - opts_remove::opts_remove
    - allow_encoded_slashes::allow_encoded_slashes
    - read_buf_size::read_buf_size
    - refs::refs
    - ap_new_log_config
    - decode_encoded_slashes::decode_encoded_slashes
    - condition::condition
    - limit_mem::limit_mem
    - limit_req_body::limit_req_body
    - cgi_var_rules::cgi_var_rules
    - log::log
    - etag_remove::etag_remove
    - apr_pmemdup
    - opts::opts
    - apr_hash_overlay
    - max_overlaps::max_overlaps
    - mime_type::mime_type
    - max_reversals::max_reversals
    - opts_add::opts_add
    - ap_merge_log_config
    - allow_encoded_slashes_set::allow_encoded_slashes_set
    - limit_xml_body::limit_xml_body
    - max_ranges::max_ranges
    - override_list::override_list
    - apr_array_append
    - response_code_exprs::response_code_exprs
    - use_canonical_name::use_canonical_name
    - expr_handler::expr_handler
    - decode_encoded_slashes_set::decode_encoded_slashes_set
    - d::d
    - output_filters::output_filters
    - add_default_charset::add_default_charset
    - sec_if::sec_if
    - override_opts::override_opts
    - hostname_lookups::hostname_lookups
    - input_filters::input_filters
    - use_canonical_phys_port::use_canonical_phys_port
    - handler::handler
    - limit_cpu::limit_cpu
    - accept_path_info::accept_path_info
    - d_is_fnmatch::d_is_fnmatch
    - server_signature::server_signature
    linkageType: ''
    returnType: void
    signature: void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:476,1
    - Dst: apr_table_make
      Src: /src/httpd/server/core.c:485,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:487,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:488,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:491,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:492,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:494,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:495,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:504,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:512,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:513,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 534
    functionName: create_core_server_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_get_core_module_config
    - apr_table_setn
    - apr_table_make
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void *create_core_server_config(apr_pool_t *a, server_rec *s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/server/core.c:541,1
    - Dst: apr_array_append
      Src: /src/httpd/server/core.c:550,1
    - Dst: apr_array_append
      Src: /src/httpd/server/core.c:551,1
    - Dst: apr_array_append
      Src: /src/httpd/server/core.c:600,1
    - Dst: AP_CORE_MERGE_FLAG
      Src: /src/httpd/server/core.c:627,1
    - Dst: AP_CORE_MERGE_FLAG
      Src: /src/httpd/server/core.c:628,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - p
    - basev
    - virtv
    argTypes:
    - apr_pool_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 631
    functionName: merge_core_server_configs
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - AP_CORE_MERGE_FLAG
    - apr_pmemdup
    - apr_array_append
    linkageType: ''
    returnType: void
    signature: void *merge_core_server_configs(apr_pool_t *p, void *basev, void *virtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:639,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - dir_config
    argTypes:
    - server_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: ap_add_per_dir_conf
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_add_per_dir_conf(server_rec *s, void *dir_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:647,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - url_config
    argTypes:
    - server_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: ap_add_per_url_conf
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_add_per_url_conf(server_rec *s, void *url_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:659,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - conf
    - url_config
    argTypes:
    - apr_pool_t*
    - core_dir_config*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 663
    functionName: ap_add_file_conf
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_add_file_conf(apr_pool_t *p, core_dir_config *conf,\n                                       void
      *url_config)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/core.c:670,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:673,1
    - Dst: condition_ifelse::condition_ifelse
      Src: /src/httpd/server/core.c:675,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/core.c:679,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/core.c:682,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p
    - conf
    - if_config
    argTypes:
    - apr_pool_t*
    - core_dir_config*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 694
    functionName: ap_add_if_conf
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_IDX
    - condition_ifelse::condition_ifelse
    - apr_array_push
    - ap_get_module_config
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: "void ap_add_if_conf(apr_pool_t *p,\n                                             core_dir_config
      *conf,\n                                             void *if_config)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:714,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 739
    functionName: reorder_sorter
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: int
    signature: int reorder_sorter(const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:751,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/core.c:766,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/core.c:767,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:768,1
    - Dst: qsort
      Src: /src/httpd/server/core.c:774,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/core.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 782
    functionName: ap_core_reorder_directories
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_get_core_module_config
    - apr_pool_tag
    - apr_pool_create
    - qsort
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void ap_core_reorder_directories(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: ap_allow_options
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 8
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_allow_options(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 806
    functionName: ap_allow_overrides
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_allow_overrides(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authn_ap_auth_type
      Src: /src/httpd/server/core.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: ap_auth_type
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 11
    functionsReached:
    - authn_ap_auth_type
    linkageType: ''
    returnType: void
    signature: void ap_auth_type(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authn_ap_auth_name
      Src: /src/httpd/server/core.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: ap_auth_name
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 21
    functionsReached:
    - authn_ap_auth_name
    linkageType: ''
    returnType: void
    signature: void ap_auth_name(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_compat_ap_satisfies
      Src: /src/httpd/server/core.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 848
    functionName: ap_satisfies
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - access_compat_ap_satisfies
    linkageType: ''
    returnType: void
    signature: void ap_satisfies(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:853,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 858
    functionName: ap_document_root
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 9
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_document_root(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 867
    functionName: ap_context_prefix
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 6
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_context_prefix(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:871,1
    - Dst: ap_document_root
      Src: /src/httpd/server/core.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 876
    functionName: ap_context_document_root
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 7
    functionsReached:
    - ap_document_root
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_context_document_root(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - document_root
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: ap_set_document_root
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_set_document_root(request_rec *r, const char *document_root)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - context_prefix
    - context_document_root
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 892
    functionName: ap_set_context_info
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 6
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: "void ap_set_context_info(request_rec *r, const char *context_prefix,\n
      \                                    const char *context_document_root)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:902,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:914,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/core.c:920,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/server/core.c:932,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:934,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:935,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - r
    - error_index
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 899
    functionDepth: 11
    functionLinenumber: 899
    functionLinenumberEnd: 942
    functionName: ap_response_code_string
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - ap_expr_str_exec
    - APLOGNO
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: char *ap_response_code_string(request_rec *r, int error_index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/core.c:964,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/server/core.c:967,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - double_reverse
    - remote_host
    - client_addr
    - pool
    argTypes:
    - int
    - char*
    - apr_sockaddr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 976
    functionName: do_double_reverse
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_equal
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE do_double_reverse (int double_reverse,\n                                         const
      char *remote_host,\n                                         apr_sockaddr_t
      *client_addr,\n                                         apr_pool_t *pool)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:991,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/server/core.c:1008,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:1010,1
    - Dst: do_double_reverse
      Src: /src/httpd/server/core.c:1013,1
    - Dst: do_double_reverse
      Src: /src/httpd/server/core.c:1030,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - conn
    - dir_config
    - type
    - str_is_ip
    argTypes:
    - conn_rec*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1055
    functionName: ap_get_remote_host
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached:
    - ap_str_tolower
    - do_double_reverse
    - ap_get_core_module_config
    - apr_getnameinfo
    linkageType: ''
    returnType: void
    signature: "void ap_get_remote_host(conn_rec *conn, void *dir_config,\n                                            int
      type, int *str_is_ip)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_remote_host
      Src: /src/httpd/server/core.c:1068,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1077,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/server/core.c:1088,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:1090,1
    - Dst: do_double_reverse
      Src: /src/httpd/server/core.c:1093,1
    - Dst: do_double_reverse
      Src: /src/httpd/server/core.c:1110,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - r
    - type
    - str_is_ip
    argTypes:
    - request_rec*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1135
    functionName: ap_get_useragent_host
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 12
    functionsReached:
    - ap_get_remote_host
    - ap_str_tolower
    - ap_get_core_module_config
    - do_double_reverse
    - apr_getnameinfo
    linkageType: ''
    returnType: void
    signature: "void ap_get_useragent_host(request_rec *r,\n                                               int
      type, int *str_is_ip)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ident_lookup
      Src: /src/httpd/server/core.c:1149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1153
    functionName: ap_get_remote_logname
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 7
    functionsReached:
    - ident_lookup
    linkageType: ''
    returnType: void
    signature: void ap_get_remote_logname(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1172,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/server/core.c:1180,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1182,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:1185,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:1195,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1201
    functionName: ap_get_server_name
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 16
    functionsReached:
    - ap_log_rerror
    - ap_str_tolower
    - ap_get_core_module_config
    - APLOGNO
    - apr_getnameinfo
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void ap_get_server_name(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_name
      Src: /src/httpd/server/core.c:1210,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1213,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: ap_get_server_name_for_url
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 10
    functionsReached:
    - ap_get_server_name
    - ap_strchr_c
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: void ap_get_server_name_for_url(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1224,1
    - Dst: ap_default_port
      Src: /src/httpd/server/core.c:1234,1
    - Dst: ap_default_port
      Src: /src/httpd/server/core.c:1238,1
    - Dst: ap_default_port
      Src: /src/httpd/server/core.c:1252,1
    - Dst: ap_default_port
      Src: /src/httpd/server/core.c:1255,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:1258,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1258,1
    - Dst: ap_default_port
      Src: /src/httpd/server/core.c:1260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1265
    functionName: ap_get_server_port
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 15
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - ap_get_core_module_config
    - ap_default_port
    linkageType: ''
    returnType: void
    signature: void ap_get_server_port(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_port
      Src: /src/httpd/server/core.c:1270,1
    - Dst: ap_get_server_name_for_url
      Src: /src/httpd/server/core.c:1271,1
    - Dst: ap_is_default_port
      Src: /src/httpd/server/core.c:1273,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1274,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/core.c:1274,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:1277,1
    - Dst: ap_http_scheme
      Src: /src/httpd/server/core.c:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - uri
    - r
    argTypes:
    - apr_pool_t*
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: ap_construct_url
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 12
    functionsReached:
    - apr_pstrcat
    - ap_is_default_port
    - ap_get_server_port
    - apr_psprintf
    - ap_http_scheme
    - ap_get_server_name_for_url
    linkageType: ''
    returnType: void
    signature: "void ap_construct_url(apr_pool_t *p, const char *uri,\n                                    request_rec
      *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1290
    functionName: ap_get_limit_req_body
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 4
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_limit_req_body(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1297
    functionName: ap_get_read_buf_size
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_read_buf_size(const request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dirp
    - what
    argTypes:
    - ap_directive_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1320
    functionName: find_parent
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: ap_directive_t
    signature: "ap_directive_t * find_parent(const ap_directive_t *dirp,\n                                          const
      char *what)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/core.c:1326,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1331,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1336,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1342,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1348,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1360,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1361,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1363,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1364,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1366,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1367,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1368,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1369,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1370,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1372,1
    - Dst: find_parent
      Src: /src/httpd/server/core.c:1373,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1374,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 22
    argCount: 2
    argNames:
    - cmd
    - forbidden
    argTypes:
    - cmd_parms*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1380
    functionName: ap_check_cmd_context
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 111
    functionsReached:
    - strlen
    - find_parent
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void ap_check_cmd_context(cmd_parms *cmd,\n                                              unsigned
      forbidden)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1386,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:1388,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1382
    functionDepth: 3
    functionLinenumber: 1382
    functionLinenumberEnd: 1395
    functionName: set_access_name
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_check_cmd_context
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_access_name(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1410,1
    - Dst: strlen
      Src: /src/httpd/server/core.c:1416,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:1429,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1437,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/core.c:1438,1
    - Dst: ap_strstr
      Src: /src/httpd/server/core.c:1439,1
    - Dst: apr_table_get
      Src: /src/httpd/server/core.c:1447,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1449,1
    - Dst: getenv
      Src: /src/httpd/server/core.c:1449,1
    - Dst: strlen
      Src: /src/httpd/server/core.c:1452,1
    - Dst: strlen
      Src: /src/httpd/server/core.c:1457,1
    - Dst: ap_strchr
      Src: /src/httpd/server/core.c:1461,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:1462,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1462,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1479,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:1487,1
    - Dst: memcpy
      Src: /src/httpd/server/core.c:1490,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 2
    argNames:
    - p
    - word
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1498
    functionName: ap_resolve_env
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_strchr
    - ap_strstr
    - apr_palloc
    - APLOGNO
    - apr_pstrdup
    - apr_pstrmemdup
    - strlen
    - getenv
    - ap_log_error
    - apr_table_get
    - ap_strchr_c
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ap_resolve_env(apr_pool_t *p, const char * word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: reset_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset_config(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_copy
      Src: /src/httpd/server/core.c:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1526
    functionName: init_config_defines
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_array_copy
    linkageType: ''
    returnType: void
    signature: void init_config_defines(apr_pool_t *pconf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1531,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1532,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1536,1
    - Dst: init_config_defines
      Src: /src/httpd/server/core.c:1541,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/core.c:1543,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:1544,1
    - Dst: apr_table_make
      Src: /src/httpd/server/core.c:1548,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:1550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - cmd
    - dummy
    - name
    - value
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1554
    functionName: set_define
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - apr_pstrcat
    - ap_cstr_casecmp
    - apr_array_push
    - apr_table_setn
    - init_config_defines
    - ap_strchr_c
    - apr_table_make
    linkageType: ''
    returnType: char
    signature: "char *set_define(cmd_parms *cmd, void *dummy,\n                              const
      char *name, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1561,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1562,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1566,1
    - Dst: init_config_defines
      Src: /src/httpd/server/core.c:1571,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:1576,1
    - Dst: apr_array_pop
      Src: /src/httpd/server/core.c:1577,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/core.c:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - dummy
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1587
    functionName: unset_define
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pstrcat
    - ap_cstr_casecmp
    - apr_table_unset
    - apr_array_pop
    - init_config_defines
    - ap_strchr_c
    linkageType: ''
    returnType: char
    signature: "char *unset_define(cmd_parms *cmd, void *dummy,\n                                const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/core.c:1609,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:1613,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1632
    functionName: generate_message
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - strlen
    - apr_pstrndup
    linkageType: ''
    returnType: char
    signature: "char *generate_message(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1638,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:1640,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1635
    functionDepth: 3
    functionLinenumber: 1635
    functionLinenumberEnd: 1647
    functionName: set_gprof_dir
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_check_cmd_context
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: char *set_gprof_dir(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1655,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1668
    functionName: set_add_default_charset
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_add_default_charset(cmd_parms *cmd,\n                                           void
      *d_, const char *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1674,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:1676,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:1688,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:1693,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/core.c:1695,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/core.c:1697,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1698,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:1704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1670
    functionDepth: 3
    functionLinenumber: 1670
    functionLinenumberEnd: 1710
    functionName: set_document_root
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached:
    - ap_server_root_relative
    - ap_log_perror
    - ap_get_core_module_config
    - ap_is_directory
    - APLOGNO
    - ap_check_cmd_context
    - apr_psprintf
    - apr_filepath_merge
    linkageType: ''
    returnType: char
    signature: "char *set_document_root(cmd_parms *cmd, void *dummy,\n                                     const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1715,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:1720,1
    - Dst: ap_index_of_response
      Src: /src/httpd/server/core.c:1724,1
    - Dst: ap_is_url
      Src: /src/httpd/server/core.c:1727,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1728,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - r
    - status
    - string
    argTypes:
    - request_rec*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1712
    functionDepth: 2
    functionLinenumber: 1712
    functionLinenumberEnd: 1729
    functionName: ap_custom_response
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached:
    - ap_is_url
    - apr_pcalloc
    - ap_get_core_module_config
    - ap_index_of_response
    - apr_pstrcat
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: "void ap_custom_response(request_rec *r, int status,\n                                    const
      char *string)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/server/core.c:1741,1
    - Dst: ap_index_of_response
      Src: /src/httpd/server/core.c:1742,1
    - Dst: ap_index_of_response
      Src: /src/httpd/server/core.c:1747,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1748,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:1753,1
    - Dst: ap_is_url
      Src: /src/httpd/server/core.c:1757,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:1765,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1765,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/core.c:1771,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1774,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/core.c:1778,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/core.c:1779,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1791,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1792,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/server/core.c:1794,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1798,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/core.c:1803,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/core.c:1804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - cmd
    - conf_
    - errno_str
    - msg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1731
    functionDepth: 2
    functionLinenumber: 1731
    functionLinenumberEnd: 1811
    functionName: set_error_document
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_is_url
    - apr_hash_set
    - ap_expr_parse_cmd
    - apr_hash_make
    - apr_pstrcat
    - ap_index_of_response
    - ap_cstr_casecmp
    - APLOGNO
    - apr_pstrdup
    - atoi
    - ap_log_error
    - ap_strchr_c
    - apr_pmemdup
    linkageType: ''
    returnType: char
    signature: "char *set_error_document(cmd_parms *cmd, void *conf_,\n                                      const
      char *errno_str, const char *msg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/httpd/server/core.c:1822,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1830,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1833,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1838,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1841,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1844,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1847,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1850,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1853,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1856,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1859,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1863,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - cmd
    - opts
    - l
    argTypes:
    - cmd_parms*
    - allow_options_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1872
    functionName: set_allow_opts
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - apr_pstrcat
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_allow_opts(cmd_parms *cmd, allow_options_t *opts,\n                                  const
      char *l)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:1882,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:1883,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:1883,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:1887,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:1892,1
    - Dst: strchr
      Src: /src/httpd/server/core.c:1895,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1900,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1903,1
    - Dst: set_allow_opts
      Src: /src/httpd/server/core.c:1906,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1912,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1915,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1918,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1921,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1923,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1925,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1928,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1931,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1935,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:1938,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1942,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 3
    argNames:
    - cmd
    - d_
    - l
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1874
    functionDepth: 3
    functionLinenumber: 1874
    functionLinenumberEnd: 1949
    functionName: set_override
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - strchr
    - set_allow_opts
    - apr_pstrcat
    - APLOGNO
    - ap_check_cmd_context
    - ap_log_error
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_override(cmd_parms *cmd, void *d_, const char *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - d_
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1958
    functionName: set_cgi_pass_auth
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_cgi_pass_auth(cmd_parms *cmd, void *d_, int flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:1964,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:1966,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:1968,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:1969,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:1969,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:1974,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/core.c:1979,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/core.c:1981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - cmd
    - d_
    - var
    - rule_
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1983
    functionName: set_cgi_var
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - strcmp
    - ap_str_tolower
    - apr_pstrcat
    - apr_hash_make
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *set_cgi_var(cmd_parms *cmd, void *d_,\n                               const
      char *var, const char *rule_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - d_
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1992
    functionName: set_qualify_redirect_url
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *set_qualify_redirect_url(cmd_parms *cmd, void *d_, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:1996,1
    - Dst: ap_set_flag_slot
      Src: /src/httpd/server/core.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - s_
    - flag
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1993
    functionDepth: 1
    functionLinenumber: 1993
    functionLinenumberEnd: 1998
    functionName: set_core_server_flag
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_set_flag_slot
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: char *set_core_server_flag(cmd_parms *cmd, void *s_, int flag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2006,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:2007,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:2007,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2011,1
    - Dst: apr_table_make
      Src: /src/httpd/server/core.c:2014,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2017,1
    - Dst: ap_find_command_in_modules
      Src: /src/httpd/server/core.c:2028,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:2030,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:2031,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:2038,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:2039,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:2046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - cmd
    - d_
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2052
    functionName: set_override_list
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    - APLOGNO
    - apr_table_setn
    - ap_find_command_in_modules
    - ap_check_cmd_context
    - ap_log_error
    - apr_table_make
    linkageType: ''
    returnType: char
    signature: char *set_override_list(cmd_parms *cmd, void *d_, int argc, char *const
      argv[])
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2064,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2081,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2084,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2087,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2090,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2093,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2096,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2099,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2102,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2105,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2115,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2126,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2130,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - cmd
    - d_
    - l
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2054
    functionDepth: 3
    functionLinenumber: 2054
    functionLinenumberEnd: 2151
    functionName: set_options
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 6
    functionsReached:
    - apr_pstrcat
    - ap_cstr_casecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *set_options(cmd_parms *cmd, void *d_, const char *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2156,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2156,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:2157,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:2157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2163
    functionName: set_default_type
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_default_type(cmd_parms *cmd, void *d_,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/server/core.c:2171,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg_
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2179
    functionName: set_sethandler
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_sethandler(cmd_parms *cmd,\n                                     void
      *d_,\n                                     const char *arg_)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2207,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2226,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2235,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2244,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2247,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2248,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2249,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2252,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2255,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2259,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2265,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - args_p
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2186
    functionDepth: 3
    functionLinenumber: 2186
    functionLinenumberEnd: 2315
    functionName: set_etag_bits
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_cstr_casecmp
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_etag_bits(cmd_parms *cmd, void *mconfig,\n                                 const
      char *args_p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2322,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2317
    functionDepth: 1
    functionLinenumber: 2317
    functionLinenumberEnd: 2333
    functionName: set_enable_mmap
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_enable_mmap(cmd_parms *cmd, void *d_,\n                                   const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2340,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:2343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2335
    functionDepth: 1
    functionLinenumber: 2335
    functionLinenumberEnd: 2351
    functionName: set_enable_sendfile
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_enable_sendfile(cmd_parms *cmd, void *d_,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/server/core.c:2360,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2362,1
    - Dst: APR_STRINGIFY
      Src: /src/httpd/server/core.c:2364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2370
    functionName: set_read_buf_size
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - APR_STRINGIFY
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_read_buf_size(cmd_parms *cmd, void *d_,\n                                     const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:2376,1
    - Dst: apr_strtoff
      Src: /src/httpd/server/core.c:2380,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2382,1
    - Dst: APR_STRINGIFY
      Src: /src/httpd/server/core.c:2384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2372
    functionDepth: 1
    functionLinenumber: 2372
    functionLinenumberEnd: 2390
    functionName: set_flush_max_threshold
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - APR_STRINGIFY
    - ap_get_core_module_config
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_flush_max_threshold(cmd_parms *cmd, void *d_,\n                                           const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:2396,1
    - Dst: apr_strtoff
      Src: /src/httpd/server/core.c:2400,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2402,1
    - Dst: APR_STRINGIFY
      Src: /src/httpd/server/core.c:2404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2392
    functionDepth: 1
    functionLinenumber: 2392
    functionLinenumberEnd: 2410
    functionName: set_flush_max_pipelined
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    - APR_STRINGIFY
    - ap_get_core_module_config
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_flush_max_pipelined(cmd_parms *cmd, void *d_,\n                                           const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - cmd_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2419
    functionName: unclosed_directive
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *unclosed_directive(cmd_parms *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - cmd_parms*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2428
    functionName: missing_container_arg
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: char *missing_container_arg(cmd_parms *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2434,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2442,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/core.c:2445,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2448,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2452,1
    - Dst: ap_method_number_of
      Src: /src/httpd/server/core.c:2456,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:2467,1
    - Dst: ap_method_register
      Src: /src/httpd/server/core.c:2471,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:2472,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2484,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2488,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:2495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2430
    functionDepth: 3
    functionLinenumber: 2430
    functionLinenumberEnd: 2500
    functionName: ap_limit_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    - missing_container_arg
    - apr_pstrcat
    - ap_walk_config
    - apr_pstrmemdup
    - ap_method_register
    - apr_psprintf
    - ap_strrchr_c
    - apr_pstrdup
    - unclosed_directive
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: "void ap_limit_section(cmd_parms *cmd,\n                                                      void
      *dummy,\n                                                      const char *arg)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2517,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/core.c:2522,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2525,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2531,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:2534,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2537,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2540,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2543,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2544,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2548,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2554,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2559,1
    - Dst: ap_state_query
      Src: /src/httpd/server/core.c:2560,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:2569,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2572,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/core.c:2577,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/core.c:2578,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:2579,1
    - Dst: strlen
      Src: /src/httpd/server/core.c:2585,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2586,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/server/core.c:2590,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:2593,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/core.c:2599,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:2602,1
    - Dst: ap_regname
      Src: /src/httpd/server/core.c:2603,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2612,1
    - Dst: ap_count_dirs
      Src: /src/httpd/server/core.c:2615,1
    - Dst: ap_add_per_dir_conf
      Src: /src/httpd/server/core.c:2617,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2620,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2629
    functionName: dirsection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - ap_set_config_vectors
    - ap_regname
    - ap_state_query
    - apr_pstrcat
    - apr_pstrndup
    - apr_fnmatch_test
    - strcmp
    - ap_count_dirs
    - ap_is_directory
    - ap_walk_config
    - ap_pregcomp
    - apr_filepath_merge
    - unclosed_directive
    - missing_container_arg
    - APLOGNO
    - ap_add_per_dir_conf
    - ap_check_cmd_context
    - ap_create_per_dir_config
    - ap_strrchr_c
    - strlen
    - apr_array_make
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *dirsection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2634,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/core.c:2640,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2641,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2647,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:2650,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2653,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2656,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2660,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2665,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2666,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2667,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/server/core.c:2677,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:2680,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:2684,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/core.c:2685,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:2689,1
    - Dst: ap_regname
      Src: /src/httpd/server/core.c:2690,1
    - Dst: ap_add_per_url_conf
      Src: /src/httpd/server/core.c:2695,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2698,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2631
    functionDepth: 3
    functionLinenumber: 2631
    functionLinenumberEnd: 2707
    functionName: urlsection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - missing_container_arg
    - apr_pstrcat
    - ap_getword_conf
    - ap_set_config_vectors
    - ap_walk_config
    - ap_add_per_url_conf
    - ap_check_cmd_context
    - apr_pstrndup
    - apr_fnmatch_test
    - ap_pregcomp
    - ap_regname
    - ap_strrchr_c
    - apr_pstrdup
    - apr_array_make
    - unclosed_directive
    - ap_create_per_dir_config
    linkageType: ''
    returnType: char
    signature: char *urlsection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2712,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/core.c:2718,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2719,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2727,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:2730,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2733,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2736,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2743,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2748,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2749,1
    - Dst: ap_pregcomp
      Src: /src/httpd/server/core.c:2750,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:2762,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2764,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/server/core.c:2770,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:2773,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/core.c:2778,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:2782,1
    - Dst: ap_regname
      Src: /src/httpd/server/core.c:2783,1
    - Dst: ap_add_file_conf
      Src: /src/httpd/server/core.c:2788,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2791,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2709
    functionDepth: 3
    functionLinenumber: 2709
    functionLinenumberEnd: 2800
    functionName: filesection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - missing_container_arg
    - ap_add_file_conf
    - apr_pstrcat
    - ap_getword_conf
    - ap_set_config_vectors
    - ap_walk_config
    - ap_check_cmd_context
    - apr_pstrndup
    - apr_fnmatch_test
    - ap_pregcomp
    - ap_regname
    - ap_strrchr_c
    - apr_filepath_merge
    - apr_array_make
    - unclosed_directive
    - ap_create_per_dir_config
    linkageType: ''
    returnType: char
    signature: char *filesection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2809,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/core.c:2814,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:2815,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2824,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:2827,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/server/core.c:2840,1
    - Dst: ap_assert
      Src: /src/httpd/server/core.c:2850,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2858,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2859,1
    - Dst: ap_expr_parse_cmd
      Src: /src/httpd/server/core.c:2860,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:2862,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:2866,1
    - Dst: ap_add_if_conf
      Src: /src/httpd/server/core.c:2874,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:2879,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2806
    functionDepth: 3
    functionLinenumber: 2806
    functionLinenumberEnd: 2887
    functionName: ifsection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_expr_parse_cmd
    - missing_container_arg
    - apr_pstrcat
    - ap_getword_conf
    - ap_set_config_vectors
    - ap_walk_config
    - ap_check_cmd_context
    - apr_pstrndup
    - apr_psprintf
    - ap_strrchr_c
    - ap_add_if_conf
    - ap_assert
    - unclosed_directive
    - ap_create_per_dir_config
    linkageType: ''
    returnType: char
    signature: char *ifsection(cmd_parms *cmd, void *mconfig, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_linked_module
      Src: /src/httpd/server/core.c:2891,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:2898,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/core.c:2907,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:2908,1
    - Dst: check_symbol
      Src: /src/httpd/server/core.c:2927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2889
    functionDepth: 1
    functionLinenumber: 2889
    functionLinenumberEnd: 2932
    functionName: find_module
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - check_symbol
    - ap_find_linked_module
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    linkageType: ''
    returnType: module
    signature: module *find_module(server_rec *s, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:2942,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:2948,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/core.c:2951,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:2957,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:2960,1
    - Dst: testfn
      Src: /src/httpd/server/core.c:2963,1
    - Dst: ap_build_cont_config
      Src: /src/httpd/server/core.c:2970,1
    - Dst: ap_soak_end_container
      Src: /src/httpd/server/core.c:2977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - mconfig
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2940
    functionDepth: 3
    functionLinenumber: 2940
    functionLinenumberEnd: 2979
    functionName: start_cond_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_build_cont_config
    - missing_container_arg
    - testfn
    - apr_pstrmemdup
    - ap_soak_end_container
    - ap_strrchr_c
    - unclosed_directive
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: char *start_cond_section(cmd_parms *cmd, void *mconfig, const char
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_module
      Src: /src/httpd/server/core.c:2984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2982
    functionDepth: 2
    functionLinenumber: 2982
    functionLinenumberEnd: 2985
    functionName: test_ifmod_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - find_module
    linkageType: ''
    returnType: int
    signature: int test_ifmod_section(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_array_str_contains
      Src: /src/httpd/server/core.c:2989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2987
    functionDepth: 2
    functionLinenumber: 2987
    functionLinenumberEnd: 2990
    functionName: ap_exists_config_define
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 7
    functionsReached:
    - ap_array_str_contains
    linkageType: ''
    returnType: void
    signature: void ap_exists_config_define(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/core.c:2994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2992
    functionDepth: 3
    functionLinenumber: 2992
    functionLinenumberEnd: 2995
    functionName: test_ifdefine_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    linkageType: ''
    returnType: int
    signature: int test_ifdefine_section(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:3008,1
    - Dst: apr_stat
      Src: /src/httpd/server/core.c:3010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 2997
    functionDepth: 1
    functionLinenumber: 2997
    functionLinenumberEnd: 3011
    functionName: test_iffile_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int test_iffile_section(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_directive
      Src: /src/httpd/server/core.c:3015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3013
    functionDepth: 1
    functionLinenumber: 3013
    functionLinenumberEnd: 3016
    functionName: test_ifdirective_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_directive
    linkageType: ''
    returnType: int
    signature: int test_ifdirective_section(cmd_parms *cmd, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3020,1
    - Dst: ap_exists_directive
      Src: /src/httpd/server/core.c:3021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3022
    functionName: test_ifsection_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_directive
    - apr_pstrcat
    linkageType: ''
    returnType: int
    signature: int test_ifsection_section(cmd_parms *cmd, const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:3031,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3034,1
    - Dst: unclosed_directive
      Src: /src/httpd/server/core.c:3040,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:3043,1
    - Dst: missing_container_arg
      Src: /src/httpd/server/core.c:3046,1
    - Dst: ap_init_virtual_host
      Src: /src/httpd/server/core.c:3058,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/core.c:3071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3026
    functionDepth: 3
    functionLinenumber: 3026
    functionLinenumberEnd: 3077
    functionName: virtualhost_section
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - missing_container_arg
    - ap_walk_config
    - ap_check_cmd_context
    - apr_pstrndup
    - ap_strrchr_c
    - ap_init_virtual_host
    - unclosed_directive
    linkageType: ''
    returnType: char
    signature: "char *virtualhost_section(cmd_parms *cmd, void *dummy,\n                                       const
      char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3086,1
    - Dst: ap_regcomp_get_default_cflags
      Src: /src/httpd/server/core.c:3091,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:3093,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:3096,1
    - Dst: ap_regcomp_default_cflag_by_name
      Src: /src/httpd/server/core.c:3110,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3112,1
    - Dst: ap_regcomp_set_default_cflags
      Src: /src/httpd/server/core.c:3126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3079
    functionDepth: 3
    functionLinenumber: 3079
    functionLinenumberEnd: 3129
    functionName: set_regex_default_options
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_regcomp_default_cflag_by_name
    - ap_check_cmd_context
    - ap_regcomp_get_default_cflags
    - apr_psprintf
    - ap_regcomp_set_default_cflags
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_regex_default_options(cmd_parms *cmd,\n                                             void
      *dummy,\n                                             const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_getword_conf
      Src: /src/httpd/server/core.c:3139,1
    - Dst: ap_is_matchexp
      Src: /src/httpd/server/core.c:3141,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:3142,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:3145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3131
    functionDepth: 3
    functionLinenumber: 3131
    functionLinenumberEnd: 3152
    functionName: set_server_alias
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_is_matchexp
    - apr_array_push
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *set_server_alias(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3157,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3159,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:3166,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:3167,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:3168,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:3169,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:3170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cmd
    - dummy
    - iproto
    - iaccf
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3154
    functionDepth: 3
    functionLinenumber: 3154
    functionLinenumberEnd: 3173
    functionName: set_accf_map
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - ap_get_core_module_config
    - apr_table_setn
    - ap_check_cmd_context
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *set_accf_map(cmd_parms *cmd, void *dummy,\n                                const
      char *iproto, const char* iaccf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3179
    functionName: ap_get_server_protocol
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_server_protocol(server_rec* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - proto
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3185
    functionName: ap_set_server_protocol
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_set_server_protocol(server_rec* s, const char* proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3190,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3192,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:3199,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:3200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3187
    functionDepth: 3
    functionLinenumber: 3187
    functionLinenumberEnd: 3204
    functionName: set_protocol
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_str_tolower
    - apr_pstrdup
    - ap_check_cmd_context
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_protocol(cmd_parms *cmd, void *dummy,\n                                const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3206
    functionDepth: 3
    functionLinenumber: 3206
    functionLinenumberEnd: 3221
    functionName: set_server_string_slot
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *set_server_string_slot(cmd_parms *cmd, void *dummy,\n                                          const
      char *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3233,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/core.c:3242,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3243,1
    - Dst: ap_strstr_c
      Src: /src/httpd/server/core.c:3246,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:3249,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:3250,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:3257,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:3259,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3262,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3264,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:3270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3231
    functionDepth: 3
    functionLinenumber: 3231
    functionLinenumberEnd: 3276
    functionName: server_hostname_port
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - ap_str_tolower
    - apr_pstrcat
    - apr_pstrdup
    - atoi
    - ap_check_cmd_context
    - apr_pstrndup
    - ap_strchr_c
    - apr_fnmatch_test
    linkageType: ''
    returnType: char
    signature: char *server_hostname_port(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3283,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3286,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3297
    functionName: set_signature_flag
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_signature_flag(cmd_parms *cmd, void *d_,\n                                      const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3302,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:3308,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/core.c:3310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3299
    functionDepth: 3
    functionLinenumber: 3299
    functionLinenumberEnd: 3315
    functionName: set_server_root
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_is_directory
    - apr_filepath_merge
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *set_server_root(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3319,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:3325,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:3326,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/core.c:3328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3317
    functionDepth: 3
    functionLinenumber: 3317
    functionLinenumberEnd: 3333
    functionName: set_runtime_dir
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_is_directory
    - apr_filepath_merge
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *set_runtime_dir(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3337,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:3343,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:3344,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/core.c:3346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3335
    functionDepth: 3
    functionLinenumber: 3335
    functionLinenumberEnd: 3351
    functionName: set_state_dir
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_is_directory
    - apr_filepath_merge
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: char *set_state_dir(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3355,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/core.c:3361,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3353
    functionDepth: 3
    functionLinenumber: 3353
    functionLinenumberEnd: 3363
    functionName: set_timeout
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 4
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - apr_time_from_sec
    linkageType: ''
    returnType: char
    signature: char *set_timeout(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3369,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3372,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3375,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3388
      start: 3365
    functionDepth: 1
    functionLinenumber: 3365
    functionLinenumberEnd: 3388
    functionName: set_allow2f
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_allow2f(cmd_parms *cmd, void *d_, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3395,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3398,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3390
    functionDepth: 1
    functionLinenumber: 3390
    functionLinenumberEnd: 3409
    functionName: set_hostname_lookups
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_hostname_lookups(cmd_parms *cmd, void *d_,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3414,1
    - Dst: strlen
      Src: /src/httpd/server/core.c:3421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3411
    functionDepth: 3
    functionLinenumber: 3411
    functionLinenumberEnd: 3423
    functionName: set_serverpath
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *set_serverpath(cmd_parms *cmd, void *dummy,\n                                  const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3429,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3432,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3425
    functionDepth: 1
    functionLinenumber: 3425
    functionLinenumberEnd: 3443
    functionName: set_accept_path_info
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_accept_path_info(cmd_parms *cmd, void *d_, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3450,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3453,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3445
    functionDepth: 1
    functionLinenumber: 3445
    functionLinenumberEnd: 3464
    functionName: set_use_canonical_name
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_use_canonical_name(cmd_parms *cmd, void *d_,\n                                          const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3471,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - d_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3482
    functionName: set_use_canonical_phys_port
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_use_canonical_phys_port(cmd_parms *cmd, void *d_,\n                                          const
      char *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/core.c:3497,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:3502,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/server/core.c:3504,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3509,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:3514,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3517,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/core.c:3521,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/core.c:3528,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:3532,1
    - Dst: apr_pool_userdata_setn
      Src: /src/httpd/server/core.c:3533,1
    - Dst: ap_process_fnmatch_configs
      Src: /src/httpd/server/core.c:3539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - cmd
    - dummy
    - name
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3484
    functionDepth: 3
    functionLinenumber: 3484
    functionLinenumberEnd: 3555
    functionName: include_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - ap_server_root_relative
    - apr_palloc
    - apr_pstrcat
    - apr_pool_userdata_get
    - apr_pool_userdata_setn
    - ap_process_fnmatch_configs
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *include_config (cmd_parms *cmd, void *dummy,\n                                   const
      char *name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/core.c:3564,1
    - Dst: ap_parse_log_level
      Src: /src/httpd/server/core.c:3567,1
    - Dst: ap_reset_module_loglevels
      Src: /src/httpd/server/core.c:3570,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:3571,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/core.c:3576,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3579,1
    - Dst: ap_parse_log_level
      Src: /src/httpd/server/core.c:3583,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3585,1
    - Dst: find_module
      Src: /src/httpd/server/core.c:3587,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3588,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:3589,1
    - Dst: find_module
      Src: /src/httpd/server/core.c:3591,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3595,1
    - Dst: ap_set_module_loglevel
      Src: /src/httpd/server/core.c:3598,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:3599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - cmd
    - log
    - arg
    argTypes:
    - cmd_parms*
    - struct ap_logconf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3557
    functionDepth: 2
    functionLinenumber: 3557
    functionLinenumberEnd: 3604
    functionName: update_loglevel
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrmemdup
    - ap_reset_module_loglevels
    - ap_log_error
    - ap_parse_log_level
    - apr_psprintf
    - find_module
    - ap_set_module_loglevel
    - ap_strrchr_c
    linkageType: ''
    returnType: char
    signature: "char *update_loglevel(cmd_parms *cmd, struct ap_logconf *log,\n                                   const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_new_log_config
      Src: /src/httpd/server/core.c:3613,1
    - Dst: update_loglevel
      Src: /src/httpd/server/core.c:3624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - config_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3606
    functionDepth: 3
    functionLinenumber: 3606
    functionLinenumberEnd: 3625
    functionName: set_loglevel
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - update_loglevel
    - ap_new_log_config
    linkageType: ''
    returnType: char
    signature: char *set_loglevel(cmd_parms *cmd, void *config_, const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:3638,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3639,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:3641,1
    - Dst: APR_ARRAY_PUSH
      Src: /src/httpd/server/core.c:3642,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/core.c:3645,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/core.c:3647,1
    - Dst: apr_ipsubnet_create
      Src: /src/httpd/server/core.c:3650,1
    - Dst: update_loglevel
      Src: /src/httpd/server/core.c:3655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - cmd
    - d_
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3627
    functionDepth: 3
    functionLinenumber: 3627
    functionLinenumberEnd: 3659
    functionName: set_loglevel_override
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APR_ARRAY_PUSH
    - ap_get_core_module_config
    - apr_pcalloc
    - apr_ipsubnet_create
    - apr_pstrmemdup
    - update_loglevel
    - ap_strchr_c
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_loglevel_override(cmd_parms *cmd, void *d_, int argc,\n
      \                                        char *const argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:3666,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/core.c:3672,1
    - Dst: ap_get_server_port
      Src: /src/httpd/server/core.c:3672,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3675,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/core.c:3676,1
    - Dst: ap_is_url
      Src: /src/httpd/server/core.c:3678,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/core.c:3679,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/core.c:3681,1
    - Dst: ap_get_server_name
      Src: /src/httpd/server/core.c:3681,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3686,1
    - Dst: ap_get_server_banner
      Src: /src/httpd/server/core.c:3686,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/core.c:3688,1
    - Dst: ap_get_server_name
      Src: /src/httpd/server/core.c:3688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - r
    argTypes:
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3691
      start: 3661
    functionDepth: 2
    functionLinenumber: 3661
    functionLinenumberEnd: 3691
    functionName: ap_psignature
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 9
    functionsReached:
    - ap_is_url
    - ap_get_core_module_config
    - apr_pstrcat
    - ap_get_server_banner
    - ap_escape_html
    - ap_get_server_port
    - ap_get_server_name
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void ap_psignature(const char *prefix, request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3722
    functionName: reset_banner
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset_banner(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - ap_version_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3724
    functionDepth: 0
    functionLinenumber: 3724
    functionLinenumberEnd: 3730
    functionName: ap_get_server_revision
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_server_revision(ap_version_t *version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3732
    functionDepth: 0
    functionLinenumber: 3732
    functionLinenumberEnd: 3736
    functionName: ap_get_server_description
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_server_description(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3741
    functionName: ap_get_server_banner
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_server_banner(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/core.c:3752,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:3754,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3761,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pconf
    - component
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3767
      start: 3743
    functionDepth: 0
    functionLinenumber: 3743
    functionLinenumberEnd: 3767
    functionName: ap_add_version_component
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - apr_pstrdup
    - apr_pstrcat
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_add_version_component(apr_pool_t *pconf, const char *component)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_version_component
      Src: /src/httpd/server/core.c:3776,1
    - Dst: ap_add_version_component
      Src: /src/httpd/server/core.c:3779,1
    - Dst: ap_add_version_component
      Src: /src/httpd/server/core.c:3782,1
    - Dst: ap_add_version_component
      Src: /src/httpd/server/core.c:3785,1
    - Dst: ap_add_version_component
      Src: /src/httpd/server/core.c:3788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3773
    functionDepth: 1
    functionLinenumber: 3773
    functionLinenumberEnd: 3799
    functionName: set_banner
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_add_version_component
    linkageType: ''
    returnType: void
    signature: void set_banner(apr_pool_t *pconf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3804,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3810,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3813,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3813,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3816,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3819,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3822,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3822,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3801
    functionDepth: 3
    functionLinenumber: 3801
    functionLinenumberEnd: 3833
    functionName: set_serv_tokens
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_serv_tokens(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3838,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3845,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3835
    functionDepth: 3
    functionLinenumber: 3835
    functionLinenumberEnd: 3853
    functionName: set_limit_req_line
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_limit_req_line(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3858,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3865,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3855
    functionDepth: 3
    functionLinenumber: 3855
    functionLinenumberEnd: 3874
    functionName: set_limit_req_fieldsize
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_limit_req_fieldsize(cmd_parms *cmd, void *dummy,\n                                           const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:3879,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3886,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:3888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3876
    functionDepth: 3
    functionLinenumber: 3876
    functionLinenumberEnd: 3895
    functionName: set_limit_req_fields
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - apr_pstrcat
    linkageType: ''
    returnType: char
    signature: "char *set_limit_req_fields(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoff
      Src: /src/httpd/server/core.c:3903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cmd
    - conf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3897
    functionDepth: 0
    functionLinenumber: 3897
    functionLinenumberEnd: 3911
    functionName: set_limit_req_body
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_strtoff
    linkageType: ''
    returnType: char
    signature: "char *set_limit_req_body(cmd_parms *cmd, void *conf_,\n                                      const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/httpd/server/core.c:3918,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:3924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - conf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3913
    functionDepth: 0
    functionLinenumber: 3913
    functionLinenumberEnd: 3928
    functionName: set_limit_xml_req_body
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - atol
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *set_limit_xml_req_body(cmd_parms *cmd, void *conf_,\n                                          const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3935,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3938,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3941,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - conf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3954
      start: 3930
    functionDepth: 1
    functionLinenumber: 3930
    functionLinenumberEnd: 3954
    functionName: set_max_ranges
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_max_ranges(cmd_parms *cmd, void *conf_, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3961,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3964,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3967,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - conf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3980
      start: 3956
    functionDepth: 1
    functionLinenumber: 3956
    functionLinenumberEnd: 3980
    functionName: set_max_overlaps
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_max_overlaps(cmd_parms *cmd, void *conf_, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3987,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3990,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:3993,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:3997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - conf_
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 3982
    functionDepth: 1
    functionLinenumber: 3982
    functionLinenumberEnd: 4006
    functionName: set_max_reversals
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: char *set_max_reversals(cmd_parms *cmd, void *conf_, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4019
    functionName: ap_get_limit_xml_body
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_limit_xml_body(const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:4025,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - conf_
    - arg
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4029
    functionName: no_set_limit
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: "char *no_set_limit(cmd_parms *cmd, void *conf_,\n                                const
      char *arg, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_unixd_set_rlimit
      Src: /src/httpd/server/core.c:4038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - conf_
    - arg
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4040
      start: 4033
    functionDepth: 1
    functionLinenumber: 4033
    functionLinenumberEnd: 4040
    functionName: set_limit_cpu
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_unixd_set_rlimit
    linkageType: ''
    returnType: char
    signature: "char *set_limit_cpu(cmd_parms *cmd, void *conf_,\n                                 const
      char *arg, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_unixd_set_rlimit
      Src: /src/httpd/server/core.c:4050,1
    - Dst: ap_unixd_set_rlimit
      Src: /src/httpd/server/core.c:4052,1
    - Dst: ap_unixd_set_rlimit
      Src: /src/httpd/server/core.c:4054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cmd
    - conf_
    - arg
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4044
    functionDepth: 1
    functionLinenumber: 4044
    functionLinenumberEnd: 4058
    functionName: set_limit_mem
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_unixd_set_rlimit
    linkageType: ''
    returnType: char
    signature: "char *set_limit_mem(cmd_parms *cmd, void *conf_,\n                                 const
      char *arg, const char * arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_unixd_set_rlimit
      Src: /src/httpd/server/core.c:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - conf_
    - arg
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4069
      start: 4062
    functionDepth: 1
    functionLinenumber: 4062
    functionLinenumberEnd: 4069
    functionName: set_limit_nproc
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_unixd_set_rlimit
    linkageType: ''
    returnType: char
    signature: "char *set_limit_nproc(cmd_parms *cmd, void *conf_,\n                                   const
      char *arg, const char * arg2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4076,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:4077,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:4083,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4083,1
    - Dst: atoi
      Src: /src/httpd/server/core.c:4091,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:4097,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4072
    functionDepth: 0
    functionLinenumber: 4072
    functionLinenumberEnd: 4106
    functionName: set_recursion_limit
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - atoi
    - ap_log_error
    - ap_get_core_module_config
    - APLOGNO
    linkageType: ''
    returnType: char
    signature: "char *set_recursion_limit(cmd_parms *cmd, void *dummy,\n                                       const
      char *arg1, const char *arg2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APLOGrdebug
      Src: /src/httpd/server/core.c:4110,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:4113,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4113,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:4119,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4119,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:4126,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4108
    functionDepth: 1
    functionLinenumber: 4108
    functionLinenumberEnd: 4132
    functionName: log_backtrace
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    - APLOGrdebug
    linkageType: ''
    returnType: void
    signature: void log_backtrace(const request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4140,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:4158,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4158,1
    - Dst: log_backtrace
      Src: /src/httpd/server/core.c:4166,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:4181,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:4181,1
    - Dst: log_backtrace
      Src: /src/httpd/server/core.c:4189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4137
    functionDepth: 2
    functionLinenumber: 4137
    functionLinenumberEnd: 4201
    functionName: ap_is_recursion_limit_exceeded
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - log_backtrace
    - APLOGNO
    - ap_log_rerror
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_is_recursion_limit_exceeded(const request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4207,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4209,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4212,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg1
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4203
    functionDepth: 1
    functionLinenumber: 4203
    functionLinenumberEnd: 4223
    functionName: set_trace_enable
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_trace_enable(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4229,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:4231,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:4237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4225
    functionDepth: 3
    functionLinenumber: 4225
    functionLinenumberEnd: 4241
    functionName: set_protocols
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_array_push
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_protocols(cmd_parms *cmd, void *dummy,\n                                 const
      char *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4247,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:4248,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4254,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4265
      start: 4243
    functionDepth: 3
    functionLinenumber: 4243
    functionLinenumberEnd: 4265
    functionName: set_protocols_honor_order
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_get_core_module_config
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_protocols_honor_order(cmd_parms *cmd, void *dummy,\n                                             const
      char *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4271,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4273,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4275,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4277,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4279,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4281,1
    - Dst: strcasecmp
      Src: /src/httpd/server/core.c:4283,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4307
      start: 4267
    functionDepth: 0
    functionLinenumber: 4267
    functionLinenumberEnd: 4307
    functionName: set_http_protocol_options
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: "char *set_http_protocol_options(cmd_parms *cmd, void *dummy,\n                                             const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4313,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:4314,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4320,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4323,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4309
    functionDepth: 3
    functionLinenumber: 4309
    functionLinenumberEnd: 4335
    functionName: set_async_filter
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_get_core_module_config
    - ap_cstr_casecmp
    linkageType: ''
    returnType: char
    signature: "char *set_async_filter(cmd_parms *cmd, void *dummy,\n                                             const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:4339,1
    - Dst: ap_method_register
      Src: /src/httpd/server/core.c:4342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - conf
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4344
      start: 4337
    functionDepth: 3
    functionLinenumber: 4337
    functionLinenumberEnd: 4344
    functionName: set_http_method
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - ap_method_register
    linkageType: ''
    returnType: char
    signature: char *set_http_method(cmd_parms *cmd, void *conf, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4346
    functionDepth: 0
    functionLinenumber: 4346
    functionLinenumberEnd: 4357
    functionName: set_cl_head_zero
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: char *set_cl_head_zero(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4370
    functionName: set_expect_strict
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: char
    signature: char *set_expect_strict(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/core.c:4377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4379
      start: 4374
    functionDepth: 0
    functionLinenumber: 4374
    functionLinenumberEnd: 4379
    functionName: log_constant_item
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_constant_item(const ap_errorlog_info *info, const char *arg,\n
      \                            char *buf, int buflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:4431,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - p
    - it
    - sa
    argTypes:
    - apr_pool_t*
    - ap_errorlog_format_item*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4435
    functionName: parse_errorlog_misc_string
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    linkageType: ''
    returnType: char
    signature: "char *parse_errorlog_misc_string(apr_pool_t *p,\n                                        ap_errorlog_format_item
      *it,\n                                        const char **sa)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: parse_errorlog_misc_string
      Src: /src/httpd/server/core.c:4448,1
    - Dst: parse_errorlog_item
      Src: /src/httpd/server/core.c:4458,1
    - Dst: ap_getword
      Src: /src/httpd/server/core.c:4471,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/core.c:4492,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/core.c:4502,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:4508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 3
    argNames:
    - p
    - it
    - sa
    argTypes:
    - apr_pool_t*
    - ap_errorlog_format_item*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4518
      start: 4437
    functionDepth: 1
    functionLinenumber: 4437
    functionLinenumberEnd: 4518
    functionName: parse_errorlog_item
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - parse_errorlog_item
    - parse_errorlog_misc_string
    - apr_pstrcat
    - apr_isdigit
    - ap_getword
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *parse_errorlog_item(apr_pool_t *p, ap_errorlog_format_item *it,\n
      \                                const char **sa)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:4525,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:4532,1
    - Dst: memset
      Src: /src/httpd/server/core.c:4533,1
    - Dst: parse_errorlog_item
      Src: /src/httpd/server/core.c:4534,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - p
    - s
    - err
    - is_main_fmt
    argTypes:
    - apr_pool_t*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4520
    functionDepth: 2
    functionLinenumber: 4520
    functionLinenumberEnd: 4568
    functionName: parse_errorlog_string
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - memset
    - parse_errorlog_item
    - apr_array_push
    - apr_array_make
    linkageType: ''
    returnType: apr_array_header_t
    signature: "apr_array_header_t *parse_errorlog_string(apr_pool_t *p,\n                                                 const
      char *s,\n                                                 const char **err,\n
      \                                                int is_main_fmt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/server/core.c:4579,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/server/core.c:4587,1
    - Dst: set_server_string_slot
      Src: /src/httpd/server/core.c:4593,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:4598,1
    - Dst: set_server_string_slot
      Src: /src/httpd/server/core.c:4599,1
    - Dst: ap_lookup_provider
      Src: /src/httpd/server/core.c:4602,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:4605,1
    - Dst: ap_errorlog_provider*::parse_errorlog_arg
      Src: /src/httpd/server/core.c:4610,1
    - Dst: set_server_string_slot
      Src: /src/httpd/server/core.c:4616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4617
      start: 4570
    functionDepth: 4
    functionLinenumber: 4570
    functionLinenumberEnd: 4617
    functionName: set_errorlog
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_errorlog_provider*::parse_errorlog_arg
    - ap_lookup_provider
    - set_server_string_slot
    - apr_psprintf
    - strncmp
    linkageType: ''
    returnType: char
    signature: "char *set_errorlog(cmd_parms *cmd, void *dummy, const char *arg1,\n
      \                               const char *arg2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4624,1
    - Dst: parse_errorlog_string
      Src: /src/httpd/server/core.c:4627,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4630,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:4632,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:4638,1
    - Dst: parse_errorlog_string
      Src: /src/httpd/server/core.c:4639,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:4642,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:4644,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:4650,1
    - Dst: parse_errorlog_string
      Src: /src/httpd/server/core.c:4651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - cmd
    - dummy
    - arg1
    - arg2
    argTypes:
    - cmd_parms*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4619
    functionDepth: 3
    functionLinenumber: 4619
    functionLinenumberEnd: 4659
    functionName: set_errorlog_format
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - ap_cstr_casecmp
    - apr_array_push
    - parse_errorlog_string
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: "char *set_errorlog_format(cmd_parms *cmd, void *dummy,\n                                       const
      char *arg1, const char *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:4665,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/core.c:4669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - tag
    - handler
    - flags
    argTypes:
    - apr_pool_t*
    - char*
    - ap_errorlog_handler_fn_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4661
    functionDepth: 0
    functionLinenumber: 4661
    functionLinenumberEnd: 4670
    functionName: ap_register_errorlog_handler
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_register_errorlog_handler(apr_pool_t *p, char *tag,\n                                              ap_errorlog_handler_fn_t
      *handler,\n                                              int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/core.c:4675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4673
    functionDepth: 0
    functionLinenumber: 4673
    functionLinenumberEnd: 4681
    functionName: set_merge_trailers
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: char
    signature: char *set_merge_trailers(cmd_parms *cmd, void *dummy, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:4686,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/core.c:4690,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:4693,1
    - Dst: apr_array_push
      Src: /src/httpd/server/core.c:4696,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:4696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - cmd
    - d_
    - argc
    - argv
    argTypes:
    - cmd_parms*
    - void*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4684
    functionDepth: 3
    functionLinenumber: 4684
    functionLinenumberEnd: 4700
    functionName: set_unc_list
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - apr_array_push
    - ap_check_cmd_context
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: char
    signature: char *set_unc_list(cmd_parms *cmd, void *d_, int argc, char *const
      argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/core.c:5032,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5033,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5033,1
    - Dst: strncmp
      Src: /src/httpd/server/core.c:5039,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:5060,1
    - Dst: ap_document_root
      Src: /src/httpd/server/core.c:5060,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5064,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5064,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5071
      start: 5021
    functionDepth: 1
    functionLinenumber: 5021
    functionLinenumberEnd: 5071
    functionName: ap_core_translate
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached:
    - strcmp
    - ap_log_rerror
    - APLOGNO
    - ap_document_root
    - apr_filepath_merge
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ap_core_translate(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_directory_walk
      Src: /src/httpd/server/core.c:5081,1
    - Dst: ap_file_walk
      Src: /src/httpd/server/core.c:5085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 5077
    functionDepth: 1
    functionLinenumber: 5077
    functionLinenumberEnd: 5090
    functionName: core_map_to_storage
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_directory_walk
    - ap_file_walk
    linkageType: ''
    returnType: int
    signature: int core_map_to_storage(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5093
      start: 5093
    functionDepth: 0
    functionLinenumber: 5093
    functionLinenumberEnd: 5093
    functionName: do_nothing
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_nothing(request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5098,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:5102,1
    - Dst: ap_set_content_type_ex
      Src: /src/httpd/server/core.c:5103,1
    - Dst: ap_expr_str_exec
      Src: /src/httpd/server/core.c:5108,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5110,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5110,1
    - Dst: ap_strstr_c
      Src: /src/httpd/server/core.c:5115,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:5117,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/core.c:5118,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:5122,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:5126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5148
      start: 5095
    functionDepth: 11
    functionLinenumber: 5095
    functionLinenumberEnd: 5148
    functionName: core_override_type
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_strstr_c
    - strcmp
    - ap_log_rerror
    - ap_get_core_module_config
    - ap_set_content_type_ex
    - ap_expr_str_exec
    - ap_str_tolower
    - APLOGNO
    - apr_pstrdup
    linkageType: ''
    returnType: int
    signature: int core_override_type(request_rec *r)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5160,1
    - Dst: ap_allow_standard_methods
      Src: /src/httpd/server/core.c:5162,1
    - Dst: ap_discard_request_body
      Src: /src/httpd/server/core.c:5169,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5175,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5175,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:5177,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5185,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5185,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5194,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5194,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/core.c:5196,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5211,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5214,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5214,1
    - Dst: apr_file_open
      Src: /src/httpd/server/core.c:5222,1
    - Dst: AP_SENDFILE_ENABLED
      Src: /src/httpd/server/core.c:5224,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5227,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5227,1
    - Dst: ap_update_mtime
      Src: /src/httpd/server/core.c:5232,1
    - Dst: ap_set_last_modified
      Src: /src/httpd/server/core.c:5233,1
    - Dst: ap_set_etag_fd
      Src: /src/httpd/server/core.c:5234,1
    - Dst: ap_set_accept_ranges
      Src: /src/httpd/server/core.c:5235,1
    - Dst: ap_set_content_length
      Src: /src/httpd/server/core.c:5236,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/core.c:5238,1
    - Dst: ap_meets_conditions
      Src: /src/httpd/server/core.c:5240,1
    - Dst: apr_file_close
      Src: /src/httpd/server/core.c:5241,1
    - Dst: apr_brigade_insert_file
      Src: /src/httpd/server/core.c:5245,1
    - Dst: apr_bucket_file_enable_mmap
      Src: /src/httpd/server/core.c:5249,1
    - Dst: apr_bucket_file_set_buf_size
      Src: /src/httpd/server/core.c:5254,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/server/core.c:5259,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/core.c:5260,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/core.c:5262,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/core.c:5263,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5272,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5272,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5287,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5287,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5290,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5290,1
    - Dst: ap_send_http_options
      Src: /src/httpd/server/core.c:5297,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5301
      start: 5150
    functionDepth: 4
    functionLinenumber: 5150
    functionLinenumberEnd: 5301
    functionName: default_handler
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_update_mtime
    - ap_meets_conditions
    - apr_file_close
    - apr_brigade_create
    - apr_bucket_file_enable_mmap
    - ap_discard_request_body
    - apr_pstrcat
    - ap_set_accept_ranges
    - apr_file_open
    - ap_set_last_modified
    - ap_allow_standard_methods
    - ap_pass_brigade
    - ap_get_core_module_config
    - apr_bucket_eos_create
    - apr_brigade_insert_file
    - apr_brigade_cleanup
    - ap_set_etag_fd
    - APR_BRIGADE_INSERT_TAIL
    - ap_log_rerror
    - apr_bucket_file_set_buf_size
    - APLOGNO
    - AP_SENDFILE_ENABLED
    - ap_set_content_length
    - ap_send_http_options
    linkageType: ''
    returnType: int
    signature: int default_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5317
    functionName: ap_sys_privileges_handlers
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_sys_privileges_handlers(int inc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:5326,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/core.c:5327,1
    - Dst: apr_stat
      Src: /src/httpd/server/core.c:5329,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/core.c:5335,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:5337,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5319
    functionDepth: 1
    functionLinenumber: 5319
    functionLinenumberEnd: 5344
    functionName: check_errorlog_dir
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_make_dirstr_parent
    - APLOGNO
    - ap_log_error
    - apr_psprintf
    - apr_stat
    linkageType: ''
    returnType: int
    signature: int check_errorlog_dir(apr_pool_t *p, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_errorlog_dir
      Src: /src/httpd/server/core.c:5350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5355
      start: 5346
    functionDepth: 2
    functionLinenumber: 5346
    functionLinenumberEnd: 5355
    functionName: core_check_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - check_errorlog_dir
    linkageType: ''
    returnType: int
    signature: int core_check_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mutex_init
      Src: /src/httpd/server/core.c:5360,1
    - Dst: init_config_defines
      Src: /src/httpd/server/core.c:5363,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/core.c:5364,1
    - Dst: ap_regcomp_set_default_cflags
      Src: /src/httpd/server/core.c:5366,1
    - Dst: mpm_common_pre_config
      Src: /src/httpd/server/core.c:5368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5358
    functionDepth: 1
    functionLinenumber: 5358
    functionLinenumberEnd: 5371
    functionName: core_pre_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - mpm_common_pre_config
    - ap_mutex_init
    - ap_regcomp_set_default_cflags
    - init_config_defines
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int core_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5375,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5376,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5377,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5378,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5379,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/core.c:5380,1
    - Dst: set_banner
      Src: /src/httpd/server/core.c:5382,1
    - Dst: ap_setup_make_content_type
      Src: /src/httpd/server/core.c:5383,1
    - Dst: ap_setup_auth_internal
      Src: /src/httpd/server/core.c:5384,1
    - Dst: ap_setup_ssl_optional_fns
      Src: /src/httpd/server/core.c:5385,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:5387,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5387,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/core.c:5393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5396
      start: 5373
    functionDepth: 2
    functionLinenumber: 5373
    functionLinenumberEnd: 5396
    functionName: core_post_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APR_RETRIEVE_OPTIONAL_FN
    - ap_setup_auth_internal
    - APLOGNO
    - set_banner
    - ap_log_error
    - ap_setup_make_content_type
    - ap_setup_ssl_optional_fns
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5401,1
    - Dst: ap_getword
      Src: /src/httpd/server/core.c:5405,1
    - Dst: ap_add_output_filter
      Src: /src/httpd/server/core.c:5406,1
    - Dst: ap_getword
      Src: /src/httpd/server/core.c:5412,1
    - Dst: ap_add_input_filter
      Src: /src/httpd/server/core.c:5413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5416
      start: 5398
    functionDepth: 1
    functionLinenumber: 5398
    functionLinenumberEnd: 5416
    functionName: core_insert_filter
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_add_input_filter
    - ap_getword
    - ap_get_core_module_config
    - ap_add_output_filter
    linkageType: ''
    returnType: void
    signature: void core_insert_filter(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5424
      start: 5420
    functionDepth: 0
    functionLinenumber: 5420
    functionLinenumberEnd: 5424
    functionName: reset_request_notes
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset_request_notes(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/core.c:5428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5426
    functionDepth: 0
    functionLinenumber: 5426
    functionLinenumberEnd: 5431
    functionName: ap_register_request_note
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_register_request_note(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - r
    - note_num
    argTypes:
    - request_rec*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5449
    functionName: ap_get_request_note
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_request_note(request_rec *r, apr_size_t note_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5453,1
    - Dst: AP_CORE_DEFAULT
      Src: /src/httpd/server/core.c:5455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5451
    functionDepth: 1
    functionLinenumber: 5451
    functionLinenumberEnd: 5456
    functionName: ap_get_conn_socket
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 18
    functionsReached:
    - AP_CORE_DEFAULT
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_get_conn_socket(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:5465,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5474,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/core.c:5478,1
    - Dst: ap_set_core_module_config
      Src: /src/httpd/server/core.c:5481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5484
      start: 5458
    functionDepth: 0
    functionLinenumber: 5458
    functionLinenumberEnd: 5484
    functionName: core_create_req
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_set_core_module_config
    - apr_brigade_create
    - ap_get_core_module_config
    - apr_pcalloc
    linkageType: ''
    returnType: int
    signature: int core_create_req(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: core_create_req
      Src: /src/httpd/server/core.c:5488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - pr
    argTypes:
    - request_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5486
    functionDepth: 1
    functionLinenumber: 5486
    functionLinenumberEnd: 5489
    functionName: core_create_proxy_req
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - core_create_req
    linkageType: ''
    returnType: int
    signature: int core_create_proxy_req(request_rec *r, request_rec *pr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:5497,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5498,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/core.c:5501,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/core.c:5506,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/core.c:5507,1
    - Dst: ap_create_conn_config
      Src: /src/httpd/server/core.c:5510,1
    - Dst: apr_table_make
      Src: /src/httpd/server/core.c:5511,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:5512,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:5513,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/server/core.c:5515,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:5517,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5517,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/core.c:5519,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/server/core.c:5522,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:5525,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:5530,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/server/core.c:5533,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:5535,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5535,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/core.c:5537,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/server/core.c:5540,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/core.c:5543,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:5548,1
    - Dst: APR_ARRAY_IDX
      Src: /src/httpd/server/core.c:5566,1
    - Dst: apr_ipsubnet_test
      Src: /src/httpd/server/core.c:5567,1
    - Dst: ap_new_log_config
      Src: /src/httpd/server/core.c:5571,1
    - Dst: ap_merge_log_config
      Src: /src/httpd/server/core.c:5572,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 6
    argNames:
    - ptrans
    - s
    - csd
    - id
    - sbh
    - alloc
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_socket_t*
    - long
    - void*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5578
      start: 5491
    functionDepth: 3
    functionLinenumber: 5491
    functionLinenumberEnd: 5578
    functionName: core_create_conn
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_update_child_status
    - ap_new_log_config
    - apr_table_make
    - apr_pstrndup
    - ap_get_core_module_config
    - apr_socket_addr_get
    - APR_ARRAY_IDX
    - ap_merge_log_config
    - apr_socket_close
    - apr_pool_create
    - ap_create_conn_config
    - ap_log_error
    - apr_sockaddr_ip_get
    - apr_ipsubnet_test
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: conn_rec
    signature: "conn_rec *core_create_conn(apr_pool_t *ptrans, server_rec *s,\n                                  apr_socket_t
      *csd, long id, void *sbh,\n                                  apr_bucket_alloc_t
      *alloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pmemdup
      Src: /src/httpd/server/core.c:5586,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/core.c:5591,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/core.c:5592,1
    - Dst: ap_create_conn_config
      Src: /src/httpd/server/core.c:5598,1
    - Dst: apr_table_make
      Src: /src/httpd/server/core.c:5599,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:5600,1
    - Dst: apr_array_make
      Src: /src/httpd/server/core.c:5601,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:5621,1
    - Dst: ap_set_core_module_config
      Src: /src/httpd/server/core.c:5623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - ptrans
    - master
    - alloc
    argTypes:
    - apr_pool_t*
    - conn_rec*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5626
      start: 5580
    functionDepth: 1
    functionLinenumber: 5580
    functionLinenumberEnd: 5626
    functionName: core_create_secondary_conn
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pmemdup
    - apr_pool_tag
    - ap_create_conn_config
    - apr_pool_create
    - apr_array_make
    - ap_set_core_module_config
    - apr_table_make
    linkageType: ''
    returnType: conn_rec
    signature: "conn_rec *core_create_secondary_conn(apr_pool_t *ptrans,\n                                            conn_rec
      *master,\n                                            apr_bucket_alloc_t *alloc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/core.c:5645,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/core.c:5650,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5650,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/core.c:5660,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/core.c:5663,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5663,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core.c:5667,1
    - Dst: ap_set_core_module_config
      Src: /src/httpd/server/core.c:5669,1
    - Dst: ap_add_input_filter_handle
      Src: /src/httpd/server/core.c:5671,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/server/core.c:5672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5675
      start: 5628
    functionDepth: 1
    functionLinenumber: 5628
    functionLinenumberEnd: 5675
    functionName: core_pre_connection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - apr_pcalloc
    - ap_log_cerror
    - apr_socket_timeout_set
    - APLOGNO
    - ap_set_core_module_config
    - ap_add_input_filter_handle
    - ap_add_output_filter_handle
    linkageType: ''
    returnType: int
    signature: int core_pre_connection(conn_rec *c, void *csd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_pre_connection
      Src: /src/httpd/server/core.c:5681,1
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/core.c:5695,1
    - Dst: core_pre_connection
      Src: /src/httpd/server/core.c:5696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5700
      start: 5677
    functionDepth: 2
    functionLinenumber: 5677
    functionLinenumberEnd: 5700
    functionName: ap_pre_connection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - core_pre_connection
    - ap_run_pre_connection
    - ap_get_conn_socket
    linkageType: ''
    returnType: void
    signature: void ap_pre_connection(conn_rec *c, void *csd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/core.c:5706,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/core.c:5708,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/core.c:5709,1
    - Dst: memcpy
      Src: /src/httpd/server/core.c:5710,1
    - Dst: apr_array_push::apr_array_push
      Src: /src/httpd/server/core.c:5717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5720
      start: 5702
    functionDepth: 0
    functionLinenumber: 5702
    functionLinenumberEnd: 5720
    functionName: ap_create_slave_connection
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pool_tag
    - apr_pool_create
    - apr_array_push::apr_array_push
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ap_create_slave_connection(conn_rec *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - query
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5722
    functionDepth: 0
    functionLinenumber: 5722
    functionLinenumberEnd: 5734
    functionName: ap_state_query
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_state_query(int query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:5744,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:5746,1
    - Dst: APR_STATUS_IS_EPATHWILD
      Src: /src/httpd/server/core.c:5747,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/core.c:5748,1
    - Dst: APR_STATUS_IS_ENOTDIR
      Src: /src/httpd/server/core.c:5749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - p
    - file
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5755
      start: 5736
    functionDepth: 1
    functionLinenumber: 5736
    functionLinenumberEnd: 5755
    functionName: ap_state_dir_relative
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 2
    functionsReached:
    - ap_server_root_relative
    - APR_STATUS_IS_ENOTDIR
    - APR_STATUS_IS_ENOENT
    - apr_filepath_merge
    - APR_STATUS_IS_EPATHWILD
    linkageType: ''
    returnType: void
    signature: void ap_state_dir_relative(apr_pool_t *p, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/core.c:5769,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/core.c:5772,1
    - Dst: getpid
      Src: /src/httpd/server/core.c:5779,1
    - Dst: apr_random_after_fork
      Src: /src/httpd/server/core.c:5780,1
    - Dst: apr_socket_create
      Src: /src/httpd/server/core.c:5784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pchild
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5786
      start: 5763
    functionDepth: 1
    functionLinenumber: 5763
    functionLinenumberEnd: 5786
    functionName: core_child_init
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - ap_mpm_query
    - getpid
    - apr_random_after_fork
    - apr_thread_mutex_create
    linkageType: ''
    returnType: void
    signature: void core_child_init(apr_pool_t *pchild, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/core.c:5790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5791
      start: 5788
    functionDepth: 3
    functionLinenumber: 5788
    functionLinenumberEnd: 5791
    functionName: core_optional_fn_retrieve
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_init_scoreboard
    linkageType: ''
    returnType: void
    signature: void core_optional_fn_retrieve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_random_insecure_bytes
      Src: /src/httpd/server/core.c:5805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5793
    functionDepth: 0
    functionLinenumber: 5793
    functionLinenumberEnd: 5806
    functionName: ap_random_parent_after_fork
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_random_insecure_bytes
    linkageType: ''
    returnType: void
    signature: void ap_random_parent_after_fork(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_random_standard_new
      Src: /src/httpd/server/core.c:5812,1
    - Dst: apr_generate_random_bytes
      Src: /src/httpd/server/core.c:5814,1
    - Dst: apr_random_add_entropy
      Src: /src/httpd/server/core.c:5817,1
    - Dst: apr_random_insecure_ready
      Src: /src/httpd/server/core.c:5818,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:5823,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5823,1
    - Dst: exit
      Src: /src/httpd/server/core.c:5825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5826
      start: 5808
    functionDepth: 0
    functionLinenumber: 5808
    functionLinenumberEnd: 5826
    functionName: ap_init_rng
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - apr_generate_random_bytes
    - apr_random_insecure_ready
    - APLOGNO
    - ap_log_error
    - apr_random_standard_new
    - exit
    - apr_random_add_entropy
    linkageType: ''
    returnType: void
    signature: void ap_init_rng(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/core.c:5832,1
    - Dst: apr_random_insecure_bytes
      Src: /src/httpd/server/core.c:5838,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/core.c:5841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5843
      start: 5828
    functionDepth: 0
    functionLinenumber: 5828
    functionLinenumberEnd: 5843
    functionName: ap_random_insecure_bytes
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 4
    functionsReached:
    - apr_thread_mutex_lock
    - apr_random_insecure_bytes
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ap_random_insecure_bytes(void *buf, apr_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - __n
    - ','
    - __min
    - ','
    - __max
    - ','
    - __tmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5858
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5858
    functionName: RAND_RANGE
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAND_RANGE(__n, __min, __max, __tmax)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/server/core.c:5866,1
    - Dst: RAND_RANGE
      Src: /src/httpd/server/core.c:5867,1
    - Dst: ap_random_insecure_bytes
      Src: /src/httpd/server/core.c:5873,1
    - Dst: RAND_RANGE
      Src: /src/httpd/server/core.c:5874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - apr_uint32_t
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5877
      start: 5858
    functionDepth: 1
    functionLinenumber: 5858
    functionLinenumberEnd: 5877
    functionName: ap_random_pick
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 4
    functionsReached:
    - RAND_RANGE
    - ap_random_insecure_bytes
    linkageType: ''
    returnType: void
    signature: void ap_random_pick(apr_uint32_t min, apr_uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_socket_create
      Src: /src/httpd/server/core.c:5883,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/core.c:5884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - bb
    - socket
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5886
      start: 5879
    functionDepth: 0
    functionLinenumber: 5879
    functionLinenumberEnd: 5886
    functionName: core_insert_network_bucket
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - apr_bucket_socket_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t core_insert_network_bucket(conn_rec *c,\n                                               apr_bucket_brigade
      *bb,\n                                               apr_socket_t *socket)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_stat_check
      Src: /src/httpd/server/core.c:5891,1
    - Dst: apr_stat
      Src: /src/httpd/server/core.c:5893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - finfo
    - r
    - wanted
    argTypes:
    - apr_finfo_t*
    - request_rec*
    - apr_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5896
      start: 5888
    functionDepth: 1
    functionLinenumber: 5888
    functionLinenumberEnd: 5896
    functionName: core_dirwalk_stat
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_stat_check
    - apr_stat
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t core_dirwalk_stat(apr_finfo_t *finfo, request_rec *r,\n
      \                                     apr_int32_t wanted)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:5900,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/core.c:5905,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/core.c:5908,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5909,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:5910,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5911,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/core.c:5913,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5916,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/core.c:5918,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5919,1
    - Dst: ap_dump_mutexes
      Src: /src/httpd/server/core.c:5921,1
    - Dst: ap_mpm_dump_pidfile
      Src: /src/httpd/server/core.c:5922,1
    - Dst: apr_table_get
      Src: /src/httpd/server/core.c:5929,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5931,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/core.c:5933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5935
      start: 5898
    functionDepth: 3
    functionLinenumber: 5898
    functionLinenumberEnd: 5935
    functionName: core_dump_config
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - ap_server_root_relative
    - ap_get_core_module_config
    - ap_dump_mutexes
    - ap_mpm_dump_pidfile
    - apr_file_open_stdout
    - ap_runtime_dir_relative
    - apr_table_get
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void core_dump_config(apr_pool_t *p, server_rec *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/core.c:5948,1
    - Dst: apr_table_get
      Src: /src/httpd/server/core.c:5950,1
    - Dst: ap_find_token
      Src: /src/httpd/server/core.c:5951,1
    - Dst: ap_parse_token_list_strict
      Src: /src/httpd/server/core.c:5955,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5957,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5957,1
    - Dst: ap_select_protocol
      Src: /src/httpd/server/core.c:5963,1
    - Dst: strcmp
      Src: /src/httpd/server/core.c:5964,1
    - Dst: ap_get_protocol
      Src: /src/httpd/server/core.c:5964,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/core.c:5965,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:5965,1
    - Dst: apr_table_clear
      Src: /src/httpd/server/core.c:5968,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:5969,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:5970,1
    - Dst: ap_get_status_line
      Src: /src/httpd/server/core.c:5973,1
    - Dst: ap_send_interim_response
      Src: /src/httpd/server/core.c:5974,1
    - Dst: ap_switch_protocol
      Src: /src/httpd/server/core.c:5976,1
    - Dst: ap_get_protocol_upgrades
      Src: /src/httpd/server/core.c:5991,1
    - Dst: apr_array_pstrcat
      Src: /src/httpd/server/core.c:5993,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:5994,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/core.c:5995,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6000
      start: 5937
    functionDepth: 5
    functionLinenumber: 5937
    functionLinenumberEnd: 6000
    functionName: core_upgrade_handler
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_select_protocol
    - ap_log_rerror
    - strcmp
    - APLOGNO
    - ap_find_token
    - apr_table_clear
    - apr_table_setn
    - ap_get_protocol_upgrades
    - apr_array_pstrcat
    - ap_send_interim_response
    - ap_get_protocol
    - ap_switch_protocol
    - apr_table_get
    - ap_get_status_line
    - ap_parse_token_list_strict
    linkageType: ''
    returnType: int
    signature: int core_upgrade_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: core_upgrade_handler
      Src: /src/httpd/server/core.c:6006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6009
      start: 6002
    functionDepth: 6
    functionLinenumber: 6002
    functionLinenumberEnd: 6009
    functionName: core_upgrade_storage
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - core_upgrade_handler
    linkageType: ''
    returnType: int
    signature: int core_upgrade_storage(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/core.c:6017,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/server/core.c:6019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - c
    - pfd
    - ptimeout
    argTypes:
    - conn_rec*
    - struct apr_pollfd_t*
    - apr_interval_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6024
      start: 6011
    functionDepth: 2
    functionLinenumber: 6011
    functionLinenumberEnd: 6024
    functionName: core_get_pollfd_from_conn
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_get
    - ap_get_conn_socket
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t core_get_pollfd_from_conn(conn_rec *c,\n                                              struct
      apr_pollfd_t *pfd,\n                                              apr_interval_time_t
      *ptimeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_get_pollfd_from_conn
      Src: /src/httpd/server/core.c:6030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pfd
    - ptimeout
    argTypes:
    - conn_rec*
    - struct apr_pollfd_t*
    - apr_interval_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6031
      start: 6026
    functionDepth: 0
    functionLinenumber: 6026
    functionLinenumberEnd: 6031
    functionName: ap_get_pollfd_from_conn
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 1
    functionsReached:
    - ap_run_get_pollfd_from_conn
    linkageType: ''
    returnType: void
    signature: "void ap_get_pollfd_from_conn(conn_rec *c,\n                                      struct
      apr_pollfd_t *pfd,\n                                      apr_interval_time_t
      *ptimeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core.c:6050,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/core.c:6051,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:6055,1
    - Dst: apr_uri_parse
      Src: /src/httpd/server/core.c:6063,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/core.c:6065,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:6067,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:6073,1
    - Dst: ap_log_error
      Src: /src/httpd/server/core.c:6079,1
    - Dst: APLOGNO
      Src: /src/httpd/server/core.c:6079,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - path
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6084
      start: 6034
    functionDepth: 1
    functionLinenumber: 6034
    functionLinenumberEnd: 6084
    functionName: check_unc
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    - ap_cstr_casecmp
    - apr_uri_parse
    - APLOGNO
    - ap_log_error
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t check_unc(const char *path, apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_unc
      Src: /src/httpd/server/core.c:6096,1
    - Dst: check_unc
      Src: /src/httpd/server/core.c:6099,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/core.c:6104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - newpath
    - rootpath
    - addpath
    - flags
    - p
    argTypes:
    - char**
    - char*
    - char*
    - apr_int32_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6108
      start: 6087
    functionDepth: 2
    functionLinenumber: 6087
    functionLinenumberEnd: 6108
    functionName: ap_filepath_merge
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 0
    functionsReached:
    - apr_filepath_merge
    - check_unc
    linkageType: ''
    returnType: void
    signature: "void ap_filepath_merge(char **newpath,\n                                            const
      char *rootpath,\n                                            const char *addpath,\n
      \                                           apr_int32_t flags,\n                                            apr_pool_t
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_unc
      Src: /src/httpd/server/core.c:6113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6114
      start: 6111
    functionDepth: 2
    functionLinenumber: 6111
    functionLinenumberEnd: 6114
    functionName: ap_stat_check
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached:
    - check_unc
    linkageType: ''
    returnType: void
    signature: void ap_stat_check(const char *path, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6119
      start: 6116
    functionDepth: 0
    functionLinenumber: 6116
    functionLinenumberEnd: 6119
    functionName: ap_stat_check
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_stat_check(const char *path, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/server/core.c:6124,1
    - Dst: ap_register_log_hooks
      Src: /src/httpd/server/core.c:6125,1
    - Dst: ap_register_config_hooks
      Src: /src/httpd/server/core.c:6126,1
    - Dst: ap_expr_init
      Src: /src/httpd/server/core.c:6127,1
    - Dst: ap_hook_create_connection
      Src: /src/httpd/server/core.c:6134,1
    - Dst: ap_hook_create_secondary_connection
      Src: /src/httpd/server/core.c:6136,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/server/core.c:6138,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/core.c:6141,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/server/core.c:6142,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/core.c:6143,1
    - Dst: ap_hook_test_config
      Src: /src/httpd/server/core.c:6144,1
    - Dst: ap_hook_translate_name
      Src: /src/httpd/server/core.c:6145,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/server/core.c:6146,1
    - Dst: ap_hook_map_to_storage
      Src: /src/httpd/server/core.c:6147,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/core.c:6148,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/server/core.c:6149,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/server/core.c:6150,1
    - Dst: ap_hook_handler
      Src: /src/httpd/server/core.c:6151,1
    - Dst: ap_hook_handler
      Src: /src/httpd/server/core.c:6152,1
    - Dst: ap_hook_type_checker
      Src: /src/httpd/server/core.c:6154,1
    - Dst: ap_hook_fixups
      Src: /src/httpd/server/core.c:6155,1
    - Dst: ap_hook_create_request
      Src: /src/httpd/server/core.c:6156,1
    - Dst: APR_OPTIONAL_HOOK
      Src: /src/httpd/server/core.c:6157,1
    - Dst: ap_hook_pre_mpm
      Src: /src/httpd/server/core.c:6159,1
    - Dst: ap_hook_child_status
      Src: /src/httpd/server/core.c:6160,1
    - Dst: ap_hook_insert_network_bucket
      Src: /src/httpd/server/core.c:6161,1
    - Dst: ap_hook_dirwalk_stat
      Src: /src/httpd/server/core.c:6163,1
    - Dst: ap_hook_open_htaccess
      Src: /src/httpd/server/core.c:6164,1
    - Dst: ap_hook_optional_fn_retrieve
      Src: /src/httpd/server/core.c:6165,1
    - Dst: ap_hook_get_pollfd_from_conn
      Src: /src/httpd/server/core.c:6167,1
    - Dst: ap_hook_input_pending
      Src: /src/httpd/server/core.c:6170,1
    - Dst: ap_hook_output_pending
      Src: /src/httpd/server/core.c:6172,1
    - Dst: ap_hook_insert_filter
      Src: /src/httpd/server/core.c:6178,1
    - Dst: ap_register_input_filter
      Src: /src/httpd/server/core.c:6181,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/server/core.c:6184,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/server/core.c:6187,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/server/core.c:6190,1
    - Dst: ap_register_output_filter
      Src: /src/httpd/server/core.c:6193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6122
    functionDepth: 1
    functionLinenumber: 6122
    functionLinenumberEnd: 6195
    functionName: register_hooks
    functionSourceFile: /src/httpd/server/core.c
    functionUses: 3
    functionsReached:
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_register_output_filter
    - ap_hook_map_to_storage
    - ap_register_input_filter
    - ap_hook_create_secondary_connection
    - ap_hook_insert_network_bucket
    - ap_register_log_hooks
    - ap_hook_dirwalk_stat
    - ap_hook_optional_fn_retrieve
    - ap_hook_output_pending
    - ap_hook_pre_connection
    - ap_hook_open_logs
    - apr_hash_make
    - ap_hook_create_connection
    - ap_hook_translate_name
    - ap_register_config_hooks
    - ap_hook_create_request
    - ap_hook_test_config
    - APR_OPTIONAL_HOOK
    - ap_hook_child_status
    - ap_hook_get_pollfd_from_conn
    - ap_expr_init
    - ap_hook_fixups
    - ap_hook_open_htaccess
    - ap_hook_type_checker
    - ap_hook_pre_mpm
    - ap_hook_handler
    - ap_hook_post_config
    - ap_hook_insert_filter
    - ap_hook_child_init
    - ap_hook_input_pending
    linkageType: ''
    returnType: void
    signature: void register_hooks(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_mutex.c:54,1
    - Dst: strchr
      Src: /src/httpd/server/util_mutex.c:55,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:69,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:69,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:74,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:74,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:78,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:78,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:83,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:83,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:88,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:88,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_mutex.c:95,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:102,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:102,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:107,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/util_mutex.c:120,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - arg
    - pool
    - mutexmech
    - mutexfile
    argTypes:
    - char*
    - apr_pool_t*
    - apr_lockmech_e*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 127
    functionName: ap_parse_mutex
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - ap_runtime_dir_relative
    - strcasecmp
    - apr_pstrdup
    - strchr
    linkageType: ''
    returnType: void
    signature: "void ap_parse_mutex(const char *arg, apr_pool_t *pool,\n                                        apr_lockmech_e
      *mutexmech,\n                                        const char **mutexfile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/server/util_mutex.c:153,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_mutex.c:154,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_mutex.c:158,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/util_mutex.c:160,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/util_mutex.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: ap_mutex_init
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 1
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - apr_hash_make
    - ap_runtime_dir_relative
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_mutex_init(apr_pool_t *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/util_mutex.c:177,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/util_mutex.c:183,1
    - Dst: ap_parse_mutex
      Src: /src/httpd/server/util_mutex.c:189,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_mutex.c:191,1
    - Dst: ap_is_directory
      Src: /src/httpd/server/util_mutex.c:195,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_mutex.c:196,1
    - Dst: apr_array_make
      Src: /src/httpd/server/util_mutex.c:206,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/util_mutex.c:208,1
    - Dst: strcasecmp
      Src: /src/httpd/server/util_mutex.c:210,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util_mutex.c:214,1
    - Dst: apr_is_empty_array
      Src: /src/httpd/server/util_mutex.c:219,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util_mutex.c:220,1
    - Dst: apr_array_pop
      Src: /src/httpd/server/util_mutex.c:224,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_mutex.c:226,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_mutex.c:228,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_mutex.c:237,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 252
    functionName: ap_set_mutex
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - apr_is_empty_array
    - apr_hash_get
    - apr_pstrcat
    - ap_is_directory
    - strcasecmp
    - apr_array_push
    - ap_check_cmd_context
    - apr_array_pop
    - apr_psprintf
    - ap_parse_mutex
    - apr_array_make
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: "void ap_set_mutex(cmd_parms *cmd, void *dummy,\n                                            const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_mutex.c:260,1
    - Dst: ap_mutex_init
      Src: /src/httpd/server/util_mutex.c:266,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/util_mutex.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - pconf
    - type
    - default_dir
    - default_mech
    - options
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - apr_lockmech_e
    - apr_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: ap_mutex_register
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 14
    functionsReached:
    - apr_hash_set
    - apr_pcalloc
    - ap_mutex_init
    linkageType: ''
    returnType: void
    signature: "void ap_mutex_register(apr_pool_t *pconf,\n                                           const
      char *type,\n                                           const char *default_dir,\n
      \                                          apr_lockmech_e default_mech,\n                                           apr_int32_t
      options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mech
    argTypes:
    - apr_lockmech_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: mutex_needs_file
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mutex_needs_file(apr_lockmech_e mech)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mutex_needs_file
      Src: /src/httpd/server/util_mutex.c:298,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/util_mutex.c:304,1
    - Dst: getpid
      Src: /src/httpd/server/util_mutex.c:304,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/util_mutex.c:308,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_mutex.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p
    - mxcfg
    - type
    - instance_id
    argTypes:
    - apr_pool_t*
    - mutex_cfg_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 317
    functionName: get_mutex_filename
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - apr_pstrcat
    - mutex_needs_file
    - getpid
    - ap_runtime_dir_relative
    - apr_psprintf
    linkageType: ''
    returnType: char
    signature: "char *get_mutex_filename(apr_pool_t *p, mutex_cfg_t *mxcfg,\n                                      const
      char *type,\n                                      const char *instance_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_mutex.c:323,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_mutex.c:326,1
    - Dst: mutex_needs_file
      Src: /src/httpd/server/util_mutex.c:351,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/util_mutex.c:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - p
    - type
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 372
    functionName: mxcfg_lookup
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - mutex_needs_file
    - apr_pmemdup
    - apr_hash_get
    linkageType: ''
    returnType: mutex_cfg_t
    signature: mutex_cfg_t *mxcfg_lookup(apr_pool_t *p, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/util_mutex.c:376,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_mutex.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: log_bad_create_options
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void log_bad_create_options(server_rec *s, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/util_mutex.c:383,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_mutex.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: log_unknown_type
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void log_unknown_type(server_rec *s, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/util_mutex.c:390,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_mutex.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rv
    - s
    - type
    - fname
    argTypes:
    - apr_status_t
    - server_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: log_create_failure
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void log_create_failure(apr_status_t rv, server_rec *s, const char
      *type,\n                               const char *fname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/util_mutex.c:400,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_mutex.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rv
    - s
    - type
    argTypes:
    - apr_status_t
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: log_perms_failure
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void log_perms_failure(apr_status_t rv, server_rec *s, const char *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mxcfg_lookup
      Src: /src/httpd/server/util_mutex.c:416,1
    - Dst: log_bad_create_options
      Src: /src/httpd/server/util_mutex.c:419,1
    - Dst: log_unknown_type
      Src: /src/httpd/server/util_mutex.c:424,1
    - Dst: get_mutex_filename
      Src: /src/httpd/server/util_mutex.c:433,1
    - Dst: apr_global_mutex_create
      Src: /src/httpd/server/util_mutex.c:435,1
    - Dst: log_create_failure
      Src: /src/httpd/server/util_mutex.c:437,1
    - Dst: ap_unixd_set_global_mutex_perms
      Src: /src/httpd/server/util_mutex.c:445,1
    - Dst: log_perms_failure
      Src: /src/httpd/server/util_mutex.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - mutex
    - name
    - type
    - instance_id
    - s
    - p
    - options
    argTypes:
    - apr_global_mutex_t**
    - char**
    - char*
    - char*
    - server_rec*
    - apr_pool_t*
    - apr_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 452
    functionName: ap_global_mutex_create
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 13
    functionsReached:
    - log_perms_failure
    - log_unknown_type
    - ap_unixd_set_global_mutex_perms
    - log_bad_create_options
    - apr_global_mutex_create
    - mxcfg_lookup
    - log_create_failure
    - get_mutex_filename
    linkageType: ''
    returnType: void
    signature: "void ap_global_mutex_create(apr_global_mutex_t **mutex,\n                                                const
      char **name,\n                                                const char *type,\n
      \                                               const char *instance_id,\n                                                server_rec
      *s, apr_pool_t *p,\n                                                apr_int32_t
      options)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mxcfg_lookup
      Src: /src/httpd/server/util_mutex.c:463,1
    - Dst: log_bad_create_options
      Src: /src/httpd/server/util_mutex.c:466,1
    - Dst: log_unknown_type
      Src: /src/httpd/server/util_mutex.c:471,1
    - Dst: get_mutex_filename
      Src: /src/httpd/server/util_mutex.c:480,1
    - Dst: apr_proc_mutex_create
      Src: /src/httpd/server/util_mutex.c:482,1
    - Dst: log_create_failure
      Src: /src/httpd/server/util_mutex.c:484,1
    - Dst: ap_unixd_set_proc_mutex_perms
      Src: /src/httpd/server/util_mutex.c:492,1
    - Dst: log_perms_failure
      Src: /src/httpd/server/util_mutex.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - mutex
    - name
    - type
    - instance_id
    - s
    - p
    - options
    argTypes:
    - apr_proc_mutex_t**
    - char**
    - char*
    - char*
    - server_rec*
    - apr_pool_t*
    - apr_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 499
    functionName: ap_proc_mutex_create
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 1
    functionsReached:
    - log_perms_failure
    - apr_proc_mutex_create
    - log_unknown_type
    - log_bad_create_options
    - mxcfg_lookup
    - log_create_failure
    - ap_unixd_set_proc_mutex_perms
    - get_mutex_filename
    linkageType: ''
    returnType: void
    signature: "void ap_proc_mutex_create(apr_proc_mutex_t **mutex,\n                                              const
      char **name,\n                                              const char *type,\n
      \                                             const char *instance_id,\n                                              server_rec
      *s, apr_pool_t *p,\n                                              apr_int32_t
      options)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_get
      Src: /src/httpd/server/util_mutex.c:504,1
    - Dst: apr_hash_first
      Src: /src/httpd/server/util_mutex.c:505,1
    - Dst: apr_hash_next
      Src: /src/httpd/server/util_mutex.c:505,1
    - Dst: apr_hash_this
      Src: /src/httpd/server/util_mutex.c:511,1
    - Dst: mxcfg_lookup
      Src: /src/httpd/server/util_mutex.c:513,1
    - Dst: strcmp
      Src: /src/httpd/server/util_mutex.c:514,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/util_mutex.c:515,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/util_mutex.c:519,1
    - Dst: ap_assert
      Src: /src/httpd/server/util_mutex.c:552,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/util_mutex.c:556,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/util_mutex.c:558,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - p
    - s
    - out
    argTypes:
    - apr_pool_t*
    - server_rec*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: ap_dump_mutexes
    functionSourceFile: /src/httpd/server/util_mutex.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ap_assert
    - apr_hash_this
    - apr_hash_next
    - ap_runtime_dir_relative
    - mxcfg_lookup
    - apr_hash_first
    - apr_file_printf
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void ap_dump_mutexes(apr_pool_t *p, server_rec *s, apr_file_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm_unix.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pid
    - gen
    argTypes:
    - pid_t
    - ap_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ap_register_extra_mpm_process
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - ap_malloc
    linkageType: ''
    returnType: void
    signature: void ap_register_extra_mpm_process(pid_t pid, ap_generation_t gen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/mpm_unix.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pid
    - old_gen
    argTypes:
    - pid_t
    - ap_generation_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: ap_unregister_extra_mpm_process
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ap_unregister_extra_mpm_process(pid_t pid, ap_generation_t *old_gen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_wait
      Src: /src/httpd/server/mpm_unix.c:132,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm_unix.c:135,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:145,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:146,1
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:153,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:157,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:158,1
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:163,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:172,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pid
    - action
    argTypes:
    - pid_t
    - action_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 182
    functionName: reclaim_one_pid
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - ap_process_child_status
    - APLOGNO
    - ap_log_error
    - apr_proc_wait
    - kill
    linkageType: ''
    returnType: int
    signature: int reclaim_one_pid(pid_t pid, action_t action)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm_unix.c:192,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:205,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:206,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:207,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:208,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:209,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/mpm_unix.c:216,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm_unix.c:220,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:226,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:227,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm_unix.c:232,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm_unix.c:243,1
    - Dst: reclaim_one_pid
      Src: /src/httpd/server/mpm_unix.c:250,1
    - Dst: mpm_callback
      Src: /src/httpd/server/mpm_unix.c:251,1
    - Dst: reclaim_one_pid
      Src: /src/httpd/server/mpm_unix.c:264,1
    - Dst: ap_unregister_extra_mpm_process
      Src: /src/httpd/server/mpm_unix.c:265,1
    - Dst: mpm_callback
      Src: /src/httpd/server/mpm_unix.c:267,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_unix.c:270,1
    - Dst: apr_proc_other_child_refresh_all
      Src: /src/httpd/server/mpm_unix.c:279,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - terminate
    - mpm_callback
    argTypes:
    - int
    - ap_reclaim_callback_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 284
    functionName: ap_reclaim_child_processes
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - apr_time_from_sec
    - apr_time_now
    - ap_unregister_extra_mpm_process
    - AP_DEBUG_ASSERT
    - mpm_callback
    - apr_sleep
    - apr_proc_other_child_refresh_all
    - reclaim_one_pid
    - ap_get_scoreboard_process
    linkageType: ''
    returnType: void
    signature: "void ap_reclaim_child_processes(int terminate,\n                                            ap_reclaim_callback_fn_t
      *mpm_callback)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_query
      Src: /src/httpd/server/mpm_unix.c:292,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm_unix.c:296,1
    - Dst: reclaim_one_pid
      Src: /src/httpd/server/mpm_unix.c:303,1
    - Dst: mpm_callback
      Src: /src/httpd/server/mpm_unix.c:304,1
    - Dst: reclaim_one_pid
      Src: /src/httpd/server/mpm_unix.c:314,1
    - Dst: ap_unregister_extra_mpm_process
      Src: /src/httpd/server/mpm_unix.c:315,1
    - Dst: mpm_callback
      Src: /src/httpd/server/mpm_unix.c:317,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_unix.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - mpm_callback
    argTypes:
    - ap_reclaim_callback_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 325
    functionName: ap_relieve_child_processes
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - ap_mpm_query
    - ap_unregister_extra_mpm_process
    - AP_DEBUG_ASSERT
    - mpm_callback
    - reclaim_one_pid
    - ap_get_scoreboard_process
    linkageType: ''
    returnType: void
    signature: void ap_relieve_child_processes(ap_reclaim_callback_fn_t *mpm_callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_wait
      Src: /src/httpd/server/mpm_unix.c:345,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm_unix.c:349,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:355,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:355,1
    - Dst: getpgid
      Src: /src/httpd/server/mpm_unix.c:368,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm_unix.c:374,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:375,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:375,1
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pid
    - sig
    argTypes:
    - pid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 383
    functionName: ap_mpm_safe_kill
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - getpgid
    - ap_process_child_status
    - getpgrp
    - APLOGNO
    - ap_log_error
    - apr_proc_wait
    - kill
    linkageType: ''
    returnType: void
    signature: void ap_mpm_safe_kill(pid_t pid, int sig)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: APR_PROC_CHECK_EXIT
      Src: /src/httpd/server/mpm_unix.c:400,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:406,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:407,1
    - Dst: APR_PROC_CHECK_SIGNALED
      Src: /src/httpd/server/mpm_unix.c:417,1
    - Dst: apr_signal_description_get
      Src: /src/httpd/server/mpm_unix.c:418,1
    - Dst: APR_PROC_CHECK_CORE_DUMP
      Src: /src/httpd/server/mpm_unix.c:428,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:429,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:430,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pid
    - why
    - status
    argTypes:
    - apr_proc_t*
    - apr_exit_why_e
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 445
    functionName: ap_process_child_status
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 2
    functionsReached:
    - apr_signal_description_get
    - APR_PROC_CHECK_SIGNALED
    - APLOGNO
    - APR_PROC_CHECK_CORE_DUMP
    - APR_PROC_CHECK_EXIT
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why,\n
      \                                       int status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm_unix.c:451,1
    - Dst: apr_file_pipe_create_ex
      Src: /src/httpd/server/mpm_unix.c:452,1
    - Dst: apr_file_pipe_timeout_set
      Src: /src/httpd/server/mpm_unix.c:458,1
    - Dst: apr_file_inherit_unset
      Src: /src/httpd/server/mpm_unix.c:462,1
    - Dst: apr_file_inherit_unset
      Src: /src/httpd/server/mpm_unix.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p
    - pod
    argTypes:
    - apr_pool_t*
    - ap_pod_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: ap_mpm_pod_open
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_file_inherit_unset
    - apr_file_pipe_create_ex
    - apr_palloc
    - apr_file_pipe_timeout_set
    linkageType: ''
    returnType: void
    signature: void ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_read
      Src: /src/httpd/server/mpm_unix.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 485
    functionName: ap_mpm_pod_check
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_file_read
    linkageType: ''
    returnType: void
    signature: void ap_mpm_pod_check(ap_pod_t *pod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm_unix.c:491,1
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm_unix.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: ap_mpm_pod_close
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void ap_mpm_pod_close(ap_pod_t *pod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write
      Src: /src/httpd/server/mpm_unix.c:510,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:512,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionName: pod_signal_internal
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_file_write
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pod_signal_internal(ap_pod_t *pod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm_unix.c:523,1
    - Dst: apr_file_pipe_create
      Src: /src/httpd/server/mpm_unix.c:524,1
    - Dst: apr_file_inherit_unset
      Src: /src/httpd/server/mpm_unix.c:534,1
    - Dst: apr_file_inherit_unset
      Src: /src/httpd/server/mpm_unix.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pod
    argTypes:
    - apr_pool_t*
    - ap_pod_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 538
    functionName: ap_mpm_podx_open
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_file_inherit_unset
    - apr_file_pipe_create
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: void ap_mpm_podx_open(apr_pool_t *p, ap_pod_t **pod)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_file_get
      Src: /src/httpd/server/mpm_unix.c:549,1
    - Dst: read
      Src: /src/httpd/server/mpm_unix.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 560
    functionName: ap_mpm_podx_check
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_os_file_get
    - read
    linkageType: ''
    returnType: void
    signature: void ap_mpm_podx_check(ap_pod_t *pod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm_unix.c:566,1
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm_unix.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: ap_mpm_podx_close
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void ap_mpm_podx_close(ap_pod_t *pod)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_write
      Src: /src/httpd/server/mpm_unix.c:595,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:597,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pod
    - graceful
    argTypes:
    - ap_pod_t*
    - ap_podx_restart_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 601
    functionName: podx_signal_internal
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_file_write
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t podx_signal_internal(ap_pod_t *pod,\n                                        ap_podx_restart_t
      graceful)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: podx_signal_internal
      Src: /src/httpd/server/mpm_unix.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pod
    - graceful
    argTypes:
    - ap_pod_t*
    - ap_podx_restart_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: ap_mpm_podx_signal
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - podx_signal_internal
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_podx_signal(ap_pod_t * pod,\n                                            ap_podx_restart_t
      graceful)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: podx_signal_internal
      Src: /src/httpd/server/mpm_unix.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pod
    - num
    - graceful
    argTypes:
    - ap_pod_t*
    - int
    - ap_podx_restart_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: ap_mpm_podx_killpg
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - podx_signal_internal
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_podx_killpg(ap_pod_t * pod, int num,\n                                    ap_podx_restart_t
      graceful)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm_unix.c:635,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm_unix.c:639,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/mpm_unix.c:646,1
    - Dst: apr_socket_create
      Src: /src/httpd/server/mpm_unix.c:653,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:655,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:655,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_unix.c:657,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/mpm_unix.c:667,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_unix.c:667,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:669,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:669,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm_unix.c:671,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_unix.c:672,1
    - Dst: apr_socket_connect
      Src: /src/httpd/server/mpm_unix.c:676,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm_unix.c:680,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:688,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:688,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_unix.c:690,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/mpm_unix.c:694,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_unix.c:718,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm_unix.c:719,1
    - Dst: strlen
      Src: /src/httpd/server/mpm_unix.c:721,1
    - Dst: apr_socket_send
      Src: /src/httpd/server/mpm_unix.c:724,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm_unix.c:725,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_unix.c:726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 729
    functionName: dummy_connection
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_socket_create
    - apr_time_from_sec
    - ap_cstr_casecmp
    - apr_pstrcat
    - apr_socket_send
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - apr_pool_tag
    - apr_pool_create
    - apr_socket_connect
    - ap_log_error
    - APR_STATUS_IS_TIMEUP
    - apr_pool_destroy
    - strlen
    - ap_get_server_description
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t dummy_connection(ap_pod_t *pod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pod_signal_internal
      Src: /src/httpd/server/mpm_unix.c:735,1
    - Dst: dummy_connection
      Src: /src/httpd/server/mpm_unix.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pod
    argTypes:
    - ap_pod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 741
    functionName: ap_mpm_pod_signal
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - pod_signal_internal
    - dummy_connection
    linkageType: ''
    returnType: void
    signature: void ap_mpm_pod_signal(ap_pod_t *pod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_connection
      Src: /src/httpd/server/mpm_unix.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pod
    - num
    argTypes:
    - ap_pod_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 769
    functionName: ap_mpm_pod_killpg
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - dummy_connection
    linkageType: ''
    returnType: void
    signature: void ap_mpm_pod_killpg(ap_pod_t *pod, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:776,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:777,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pid
    - sig
    argTypes:
    - pid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: send_signal
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - kill
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int send_signal(pid_t pid, int sig)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ap_read_pid
      Src: /src/httpd/server/mpm_unix.c:793,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/mpm_unix.c:795,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:796,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:796,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:798,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:798,1
    - Dst: getpid
      Src: /src/httpd/server/mpm_unix.c:809,1
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:809,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm_unix.c:811,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm_unix.c:816,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:822,1
    - Dst: printf
      Src: /src/httpd/server/mpm_unix.c:824,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:829,1
    - Dst: printf
      Src: /src/httpd/server/mpm_unix.c:831,1
    - Dst: send_signal
      Src: /src/httpd/server/mpm_unix.c:834,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:839,1
    - Dst: printf
      Src: /src/httpd/server/mpm_unix.c:841,1
    - Dst: send_signal
      Src: /src/httpd/server/mpm_unix.c:844,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:849,1
    - Dst: printf
      Src: /src/httpd/server/mpm_unix.c:851,1
    - Dst: send_signal
      Src: /src/httpd/server/mpm_unix.c:854,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:859,1
    - Dst: printf
      Src: /src/httpd/server/mpm_unix.c:861,1
    - Dst: send_signal
      Src: /src/httpd/server/mpm_unix.c:864,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - exit_status
    - pconf
    argTypes:
    - int*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 870
    functionName: ap_signal_server
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - strcmp
    - getpid
    - APLOGNO
    - ap_read_pid
    - APR_STATUS_IS_ENOENT
    - ap_log_error
    - apr_psprintf
    - send_signal
    - kill
    - printf
    linkageType: ''
    returnType: int
    signature: int ap_signal_server(int *exit_status, apr_pool_t *pconf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_array_make
      Src: /src/httpd/server/mpm_unix.c:880,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm_unix.c:882,1
    - Dst: apr_getopt_init
      Src: /src/httpd/server/mpm_unix.c:883,1
    - Dst: apr_getopt
      Src: /src/httpd/server/mpm_unix.c:888,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:893,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:893,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:894,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:894,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_unix.c:895,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm_unix.c:901,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm_unix.c:902,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm_unix.c:904,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm_unix.c:915,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm_unix.c:916,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/mpm_unix.c:926,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 927
    functionName: ap_mpm_rewrite_args
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_getopt
    - apr_array_push
    - apr_getopt_init
    - APR_REGISTER_OPTIONAL_FN
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void ap_mpm_rewrite_args(process_rec *process)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_unix.c:939,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm_unix.c:948,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm_unix.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 959
    functionName: ap_mpm_set_exception_hook
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_exception_hook(cmd_parms *cmd, void *dummy,\n                                      const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/httpd/server/mpm_unix.c:966,1
    - Dst: ap_run_fatal_exception
      Src: /src/httpd/server/mpm_unix.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: run_fatal_exception_hook
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - geteuid
    - ap_run_fatal_exception
    linkageType: ''
    returnType: void
    signature: void run_fatal_exception_hook(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_filepath_set
      Src: /src/httpd/server/mpm_unix.c:978,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:979,1
    - Dst: run_fatal_exception_hook
      Src: /src/httpd/server/mpm_unix.c:981,1
    - Dst: getpid
      Src: /src/httpd/server/mpm_unix.c:990,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:991,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:992,1
    - Dst: kill
      Src: /src/httpd/server/mpm_unix.c:1001,1
    - Dst: getpid
      Src: /src/httpd/server/mpm_unix.c:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1009
    functionName: sig_coredump
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_signal
    - getpid
    - APLOGNO
    - run_fatal_exception_hook
    - ap_log_error
    - kill
    - apr_filepath_set
    linkageType: ''
    returnType: void
    signature: void sig_coredump(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm_unix.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: ap_fatal_signal_child_setup
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: void
    signature: void ap_fatal_signal_child_setup(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1024,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1026,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1029,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1032,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1035,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1042
    functionName: fatal_signal_cleanup
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_signal
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fatal_signal_cleanup(void *unused)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/mpm_unix.c:1050,1
    - Dst: sigemptyset
      Src: /src/httpd/server/mpm_unix.c:1051,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1060,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1061,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1061,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1063,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1064,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1064,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1067,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1068,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1068,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1071,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1072,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1072,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1075,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1076,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1076,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm_unix.c:1079,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_unix.c:1080,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_unix.c:1080,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1085,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1087,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1090,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1093,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1096,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm_unix.c:1099,1
    - Dst: getpid
      Src: /src/httpd/server/mpm_unix.c:1105,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm_unix.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - s
    - in_pconf
    argTypes:
    - server_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1110
    functionName: ap_fatal_signal_setup
    functionSourceFile: /src/httpd/server/mpm_unix.c
    functionUses: 0
    functionsReached:
    - apr_signal
    - memset
    - getpid
    - APLOGNO
    - sigaction
    - ap_log_error
    - sigemptyset
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_fatal_signal_setup(server_rec *s,\n                                               apr_pool_t
      *in_pconf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - piped_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: ap_piped_log_read_fd
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_piped_log_read_fd(piped_log *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - piped_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ap_piped_log_write_fd
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_piped_log_write_fd(piped_log *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/log.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - apr_pool_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: close_handle_in_child
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void close_handle_in_child(apr_pool_t *p, apr_file_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: ap_logs_child_init
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: void
    signature: void ap_logs_child_init(apr_pool_t *p, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stderr
      Src: /src/httpd/server/log.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: ap_open_stderr_log
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 2
    functionsReached:
    - apr_file_open_stderr
    linkageType: ''
    returnType: void
    signature: void ap_open_stderr_log(apr_pool_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/log.c:197,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:199,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:200,1
    - Dst: apr_file_open
      Src: /src/httpd/server/log.c:204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:207,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:207,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/server/log.c:218,1
    - Dst: apr_file_flush
      Src: /src/httpd/server/log.c:220,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/log.c:221,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:223,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:240,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - p
    - fname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 244
    functionName: ap_replace_stderr_log
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 1
    functionsReached:
    - ap_server_root_relative
    - apr_file_close
    - APLOGNO
    - apr_file_flush
    - ap_log_error
    - apr_file_open
    - apr_file_open_stderr
    - apr_file_dup2
    linkageType: ''
    returnType: void
    signature: "void ap_replace_stderr_log(apr_pool_t *p,\n                                               const
      char *fname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:249,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pool
    - err
    - description
    argTypes:
    - apr_pool_t*
    - apr_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: log_child_errfn
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void log_child_errfn(apr_pool_t *pool, apr_status_t err,\n                            const
      char *description)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/server/log.c:271,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/server/log.c:272,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/server/log.c:274,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/server/log.c:275,1
    - Dst: apr_procattr_error_check_set
      Src: /src/httpd/server/log.c:279,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/server/log.c:280,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/server/log.c:284,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/log.c:285,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/log.c:288,1
    - Dst: apr_procattr_child_err_set
      Src: /src/httpd/server/log.c:289,1
    - Dst: apr_proc_create
      Src: /src/httpd/server/log.c:293,1
    - Dst: apr_pool_note_subprocess
      Src: /src/httpd/server/log.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - p
    - progname
    - fpin
    - cmdtype
    - dummy_stderr
    argTypes:
    - apr_pool_t*
    - char*
    - apr_file_t**
    - apr_cmdtype_e
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: log_child
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_error_check_set
    - apr_procattr_io_set
    - apr_proc_create
    - apr_pcalloc
    - apr_pool_note_subprocess
    - apr_procattr_child_errfn_set
    - apr_procattr_dir_set
    - apr_tokenize_to_argv
    - apr_procattr_child_err_set
    - apr_file_open_stdout
    - apr_procattr_create
    linkageType: ''
    returnType: int
    signature: "int log_child(apr_pool_t *p, const char *progname,\n                     apr_file_t
      **fpin, apr_cmdtype_e cmdtype,\n                     int dummy_stderr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_child
      Src: /src/httpd/server/log.c:337,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:339,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:339,1
    - Dst: server_rec*::errorlog_provider::init
      Src: /src/httpd/server/log.c:348,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/log.c:356,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:358,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:358,1
    - Dst: apr_file_open
      Src: /src/httpd/server/log.c:363,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:366,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - s
    - is_main
    - p
    argTypes:
    - server_rec*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 374
    functionName: open_error_log
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_child
    - ap_server_root_relative
    - APLOGNO
    - ap_log_error
    - apr_file_open
    - server_rec*::errorlog_provider::init
    linkageType: ''
    returnType: int
    signature: int open_error_log(server_rec *s, int is_main, apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/log.c:393,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/log.c:402,1
    - Dst: apr_pool_parent_get
      Src: /src/httpd/server/log.c:402,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/log.c:403,1
    - Dst: open_error_log
      Src: /src/httpd/server/log.c:405,1
    - Dst: apr_file_flush
      Src: /src/httpd/server/log.c:414,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/log.c:415,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:417,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:417,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/log.c:425,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:436,1
    - Dst: freopen
      Src: /src/httpd/server/log.c:454,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:455,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:455,1
    - Dst: strcmp
      Src: /src/httpd/server/log.c:465,1
    - Dst: open_error_log
      Src: /src/httpd/server/log.c:471,1
    - Dst: open_error_log
      Src: /src/httpd/server/log.c:481,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - pconf
    - p
    - ptemp
    - s_main
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 496
    functionName: ap_open_logs
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - strcmp
    - freopen
    - open_error_log
    - apr_file_close
    - APLOGNO
    - apr_file_flush
    - apr_pool_tag
    - apr_pool_create
    - ap_log_error
    - apr_pool_parent_get
    - apr_pool_destroy
    - apr_pool_cleanup_register
    - apr_file_dup2
    linkageType: ''
    returnType: int
    signature: "int ap_open_logs(apr_pool_t *pconf, apr_pool_t *p /* plog */,\n                 apr_pool_t
      *ptemp, server_rec *s_main)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stderr
      Src: /src/httpd/server/log.c:501,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/log.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: ap_error_log2stderr
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_open_stderr
    - apr_file_dup2
    linkageType: ''
    returnType: void
    signature: void ap_error_log2stderr(server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/log.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - arg
    - buflen
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: cpystrn
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 26
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: int
    signature: int cpystrn(char *buf, const char *arg, int buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:521,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 528
    functionName: log_remote_address
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_remote_address(const ap_errorlog_info *info, const char *arg,\n
      \                             char *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: log_local_address
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_local_address(const ap_errorlog_info *info, const char *arg,\n
      \                            char *buf, int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/log.c:543,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: log_pid
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 1
    functionsReached:
    - getpid
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_pid(const ap_errorlog_info *info, const char *arg,\n                   char
      *buf, int buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gettid
      Src: /src/httpd/server/log.c:556,1
    - Dst: pthread_getthreadid_np
      Src: /src/httpd/server/log.c:558,1
    - Dst: syscall
      Src: /src/httpd/server/log.c:560,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:564,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/log.c:568,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/log.c:571,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 576
    functionName: log_tid
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - syscall
    - ap_mpm_query
    - gettid
    - pthread_getthreadid_np
    - apr_os_thread_current
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_tid(const ap_errorlog_info *info, const char *arg,\n                   char
      *buf, int buflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/log.c:591,1
    - Dst: ap_explode_recent_localtime
      Src: /src/httpd/server/log.c:612,1
    - Dst: apr_time_now
      Src: /src/httpd/server/log.c:612,1
    - Dst: apr_strftime
      Src: /src/httpd/server/log.c:613,1
    - Dst: ap_recent_ctime_ex
      Src: /src/httpd/server/log.c:618,1
    - Dst: apr_time_now
      Src: /src/httpd/server/log.c:618,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 622
    functionName: log_ctime
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_explode_recent_localtime
    - ap_strchr_c
    - apr_strftime
    - ap_recent_ctime_ex
    linkageType: ''
    returnType: int
    signature: "int log_ctime(const ap_errorlog_info *info, const char *arg,\n                     char
      *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: log_loglevel
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_loglevel(const ap_errorlog_info *info, const char *arg,\n
      \                       char *buf, int buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:643,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 650
    functionName: log_log_id
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_log_id(const ap_errorlog_info *info, const char *arg,\n                      char
      *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: log_keepalives
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_keepalives(const ap_errorlog_info *info, const char *arg,\n
      \                         char *buf, int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:664,1
    - Dst: ap_find_module_short_name
      Src: /src/httpd/server/log.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: log_module_name
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - ap_find_module_short_name
    - cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_module_name(const ap_errorlog_info *info, const char *arg,\n
      \                          char *buf, int buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/httpd/server/log.c:677,1
    - Dst: strrchr
      Src: /src/httpd/server/log.c:680,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:691,1
    - Dst: strlen
      Src: /src/httpd/server/log.c:692,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/log.c:702,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 708
    functionName: log_file_line
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    - ap_strrchr_c
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_file_line(const ap_errorlog_info *info, const char *arg,\n
      \                        char *buf, int buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:719,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:722,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:726,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:730,1
    - Dst: apr_strerror
      Src: /src/httpd/server/log.c:735,1
    - Dst: apu_strerror
      Src: /src/httpd/server/log.c:738,1
    - Dst: apr_strerror
      Src: /src/httpd/server/log.c:741,1
    - Dst: apr_strerror
      Src: /src/httpd/server/log.c:744,1
    - Dst: strlen
      Src: /src/httpd/server/log.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 748
    functionName: log_apr_status
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_strerror
    - apu_strerror
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int log_apr_status(const ap_errorlog_info *info, const char *arg,\n
      \                         char *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:754,1
    - Dst: ap_get_server_name
      Src: /src/httpd/server/log.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 757
    functionName: log_server_name
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - ap_get_server_name
    - cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_server_name(const ap_errorlog_info *info, const char *arg,\n
      \                          char *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: log_virtual_host
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - cpystrn
    linkageType: ''
    returnType: int
    signature: "int log_virtual_host(const ap_errorlog_info *info, const char *arg,\n
      \                           char *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/log.c:776,1
    - Dst: ap_escape_errorlog_item
      Src: /src/httpd/server/log.c:777,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:778,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:783,1
    - Dst: apr_table_get
      Src: /src/httpd/server/log.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - table
    - name
    - buf
    - buflen
    argTypes:
    - apr_table_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 785
    functionName: log_table_entry
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - cpystrn
    - apr_table_get
    - ap_escape_errorlog_item
    linkageType: ''
    returnType: int
    signature: "int log_table_entry(const apr_table_t *table, const char *name,\n
      \                          char *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_table_entry
      Src: /src/httpd/server/log.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: log_header
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_table_entry
    linkageType: ''
    returnType: int
    signature: "int log_header(const ap_errorlog_info *info, const char *arg,\n                      char
      *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_table_entry
      Src: /src/httpd/server/log.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: log_note
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_table_entry
    linkageType: ''
    returnType: int
    signature: "int log_note(const ap_errorlog_info *info, const char *arg,\n                      char
      *buf, int buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_table_entry
      Src: /src/httpd/server/log.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - arg
    - buf
    - buflen
    argTypes:
    - ap_errorlog_info*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: log_env_var
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_table_entry
    linkageType: ''
    returnType: int
    signature: "int log_env_var(const ap_errorlog_info *info, const char *arg,\n                      char
      *buf, int buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/log.c:827,1
    - Dst: getpid
      Src: /src/httpd/server/log.c:830,1
    - Dst: apr_base64_encode_len
      Src: /src/httpd/server/log.c:854,1
    - Dst: apr_palloc
      Src: /src/httpd/server/log.c:855,1
    - Dst: apr_base64_encode
      Src: /src/httpd/server/log.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - c
    - r
    - idstring
    argTypes:
    - conn_rec*
    - request_rec*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 864
    functionName: core_generate_log_id
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_palloc
    - getpid
    - apr_base64_encode_len
    - apr_base64_encode
    linkageType: ''
    returnType: int
    signature: "int core_generate_log_id(const conn_rec *c, const request_rec *r,\n
      \                                const char **idstring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_generate_log_id
      Src: /src/httpd/server/log.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - r
    argTypes:
    - conn_rec*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 878
    functionName: add_log_id
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - ap_run_generate_log_id
    linkageType: ''
    returnType: void
    signature: void add_log_id(const conn_rec *c, const request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_generate_log_id
      Src: /src/httpd/server/log.c:882,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:885,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:886,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:887,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:888,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:889,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:890,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:891,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:892,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:893,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:894,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:895,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:896,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:897,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:898,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:899,1
    - Dst: ap_register_errorlog_handler
      Src: /src/httpd/server/log.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 901
    functionName: ap_register_log_hooks
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 1
    functionsReached:
    - ap_register_errorlog_handler
    - ap_hook_generate_log_id
    linkageType: ''
    returnType: void
    signature: void ap_register_log_hooks(apr_pool_t *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_ctime
      Src: /src/httpd/server/log.c:920,1
    - Dst: log_module_name
      Src: /src/httpd/server/log.c:927,1
    - Dst: log_loglevel
      Src: /src/httpd/server/log.c:929,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:930,1
    - Dst: log_pid
      Src: /src/httpd/server/log.c:932,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:935,1
    - Dst: log_tid
      Src: /src/httpd/server/log.c:936,1
    - Dst: log_file_line
      Src: /src/httpd/server/log.c:947,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:950,1
    - Dst: log_apr_status
      Src: /src/httpd/server/log.c:955,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:958,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:967,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:973,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/server/log.c:982,1
    - Dst: ap_escape_errorlog_item
      Src: /src/httpd/server/log.c:983,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/server/log.c:988,1
    - Dst: cpystrn
      Src: /src/httpd/server/log.c:993,1
    - Dst: log_header
      Src: /src/httpd/server/log.c:994,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 7
    argNames:
    - info
    - buf
    - buflen
    - errstr_start
    - errstr_end
    - errstr_fmt
    - args
    argTypes:
    - ap_errorlog_info*
    - char*
    - int
    - int*
    - int*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 907
    functionDepth: 4
    functionLinenumber: 907
    functionLinenumberEnd: 1001
    functionName: do_errorlog_default
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_tid
    - log_apr_status
    - log_module_name
    - log_loglevel
    - log_file_line
    - log_pid
    - log_ctime
    - ap_escape_errorlog_item
    - cpystrn
    - apr_vsnprintf
    - log_header
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: "int do_errorlog_default(const ap_errorlog_info *info, char *buf,\n
      \                              int buflen, int *errstr_start, int *errstr_end,\n
      \                              const char *errstr_fmt, va_list args)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/log.c:1016,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/server/log.c:1032,1
    - Dst: ap_escape_errorlog_item
      Src: /src/httpd/server/log.c:1033,1
    - Dst: apr_vsnprintf
      Src: /src/httpd/server/log.c:1038,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 8
    argNames:
    - fmt
    - info
    - buf
    - buflen
    - errstr_start
    - errstr_end
    - err_fmt
    - args
    argTypes:
    - apr_array_header_t*
    - ap_errorlog_info*
    - char*
    - int
    - int*
    - int*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1072
    functionName: do_errorlog_format
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - ap_escape_errorlog_item
    - AP_DEBUG_ASSERT
    - apr_vsnprintf
    linkageType: ''
    returnType: int
    signature: "int do_errorlog_format(apr_array_header_t *fmt, ap_errorlog_info *info,\n
      \                             char *buf, int buflen, int *errstr_start,\n                              int
      *errstr_end, const char *err_fmt, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_puts
      Src: /src/httpd/server/log.c:1078,1
    - Dst: apr_file_flush
      Src: /src/httpd/server/log.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - errstr
    - len
    - logf
    - level
    argTypes:
    - char*
    - apr_size_t
    - apr_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1080
    functionName: write_logline
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_puts
    - apr_file_flush
    linkageType: ''
    returnType: void
    signature: "void write_logline(char *errstr, apr_size_t len, apr_file_t *logf,\n
      \                         int level)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/log.c:1105,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/log.c:1130,1
    - Dst: ap_get_request_module_loglevel
      Src: /src/httpd/server/log.c:1134,1
    - Dst: ap_get_conn_server_module_loglevel
      Src: /src/httpd/server/log.c:1135,1
    - Dst: ap_get_server_module_loglevel
      Src: /src/httpd/server/log.c:1136,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/log.c:1155,1
    - Dst: add_log_id
      Src: /src/httpd/server/log.c:1157,1
    - Dst: add_log_id
      Src: /src/httpd/server/log.c:1175,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/log.c:1181,1
    - Dst: do_errorlog_format
      Src: /src/httpd/server/log.c:1262,1
    - Dst: do_errorlog_default
      Src: /src/httpd/server/log.c:1267,1
    - Dst: strcpy
      Src: /src/httpd/server/log.c:1285,1
    - Dst: strlen
      Src: /src/httpd/server/log.c:1286,1
    - Dst: write_logline
      Src: /src/httpd/server/log.c:1290,1
    - Dst: ap_errorlog_provider*::writer
      Src: /src/httpd/server/log.c:1293,1
    - Dst: ap_run_error_log
      Src: /src/httpd/server/log.c:1304,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 11
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - s
    - c
    - r
    - pool
    - fmt
    - args
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - server_rec*
    - conn_rec*
    - request_rec*
    - apr_pool_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1082
    functionDepth: 5
    functionLinenumber: 1082
    functionLinenumberEnd: 1309
    functionName: log_error_core
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - write_logline
    - do_errorlog_default
    - ap_get_core_module_config
    - ap_get_conn_server_module_loglevel
    - AP_DEBUG_ASSERT
    - ap_run_error_log
    - ap_get_server_module_loglevel
    - do_errorlog_format
    - strcpy
    - add_log_id
    - ap_errorlog_provider*::writer
    - strlen
    - ap_get_request_module_loglevel
    linkageType: ''
    returnType: void
    signature: "void log_error_core(const char *file, int line, int module_index,\n
      \                          int level,\n                           apr_status_t
      status, const server_rec *s,\n                           const conn_rec *c,\n
      \                          const request_rec *r, apr_pool_t *pool,\n                           const
      char *fmt, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1320,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1321,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 10
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - s
    - c
    - r
    - pool
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - server_rec*
    - conn_rec*
    - request_rec*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1312
    functionDepth: 6
    functionLinenumber: 1312
    functionLinenumberEnd: 1324
    functionName: log_error_va_glue
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_error_core
    - va_start
    linkageType: ''
    returnType: void
    signature: "void log_error_va_glue(const char *file, int line, int module_index,\n
      \                             int level, apr_status_t status,\n                              const
      server_rec *s, const conn_rec *c,\n                              const request_rec
      *r, apr_pool_t *pool,\n                              const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1332,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1333,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - s
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1326
    functionDepth: 6
    functionLinenumber: 1326
    functionLinenumberEnd: 1336
    functionName: ap_log_error_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_error_core
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_log_error_(const char *file, int line, int module_index,\n
      \                              int level, apr_status_t status,\n                               const
      server_rec *s, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1344,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1345,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - p
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1338
    functionDepth: 6
    functionLinenumber: 1338
    functionLinenumberEnd: 1348
    functionName: ap_log_perror_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_error_core
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_log_perror_(const char *file, int line, int module_index,\n
      \                               int level, apr_status_t status, apr_pool_t *p,\n
      \                               const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1356,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1357,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1367,1
    - Dst: va_start
      Src: /src/httpd/server/log.c:1368,1
    - Dst: apr_table_get
      Src: /src/httpd/server/log.c:1371,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/log.c:1372,1
    - Dst: ap_escape_html
      Src: /src/httpd/server/log.c:1373,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/server/log.c:1373,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - r
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1350
    functionDepth: 6
    functionLinenumber: 1350
    functionLinenumberEnd: 1377
    functionName: ap_log_rerror_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_error_core
    - apr_table_setn
    - ap_escape_html
    - apr_table_get
    - va_end
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_log_rerror_(const char *file, int line, int module_index,\n
      \                               int level, apr_status_t status,\n                                const
      request_rec *r, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1386,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1387,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - c
    - s
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - conn_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1379
    functionDepth: 6
    functionLinenumber: 1379
    functionLinenumberEnd: 1390
    functionName: ap_log_cserror_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_error_core
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_log_cserror_(const char *file, int line, int module_index,\n
      \                                int level, apr_status_t status,\n                                 const
      conn_rec *c, const server_rec *s,\n                                 const char
      *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/log.c:1398,1
    - Dst: log_error_core
      Src: /src/httpd/server/log.c:1399,1
    - Dst: va_end
      Src: /src/httpd/server/log.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - file
    - line
    - module_index
    - level
    - status
    - c
    - fmt
    argTypes:
    - char*
    - int
    - int
    - int
    - apr_status_t
    - conn_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1392
    functionDepth: 6
    functionLinenumber: 1392
    functionLinenumberEnd: 1402
    functionName: ap_log_cerror_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_error_core
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_log_cerror_(const char *file, int line, int module_index,\n
      \                               int level, apr_status_t status,\n                                const
      conn_rec *c, const char *fmt, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/log.c:1414,1
    - Dst: apr_isprint
      Src: /src/httpd/server/log.c:1422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - buf
    - vdata
    - len
    - 'off'
    argTypes:
    - unsigned char*
    - void*
    - apr_size_t
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1451
    functionName: fmt_data
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - memset
    - apr_isprint
    linkageType: ''
    returnType: void
    signature: void fmt_data(unsigned char *buf, const void *vdata, apr_size_t len,
      apr_size_t *off)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error_va_glue
      Src: /src/httpd/server/log.c:1472,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:1480,1
    - Dst: fmt_data
      Src: /src/httpd/server/log.c:1482,1
    - Dst: log_error_va_glue
      Src: /src/httpd/server/log.c:1483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 11
    argNames:
    - file
    - line
    - module_index
    - level
    - s
    - c
    - r
    - label
    - data
    - len
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    - void*
    - apr_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1453
    functionDepth: 7
    functionLinenumber: 1453
    functionLinenumberEnd: 1486
    functionName: log_data_core
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - fmt_data
    - log_error_va_glue
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void log_data_core(const char *file, int line, int module_index,\n
      \                         int level, const server_rec *s,\n                          const
      conn_rec *c, const request_rec *r,\n                          const char *label,
      const void *data, apr_size_t len,\n                          unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_data_core
      Src: /src/httpd/server/log.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - file
    - line
    - module_index
    - level
    - s
    - label
    - data
    - len
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - server_rec*
    - char*
    - void*
    - apr_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1488
    functionDepth: 8
    functionLinenumber: 1488
    functionLinenumberEnd: 1496
    functionName: ap_log_data_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_data_core
    linkageType: ''
    returnType: void
    signature: "void ap_log_data_(const char *file, int line, \n                              int
      module_index, int level,\n                              const server_rec *s,
      const char *label,\n                              const void *data, apr_size_t
      len,\n                              unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_data_core
      Src: /src/httpd/server/log.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - file
    - line
    - module_index
    - level
    - r
    - label
    - data
    - len
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - request_rec*
    - char*
    - void*
    - apr_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1498
    functionDepth: 8
    functionLinenumber: 1498
    functionLinenumberEnd: 1506
    functionName: ap_log_rdata_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_data_core
    linkageType: ''
    returnType: void
    signature: "void ap_log_rdata_(const char *file, int line,\n                               int
      module_index, int level,\n                               const request_rec *r,
      const char *label,\n                               const void *data, apr_size_t
      len,\n                               unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_data_core
      Src: /src/httpd/server/log.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - file
    - line
    - module_index
    - level
    - c
    - label
    - data
    - len
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - conn_rec*
    - char*
    - void*
    - apr_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1508
    functionDepth: 8
    functionLinenumber: 1508
    functionLinenumberEnd: 1516
    functionName: ap_log_cdata_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_data_core
    linkageType: ''
    returnType: void
    signature: "void ap_log_cdata_(const char *file, int line,\n                               int
      module_index, int level,\n                               const conn_rec *c,
      const char *label,\n                               const void *data, apr_size_t
      len,\n                               unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_data_core
      Src: /src/httpd/server/log.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - file
    - line
    - module_index
    - level
    - c
    - s
    - label
    - data
    - len
    - flags
    argTypes:
    - char*
    - int
    - int
    - int
    - conn_rec*
    - server_rec*
    - char*
    - void*
    - apr_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1518
    functionDepth: 8
    functionLinenumber: 1518
    functionLinenumberEnd: 1525
    functionName: ap_log_csdata_
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_data_core
    linkageType: ''
    returnType: void
    signature: "void ap_log_csdata_(const char *file, int line, int module_index,\n
      \                               int level, const conn_rec *c, const server_rec
      *s,\n                                const char *label, const void *data,\n
      \                               apr_size_t len, unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/log.c:1538,1
    - Dst: apr_palloc
      Src: /src/httpd/server/log.c:1541,1
    - Dst: strcat
      Src: /src/httpd/server/log.c:1545,1
    - Dst: strcat
      Src: /src/httpd/server/log.c:1547,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1550,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1552
    functionName: ap_log_command_line
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - strcat
    - apr_palloc
    - APLOGNO
    - ap_log_error
    - strlen
    linkageType: ''
    returnType: void
    signature: void ap_log_command_line(apr_pool_t *plog, server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1557,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: ap_log_mpm_common
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void ap_log_mpm_common(server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/log.c:1566,1
    - Dst: apr_file_remove
      Src: /src/httpd/server/log.c:1569,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1571,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1571,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1575,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1575,1
    - Dst: getpid
      Src: /src/httpd/server/log.c:1577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - rel_fname
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1580
    functionName: ap_remove_pid
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - getpid
    - APLOGNO
    - apr_file_remove
    - ap_runtime_dir_relative
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void ap_remove_pid(apr_pool_t *p, const char *rel_fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/log.c:1598,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1600,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1601,1
    - Dst: getpid
      Src: /src/httpd/server/log.c:1605,1
    - Dst: apr_stat
      Src: /src/httpd/server/log.c:1607,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/log.c:1615,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1615,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/log.c:1621,1
    - Dst: apr_file_mktemp
      Src: /src/httpd/server/log.c:1622,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1625,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1625,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1627,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1627,1
    - Dst: exit
      Src: /src/httpd/server/log.c:1630,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/log.c:1633,1
    - Dst: apr_file_perms_set
      Src: /src/httpd/server/log.c:1636,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/log.c:1637,1
    - Dst: strlen
      Src: /src/httpd/server/log.c:1637,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1638,1
    - Dst: apr_file_rename
      Src: /src/httpd/server/log.c:1639,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1640,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1640,1
    - Dst: exit
      Src: /src/httpd/server/log.c:1643,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - p
    - filename
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1647
    functionName: ap_log_pid
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_perms_set
    - ap_log_perror
    - apr_pstrcat
    - apr_file_write_full
    - getpid
    - APLOGNO
    - apr_file_mktemp
    - apr_file_close
    - apr_file_rename
    - strlen
    - ap_runtime_dir_relative
    - ap_log_error
    - exit
    - apr_stat
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void ap_log_pid(apr_pool_t *p, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/log.c:1663,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1665,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1666,1
    - Dst: apr_file_open
      Src: /src/httpd/server/log.c:1670,1
    - Dst: apr_palloc
      Src: /src/httpd/server/log.c:1675,1
    - Dst: apr_file_read_full
      Src: /src/httpd/server/log.c:1677,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/log.c:1684,1
    - Dst: strtol
      Src: /src/httpd/server/log.c:1689,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - p
    - filename
    - mypid
    argTypes:
    - apr_pool_t*
    - char*
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1693
    functionName: ap_read_pid
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - apr_isdigit
    - apr_file_close
    - APLOGNO
    - strtol
    - ap_runtime_dir_relative
    - ap_log_error
    - apr_file_open
    - apr_file_read_full
    linkageType: ''
    returnType: void
    signature: "void ap_read_pid(apr_pool_t *p, const char *filename,\n                                     pid_t
      *mypid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_ctime
      Src: /src/httpd/server/log.c:1700,1
    - Dst: apr_time_now
      Src: /src/httpd/server/log.c:1700,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1701,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1701,1
    - Dst: DebugBreak
      Src: /src/httpd/server/log.c:1705,1
    - Dst: abort
      Src: /src/httpd/server/log.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - szExp
    - szFile
    - nLine
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1710
    functionName: ap_log_assert
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - DebugBreak
    - APLOGNO
    - apr_ctime
    - ap_log_error
    - abort
    linkageType: ''
    returnType: void
    signature: "void ap_log_assert(const char *szExp, const char *szFile,\n                               int
      nLine)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_procattr_create
      Src: /src/httpd/server/log.c:1725,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/server/log.c:1726,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/server/log.c:1728,1
    - Dst: apr_procattr_child_in_set
      Src: /src/httpd/server/log.c:1730,1
    - Dst: apr_procattr_child_errfn_set
      Src: /src/httpd/server/log.c:1734,1
    - Dst: apr_procattr_error_check_set
      Src: /src/httpd/server/log.c:1736,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1738,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1738,1
    - Dst: apr_tokenize_to_argv
      Src: /src/httpd/server/log.c:1745,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/log.c:1746,1
    - Dst: apr_proc_create
      Src: /src/httpd/server/log.c:1747,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1755,1
    - Dst: apr_proc_other_child_register
      Src: /src/httpd/server/log.c:1757,1
    - Dst: close_handle_in_child
      Src: /src/httpd/server/log.c:1759,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1763,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pl
    argTypes:
    - piped_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1770
    functionName: piped_log_spawn
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_procattr_error_check_set
    - apr_proc_create
    - apr_pcalloc
    - apr_file_close
    - APLOGNO
    - apr_procattr_child_errfn_set
    - apr_procattr_dir_set
    - apr_tokenize_to_argv
    - apr_proc_other_child_register
    - ap_log_error
    - apr_procattr_child_in_set
    - close_handle_in_child
    - apr_procattr_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t piped_log_spawn(piped_log *pl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_other_child_unregister
      Src: /src/httpd/server/log.c:1785,1
    - Dst: ap_mpm_query
      Src: /src/httpd/server/log.c:1786,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1788,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1788,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1794,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1794,1
    - Dst: piped_log_spawn
      Src: /src/httpd/server/log.c:1797,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1800,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1800,1
    - Dst: apr_proc_kill
      Src: /src/httpd/server/log.c:1814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - reason
    - data
    - status
    argTypes:
    - int
    - void*
    - apr_wait_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1773
    functionDepth: 2
    functionLinenumber: 1773
    functionLinenumberEnd: 1822
    functionName: piped_log_maintenance
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_proc_other_child_unregister
    - ap_mpm_query
    - apr_proc_kill
    - APLOGNO
    - piped_log_spawn
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void piped_log_maintenance(int reason, void *data, apr_wait_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1829,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1832
    functionName: piped_log_cleanup_for_exec
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t piped_log_cleanup_for_exec(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_kill
      Src: /src/httpd/server/log.c:1840,1
    - Dst: piped_log_cleanup_for_exec
      Src: /src/httpd/server/log.c:1842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1843
    functionName: piped_log_cleanup
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_proc_kill
    - piped_log_cleanup_for_exec
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t piped_log_cleanup(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/log.c:1852,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/log.c:1854,1
    - Dst: apr_file_pipe_create_ex
      Src: /src/httpd/server/log.c:1857,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/log.c:1862,1
    - Dst: piped_log_spawn
      Src: /src/httpd/server/log.c:1864,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/server/log.c:1865,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1866,1
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - p
    - program
    - cmdtype
    argTypes:
    - apr_pool_t*
    - char*
    - apr_cmdtype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1846
    functionDepth: 2
    functionLinenumber: 1846
    functionLinenumberEnd: 1871
    functionName: ap_open_piped_log_ex
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pool_cleanup_kill
    - apr_file_close
    - piped_log_spawn
    - apr_file_pipe_create_ex
    - apr_pstrdup
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_open_piped_log_ex(apr_pool_t *p,\n                                             const
      char *program,\n                                             apr_cmdtype_e cmdtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_close
      Src: /src/httpd/server/log.c:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1881
    functionName: piped_log_cleanup
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_file_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t piped_log_cleanup(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_child
      Src: /src/httpd/server/log.c:1891,1
    - Dst: ap_log_error
      Src: /src/httpd/server/log.c:1893,1
    - Dst: APLOGNO
      Src: /src/httpd/server/log.c:1893,1
    - Dst: apr_palloc
      Src: /src/httpd/server/log.c:1899,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/log.c:1903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - p
    - program
    - cmdtype
    argTypes:
    - apr_pool_t*
    - char*
    - apr_cmdtype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1906
    functionName: ap_open_piped_log_ex
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - log_child
    - apr_palloc
    - APLOGNO
    - ap_log_error
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_open_piped_log_ex(apr_pool_t *p,\n                                             const
      char *program,\n                                             apr_cmdtype_e cmdtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_open_piped_log_ex
      Src: /src/httpd/server/log.c:1927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - program
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1910
    functionDepth: 3
    functionLinenumber: 1910
    functionLinenumberEnd: 1928
    functionName: ap_open_piped_log
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 2
    functionsReached:
    - ap_open_piped_log_ex
    linkageType: ''
    returnType: void
    signature: "void ap_open_piped_log(apr_pool_t *p,\n                                          const
      char *program)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/server/log.c:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - piped_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1933
    functionName: ap_close_piped_log
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_run
    linkageType: ''
    returnType: void
    signature: void ap_close_piped_log(piped_log *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/log.c:1945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1952
    functionName: ap_parse_log_level
    functionSourceFile: /src/httpd/server/log.c
    functionUses: 2
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void ap_parse_log_level(const char *str, int *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:57,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:58,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm_fdqueue.c:66,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: queue_info_cleanup
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_thread_cond_destroy
    - apr_atomic_casptr
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t queue_info_cleanup(void *data_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_fdqueue.c:82,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm_fdqueue.c:84,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/server/mpm_fdqueue.c:89,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm_fdqueue.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - queue_info
    - pool
    - max_idlers
    - max_recycled_pools
    argTypes:
    - fd_queue_info_t**
    - apr_pool_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: ap_queue_info_create
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_create
    - apr_thread_cond_create
    - apr_pcalloc
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_queue_info_create(fd_queue_info_t **queue_info,\n
      \                                 apr_pool_t *pool, int max_idlers,\n                                  int
      max_recycled_pools)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_info_push_pool
      Src: /src/httpd/server/mpm_fdqueue.c:110,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm_fdqueue.c:113,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:114,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:116,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/server/mpm_fdqueue.c:119,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:121,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - queue_info
    - pool_to_recycle
    argTypes:
    - fd_queue_info_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: ap_queue_info_set_idle
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - AP_DEBUG_ASSERT
    - ap_queue_info_push_pool
    - apr_atomic_inc32
    - apr_thread_cond_signal
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_queue_info_set_idle(fd_queue_info_t *queue_info,\n
      \                                   apr_pool_t *pool_to_recycle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_cas32
      Src: /src/httpd/server/mpm_fdqueue.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - queue_info
    argTypes:
    - fd_queue_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: ap_queue_info_try_get_idler
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_atomic_cas32
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_info_try_get_idler(fd_queue_info_t *queue_info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_add32
      Src: /src/httpd/server/mpm_fdqueue.c:157,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:158,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:160,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm_fdqueue.c:161,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/server/mpm_fdqueue.c:188,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:191,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:192,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - queue_info
    - had_to_block
    argTypes:
    - fd_queue_info_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 208
    functionName: ap_queue_info_wait_for_idler
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_atomic_add32
    - AP_DEBUG_ASSERT
    - apr_thread_cond_wait
    - apr_atomic_inc32
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info,\n
      \                                         int *had_to_block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm_fdqueue.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - queue_info
    argTypes:
    - fd_queue_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ap_queue_info_num_idlers
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_atomic_read32
    linkageType: ''
    returnType: apr_uint32_t
    signature: apr_uint32_t ap_queue_info_num_idlers(fd_queue_info_t *queue_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm_fdqueue.c:228,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:230,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm_fdqueue.c:233,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm_fdqueue.c:236,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm_fdqueue.c:237,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm_fdqueue.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - queue_info
    - pool_to_recycle
    argTypes:
    - fd_queue_info_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: ap_queue_info_push_pool
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 1
    functionsReached:
    - apr_atomic_read32
    - apr_palloc
    - apr_atomic_casptr
    - apr_pool_clear
    - apr_pool_destroy
    - apr_atomic_inc32
    linkageType: ''
    returnType: void
    signature: "void ap_queue_info_push_pool(fd_queue_info_t *queue_info,\n                             apr_pool_t
      *pool_to_recycle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm_fdqueue.c:274,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm_fdqueue.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - queue_info
    - recycled_pool
    argTypes:
    - fd_queue_info_t*
    - apr_pool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 282
    functionName: ap_queue_info_pop_pool
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_atomic_dec32
    - apr_atomic_casptr
    linkageType: ''
    returnType: void
    signature: "void ap_queue_info_pop_pool(fd_queue_info_t *queue_info,\n                            apr_pool_t
      **recycled_pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_info_pop_pool
      Src: /src/httpd/server/mpm_fdqueue.c:290,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:293,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/server/mpm_fdqueue.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - queue_info
    argTypes:
    - fd_queue_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: ap_queue_info_free_idle_pools
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_atomic_set32
    - ap_queue_info_pop_pool
    linkageType: ''
    returnType: void
    signature: void ap_queue_info_free_idle_pools(fd_queue_info_t *queue_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:303,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/server/mpm_fdqueue.c:309,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - queue_info
    argTypes:
    - fd_queue_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: ap_queue_info_term
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_info_term(fd_queue_info_t *queue_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: ap_queue_full
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_queue_full(queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: ap_queue_empty
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_queue_empty(queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_cond_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:339,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/server/mpm_fdqueue.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: ap_queue_destroy
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_cond_destroy
    - apr_thread_mutex_destroy
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_destroy(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_fdqueue.c:353,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm_fdqueue.c:355,1
    - Dst: apr_thread_cond_create
      Src: /src/httpd/server/mpm_fdqueue.c:360,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm_fdqueue.c:364,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_fdqueue.c:366,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm_fdqueue.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pqueue
    - capacity
    - p
    argTypes:
    - fd_queue_t**
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 374
    functionName: ap_queue_create
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_thread_cond_create
    - APR_RING_INIT
    - apr_thread_mutex_create
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_create(fd_queue_t **pqueue, int capacity, apr_pool_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:389,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:393,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:394,1
    - Dst: ap_queue_full
      Src: /src/httpd/server/mpm_fdqueue.c:394,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/server/mpm_fdqueue.c:404,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - queue
    - sd
    - sd_baton
    - p
    argTypes:
    - fd_queue_t*
    - apr_socket_t*
    - void*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: ap_queue_push_socket
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - ap_queue_full
    - AP_DEBUG_ASSERT
    - apr_thread_cond_signal
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_queue_push_socket(fd_queue_t *queue,\n                                  apr_socket_t
      *sd, void *sd_baton,\n                                  apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:413,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm_fdqueue.c:417,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm_fdqueue.c:419,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/server/mpm_fdqueue.c:421,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - te
    argTypes:
    - fd_queue_t*
    - timer_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: ap_queue_push_timer
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - AP_DEBUG_ASSERT
    - APR_RING_INSERT_TAIL
    - apr_thread_cond_signal
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_push_timer(fd_queue_t *queue, timer_event_t *te)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:440,1
    - Dst: ap_queue_empty
      Src: /src/httpd/server/mpm_fdqueue.c:445,1
    - Dst: apr_thread_cond_wait
      Src: /src/httpd/server/mpm_fdqueue.c:447,1
    - Dst: ap_queue_empty
      Src: /src/httpd/server/mpm_fdqueue.c:450,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:451,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm_fdqueue.c:466,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm_fdqueue.c:467,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm_fdqueue.c:468,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - queue
    - sd
    - sd_baton
    - p
    - te_out
    argTypes:
    - fd_queue_t*
    - apr_socket_t**
    - void**
    - apr_pool_t**
    - timer_event_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 490
    functionName: ap_queue_pop_something
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - ap_queue_empty
    - apr_thread_mutex_lock
    - APR_RING_FIRST
    - apr_thread_mutex_unlock
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - apr_thread_cond_wait
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_queue_pop_something(fd_queue_t *queue,\n                                    apr_socket_t
      **sd, void **sd_baton,\n                                    apr_pool_t **p,
      timer_event_t **te_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm_fdqueue.c:500,1
    - Dst: apr_thread_cond_broadcast
      Src: /src/httpd/server/mpm_fdqueue.c:512,1
    - Dst: apr_thread_cond_signal
      Src: /src/httpd/server/mpm_fdqueue.c:514,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm_fdqueue.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - queue
    - all
    - term
    argTypes:
    - fd_queue_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: queue_interrupt
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - apr_thread_cond_broadcast
    - apr_thread_cond_signal
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t queue_interrupt(fd_queue_t *queue, int all, int term)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_interrupt
      Src: /src/httpd/server/mpm_fdqueue.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - fd_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: ap_queue_interrupt_all
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - queue_interrupt
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_interrupt_all(fd_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_interrupt
      Src: /src/httpd/server/mpm_fdqueue.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - fd_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: ap_queue_interrupt_one
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - queue_interrupt
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_interrupt_one(fd_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_interrupt
      Src: /src/httpd/server/mpm_fdqueue.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - fd_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: ap_queue_term
    functionSourceFile: /src/httpd/server/mpm_fdqueue.c
    functionUses: 0
    functionsReached:
    - queue_interrupt
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_queue_term(fd_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: BRIGADE_NORMALIZE
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BRIGADE_NORMALIZE(b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core_filters.c:97,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core_filters.c:117,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/core_filters.c:118,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/core_filters.c:119,1
    - Dst: ap_run_insert_network_bucket
      Src: /src/httpd/server/core_filters.c:121,1
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/server/core_filters.c:126,1
    - Dst: BRIGADE_NORMALIZE
      Src: /src/httpd/server/core_filters.c:130,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/core_filters.c:138,1
    - Dst: apr_brigade_split_line
      Src: /src/httpd/server/core_filters.c:144,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/core_filters.c:149,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/core_filters.c:172,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:177,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/core_filters.c:178,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:196,1
    - Dst: ap_assert
      Src: /src/httpd/server/core_filters.c:200,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/core_filters.c:217,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/server/core_filters.c:224,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/core_filters.c:225,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/core_filters.c:235,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:237,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/core_filters.c:238,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/core_filters.c:240,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:256,1
    - Dst: apr_bucket_eos_create
      Src: /src/httpd/server/core_filters.c:259,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/core_filters.c:260,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:270,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/core_filters.c:272,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:276,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/core_filters.c:285,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:289,1
    - Dst: apr_brigade_partition
      Src: /src/httpd/server/core_filters.c:300,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/server/core_filters.c:306,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/core_filters.c:309,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:314,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/core_filters.c:315,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:316,1
    - Dst: apr_bucket_copy
      Src: /src/httpd/server/core_filters.c:318,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/core_filters.c:322,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/core_filters.c:327,1
    - Dst: ap_filter_adopt_brigade
      Src: /src/httpd/server/core_filters.c:331,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 5
    argNames:
    - f
    - b
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 333
    functionName: ap_core_input_filter
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - apr_brigade_split_ex
    - apr_brigade_create
    - ap_filter_adopt_brigade
    - apr_bucket_read
    - apr_bucket_delete
    - apr_brigade_partition
    - ap_filter_reinstate_brigade
    - APR_STATUS_IS_EAGAIN
    - APR_BUCKET_NEXT
    - apr_bucket_copy
    - apr_brigade_split_line
    - ap_get_core_module_config
    - ap_run_insert_network_bucket
    - apr_bucket_eos_create
    - APR_BRIGADE_EMPTY
    - ap_assert
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - apr_pcalloc
    - AP_DEBUG_ASSERT
    - BRIGADE_NORMALIZE
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_core_input_filter(ap_filter_t *f, apr_bucket_brigade
      *b,\n                                  ap_input_mode_t mode, apr_read_type_e
      block,\n                                  apr_off_t readbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core_filters.c:363,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/core_filters.c:370,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/core_filters.c:375,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/core_filters.c:381,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/core_filters.c:384,1
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/server/core_filters.c:390,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/core_filters.c:391,1
    - Dst: apr_socket_timeout_get
      Src: /src/httpd/server/core_filters.c:396,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/core_filters.c:397,1
    - Dst: send_brigade_nonblocking
      Src: /src/httpd/server/core_filters.c:400,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/core_filters.c:401,1
    - Dst: ap_filter_reinstate_brigade
      Src: /src/httpd/server/core_filters.c:408,1
    - Dst: memset
      Src: /src/httpd/server/core_filters.c:412,1
    - Dst: apr_poll
      Src: /src/httpd/server/core_filters.c:418,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/core_filters.c:419,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/core_filters.c:422,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/core_filters.c:425,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/core_filters.c:427,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/core_filters.c:429,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/core_filters.c:438,1
    - Dst: ap_filter_setaside_brigade
      Src: /src/httpd/server/core_filters.c:442,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 443
    functionName: ap_core_output_filter
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - ap_filter_setaside_brigade
    - apr_poll
    - APR_STATUS_IS_EINTR
    - apr_pcalloc
    - ap_get_core_module_config
    - memset
    - ap_log_cerror
    - apr_socket_timeout_get
    - apr_socket_timeout_set
    - apr_brigade_create
    - send_brigade_nonblocking
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - ap_filter_reinstate_brigade
    - APR_STATUS_IS_EAGAIN
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_core_output_filter(ap_filter_t *f, apr_bucket_brigade
      *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_IS_HEAP
      Src: /src/httpd/server/core_filters.c:460,1
    - Dst: APR_BUCKET_IS_POOL
      Src: /src/httpd/server/core_filters.c:461,1
    - Dst: APR_BUCKET_IS_TRANSIENT
      Src: /src/httpd/server/core_filters.c:462,1
    - Dst: APR_BUCKET_IS_IMMORTAL
      Src: /src/httpd/server/core_filters.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: is_in_memory_bucket
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_IS_IMMORTAL
    - APR_BUCKET_IS_HEAP
    - APR_BUCKET_IS_POOL
    - APR_BUCKET_IS_TRANSIENT
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE is_in_memory_bucket(apr_bucket *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/server/core_filters.c:474,1
    - Dst: apr_file_flags_get
      Src: /src/httpd/server/core_filters.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 481
    functionName: can_sendfile_bucket
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - APR_BUCKET_IS_FILE
    - apr_file_flags_get
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE can_sendfile_bucket(apr_bucket *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/server/core_filters.c:486,1
    - Dst: ap_bucket_eor_request
      Src: /src/httpd/server/core_filters.c:490,1
    - Dst: ap_assert
      Src: /src/httpd/server/core_filters.c:491,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: delete_meta_bucket
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - ap_assert
    - ap_bucket_eor_request
    - AP_BUCKET_IS_EOR
    - apr_bucket_delete
    linkageType: ''
    returnType: void
    signature: void delete_meta_bucket(apr_bucket *bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/core_filters.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - to
    argTypes:
    - apr_socket_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: sock_nopush
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE sock_nopush(apr_socket_t *s, int to)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/core_filters.c:521,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:527,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/core_filters.c:528,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:530,1
    - Dst: can_sendfile_bucket
      Src: /src/httpd/server/core_filters.c:533,1
    - Dst: sock_nopush
      Src: /src/httpd/server/core_filters.c:535,1
    - Dst: writev_nonblocking
      Src: /src/httpd/server/core_filters.c:536,1
    - Dst: sendfile_nonblocking
      Src: /src/httpd/server/core_filters.c:543,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/core_filters.c:554,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/core_filters.c:555,1
    - Dst: writev_nonblocking
      Src: /src/httpd/server/core_filters.c:558,1
    - Dst: sock_nopush
      Src: /src/httpd/server/core_filters.c:565,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/core_filters.c:567,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/core_filters.c:574,1
    - Dst: delete_meta_bucket
      Src: /src/httpd/server/core_filters.c:585,1
    - Dst: sock_nopush
      Src: /src/httpd/server/core_filters.c:592,1
    - Dst: writev_nonblocking
      Src: /src/httpd/server/core_filters.c:593,1
    - Dst: apr_palloc
      Src: /src/httpd/server/core_filters.c:609,1
    - Dst: memcpy
      Src: /src/httpd/server/core_filters.c:611,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/core_filters.c:629,1
    - Dst: is_in_memory_bucket
      Src: /src/httpd/server/core_filters.c:630,1
    - Dst: sock_nopush
      Src: /src/httpd/server/core_filters.c:631,1
    - Dst: writev_nonblocking
      Src: /src/httpd/server/core_filters.c:632,1
    - Dst: writev_nonblocking
      Src: /src/httpd/server/core_filters.c:641,1
    - Dst: sock_nopush
      Src: /src/httpd/server/core_filters.c:645,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 4
    argNames:
    - s
    - bb
    - ctx
    - c
    argTypes:
    - apr_socket_t*
    - apr_bucket_brigade*
    - core_output_ctx_t*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 647
    functionName: send_brigade_nonblocking
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 1
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - sendfile_nonblocking
    - sock_nopush
    - ap_get_core_module_config
    - apr_palloc
    - delete_meta_bucket
    - writev_nonblocking
    - is_in_memory_bucket
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - can_sendfile_bucket
    - APR_STATUS_IS_EAGAIN
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t send_brigade_nonblocking(apr_socket_t *s,\n                                             apr_bucket_brigade
      *bb,\n                                             core_output_ctx_t *ctx,\n
      \                                            conn_rec *c)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_sendv
      Src: /src/httpd/server/core_filters.c:663,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:667,1
    - Dst: ap_assert
      Src: /src/httpd/server/core_filters.c:668,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/core_filters.c:668,1
    - Dst: delete_meta_bucket
      Src: /src/httpd/server/core_filters.c:670,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:673,1
    - Dst: apr_bucket_split
      Src: /src/httpd/server/core_filters.c:679,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:680,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/core_filters.c:689,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/core_filters.c:690,1
    - Dst: delete_meta_bucket
      Src: /src/httpd/server/core_filters.c:694,1
    - Dst: ap__logio_add_bytes_out
      Src: /src/httpd/server/core_filters.c:700,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/core_filters.c:704,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - s
    - bb
    - ctx
    - bytes_to_write
    - nvec
    - c
    argTypes:
    - apr_socket_t*
    - apr_bucket_brigade*
    - core_output_ctx_t*
    - apr_size_t
    - apr_size_t
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 708
    functionName: writev_nonblocking
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 1
    functionsReached:
    - apr_bucket_split
    - APR_BRIGADE_FIRST
    - ap_log_cerror
    - apr_bucket_delete
    - delete_meta_bucket
    - ap__logio_add_bytes_out
    - APR_BRIGADE_SENTINEL
    - apr_socket_sendv
    - APR_BRIGADE_EMPTY
    - ap_assert
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t writev_nonblocking(apr_socket_t *s,\n                                       apr_bucket_brigade
      *bb,\n                                       core_output_ctx_t *ctx,\n                                       apr_size_t
      bytes_to_write,\n                                       apr_size_t nvec,\n                                       conn_rec
      *c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_sendfile
      Src: /src/httpd/server/core_filters.c:722,1
    - Dst: ap__logio_add_bytes_out
      Src: /src/httpd/server/core_filters.c:724,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/core_filters.c:728,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:732,1
    - Dst: apr_bucket_split
      Src: /src/httpd/server/core_filters.c:735,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/core_filters.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - s
    - bucket
    - ctx
    - c
    argTypes:
    - apr_socket_t*
    - apr_bucket*
    - core_output_ctx_t*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 742
    functionName: sendfile_nonblocking
    functionSourceFile: /src/httpd/server/core_filters.c
    functionUses: 1
    functionsReached:
    - apr_bucket_split
    - apr_socket_sendfile
    - ap_log_cerror
    - apr_bucket_delete
    - ap__logio_add_bytes_out
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t sendfile_nonblocking(apr_socket_t *s,\n                                         apr_bucket
      *bucket,\n                                         core_output_ctx_t *ctx,\n
      \                                        conn_rec *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/vhost.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ap_init_vhost_config
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ap_init_vhost_config(apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/vhost.c:155,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/vhost.c:156,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/server/vhost.c:168,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/vhost.c:178,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/vhost.c:180,1
    - Dst: strcmp
      Src: /src/httpd/server/vhost.c:190,1
    - Dst: strcasecmp
      Src: /src/httpd/server/vhost.c:190,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/vhost.c:191,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/vhost.c:198,1
    - Dst: ap_log_error
      Src: /src/httpd/server/vhost.c:200,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:200,1
    - Dst: APR_VERSION_AT_LEAST
      Src: /src/httpd/server/vhost.c:204,1
    - Dst: apr_sockaddr_zone_set
      Src: /src/httpd/server/vhost.c:206,1
    - Dst: ap_log_error
      Src: /src/httpd/server/vhost.c:208,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:208,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/vhost.c:220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - p
    - w_
    - paddr
    - default_port
    argTypes:
    - apr_pool_t*
    - char*
    - server_addr_rec***
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 230
    functionName: get_addresses
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_pcalloc
    - APR_VERSION_AT_LEAST
    - apr_pstrcat
    - apr_parse_addr_port
    - strcasecmp
    - APLOGNO
    - apr_pstrmemdup
    - ap_log_error
    - strlen
    - apr_sockaddr_zone_set
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: char
    signature: "char *get_addresses(apr_pool_t *p, const char *w_,\n                                 server_addr_rec
      ***paddr,\n                                 apr_port_t default_port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_addresses
      Src: /src/httpd/server/vhost.c:244,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/vhost.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p
    - hostname
    - s
    argTypes:
    - apr_pool_t*
    - char*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 259
    functionName: ap_parse_vhost_addrs
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - get_addresses
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: "void ap_parse_vhost_addrs(apr_pool_t *p,\n                                             const
      char *hostname,\n                                             server_rec *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/vhost.c:268,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: ap_set_name_virtual_host
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void ap_set_name_virtual_host(cmd_parms *cmd,\n                                                        void
      *dummy,\n                                                        const char
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: iphash_compare
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iphash_compare(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/httpd/server/vhost.c:309,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/vhost.c:310,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:311,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/vhost.c:317,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/vhost.c:325,1
    - Dst: ap_log_error
      Src: /src/httpd/server/vhost.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - main_s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 330
    functionName: dump_iphash_statistics
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - qsort
    - ap_log_error
    - APLOGNO
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void dump_iphash_statistics(server_rec *main_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: hash_inaddr
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE unsigned
    signature: APR_INLINE unsigned hash_inaddr(unsigned key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_inaddr
      Src: /src/httpd/server/vhost.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct apr_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: hash_addr
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - hash_inaddr
    linkageType: ''
    returnType: APR_INLINE unsigned
    signature: APR_INLINE unsigned hash_addr(struct apr_sockaddr_t *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/vhost.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - s
    - sar
    argTypes:
    - apr_pool_t*
    - server_rec*
    - server_addr_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: new_ipaddr_chain
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_palloc::apr_palloc
    linkageType: ''
    returnType: ipaddr_chain
    signature: "ipaddr_chain *new_ipaddr_chain(apr_pool_t *p,\n                                      server_rec
      *s, server_addr_rec *sar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/vhost.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - s
    - sar
    argTypes:
    - apr_pool_t*
    - server_rec*
    - server_addr_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: new_name_chain
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_palloc::apr_palloc
    linkageType: ''
    returnType: name_chain
    signature: "name_chain *new_name_chain(apr_pool_t *p,\n                                  server_rec
      *s, server_addr_rec *sar)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hash_addr
      Src: /src/httpd/server/vhost.c:397,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/server/vhost.c:403,1
    - Dst: apr_sockaddr_equal
      Src: /src/httpd/server/vhost.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 415
    functionName: ipaddr_chain *find_ipaddr(apr_sockaddr_t *sa)
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_equal
    - hash_addr
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE ipaddr_chain *find_ipaddr(apr_sockaddr_t *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - port
    argTypes:
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: find_default_server
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipaddr_chain
    signature: ipaddr_chain *find_default_server(apr_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ad
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: IS_IN6_ANYADDR
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_IN6_ANYADDR(ad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ad
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: IS_IN6_ANYADDR
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_IN6_ANYADDR(ad)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_IN6_ANYADDR
      Src: /src/httpd/server/vhost.c:452,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/vhost.c:453,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/vhost.c:457,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:463,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:468,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:474,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:477,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:479,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:488,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:498,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - f
    - ic
    argTypes:
    - apr_file_t*
    - ipaddr_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 503
    functionName: dump_a_vhost
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    - IS_IN6_ANYADDR
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void dump_a_vhost(apr_file_t *f, ipaddr_chain *ic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/server/vhost.c:510,1
    - Dst: dump_a_vhost
      Src: /src/httpd/server/vhost.c:515,1
    - Dst: dump_a_vhost
      Src: /src/httpd/server/vhost.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 523
    functionName: dump_vhost_config
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_file_printf
    - dump_a_vhost
    linkageType: ''
    returnType: void
    signature: void dump_vhost_config(apr_file_t *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_name_chain
      Src: /src/httpd/server/vhost.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - p
    - main_s
    - s
    - sar
    - ic
    argTypes:
    - apr_pool_t*
    - server_rec*
    - server_rec*
    - server_addr_rec*
    - ipaddr_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 562
    functionName: add_name_vhost_config
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - new_name_chain
    linkageType: ''
    returnType: void
    signature: "void add_name_vhost_config(apr_pool_t *p, server_rec *main_s,\n                                 server_rec
      *s, server_addr_rec *sar,\n                                 ipaddr_chain *ic)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_local_host
      Src: /src/httpd/server/vhost.c:577,1
    - Dst: memcmp
      Src: /src/httpd/server/vhost.c:598,1
    - Dst: find_default_server
      Src: /src/httpd/server/vhost.c:599,1
    - Dst: memcmp
      Src: /src/httpd/server/vhost.c:602,1
    - Dst: add_name_vhost_config
      Src: /src/httpd/server/vhost.c:604,1
    - Dst: new_ipaddr_chain
      Src: /src/httpd/server/vhost.c:612,1
    - Dst: add_name_vhost_config
      Src: /src/httpd/server/vhost.c:615,1
    - Dst: find_ipaddr
      Src: /src/httpd/server/vhost.c:621,1
    - Dst: hash_addr
      Src: /src/httpd/server/vhost.c:628,1
    - Dst: new_ipaddr_chain
      Src: /src/httpd/server/vhost.c:629,1
    - Dst: add_name_vhost_config
      Src: /src/httpd/server/vhost.c:633,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/vhost.c:652,1
    - Dst: apr_getnameinfo
      Src: /src/httpd/server/vhost.c:658,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/vhost.c:660,1
    - Dst: apr_sockaddr_ip_get
      Src: /src/httpd/server/vhost.c:667,1
    - Dst: ap_log_error
      Src: /src/httpd/server/vhost.c:668,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:668,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/vhost.c:674,1
    - Dst: dump_iphash_statistics
      Src: /src/httpd/server/vhost.c:681,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/vhost.c:683,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/vhost.c:685,1
    - Dst: dump_vhost_config
      Src: /src/httpd/server/vhost.c:686,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - p
    - main_s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 688
    functionName: ap_fini_vhost_config
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 1
    functionsReached:
    - dump_iphash_statistics
    - ap_exists_config_define
    - add_name_vhost_config
    - find_default_server
    - dump_vhost_config
    - APLOGNO
    - new_ipaddr_chain
    - apr_getnameinfo
    - find_ipaddr
    - apr_file_open_stdout
    - ap_log_error
    - apr_sockaddr_ip_get
    - apr_pstrdup
    - ap_get_local_host
    - memcmp
    - hash_addr
    linkageType: ''
    returnType: void
    signature: void ap_fini_vhost_config(apr_pool_t *p, server_rec *main_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_isxdigit
      Src: /src/httpd/server/vhost.c:700,1
    - Dst: apr_isupper
      Src: /src/httpd/server/vhost.c:701,1
    - Dst: apr_tolower
      Src: /src/httpd/server/vhost.c:702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - r
    - host
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 725
    functionName: fix_hostname_v6_literal
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_isupper
    - apr_tolower
    - apr_isxdigit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fix_hostname_v6_literal(request_rec *r, char *host)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_islower
      Src: /src/httpd/server/vhost.c:732,1
    - Dst: apr_isupper
      Src: /src/httpd/server/vhost.c:740,1
    - Dst: apr_tolower
      Src: /src/httpd/server/vhost.c:741,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - r
    - host
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 752
    functionName: fix_hostname_non_v6
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_isupper
    - apr_islower
    - apr_tolower
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t fix_hostname_non_v6(request_rec *r, char *host)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_isalpha
      Src: /src/httpd/server/vhost.c:764,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/vhost.c:769,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/vhost.c:772,1
    - Dst: apr_isdigit
      Src: /src/httpd/server/vhost.c:778,1
    - Dst: apr_isalpha
      Src: /src/httpd/server/vhost.c:789,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/vhost.c:795,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:795,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 2
    argNames:
    - r
    - host
    argTypes:
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 799
    functionName: strict_hostname_check
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - apr_isdigit
    - APLOGNO
    - ap_log_rerror
    - apr_isalpha
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t strict_hostname_check(request_rec *r, char *host)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_isdigit
      Src: /src/httpd/server/vhost.c:835,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/vhost.c:840,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:840,1
    - Dst: apr_parse_addr_port
      Src: /src/httpd/server/vhost.c:850,1
    - Dst: apr_itoa
      Src: /src/httpd/server/vhost.c:860,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/vhost.c:870,1
    - Dst: ap_strchr
      Src: /src/httpd/server/vhost.c:871,1
    - Dst: fix_hostname_v6_literal
      Src: /src/httpd/server/vhost.c:876,1
    - Dst: fix_hostname_non_v6
      Src: /src/httpd/server/vhost.c:879,1
    - Dst: strict_hostname_check
      Src: /src/httpd/server/vhost.c:881,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/vhost.c:890,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:890,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - r
    - host_header
    - http_conformance
    argTypes:
    - request_rec*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 896
    functionName: fix_hostname
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - ap_strchr
    - fix_hostname_non_v6
    - strict_hostname_check
    - apr_isdigit
    - apr_parse_addr_port
    - APLOGNO
    - apr_itoa
    - apr_pstrdup
    - fix_hostname_v6_literal
    linkageType: ''
    returnType: int
    signature: "int fix_hostname(request_rec *r, const char *host_header,\n                        unsigned
      http_conformance)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/vhost.c:905,1
    - Dst: strcasecmp
      Src: /src/httpd/server/vhost.c:915,1
    - Dst: ap_strcasecmp_match
      Src: /src/httpd/server/vhost.c:924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 929
    functionName: matches_aliases
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - ap_strcasecmp_match
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int matches_aliases(server_rec *s, const char *host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/vhost.c:965,1
    - Dst: matches_aliases
      Src: /src/httpd/server/vhost.c:976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - r
    - host
    - port
    argTypes:
    - request_rec*
    - char*
    - apr_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 977
    functionName: ap_matches_request_vhost
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 5
    functionsReached:
    - strcasecmp
    - matches_aliases
    linkageType: ''
    returnType: void
    signature: "void ap_matches_request_vhost(request_rec *r, const char *host,\n
      \                                        apr_port_t port)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: matches_aliases
      Src: /src/httpd/server/vhost.c:1040,1
    - Dst: strcasecmp
      Src: /src/httpd/server/vhost.c:1049,1
    - Dst: matches_aliases
      Src: /src/httpd/server/vhost.c:1066,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1077
    functionName: update_server_from_aliases
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - matches_aliases
    linkageType: ''
    returnType: int
    signature: int update_server_from_aliases(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/httpd/server/vhost.c:1112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1120
    functionName: check_serverpath
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: void
    signature: void check_serverpath(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/vhost.c:1137,1
    - Dst: strlen
      Src: /src/httpd/server/vhost.c:1149,1
    - Dst: apr_pstrcatv
      Src: /src/httpd/server/vhost.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - r
    - is_v6literal
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1153
    functionName: construct_host_header
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 0
    functionsReached:
    - strlen
    - apr_pstrcatv
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE *construct_host_header(request_rec *r,\n                                                    int
      is_v6literal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_vhost_from_headers_ex
      Src: /src/httpd/server/vhost.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1158
    functionName: ap_update_vhost_from_headers
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 1
    functionsReached:
    - ap_update_vhost_from_headers_ex
    linkageType: ''
    returnType: void
    signature: void ap_update_vhost_from_headers(request_rec *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/vhost.c:1162,1
    - Dst: apr_table_get
      Src: /src/httpd/server/vhost.c:1163,1
    - Dst: fix_hostname
      Src: /src/httpd/server/vhost.c:1174,1
    - Dst: fix_hostname
      Src: /src/httpd/server/vhost.c:1177,1
    - Dst: construct_host_header
      Src: /src/httpd/server/vhost.c:1190,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/vhost.c:1191,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/vhost.c:1192,1
    - Dst: APLOGNO
      Src: /src/httpd/server/vhost.c:1192,1
    - Dst: update_server_from_aliases
      Src: /src/httpd/server/vhost.c:1201,1
    - Dst: check_serverpath
      Src: /src/httpd/server/vhost.c:1203,1
    - Dst: update_server_from_aliases
      Src: /src/httpd/server/vhost.c:1207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - r
    - require_match
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1211
    functionName: ap_update_vhost_from_headers_ex
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 2
    functionsReached:
    - check_serverpath
    - ap_log_rerror
    - ap_get_core_module_config
    - construct_host_header
    - APLOGNO
    - apr_table_setn
    - fix_hostname
    - update_server_from_aliases
    - apr_table_get
    linkageType: ''
    returnType: void
    signature: void ap_update_vhost_from_headers_ex(request_rec *r, int require_match)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: func_cb
      Src: /src/httpd/server/vhost.c:1250,1
    - Dst: func_cb
      Src: /src/httpd/server/vhost.c:1258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - conn
    - func_cb
    - baton
    argTypes:
    - conn_rec*
    - ap_vhost_iterate_conn_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1262
    functionName: ap_vhost_iterate_given_conn
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 1
    functionsReached:
    - func_cb
    linkageType: ''
    returnType: void
    signature: "void ap_vhost_iterate_given_conn(conn_rec *conn,\n                                            ap_vhost_iterate_conn_cb
      func_cb,\n                                            void* baton)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_ipaddr
      Src: /src/httpd/server/vhost.c:1273,1
    - Dst: find_default_server
      Src: /src/httpd/server/vhost.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1298
    functionName: ap_update_vhost_given_ip
    functionSourceFile: /src/httpd/server/vhost.c
    functionUses: 1
    functionsReached:
    - find_ipaddr
    - find_default_server
    linkageType: ''
    returnType: void
    signature: void ap_update_vhost_given_ip(conn_rec *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/mpm_common.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: mpm_common_pre_config
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 1
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: void
    signature: void mpm_common_pre_config(apr_pool_t *pconf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_monitor
      Src: /src/httpd/server/mpm_common.c:218,1
    - Dst: apr_proc_wait_all_procs
      Src: /src/httpd/server/mpm_common.c:221,1
    - Dst: ap_update_global_status
      Src: /src/httpd/server/mpm_common.c:222,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm_common.c:224,1
    - Dst: APR_STATUS_IS_CHILD_DONE
      Src: /src/httpd/server/mpm_common.c:229,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm_common.c:233,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm_common.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - status
    - exitcode
    - ret
    - p
    - s
    argTypes:
    - apr_exit_why_e*
    - int*
    - apr_proc_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: ap_wait_or_timeout
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_CHILD_DONE
    - apr_time_from_sec
    - APR_STATUS_IS_EINTR
    - apr_sleep
    - apr_proc_wait_all_procs
    - ap_update_global_status
    - ap_run_monitor
    linkageType: ''
    returnType: void
    signature: "void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode,\n                                    apr_proc_t
      *ret, apr_pool_t *p,\n                                    server_rec *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm_common.c:249,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:252,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_common.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - apr_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: ap_sock_disable_nagle
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 2
    functionsReached:
    - apr_socket_opt_set
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void ap_sock_disable_nagle(apr_socket_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/server/mpm_common.c:264,1
    - Dst: getpwnam
      Src: /src/httpd/server/mpm_common.c:266,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:267,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_common.c:267,1
    - Dst: exit
      Src: /src/httpd/server/mpm_common.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: ap_uname2id
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 4
    functionsReached:
    - getpwnam
    - APLOGNO
    - atoi
    - ap_log_error
    - exit
    linkageType: ''
    returnType: void
    signature: void ap_uname2id(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/httpd/server/mpm_common.c:282,1
    - Dst: getgrnam
      Src: /src/httpd/server/mpm_common.c:284,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:285,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_common.c:285,1
    - Dst: exit
      Src: /src/httpd/server/mpm_common.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: ap_gname2id
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 4
    functionsReached:
    - APLOGNO
    - atoi
    - getgrnam
    - ap_log_error
    - exit
    linkageType: ''
    returnType: void
    signature: void ap_gname2id(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setgrent
      Src: /src/httpd/server/mpm_common.c:304,1
    - Dst: getgrent
      Src: /src/httpd/server/mpm_common.c:308,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm_common.c:313,1
    - Dst: endgrent
      Src: /src/httpd/server/mpm_common.c:319,1
    - Dst: setgroups
      Src: /src/httpd/server/mpm_common.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - name
    - basegid
    argTypes:
    - char*
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 323
    functionName: initgroups
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 2
    functionsReached:
    - strcmp
    - getgrent
    - setgrent
    - endgrent
    - setgroups
    linkageType: ''
    returnType: int
    signature: int initgroups(const char *name, gid_t basegid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: ap_mpm_set_pidfile
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_pidfile(cmd_parms *cmd, void *dummy,\n                               const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_printf
      Src: /src/httpd/server/mpm_common.c:346,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/mpm_common.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - apr_pool_t*
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: ap_mpm_dump_pidfile
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 1
    functionsReached:
    - ap_runtime_dir_relative
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void ap_mpm_dump_pidfile(apr_pool_t *p, apr_file_t *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:353,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm_common.c:358,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:359,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_common.c:359,1
    - Dst: atoi
      Src: /src/httpd/server/mpm_common.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: ap_mpm_set_max_requests
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - APLOGNO
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_max_requests(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:374,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/mpm_common.c:379,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_common.c:381,1
    - Dst: apr_stat
      Src: /src/httpd/server/mpm_common.c:384,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_common.c:385,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_common.c:389,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/mpm_common.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 395
    functionName: ap_mpm_set_coredumpdir
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    - apr_cpystrn
    - ap_check_cmd_context
    - apr_stat
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_coredumpdir(cmd_parms *cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:401,1
    - Dst: atoi
      Src: /src/httpd/server/mpm_common.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: ap_mpm_set_graceful_shutdown
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_set_graceful_shutdown(cmd_parms *cmd,\n                                                     void
      *dummy,\n                                                     const char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:413,1
    - Dst: strtol
      Src: /src/httpd/server/mpm_common.c:419,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_common.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: ap_mpm_set_max_mem_free
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_pstrcat
    - strtol
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_max_mem_free(cmd_parms *cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm_common.c:433,1
    - Dst: strtol
      Src: /src/httpd/server/mpm_common.c:439,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/mpm_common.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: ap_mpm_set_thread_stacksize
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - apr_pstrcat
    - strtol
    linkageType: ''
    returnType: char
    signature: "char *ap_mpm_set_thread_stacksize(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_query
      Src: /src/httpd/server/mpm_common.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - query_code
    - result
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: ap_mpm_query
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 42
    functionsReached:
    - ap_run_mpm_query
    linkageType: ''
    returnType: void
    signature: void ap_mpm_query(int query_code, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:462,1
    - Dst: ap_run_end_generation
      Src: /src/httpd/server/mpm_common.c:464,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm_common.c:465,1
    - Dst: APR_RING_INSERT_HEAD
      Src: /src/httpd/server/mpm_common.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gi
    argTypes:
    - mpm_gen_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: end_gen
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - APR_RING_INSERT_HEAD
    - APR_RING_REMOVE
    - ap_run_end_generation
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void end_gen(mpm_gen_info_t *gi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm_common.c:479,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm_common.c:480,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm_common.c:482,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm_common.c:485,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:487,1
    - Dst: end_gen
      Src: /src/httpd/server/mpm_common.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 498
    functionName: ap_mpm_end_gen_helper
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - end_gen
    - ap_log_error
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_mpm_end_gen_helper(void *unused)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_common.c:514,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_common.c:515,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm_common.c:516,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm_common.c:517,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm_common.c:520,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm_common.c:521,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm_common.c:523,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm_common.c:529,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm_common.c:531,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm_common.c:532,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm_common.c:533,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm_common.c:537,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/mpm_common.c:540,1
    - Dst: APR_RING_INSERT_HEAD
      Src: /src/httpd/server/mpm_common.c:541,1
    - Dst: ap_random_parent_after_fork
      Src: /src/httpd/server/mpm_common.c:543,1
    - Dst: ap_update_global_status
      Src: /src/httpd/server/mpm_common.c:547,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm_common.c:549,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:550,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm_common.c:550,1
    - Dst: end_gen
      Src: /src/httpd/server/mpm_common.c:557,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm_common.c:566,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - s
    - pid
    - gen
    - slot
    - status
    argTypes:
    - server_rec*
    - pid_t
    - ap_generation_t
    - int
    - mpm_child_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 569
    functionName: ap_core_child_status
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - end_gen
    - apr_pcalloc
    - APR_RING_ELEM_INIT
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - APLOGNO
    - APR_RING_INSERT_HEAD
    - ap_log_error
    - APR_RING_NEXT
    - APR_RING_INIT
    - ap_random_parent_after_fork
    - ap_update_global_status
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: void
    signature: "void ap_core_child_status(server_rec *s, pid_t pid,\n                          ap_generation_t
      gen, int slot,\n                          mpm_child_status status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_resume_suspended
      Src: /src/httpd/server/mpm_common.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: ap_mpm_resume_suspended
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 3
    functionsReached:
    - ap_run_mpm_resume_suspended
    linkageType: ''
    returnType: void
    signature: void ap_mpm_resume_suspended(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_register_timed_callback
      Src: /src/httpd/server/mpm_common.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - cbfn
    - baton
    argTypes:
    - apr_time_t
    - ap_mpm_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: ap_mpm_register_timed_callback
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 4
    functionsReached:
    - ap_run_mpm_register_timed_callback
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_register_timed_callback(apr_time_t t,\n        ap_mpm_callback_fn_t
      *cbfn, void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_register_poll_callback
      Src: /src/httpd/server/mpm_common.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - pfds
    - cbfn
    - baton
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - ap_mpm_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: ap_mpm_register_poll_callback
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_run_mpm_register_poll_callback
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_register_poll_callback(\n        apr_pool_t *p, const
      apr_array_header_t *pfds,\n        ap_mpm_callback_fn_t *cbfn, void *baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_register_poll_callback_timeout
      Src: /src/httpd/server/mpm_common.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p
    - pfds
    - cbfn
    - tofn
    - baton
    - timeout
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - ap_mpm_callback_fn_t*
    - ap_mpm_callback_fn_t*
    - void*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: ap_mpm_register_poll_callback_timeout
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 3
    functionsReached:
    - ap_run_mpm_register_poll_callback_timeout
    linkageType: ''
    returnType: void
    signature: "void ap_mpm_register_poll_callback_timeout(\n        apr_pool_t *p,
      const apr_array_header_t *pfds,\n        ap_mpm_callback_fn_t *cbfn, ap_mpm_callback_fn_t
      *tofn,\n        void *baton, apr_time_t timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_mpm_get_name
      Src: /src/httpd/server/mpm_common.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: ap_show_mpm
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 5
    functionsReached:
    - ap_run_mpm_get_name
    linkageType: ''
    returnType: void
    signature: void ap_show_mpm(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/mpm_common.c:619,1
    - Dst: ap_show_mpm
      Src: /src/httpd/server/mpm_common.c:619,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm_common.c:624,1
    - Dst: ap_show_mpm
      Src: /src/httpd/server/mpm_common.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 628
    functionName: ap_check_mpm
    functionSourceFile: /src/httpd/server/mpm_common.c
    functionUses: 0
    functionsReached:
    - ap_show_mpm
    - strcmp
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void ap_check_mpm(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:52,1
    - Dst: apr_ltoa
      Src: /src/httpd/server/util_cookies.c:52,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:56,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_cookies.c:58,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_cookies.c:58,1
    - Dst: va_start
      Src: /src/httpd/server/util_cookies.c:62,1
    - Dst: va_arg
      Src: /src/httpd/server/util_cookies.c:63,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_cookies.c:64,1
    - Dst: va_end
      Src: /src/httpd/server/util_cookies.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - r
    - name
    - val
    - attrs
    - maxage
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: ap_cookie_write
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - va_arg
    - APLOGNO
    - apr_ltoa
    - apr_table_addn
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_cookie_write(request_rec * r, const char *name, const char
      *val,\n                                         const char *attrs, long maxage,
      ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:94,1
    - Dst: apr_ltoa
      Src: /src/httpd/server/util_cookies.c:94,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:98,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_cookies.c:100,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_cookies.c:100,1
    - Dst: va_start
      Src: /src/httpd/server/util_cookies.c:104,1
    - Dst: va_arg
      Src: /src/httpd/server/util_cookies.c:105,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_cookies.c:106,1
    - Dst: va_end
      Src: /src/httpd/server/util_cookies.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - r
    - name2
    - val
    - attrs2
    - maxage
    argTypes:
    - request_rec*
    - char*
    - char*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: ap_cookie_write2
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 2
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - va_arg
    - APLOGNO
    - apr_ltoa
    - apr_table_addn
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_cookie_write2(request_rec * r, const char *name2, const char
      *val,\n                                          const char *attrs2, long maxage,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_cookies.c:128,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_cookies.c:128,1
    - Dst: va_start
      Src: /src/httpd/server/util_cookies.c:132,1
    - Dst: va_arg
      Src: /src/httpd/server/util_cookies.c:133,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_cookies.c:134,1
    - Dst: va_end
      Src: /src/httpd/server/util_cookies.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - name
    - attrs
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: ap_cookie_remove
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - va_arg
    - APLOGNO
    - apr_table_addn
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_cookie_remove(request_rec * r, const char *name, const char
      *attrs, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:154,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_cookies.c:156,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_cookies.c:156,1
    - Dst: va_start
      Src: /src/httpd/server/util_cookies.c:160,1
    - Dst: va_arg
      Src: /src/httpd/server/util_cookies.c:161,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_cookies.c:162,1
    - Dst: va_end
      Src: /src/httpd/server/util_cookies.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - name2
    - attrs2
    argTypes:
    - request_rec*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: ap_cookie_remove2
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - apr_pstrcat
    - va_arg
    - APLOGNO
    - apr_table_addn
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void ap_cookie_remove2(request_rec * r, const char *name2, const char
      *attrs2, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_cookies.c:181,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:182,1
    - Dst: strlen
      Src: /src/httpd/server/util_cookies.c:183,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_cookies.c:194,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_cookies.c:196,1
    - Dst: apr_isspace
      Src: /src/httpd/server/util_cookies.c:199,1
    - Dst: strncmp
      Src: /src/httpd/server/util_cookies.c:202,1
    - Dst: strcmp
      Src: /src/httpd/server/util_cookies.c:204,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_cookies.c:208,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_cookies.c:217,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_cookies.c:220,1
    - Dst: apr_strtok
      Src: /src/httpd/server/util_cookies.c:224,1
    - Dst: apr_table_addn
      Src: /src/httpd/server/util_cookies.c:230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - varg
    - key
    - val
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 234
    functionName: extract_cookie_line
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 0
    functionsReached:
    - apr_strtok
    - strcmp
    - apr_isspace
    - apr_pstrcat
    - strlen
    - apr_table_addn
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: int
    signature: int extract_cookie_line(void *varg, const char *key, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_make
      Src: /src/httpd/server/util_cookies.c:252,1
    - Dst: apr_table_do
      Src: /src/httpd/server/util_cookies.c:256,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_cookies.c:259,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_cookies.c:259,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/util_cookies.c:266,1
    - Dst: apr_table_unset
      Src: /src/httpd/server/util_cookies.c:267,1
    - Dst: apr_table_overlay
      Src: /src/httpd/server/util_cookies.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - r
    - name
    - val
    - remove
    argTypes:
    - request_rec*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: ap_cookie_read
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 3
    functionsReached:
    - apr_table_do
    - ap_log_rerror
    - APLOGNO
    - apr_table_unset
    - apr_table_overlay
    - apr_table_make
    linkageType: ''
    returnType: void
    signature: "void ap_cookie_read(request_rec * r, const char *name, const char
      **val,\n                                        int remove)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_cookies.c:285,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_cookies.c:285,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_cookies.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: ap_cookie_check_string
    functionSourceFile: /src/httpd/server/util_cookies.c
    functionUses: 1
    functionsReached:
    - ap_strchr_c
    linkageType: ''
    returnType: void
    signature: void ap_cookie_check_string(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_md5_init
      Src: /src/httpd/server/util_md5.c:63,1
    - Dst: apr_md5_set_xlate
      Src: /src/httpd/server/util_md5.c:65,1
    - Dst: apr_md5_update
      Src: /src/httpd/server/util_md5.c:67,1
    - Dst: apr_md5_final
      Src: /src/httpd/server/util_md5.c:68,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_md5.c:70,1
    - Dst: ap_bin2hex
      Src: /src/httpd/server/util_md5.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - buf
    - length
    argTypes:
    - apr_pool_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: ap_md5_binary
    functionSourceFile: /src/httpd/server/util_md5.c
    functionUses: 2
    functionsReached:
    - apr_md5_set_xlate
    - apr_palloc
    - apr_md5_init
    - apr_md5_update
    - ap_bin2hex
    - apr_md5_final
    linkageType: ''
    returnType: void
    signature: void ap_md5_binary(apr_pool_t *p, const unsigned char *buf, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_md5_binary
      Src: /src/httpd/server/util_md5.c:77,1
    - Dst: strlen
      Src: /src/httpd/server/util_md5.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - string
    argTypes:
    - apr_pool_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ap_md5
    functionSourceFile: /src/httpd/server/util_md5.c
    functionUses: 6
    functionsReached:
    - strlen
    - ap_md5_binary
    linkageType: ''
    returnType: void
    signature: void ap_md5(apr_pool_t *p, const unsigned char *string)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_limit_xml_body
      Src: /src/httpd/server/util_xml.c:44,1
    - Dst: apr_xml_parser_create
      Src: /src/httpd/server/util_xml.c:47,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util_xml.c:48,1
    - Dst: ap_get_brigade
      Src: /src/httpd/server/util_xml.c:57,1
    - Dst: ap_map_http_request_error
      Src: /src/httpd/server/util_xml.c:62,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_xml.c:66,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_xml.c:67,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_xml.c:68,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/util_xml.c:73,1
    - Dst: APR_BUCKET_IS_METADATA
      Src: /src/httpd/server/util_xml.c:78,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util_xml.c:82,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_xml.c:89,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_xml.c:89,1
    - Dst: apr_xml_parser_feed
      Src: /src/httpd/server/util_xml.c:96,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_xml.c:102,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/util_xml.c:105,1
    - Dst: apr_xml_parser_done
      Src: /src/httpd/server/util_xml.c:108,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_xml.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_xml.c:115,1
    - Dst: apr_xml_parser_convert_doc
      Src: /src/httpd/server/util_xml.c:121,1
    - Dst: apr_xml_parser_geterror
      Src: /src/httpd/server/util_xml.c:126,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_xml.c:127,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_xml.c:127,1
    - Dst: apr_xml_parser_done
      Src: /src/httpd/server/util_xml.c:134,1
    - Dst: apr_brigade_destroy
      Src: /src/httpd/server/util_xml.c:136,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - r
    - pdoc
    argTypes:
    - request_rec*
    - apr_xml_doc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 140
    functionName: ap_xml_parse_input
    functionSourceFile: /src/httpd/server/util_xml.c
    functionUses: 12
    functionsReached:
    - APR_BRIGADE_FIRST
    - ap_get_limit_xml_body
    - apr_brigade_destroy
    - apr_brigade_create
    - apr_xml_parser_convert_doc
    - apr_bucket_read
    - APR_BUCKET_IS_EOS
    - apr_xml_parser_feed
    - apr_xml_parser_create
    - ap_get_brigade
    - APR_BUCKET_NEXT
    - apr_brigade_cleanup
    - apr_xml_parser_done
    - ap_log_rerror
    - apr_xml_parser_geterror
    - APLOGNO
    - ap_map_http_request_error
    - APR_BUCKET_IS_METADATA
    - APR_BRIGADE_SENTINEL
    linkageType: ''
    returnType: void
    signature: void ap_xml_parse_input(request_rec * r, apr_xml_doc **pdoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: create_empty_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: ap_conf_vector_t
    signature: ap_conf_vector_t *create_empty_config(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: create_default_per_dir_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: ap_conf_vector_t
    signature: ap_conf_vector_t *create_default_per_dir_config(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/config.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p
    - base
    - new_conf
    argTypes:
    - apr_pool_t*
    - ap_conf_vector_t*
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 309
    functionName: ap_merge_per_dir_configs
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 6
    functionsReached:
    - apr_palloc
    linkageType: ''
    returnType: void
    signature: "void ap_merge_per_dir_configs(apr_pool_t *p,\n                                           ap_conf_vector_t
      *base,\n                                           ap_conf_vector_t *new_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: create_server_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: ap_conf_vector_t
    signature: ap_conf_vector_t *create_server_config(apr_pool_t *p, server_rec *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_flags
      Src: /src/httpd/server/config.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - p
    - base
    - virt
    argTypes:
    - apr_pool_t*
    - ap_conf_vector_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 354
    functionName: merge_server_configs
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_get_module_flags
    linkageType: ''
    returnType: void
    signature: "void merge_server_configs(apr_pool_t *p, ap_conf_vector_t *base,\n
      \                                server_rec *virt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_empty_config
      Src: /src/httpd/server/config.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: ap_create_request_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 8
    functionsReached:
    - create_empty_config
    linkageType: ''
    returnType: void
    signature: void ap_create_request_config(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_empty_config
      Src: /src/httpd/server/config.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: ap_create_conn_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - create_empty_config
    linkageType: ''
    returnType: void
    signature: void ap_create_conn_config(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_empty_config
      Src: /src/httpd/server/config.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: ap_create_per_dir_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 8
    functionsReached:
    - create_empty_config
    linkageType: ''
    returnType: void
    signature: void ap_create_per_dir_config(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_filter_t*::frec::filter_init_func
      Src: /src/httpd/server/config.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - r
    - filters
    argTypes:
    - request_rec*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: invoke_filter_init
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_filter_t*::frec::filter_init_func
    linkageType: ''
    returnType: int
    signature: int invoke_filter_init(request_rec *r, ap_filter_t *filters)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_insert_filter
      Src: /src/httpd/server/config.c:405,1
    - Dst: invoke_filter_init
      Src: /src/httpd/server/config.c:411,1
    - Dst: invoke_filter_init
      Src: /src/httpd/server/config.c:415,1
    - Dst: AP_REQUEST_IS_TRUSTED_CT
      Src: /src/httpd/server/config.c:421,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/config.c:423,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/config.c:424,1
    - Dst: ap_run_handler
      Src: /src/httpd/server/config.c:443,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/config.c:448,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:448,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/server/config.c:453,1
    - Dst: apr_table_get
      Src: /src/httpd/server/config.c:460,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/config.c:462,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:462,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 470
    functionName: ap_invoke_handler
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - ap_run_insert_filter
    - ap_log_rerror
    - ap_run_handler
    - APLOGNO
    - ap_is_HTTP_VALID_RESPONSE
    - AP_REQUEST_IS_TRUSTED_CT
    - invoke_filter_init
    - apr_table_get
    - ap_strchr_c
    - apr_pmemdup
    linkageType: ''
    returnType: void
    signature: void ap_invoke_handler(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_method_number_of
      Src: /src/httpd/server/config.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cmd
    - method
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: ap_method_is_limited
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_method_number_of
    linkageType: ''
    returnType: void
    signature: void ap_method_is_limited(cmd_parms *cmd, const char *method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/httpd/server/config.c:492,1
    - Dst: printf
      Src: /src/httpd/server/config.c:493,1
    - Dst: module*::register_hooks
      Src: /src/httpd/server/config.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - module*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 500
    functionName: ap_register_hooks
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - getenv
    - printf
    - module*::register_hooks
    linkageType: ''
    returnType: void
    signature: void ap_register_hooks(module *m, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_hash_make
      Src: /src/httpd/server/config.c:515,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/config.c:517,1
    - Dst: ap_add_module_commands
      Src: /src/httpd/server/config.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - add_prelinked
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 524
    functionName: rebuild_conf_hash
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_add_module_commands
    - apr_hash_make
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void rebuild_conf_hash(apr_pool_t *p, int add_prelinked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rebuild_conf_hash
      Src: /src/httpd/server/config.c:536,1
    - Dst: apr_hash_pool_get
      Src: /src/httpd/server/config.c:539,1
    - Dst: apr_palloc
      Src: /src/httpd/server/config.c:542,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:545,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:547,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/config.c:549,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/config.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - m
    - p
    argTypes:
    - module*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 553
    functionName: ap_add_module_commands
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - apr_hash_set
    - apr_palloc
    - ap_str_tolower
    - rebuild_conf_hash
    - apr_hash_pool_get
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: void
    signature: void ap_add_module_commands(module *m, apr_pool_t *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:569,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:577,1
    - Dst: ap_assert
      Src: /src/httpd/server/config.c:585,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:607,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:608,1
    - Dst: strcmp
      Src: /src/httpd/server/config.c:609,1
    - Dst: ap_malloc
      Src: /src/httpd/server/config.c:613,1
    - Dst: memcpy
      Src: /src/httpd/server/config.c:614,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/config.c:625,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/config.c:626,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/config.c:628,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/server/config.c:629,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:637,1
    - Dst: ap_malloc
      Src: /src/httpd/server/config.c:638,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:638,1
    - Dst: memcpy
      Src: /src/httpd/server/config.c:639,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:639,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:640,1
    - Dst: ap_add_module_commands
      Src: /src/httpd/server/config.c:645,1
    - Dst: ap_register_hooks
      Src: /src/httpd/server/config.c:649,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - m
    - p
    - sym_name
    argTypes:
    - module*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 652
    functionName: ap_add_module
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_malloc
    - strlen
    - ap_add_module_commands
    - apr_psprintf
    - ap_strrchr_c
    - ap_assert
    - ap_register_hooks
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_add_module(module *m, apr_pool_t *p,\n                                       const
      char *sym_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:683,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:683,1
    - Dst: free
      Src: /src/httpd/server/config.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - m
    argTypes:
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 701
    functionName: ap_remove_module
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - free
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void ap_remove_module(module *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_add_module
      Src: /src/httpd/server/config.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mod
    - p
    - short_name
    argTypes:
    - module*
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 731
    functionName: ap_add_loaded_module
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_add_module
    linkageType: ''
    returnType: void
    signature: "void ap_add_loaded_module(module *mod, apr_pool_t *p,\n                                              const
      char *short_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_remove_module
      Src: /src/httpd/server/config.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - mod
    argTypes:
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 761
    functionName: ap_remove_loaded_module
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_remove_module
    linkageType: ''
    returnType: void
    signature: void ap_remove_loaded_module(module *mod)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rebuild_conf_hash
      Src: /src/httpd/server/config.c:771,1
    - Dst: apr_palloc
      Src: /src/httpd/server/config.c:786,1
    - Dst: ap_calloc
      Src: /src/httpd/server/config.c:789,1
    - Dst: ap_calloc
      Src: /src/httpd/server/config.c:792,1
    - Dst: ap_add_module
      Src: /src/httpd/server/config.c:807,1
    - Dst: apr_hook_sort_all
      Src: /src/httpd/server/config.c:813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 816
    functionName: ap_setup_prelinked_modules
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_calloc
    - apr_palloc
    - ap_add_module
    - rebuild_conf_hash
    - apr_hook_sort_all
    linkageType: ''
    returnType: void
    signature: void ap_setup_prelinked_modules(process_rec *process)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: ap_find_module_name
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_find_module_name(module *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - module_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: ap_find_module_short_name
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_find_module_short_name(int module_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/config.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 840
    functionName: ap_find_linked_module
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void ap_find_linked_module(const char *name)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/httpd/server/config.c:863,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/config.c:870,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:871,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:877,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:882,1
    - Dst: ap_resolve_env
      Src: /src/httpd/server/config.c:894,1
    - Dst: command_rec*::AP_RAW_ARGS
      Src: /src/httpd/server/config.c:896,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:904,1
    - Dst: command_rec*::AP_TAKE_ARGV
      Src: /src/httpd/server/config.c:912,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:917,1
    - Dst: command_rec*::AP_NO_ARGS
      Src: /src/httpd/server/config.c:920,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:923,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:926,1
    - Dst: command_rec*::AP_TAKE1
      Src: /src/httpd/server/config.c:929,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:932,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:933,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:936,1
    - Dst: command_rec*::AP_TAKE2
      Src: /src/httpd/server/config.c:939,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:942,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:943,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:946,1
    - Dst: command_rec*::AP_TAKE2
      Src: /src/httpd/server/config.c:949,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:952,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:953,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:954,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:957,1
    - Dst: command_rec*::AP_TAKE3
      Src: /src/httpd/server/config.c:960,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:963,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:964,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:965,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:968,1
    - Dst: command_rec*::AP_TAKE3
      Src: /src/httpd/server/config.c:972,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:975,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:976,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:977,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:980,1
    - Dst: command_rec*::AP_TAKE3
      Src: /src/httpd/server/config.c:984,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:987,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:988,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:989,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:992,1
    - Dst: command_rec*::AP_TAKE3
      Src: /src/httpd/server/config.c:996,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:999,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1002,1
    - Dst: command_rec*::AP_TAKE1
      Src: /src/httpd/server/config.c:1007,1
    - Dst: strcmp
      Src: /src/httpd/server/config.c:1009,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1012,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1018,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1021,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1025,1
    - Dst: command_rec*::AP_TAKE2
      Src: /src/httpd/server/config.c:1027,1
    - Dst: strcmp
      Src: /src/httpd/server/config.c:1029,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1040,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1042,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1042,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1043,1
    - Dst: command_rec*::AP_FLAG
      Src: /src/httpd/server/config.c:1046,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1046,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1049,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 113
    argCount: 5
    argNames:
    - cmd
    - parms
    - mconfig
    - args
    - parent
    argTypes:
    - command_rec*
    - cmd_parms*
    - void*
    - char*
    - ap_directive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 1053
    functionName: invoke_cmd
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_log_perror
    - apr_pstrcat
    - command_rec*::AP_TAKE3
    - ap_cstr_casecmp
    - command_rec*::AP_FLAG
    - APLOGNO
    - command_rec*::AP_TAKE_ARGV
    - command_rec*::AP_TAKE1
    - command_rec*::AP_TAKE2
    - apr_table_get
    - command_rec*::AP_RAW_ARGS
    - ap_resolve_env
    - command_rec*::AP_NO_ARGS
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,\n                              void
      *mconfig, const char *args, \n                              ap_directive_t *parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - cmds
    argTypes:
    - char*
    - command_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1066
    functionName: ap_find_command
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: "void ap_find_command(const char *name,\n                                                     const
      command_rec *cmds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_find_command
      Src: /src/httpd/server/config.c:1075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cmd_name
    - mod
    argTypes:
    - char*
    - module**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: ap_find_command_in_modules
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_find_command
    linkageType: ''
    returnType: void
    signature: "void ap_find_command_in_modules(\n                                          const
      char *cmd_name, module **mod)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/config.c:1089,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/config.c:1090,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/config.c:1095,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/config.c:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - server
    - section_vector
    - section
    - mod
    - pconf
    argTypes:
    - server_rec*
    - ap_conf_vector_t*
    - char*
    - module*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1104
    functionName: ap_set_config_vectors
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 5
    functionsReached:
    - ap_set_module_config
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: "void ap_set_config_vectors(server_rec *server,\n                                              ap_conf_vector_t
      *section_vector,\n                                              const char *section,\n
      \                                             module *mod, apr_pool_t *pconf)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_resolve_env
      Src: /src/httpd/server/config.c:1132,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1139,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:1148,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:1157,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1160,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1162,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:1163,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/config.c:1164,1
    - Dst: execute_now
      Src: /src/httpd/server/config.c:1172,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1203,1
    - Dst: ap_add_node
      Src: /src/httpd/server/config.c:1209,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1213,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:1218,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1222,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1228,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1231,1
    - Dst: ap_add_node
      Src: /src/httpd/server/config.c:1244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 7
    argNames:
    - p
    - temp_pool
    - l
    - parms
    - current
    - curr_parent
    - conftree
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - char*
    - cmd_parms*
    - ap_directive_t**
    - ap_directive_t**
    - ap_directive_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1248
    functionName: ap_build_config_sub
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - ap_str_tolower
    - ap_resolve_env
    - apr_pstrcat
    - ap_add_node
    - ap_cstr_casecmp
    - execute_now
    - strlen
    - apr_pstrdup
    - apr_hash_get
    - ap_getword_conf
    linkageType: ''
    returnType: char
    signature: "char *ap_build_config_sub(apr_pool_t *p, apr_pool_t *temp_pool,\n
      \                                      const char *l, cmd_parms *parms,\n                                       ap_directive_t
      **current,\n                                       ap_directive_t **curr_parent,\n
      \                                      ap_directive_t **conftree)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1269,1
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/config.c:1270,1
    - Dst: ap_varbuf_cfg_getline
      Src: /src/httpd/server/config.c:1272,1
    - Dst: memcmp
      Src: /src/httpd/server/config.c:1274,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1275,1
    - Dst: ap_build_config_sub
      Src: /src/httpd/server/config.c:1279,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/server/config.c:1292,1
    - Dst: ap_pcfg_strerror
      Src: /src/httpd/server/config.c:1294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - p
    - temp_pool
    - parms
    - current
    - curr_parent
    - orig_directive
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - cmd_parms*
    - ap_directive_t**
    - ap_directive_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1253
    functionDepth: 4
    functionLinenumber: 1253
    functionLinenumberEnd: 1298
    functionName: ap_build_cont_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 2
    functionsReached:
    - ap_cstr_casecmp
    - apr_pstrcat
    - ap_build_config_sub
    - ap_pcfg_strerror
    - ap_varbuf_free
    - ap_varbuf_init
    - ap_varbuf_cfg_getline
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void ap_build_cont_config(apr_pool_t *p,\n                                              apr_pool_t
      *temp_pool,\n                                              cmd_parms *parms,\n
      \                                             ap_directive_t **current,\n                                              ap_directive_t
      **curr_parent,\n                                              const char *orig_directive)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1306,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:1308,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/config.c:1310,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/config.c:1315,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:1316,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1322,1
    - Dst: ap_set_config_vectors
      Src: /src/httpd/server/config.c:1331,1
    - Dst: invoke_cmd
      Src: /src/httpd/server/config.c:1344,1
    - Dst: strcmp
      Src: /src/httpd/server/config.c:1346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - current
    - parms
    - section_vector
    argTypes:
    - ap_directive_t*
    - cmd_parms*
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1300
    functionDepth: 4
    functionLinenumber: 1300
    functionLinenumberEnd: 1360
    functionName: ap_walk_config_sub
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - invoke_cmd
    - ap_log_perror
    - strcmp
    - ap_str_tolower
    - apr_pstrcat
    - APLOGNO
    - ap_set_config_vectors
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *ap_walk_config_sub(const ap_directive_t *current,\n                                      cmd_parms
      *parms,\n                                      ap_conf_vector_t *section_vector)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_walk_config_sub
      Src: /src/httpd/server/config.c:1377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - current
    - parms
    - section_vector
    argTypes:
    - ap_directive_t*
    - cmd_parms*
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1362
    functionDepth: 5
    functionLinenumber: 1362
    functionLinenumberEnd: 1387
    functionName: ap_walk_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 12
    functionsReached:
    - ap_walk_config_sub
    linkageType: ''
    returnType: void
    signature: "void ap_walk_config(ap_directive_t *current,\n                                        cmd_parms
      *parms,\n                                        ap_conf_vector_t *section_vector)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/config.c:1403,1
    - Dst: ap_varbuf_cfg_getline
      Src: /src/httpd/server/config.c:1427,1
    - Dst: ap_build_config_sub
      Src: /src/httpd/server/config.c:1429,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/server/config.c:1442,1
    - Dst: ap_pcfg_strerror
      Src: /src/httpd/server/config.c:1444,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:1450,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - parms
    - p
    - temp_pool
    - conftree
    argTypes:
    - cmd_parms*
    - apr_pool_t*
    - apr_pool_t*
    - ap_directive_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1465
    functionName: ap_build_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_pcfg_strerror
    - ap_varbuf_free
    - apr_psprintf
    - ap_varbuf_init
    - ap_varbuf_cfg_getline
    - ap_build_config_sub
    linkageType: ''
    returnType: void
    signature: "void ap_build_config(cmd_parms *parms,\n                                         apr_pool_t
      *p, apr_pool_t *temp_pool,\n                                         ap_directive_t
      **conftree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1480
    functionName: ap_set_string_slot
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_string_slot(cmd_parms *cmd,\n                                                   void
      *struct_ptr,\n                                                   const char
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/httpd/server/config.c:1490,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1499
    functionName: ap_set_int_slot
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_psprintf
    - strtol
    linkageType: ''
    returnType: void
    signature: "void ap_set_int_slot(cmd_parms *cmd,\n                                                void
      *struct_ptr,\n                                                const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1505,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - struct_ptr
    - arg_
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1512
    functionName: ap_set_string_slot_lower
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - ap_str_tolower
    linkageType: ''
    returnType: void
    signature: "void ap_set_string_slot_lower(cmd_parms *cmd,\n                                                         void
      *struct_ptr,\n                                                         const
      char *arg_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - struct_ptr_v
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1523
    functionName: ap_set_flag_slot
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_flag_slot(cmd_parms *cmd,\n                                                 void
      *struct_ptr_v, int arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - struct_ptr_v
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1534
    functionName: ap_set_flag_slot_char
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_flag_slot_char(cmd_parms *cmd,\n                                                      void
      *struct_ptr_v, int arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/config.c:1547,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1557
    functionName: ap_set_file_slot
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - apr_pstrcat
    linkageType: ''
    returnType: void
    signature: "void ap_set_file_slot(cmd_parms *cmd, void *struct_ptr,\n                                                 const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - struct_ptr
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1564
    functionName: ap_set_deprecated
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_deprecated(cmd_parms *cmd,\n                                                  void
      *struct_ptr,\n                                                  const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/config.c:1569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - l
    - val
    argTypes:
    - struct ap_logconf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: ap_reset_module_loglevels
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ap_reset_module_loglevels(struct ap_logconf *l, int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/config.c:1576,1
    - Dst: ap_reset_module_loglevels
      Src: /src/httpd/server/config.c:1578,1
    - Dst: ap_reset_module_loglevels
      Src: /src/httpd/server/config.c:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pool
    - l
    - index
    - level
    argTypes:
    - apr_pool_t*
    - struct ap_logconf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1586
    functionName: ap_set_module_loglevel
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - apr_palloc
    - ap_reset_module_loglevels
    linkageType: ''
    returnType: void
    signature: "void ap_set_module_loglevel(apr_pool_t *pool, struct ap_logconf *l,\n
      \                                       int index, int level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/config.c:1600,1
    - Dst: APR_STATUS_IS_EPATHWILD
      Src: /src/httpd/server/config.c:1602,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/config.c:1603,1
    - Dst: APR_STATUS_IS_ENOTDIR
      Src: /src/httpd/server/config.c:1604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - p
    - file
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1610
    functionName: ap_server_root_relative
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 54
    functionsReached:
    - APR_STATUS_IS_ENOTDIR
    - APR_STATUS_IS_ENOENT
    - apr_filepath_merge
    - APR_STATUS_IS_EPATHWILD
    linkageType: ''
    returnType: void
    signature: void ap_server_root_relative(apr_pool_t *p, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/config.c:1616,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/config.c:1618,1
    - Dst: APR_STATUS_IS_EPATHWILD
      Src: /src/httpd/server/config.c:1620,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/config.c:1621,1
    - Dst: APR_STATUS_IS_ENOTDIR
      Src: /src/httpd/server/config.c:1622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - p
    - file
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1628
    functionName: ap_runtime_dir_relative
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 35
    functionsReached:
    - ap_server_root_relative
    - APR_STATUS_IS_ENOTDIR
    - APR_STATUS_IS_ENOENT
    - apr_filepath_merge
    - APR_STATUS_IS_EPATHWILD
    linkageType: ''
    returnType: void
    signature: void ap_runtime_dir_relative(apr_pool_t *p, const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_varbuf_init
      Src: /src/httpd/server/config.c:1641,1
    - Dst: ap_varbuf_cfg_getline
      Src: /src/httpd/server/config.c:1643,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:1647,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:1650,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:1652,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1653,1
    - Dst: ap_varbuf_free
      Src: /src/httpd/server/config.c:1658,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:1664,1
    - Dst: strlen
      Src: /src/httpd/server/config.c:1665,1
    - Dst: ap_soak_end_container
      Src: /src/httpd/server/config.c:1668,1
    - Dst: ap_pcfg_strerror
      Src: /src/httpd/server/config.c:1675,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - cmd
    - directive
    argTypes:
    - cmd_parms*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1631
    functionDepth: 4
    functionLinenumber: 1631
    functionLinenumberEnd: 1680
    functionName: ap_soak_end_container
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - ap_cstr_casecmp
    - apr_pstrcat
    - ap_pcfg_strerror
    - ap_soak_end_container
    - ap_varbuf_free
    - ap_varbuf_init
    - strlen
    - ap_varbuf_cfg_getline
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: void ap_soak_end_container(cmd_parms *cmd, const char *directive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:1690,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:1692,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/config.c:1694,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1697,1
    - Dst: invoke_cmd
      Src: /src/httpd/server/config.c:1708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - cmd_line
    - args
    - parms
    - p
    - ptemp
    - sub_tree
    - parent
    argTypes:
    - char*
    - char*
    - cmd_parms*
    - apr_pool_t*
    - apr_pool_t*
    - ap_directive_t**
    - ap_directive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1682
    functionDepth: 4
    functionLinenumber: 1682
    functionLinenumberEnd: 1716
    functionName: execute_now
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - invoke_cmd
    - ap_str_tolower
    - apr_pstrcat
    - apr_pstrdup
    - apr_hash_get
    linkageType: ''
    returnType: char
    signature: "char *execute_now(char *cmd_line, const char *args,\n                               cmd_parms
      *parms,\n                               apr_pool_t *p, apr_pool_t *ptemp,\n
      \                              ap_directive_t **sub_tree,\n                               ap_directive_t
      *parent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_cpystrn
      Src: /src/httpd/server/config.c:1746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - bufsiz
    - param
    argTypes:
    - void*
    - apr_size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1749
    functionName: arr_elts_getstr
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_cpystrn
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t arr_elts_getstr(void *buf, apr_size_t bufsiz, void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1760
    functionName: arr_elts_close
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t arr_elts_close(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rebuild_conf_hash
      Src: /src/httpd/server/config.c:1776,1
    - Dst: ap_pcfg_open_custom
      Src: /src/httpd/server/config.c:1786,1
    - Dst: ap_build_config
      Src: /src/httpd/server/config.c:1790,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/server/config.c:1791,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - s
    - arr
    - conftree
    - p
    - ptemp
    argTypes:
    - server_rec*
    - apr_array_header_t*
    - ap_directive_t**
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1762
    functionDepth: 5
    functionLinenumber: 1762
    functionLinenumberEnd: 1799
    functionName: process_command_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_cfg_closefile
    - apr_pstrcat
    - rebuild_conf_hash
    - ap_build_config
    - ap_pcfg_open_custom
    linkageType: ''
    returnType: char
    signature: "char *process_command_config(server_rec *s,\n                                          apr_array_header_t
      *arr,\n                                          ap_directive_t **conftree,\n
      \                                         apr_pool_t *p,\n                                          apr_pool_t
      *ptemp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/config.c:1810,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/config.c:1815,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/config.c:1825,1
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/config.c:1831,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/config.c:1841,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/config.c:1843,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/config.c:1846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - fname
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1847
    functionName: dump_config_name
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_get
    - apr_file_open_stdout
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: void dump_config_name(const char *fname, apr_pool_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/server/config.c:1867,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:1869,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/config.c:1873,1
    - Dst: dump_config_name
      Src: /src/httpd/server/config.c:1874,1
    - Dst: ap_build_config
      Src: /src/httpd/server/config.c:1878,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/server/config.c:1879,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/config.c:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - s
    - fname
    - conftree
    - p
    - ptemp
    argTypes:
    - server_rec*
    - char*
    - ap_directive_t**
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1849
    functionDepth: 5
    functionLinenumber: 1849
    functionLinenumberEnd: 1894
    functionName: ap_process_resource_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - ap_cfg_closefile
    - ap_pcfg_openfile
    - dump_config_name
    - ap_build_config
    - apr_psprintf
    linkageType: ''
    returnType: void
    signature: "void ap_process_resource_config(server_rec *s,\n                                                    const
      char *fname,\n                                                    ap_directive_t
      **conftree,\n                                                    apr_pool_t
      *p,\n                                                    apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_process_resource_config
      Src: /src/httpd/server/config.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - fname
    argTypes:
    - ap_dir_match_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1901
    functionDepth: 6
    functionLinenumber: 1901
    functionLinenumberEnd: 1905
    functionName: process_resource_config_cb
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_process_resource_config
    linkageType: ''
    returnType: char
    signature: char *process_resource_config_cb(ap_dir_match_t *w, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/config.c:1931,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/config.c:1931,1
    - Dst: apr_stat
      Src: /src/httpd/server/config.c:1934,1
    - Dst: apr_fnmatch_test
      Src: /src/httpd/server/config.c:1938,1
    - Dst: ap_dir_nofnmatch
      Src: /src/httpd/server/config.c:1939,1
    - Dst: apr_filepath_root
      Src: /src/httpd/server/config.c:1946,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1950,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/config.c:1953,1
    - Dst: ap_dir_fnmatch
      Src: /src/httpd/server/config.c:1957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - s
    - fname
    - conftree
    - p
    - ptemp
    - optional
    argTypes:
    - server_rec*
    - char*
    - ap_directive_t**
    - apr_pool_t*
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1907
    functionDepth: 3
    functionLinenumber: 1907
    functionLinenumberEnd: 1959
    functionName: ap_process_fnmatch_configs
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_dir_nofnmatch
    - strcmp
    - ap_server_root_relative
    - apr_filepath_root
    - apr_pstrcat
    - ap_dir_fnmatch
    - apr_stat
    - apr_fnmatch_test
    linkageType: ''
    returnType: void
    signature: "void ap_process_fnmatch_configs(server_rec *s,\n                                                    const
      char *fname,\n                                                    ap_directive_t
      **conftree,\n                                                    apr_pool_t
      *p,\n                                                    apr_pool_t *ptemp,\n
      \                                                   int optional)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_walk_config
      Src: /src/httpd/server/config.c:1977,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/config.c:1980,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:1980,1
    - Dst: ap_log_perror
      Src: /src/httpd/server/config.c:1984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - s
    - conftree
    - p
    - ptemp
    argTypes:
    - server_rec*
    - ap_directive_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1961
    functionDepth: 6
    functionLinenumber: 1961
    functionLinenumberEnd: 1989
    functionName: ap_process_config_tree
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_log_perror
    - APLOGNO
    - ap_walk_config
    linkageType: ''
    returnType: void
    signature: "void ap_process_config_tree(server_rec *s,\n                                       ap_directive_t
      *conftree,\n                                       apr_pool_t *p,\n                                       apr_pool_t
      *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_make_full_path
      Src: /src/httpd/server/config.c:1996,1
    - Dst: ap_pcfg_openfile
      Src: /src/httpd/server/config.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - r
    - dir_name
    - access_name
    - conffile
    - full_name
    argTypes:
    - request_rec*
    - char*
    - char*
    - ap_configfile_t**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 1998
    functionName: ap_open_htaccess
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_pcfg_openfile
    - ap_make_full_path
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_open_htaccess(request_rec *r, const char *dir_name,\n
      \                             const char *access_name,\n                              ap_configfile_t
      **conffile,\n                              const char **full_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/httpd/server/config.c:2015,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:2028,1
    - Dst: ap_getword_conf
      Src: /src/httpd/server/config.c:2032,1
    - Dst: ap_run_open_htaccess
      Src: /src/httpd/server/config.c:2035,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/config.c:2042,1
    - Dst: ap_build_config
      Src: /src/httpd/server/config.c:2045,1
    - Dst: ap_walk_config
      Src: /src/httpd/server/config.c:2047,1
    - Dst: ap_cfg_closefile
      Src: /src/httpd/server/config.c:2049,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/config.c:2052,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/config.c:2061,1
    - Dst: APR_STATUS_IS_ENOTDIR
      Src: /src/httpd/server/config.c:2062,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/config.c:2063,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:2063,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/config.c:2068,1
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/config.c:2077,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 7
    argNames:
    - result
    - r
    - override
    - override_opts
    - override_list
    - d
    - access_names
    argTypes:
    - ap_conf_vector_t**
    - request_rec*
    - int
    - int
    - apr_table_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2000
    functionDepth: 6
    functionLinenumber: 2000
    functionLinenumberEnd: 2088
    functionName: ap_parse_htaccess
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_cfg_closefile
    - ap_log_rerror
    - ap_getword_conf
    - APR_STATUS_IS_ENOTDIR
    - APLOGNO
    - ap_walk_config
    - apr_table_setn
    - apr_palloc::apr_palloc
    - ap_run_open_htaccess
    - APR_STATUS_IS_ENOENT
    - ap_build_config
    - apr_pstrdup
    - ap_create_per_dir_config
    linkageType: ''
    returnType: void
    signature: "void ap_parse_htaccess(ap_conf_vector_t **result,\n                                       request_rec
      *r, int override,\n                                       int override_opts,
      apr_table_t *override_list,\n                                       const char
      *d, const char *access_names)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:2095,1
    - Dst: apr_array_make
      Src: /src/httpd/server/config.c:2115,1
    - Dst: apr_array_make
      Src: /src/httpd/server/config.c:2116,1
    - Dst: create_empty_config
      Src: /src/httpd/server/config.c:2118,1
    - Dst: ap_create_per_dir_config
      Src: /src/httpd/server/config.c:2119,1
    - Dst: ap_parse_vhost_addrs
      Src: /src/httpd/server/config.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - p
    - hostname
    - main_server
    - ps
    argTypes:
    - apr_pool_t*
    - char*
    - server_rec*
    - server_rec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2090
    functionDepth: 4
    functionLinenumber: 2090
    functionLinenumberEnd: 2128
    functionName: ap_init_virtual_host
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - apr_pcalloc
    - create_empty_config
    - ap_parse_vhost_addrs
    - apr_array_make
    - ap_create_per_dir_config
    linkageType: ''
    returnType: void
    signature: "void ap_init_virtual_host(apr_pool_t *p,\n                                                   const
      char *hostname,\n                                                   server_rec
      *main_server,\n                                                   server_rec
      **ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:2133,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/config.c:2138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - old
    argTypes:
    - apr_pool_t*
    - struct ap_logconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2145
    functionName: ap_new_log_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - apr_pmemdup
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: "void ap_new_log_config(apr_pool_t *p,\n                                                  const
      struct ap_logconf *old)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - old_conf
    - new_conf
    argTypes:
    - struct ap_logconf*
    - struct ap_logconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2168
    functionName: ap_merge_log_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_merge_log_config(const struct ap_logconf *old_conf,\n                                     struct
      ap_logconf *new_conf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/config.c:2174,1
    - Dst: merge_server_configs
      Src: /src/httpd/server/config.c:2178,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/config.c:2181,1
    - Dst: ap_merge_log_config
      Src: /src/httpd/server/config.c:2199,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/config.c:2201,1
    - Dst: ap_core_reorder_directories
      Src: /src/httpd/server/config.c:2207,1
    - Dst: ap_core_reorder_directories
      Src: /src/httpd/server/config.c:2210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - p
    - main_server
    argTypes:
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2211
    functionName: ap_fixup_virtual_hosts
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_get_core_module_config
    - ap_merge_log_config
    - merge_server_configs
    - ap_merge_per_dir_configs
    - ap_core_reorder_directories
    linkageType: ''
    returnType: void
    signature: void ap_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_init_vhost_config
      Src: /src/httpd/server/config.c:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2218
    functionDepth: 1
    functionLinenumber: 2218
    functionLinenumberEnd: 2222
    functionName: init_config_globals
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_init_vhost_config
    linkageType: ''
    returnType: void
    signature: void init_config_globals(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:2227,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/server/config.c:2229,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/config.c:2241,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/config.c:2242,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:2246,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/config.c:2249,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2253,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:2253,1
    - Dst: create_server_config
      Src: /src/httpd/server/config.c:2262,1
    - Dst: create_default_per_dir_config
      Src: /src/httpd/server/config.c:2263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - process
    - p
    argTypes:
    - process_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2266
    functionName: init_server_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_pcalloc
    - APLOGNO
    - create_server_config
    - ap_log_error
    - create_default_per_dir_config
    - apr_file_open_stderr
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: server_rec
    signature: server_rec *init_server_config(process_rec *process, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2274
    functionName: reset_conf_vector_length
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t reset_conf_vector_length(void *dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/config.c:2289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2292
    functionName: conf_vector_length_pre_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: int
    signature: "int conf_vector_length_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n
      \                                        apr_pool_t *ptemp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/config.c:2297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2299
    functionName: ap_register_config_hooks
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_hook_pre_config
    linkageType: ''
    returnType: void
    signature: void ap_register_config_hooks(apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_server_config
      Src: /src/httpd/server/config.c:2307,1
    - Dst: init_config_globals
      Src: /src/httpd/server/config.c:2315,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/config.c:2317,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/config.c:2319,1
    - Dst: apr_file_printf
      Src: /src/httpd/server/config.c:2324,1
    - Dst: process_command_config
      Src: /src/httpd/server/config.c:2328,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2331,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/config.c:2339,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2342,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:2343,1
    - Dst: ap_process_resource_config
      Src: /src/httpd/server/config.c:2348,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2350,1
    - Dst: ap_check_mpm
      Src: /src/httpd/server/config.c:2355,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2357,1
    - Dst: APLOGNO
      Src: /src/httpd/server/config.c:2357,1
    - Dst: process_command_config
      Src: /src/httpd/server/config.c:2362,1
    - Dst: ap_log_error
      Src: /src/httpd/server/config.c:2366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - process
    - ptemp
    - filename
    - conftree
    argTypes:
    - process_rec*
    - apr_pool_t*
    - char*
    - ap_directive_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2301
    functionDepth: 6
    functionLinenumber: 2301
    functionLinenumberEnd: 2372
    functionName: ap_read_config
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - init_config_globals
    - ap_exists_config_define
    - ap_server_root_relative
    - init_server_config
    - ap_check_mpm
    - APLOGNO
    - apr_file_open_stdout
    - ap_process_resource_config
    - ap_log_error
    - process_command_config
    - apr_file_printf
    linkageType: ''
    returnType: void
    signature: "void ap_read_config(process_rec *process, apr_pool_t *ptemp,\n                                       const
      char *filename,\n                                       ap_directive_t **conftree)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_set_module_config
      Src: /src/httpd/server/config.c:2378,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/config.c:2382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p
    - s
    - m
    argTypes:
    - apr_pool_t*
    - server_rec*
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2384
    functionName: ap_single_module_configure
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_set_module_config
    linkageType: ''
    returnType: void
    signature: "void ap_single_module_configure(apr_pool_t *p, server_rec *s,\n                                            module
      *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2395
    functionName: ap_run_rewrite_args
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_run_rewrite_args(process_rec *process)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/config.c:2417,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2421,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2424,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2427,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2434,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2437,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2440,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2443,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2447,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2449,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2454,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2456,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2461,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2463,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2468,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2470,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2475,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2477,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2482,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - pc
    - pm
    argTypes:
    - command_rec*
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2483
    functionName: show_overrides
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_overrides(const command_rec *pc, module *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/config.c:2496,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2499,1
    - Dst: show_overrides
      Src: /src/httpd/server/config.c:2501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2489
    functionDepth: 1
    functionLinenumber: 2489
    functionLinenumberEnd: 2504
    functionName: ap_show_directives
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - printf
    - show_overrides
    linkageType: ''
    returnType: void
    signature: void ap_show_directives(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/config.c:2511,1
    - Dst: printf
      Src: /src/httpd/server/config.c:2513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2514
    functionName: ap_show_modules
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void ap_show_modules(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pstrdup
      Src: /src/httpd/server/config.c:2518,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/config.c:2520,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/config.c:2523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - name
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2516
    functionDepth: 1
    functionLinenumber: 2516
    functionLinenumberEnd: 2524
    functionName: ap_exists_directive
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 2
    functionsReached:
    - apr_pstrdup
    - apr_hash_get
    - ap_str_tolower
    linkageType: ''
    returnType: void
    signature: void ap_exists_directive(apr_pool_t *p, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/httpd/server/config.c:2530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2532
    functionName: ap_retained_data_get
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - apr_pool_userdata_get
    linkageType: ''
    returnType: void
    signature: void ap_retained_data_get(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/config.c:2538,1
    - Dst: apr_pool_userdata_set
      Src: /src/httpd/server/config.c:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2541
    functionName: ap_retained_data_create
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 3
    functionsReached:
    - apr_pool_userdata_set
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void ap_retained_data_create(const char *key, apr_size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count_directives_sub
      Src: /src/httpd/server/config.c:2548,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/config.c:2549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - directive
    - current
    argTypes:
    - char*
    - ap_directive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2543
    functionDepth: 1
    functionLinenumber: 2543
    functionLinenumberEnd: 2554
    functionName: count_directives_sub
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 1
    functionsReached:
    - ap_cstr_casecmp
    - count_directives_sub
    linkageType: ''
    returnType: int
    signature: int count_directives_sub(const char *directive, ap_directive_t *current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2559
    functionName: ap_reserve_module_slots
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_reserve_module_slots(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_reserve_module_slots
      Src: /src/httpd/server/config.c:2563,1
    - Dst: count_directives_sub
      Src: /src/httpd/server/config.c:2563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - directive
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2564
    functionName: ap_reserve_module_slots_directive
    functionSourceFile: /src/httpd/server/config.c
    functionUses: 0
    functionsReached:
    - ap_reserve_module_slots
    - count_directives_sub
    linkageType: ''
    returnType: void
    signature: void ap_reserve_module_slots_directive(const char *directive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: error_bucket_read
    functionSourceFile: /src/httpd/server/error_bucket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t error_bucket_read(apr_bucket *b, const char **str,\n
      \                                     apr_size_t *len, apr_read_type_e block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/server/error_bucket.c:36,1
    - Dst: apr_bucket_free
      Src: /src/httpd/server/error_bucket.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: error_bucket_destroy
    functionSourceFile: /src/httpd/server/error_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void error_bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/error_bucket.c:46,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/error_bucket.c:48,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/error_bucket.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - b
    - error
    - buf
    - p
    argTypes:
    - apr_bucket*
    - int
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: ap_bucket_error_make
    functionSourceFile: /src/httpd/server/error_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_pstrdup
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_error_make(apr_bucket *b, int error,\n                                              const
      char *buf, apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/error_bucket.c:59,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/error_bucket.c:61,1
    - Dst: ap_is_HTTP_VALID_RESPONSE
      Src: /src/httpd/server/error_bucket.c:64,1
    - Dst: ap_bucket_error_make
      Src: /src/httpd/server/error_bucket.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - error
    - buf
    - p
    - list
    argTypes:
    - int
    - char*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: ap_bucket_error_create
    functionSourceFile: /src/httpd/server/error_bucket.c
    functionUses: 14
    functionsReached:
    - ap_bucket_error_make
    - apr_bucket_alloc
    - ap_is_HTTP_VALID_RESPONSE
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_error_create(int error, const char *buf,\n                                                apr_pool_t
      *p,\n                                                apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - before_this
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: INSERT_BEFORE
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_BEFORE(f, before_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc::apr_palloc
      Src: /src/httpd/server/util_filter.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - p
    - parent
    - child
    - c
    argTypes:
    - apr_pool_t*
    - filter_trie_node*
    - filter_trie_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: trie_node_link
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_palloc::apr_palloc
    linkageType: ''
    returnType: void
    signature: "void trie_node_link(apr_pool_t *p, filter_trie_node *parent,\n                           filter_trie_node
      *child, int c)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:158,1
    - Dst: trie_node_link
      Src: /src/httpd/server/util_filter.c:159,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:162,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - p
    - parent
    - c
    argTypes:
    - apr_pool_t*
    - filter_trie_node*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: trie_node_alloc
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - trie_node_link
    linkageType: ''
    returnType: filter_trie_node
    signature: "filter_trie_node *trie_node_alloc(apr_pool_t *p,\n                                         filter_trie_node
      *parent, char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: filter_cleanup
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t filter_cleanup(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - name
    - filter_set
    argTypes:
    - char*
    - filter_trie_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 222
    functionName: get_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ap_filter_rec_t
    signature: "ap_filter_rec_t *get_filter_handle(const char *name,\n                                          const
      filter_trie_node *filter_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_filter_handle
      Src: /src/httpd/server/util_filter.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: ap_get_output_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 1
    functionsReached:
    - get_filter_handle
    linkageType: ''
    returnType: void
    signature: void ap_get_output_filter_handle(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_filter_handle
      Src: /src/httpd/server/util_filter.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: ap_get_input_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 2
    functionsReached:
    - get_filter_handle
    linkageType: ''
    returnType: void
    signature: void ap_get_input_filter_handle(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trie_node_alloc
      Src: /src/httpd/server/util_filter.c:247,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_filter.c:250,1
    - Dst: ap_str_tolower
      Src: /src/httpd/server/util_filter.c:251,1
    - Dst: trie_node_alloc
      Src: /src/httpd/server/util_filter.c:255,1
    - Dst: apr_isalpha
      Src: /src/httpd/server/util_filter.c:256,1
    - Dst: trie_node_link
      Src: /src/httpd/server/util_filter.c:257,1
    - Dst: apr_toupper
      Src: /src/httpd/server/util_filter.c:257,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_filter.c:265,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_filter.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - name
    - filter_func
    - filter_init
    - ftype
    - direction
    - reg_filter_set
    argTypes:
    - char*
    - ap_filter_func
    - ap_init_filter_func
    - ap_filter_type
    - ap_filter_direction_e
    - filter_trie_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 277
    functionName: register_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - trie_node_alloc
    - ap_str_tolower
    - apr_pcalloc
    - apr_pool_cleanup_register
    - apr_isalpha
    - apr_pstrdup
    - trie_node_link
    - apr_toupper
    linkageType: ''
    returnType: ap_filter_rec_t
    signature: "ap_filter_rec_t *register_filter(const char *name,\n                            ap_filter_func
      filter_func,\n                            ap_init_filter_func filter_init,\n
      \                           ap_filter_type ftype,\n                            ap_filter_direction_e
      direction,\n                            filter_trie_node **reg_filter_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_filter
      Src: /src/httpd/server/util_filter.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - filter_func
    - filter_init
    - ftype
    argTypes:
    - char*
    - ap_in_filter_func
    - ap_init_filter_func
    - ap_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: ap_register_input_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 21
    functionsReached:
    - register_filter
    linkageType: ''
    returnType: void
    signature: "void ap_register_input_filter(const char *name,\n                                          ap_in_filter_func
      filter_func,\n                                          ap_init_filter_func
      filter_init,\n                                          ap_filter_type ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_output_filter_protocol
      Src: /src/httpd/server/util_filter.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - filter_func
    - filter_init
    - ftype
    argTypes:
    - char*
    - ap_out_filter_func
    - ap_init_filter_func
    - ap_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: ap_register_output_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 31
    functionsReached:
    - ap_register_output_filter_protocol
    linkageType: ''
    returnType: void
    signature: "void ap_register_output_filter(const char *name,\n                                           ap_out_filter_func
      filter_func,\n                                           ap_init_filter_func
      filter_init,\n                                           ap_filter_type ftype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_filter
      Src: /src/httpd/server/util_filter.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - name
    - filter_func
    - filter_init
    - ftype
    - proto_flags
    argTypes:
    - char*
    - ap_out_filter_func
    - ap_init_filter_func
    - ap_filter_type
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: ap_register_output_filter_protocol
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - register_filter
    linkageType: ''
    returnType: void
    signature: "void ap_register_output_filter_protocol(\n                                           const
      char *name,\n                                           ap_out_filter_func filter_func,\n
      \                                          ap_init_filter_func filter_init,\n
      \                                          ap_filter_type ftype,\n                                           unsigned
      int proto_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_filter.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: get_conn_ctx
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    linkageType: ''
    returnType: struct ap_filter_conn_ctx
    signature: struct ap_filter_conn_ctx *get_conn_ctx(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:328,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/util_filter.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - p
    argTypes:
    - struct spare_ring**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: make_spare_ring
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - APR_RING_INIT
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE make_spare_ring(struct spare_ring **ring, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/util_filter.c:337,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/util_filter.c:338,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/util_filter.c:343,1
    - Dst: make_spare_ring
      Src: /src/httpd/server/util_filter.c:344,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - c
    - ring
    argTypes:
    - conn_rec*
    - struct spare_ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: get_spare
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - APR_RING_INSERT_TAIL
    - make_spare_ring
    linkageType: ''
    returnType: void
    signature: void *get_spare(conn_rec *c, struct spare_ring *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/util_filter.c:356,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:358,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/util_filter.c:361,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/util_filter.c:362,1
    - Dst: make_spare_ring
      Src: /src/httpd/server/util_filter.c:366,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - c
    - data
    - ring
    argTypes:
    - conn_rec*
    - void*
    - struct spare_ring**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 368
    functionName: put_spare
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_palloc
    - APR_RING_EMPTY
    - APR_RING_REMOVE
    - APR_RING_INSERT_TAIL
    - make_spare_ring
    linkageType: ''
    returnType: void
    signature: void put_spare(conn_rec *c, void *data, struct spare_ring **ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_ctx
      Src: /src/httpd/server/util_filter.c:372,1
    - Dst: get_spare
      Src: /src/httpd/server/util_filter.c:373,1
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util_filter.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: ap_acquire_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - get_conn_ctx
    - apr_brigade_create
    - get_spare
    linkageType: ''
    returnType: void
    signature: void ap_acquire_brigade(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_ctx
      Src: /src/httpd/server/util_filter.c:380,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:382,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:384,1
    - Dst: put_spare
      Src: /src/httpd/server/util_filter.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - bb
    argTypes:
    - conn_rec*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: ap_release_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - get_conn_ctx
    - AP_DEBUG_ASSERT
    - apr_brigade_cleanup
    - put_spare
    linkageType: ''
    returnType: void
    signature: void ap_release_brigade(conn_rec *c, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_spare
      Src: /src/httpd/server/util_filter.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 406
    functionName: request_filter_cleanup
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - put_spare
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t request_filter_cleanup(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_spare_ring
      Src: /src/httpd/server/util_filter.c:416,1
    - Dst: APR_RING_CONCAT
      Src: /src/httpd/server/util_filter.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: recycle_dead_filters
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - make_spare_ring
    - APR_RING_CONCAT
    linkageType: ''
    returnType: void
    signature: void recycle_dead_filters(conn_rec *c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:436,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:436,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:446,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:446,1
    - Dst: get_conn_ctx
      Src: /src/httpd/server/util_filter.c:455,1
    - Dst: get_spare
      Src: /src/httpd/server/util_filter.c:456,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:461,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:462,1
    - Dst: memset
      Src: /src/httpd/server/util_filter.c:464,1
    - Dst: memset
      Src: /src/httpd/server/util_filter.c:465,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/util_filter.c:466,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_filter.c:474,1
    - Dst: INSERT_BEFORE
      Src: /src/httpd/server/util_filter.c:480,1
    - Dst: INSERT_BEFORE
      Src: /src/httpd/server/util_filter.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 7
    argNames:
    - frec
    - ctx
    - r
    - c
    - r_filters
    - p_filters
    - c_filters
    argTypes:
    - ap_filter_rec_t*
    - void*
    - request_rec*
    - conn_rec*
    - ap_filter_t**
    - ap_filter_t**
    - ap_filter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 517
    functionName: add_any_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - ap_log_cerror
    - memset
    - APR_RING_ELEM_INIT
    - APLOGNO
    - get_conn_ctx
    - get_spare
    - INSERT_BEFORE
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: ap_filter_t
    signature: "ap_filter_t *add_any_filter_handle(ap_filter_rec_t *frec, void *ctx,\n
      \                                         request_rec *r, conn_rec *c,\n                                          ap_filter_t
      **r_filters,\n                                          ap_filter_t **p_filters,\n
      \                                         ap_filter_t **c_filters)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_any_filter_handle
      Src: /src/httpd/server/util_filter.c:556,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:561,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 8
    argNames:
    - name
    - ctx
    - r
    - c
    - reg_filter_set
    - r_filters
    - p_filters
    - c_filters
    argTypes:
    - char*
    - void*
    - request_rec*
    - conn_rec*
    - filter_trie_node*
    - ap_filter_t**
    - ap_filter_t**
    - ap_filter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 564
    functionName: add_any_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - add_any_filter_handle
    - ap_log_cerror
    linkageType: ''
    returnType: ap_filter_t
    signature: "ap_filter_t *add_any_filter(const char *name, void *ctx,\n                                   request_rec
      *r, conn_rec *c,\n                                   const filter_trie_node
      *reg_filter_set,\n                                   ap_filter_t **r_filters,\n
      \                                  ap_filter_t **p_filters,\n                                   ap_filter_t
      **c_filters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_any_filter
      Src: /src/httpd/server/util_filter.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - ctx
    - r
    - c
    argTypes:
    - char*
    - void*
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 572
    functionName: ap_add_input_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 17
    functionsReached:
    - add_any_filter
    linkageType: ''
    returnType: void
    signature: "void ap_add_input_filter(const char *name, void *ctx,\n                                              request_rec
      *r, conn_rec *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_any_filter_handle
      Src: /src/httpd/server/util_filter.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - ctx
    - r
    - c
    argTypes:
    - ap_filter_rec_t*
    - void*
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: ap_add_input_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 10
    functionsReached:
    - add_any_filter_handle
    linkageType: ''
    returnType: void
    signature: "void ap_add_input_filter_handle(ap_filter_rec_t *f,\n                                                     void
      *ctx,\n                                                     request_rec *r,\n
      \                                                    conn_rec *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_any_filter
      Src: /src/httpd/server/util_filter.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - ctx
    - r
    - c
    argTypes:
    - char*
    - void*
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: ap_add_output_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 26
    functionsReached:
    - add_any_filter
    linkageType: ''
    returnType: void
    signature: "void ap_add_output_filter(const char *name, void *ctx,\n                                               request_rec
      *r, conn_rec *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_any_filter_handle
      Src: /src/httpd/server/util_filter.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - ctx
    - r
    - c
    argTypes:
    - ap_filter_rec_t*
    - void*
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: ap_add_output_filter_handle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 9
    functionsReached:
    - add_any_filter_handle
    linkageType: ''
    returnType: void
    signature: "void ap_add_output_filter_handle(ap_filter_rec_t *f,\n                                                      void
      *ctx,\n                                                      request_rec *r,\n
      \                                                     conn_rec *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/util_filter.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: is_pending_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_RING_NEXT
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE is_pending_filter(ap_filter_t *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_pending_filter
      Src: /src/httpd/server/util_filter.c:613,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/util_filter.c:614,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/util_filter.c:615,1
    - Dst: ap_release_brigade
      Src: /src/httpd/server/util_filter.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: pending_filter_cleanup
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_RING_REMOVE
    - APR_RING_ELEM_INIT
    - ap_release_brigade
    - is_pending_filter
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t pending_filter_cleanup(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pending_filter_cleanup
      Src: /src/httpd/server/util_filter.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - f
    - r_filt
    - p_filt
    - c_filt
    argTypes:
    - ap_filter_t*
    - ap_filter_t**
    - ap_filter_t**
    - ap_filter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 649
    functionName: remove_any_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - pending_filter_cleanup
    linkageType: ''
    returnType: void
    signature: "void remove_any_filter(ap_filter_t *f, ap_filter_t **r_filt, ap_filter_t
      **p_filt,\n                              ap_filter_t **c_filt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_any_filter
      Src: /src/httpd/server/util_filter.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: ap_remove_input_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 17
    functionsReached:
    - remove_any_filter
    linkageType: ''
    returnType: void
    signature: void ap_remove_input_filter(ap_filter_t *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:663,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:664,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/util_filter.c:665,1
    - Dst: remove_any_filter
      Src: /src/httpd/server/util_filter.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 5
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: ap_remove_output_filter
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 53
    functionsReached:
    - apr_pool_destroy
    - AP_DEBUG_ASSERT
    - apr_brigade_cleanup
    - remove_any_filter
    linkageType: ''
    returnType: void
    signature: void ap_remove_output_filter(ap_filter_t *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_input_filter_handle
      Src: /src/httpd/server/util_filter.c:683,1
    - Dst: ap_remove_input_filter
      Src: /src/httpd/server/util_filter.c:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - next
    - handle
    argTypes:
    - ap_filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 674
    functionDepth: 6
    functionLinenumber: 674
    functionLinenumberEnd: 700
    functionName: ap_remove_input_filter_byhandle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 3
    functionsReached:
    - ap_get_input_filter_handle
    - ap_remove_input_filter
    linkageType: ''
    returnType: void
    signature: "void ap_remove_input_filter_byhandle(ap_filter_t *next,\n                                                         const
      char *handle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_output_filter_handle
      Src: /src/httpd/server/util_filter.c:711,1
    - Dst: ap_remove_output_filter
      Src: /src/httpd/server/util_filter.c:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - next
    - handle
    argTypes:
    - ap_filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 702
    functionDepth: 6
    functionLinenumber: 702
    functionLinenumberEnd: 728
    functionName: ap_remove_output_filter_byhandle
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - ap_get_output_filter_handle
    - ap_remove_output_filter
    linkageType: ''
    returnType: void
    signature: "void ap_remove_output_filter_byhandle(ap_filter_t *next,\n                                                          const
      char *handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_filter_t*::frec::filter_func::in_func
      Src: /src/httpd/server/util_filter.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - next
    - bb
    - mode
    - block
    - readbytes
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - ap_input_mode_t
    - apr_read_type_e
    - apr_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: ap_get_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 63
    functionsReached:
    - ap_filter_t*::frec::filter_func::in_func
    linkageType: ''
    returnType: void
    signature: "void ap_get_brigade(ap_filter_t *next,\n                                        apr_bucket_brigade
      *bb,\n                                        ap_input_mode_t mode,\n                                        apr_read_type_e
      block,\n                                        apr_off_t readbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/server/util_filter.c:760,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_filter.c:762,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/util_filter.c:762,1
    - Dst: ap_filter_t*::frec::filter_func::out_func
      Src: /src/httpd/server/util_filter.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - next
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 786
    functionName: ap_pass_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 123
    functionsReached:
    - APR_BUCKET_IS_EOS
    - ap_filter_t*::frec::filter_func::out_func
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_pass_brigade(ap_filter_t *next,\n                                         apr_bucket_brigade
      *bb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/util_filter.c:802,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_filter.c:806,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:806,1
    - Dst: va_start
      Src: /src/httpd/server/util_filter.c:811,1
    - Dst: apr_pvsprintf
      Src: /src/httpd/server/util_filter.c:812,1
    - Dst: va_end
      Src: /src/httpd/server/util_filter.c:813,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/util_filter.c:814,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - r
    - bb
    - fmt
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: ap_pass_brigade_fchk
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 3
    functionsReached:
    - ap_pass_brigade
    - ap_log_rerror
    - APLOGNO
    - va_end
    - apr_pvsprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_pass_brigade_fchk(request_rec *r,\n                                              apr_bucket_brigade
      *bb,\n                                              const char *fmt,\n                                              ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_brigade_create
      Src: /src/httpd/server/util_filter.c:836,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_filter.c:839,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_filter.c:840,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_filter.c:841,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/server/util_filter.c:843,1
    - Dst: apr_bucket_read
      Src: /src/httpd/server/util_filter.c:852,1
    - Dst: apr_bucket_setaside
      Src: /src/httpd/server/util_filter.c:854,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/util_filter.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - f
    - saveto
    - b
    - p
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade**
    - apr_bucket_brigade**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 869
    functionName: ap_save_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 5
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - apr_brigade_create
    - apr_bucket_setaside
    - APR_BRIGADE_SENTINEL
    - apr_bucket_read
    - APR_BRIGADE_CONCAT
    linkageType: ''
    returnType: void
    signature: "void ap_save_brigade(ap_filter_t *f,\n                                         apr_bucket_brigade
      **saveto,\n                                         apr_bucket_brigade **b,
      apr_pool_t *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_ctx
      Src: /src/httpd/server/util_filter.c:874,1
    - Dst: is_pending_filter
      Src: /src/httpd/server/util_filter.c:879,1
    - Dst: ap_acquire_brigade
      Src: /src/httpd/server/util_filter.c:884,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_filter.c:889,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/server/util_filter.c:897,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/util_filter.c:918,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/util_filter.c:919,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/util_filter.c:920,1
    - Dst: APR_RING_INSERT_BEFORE
      Src: /src/httpd/server/util_filter.c:922,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_filter.c:929,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/util_filter.c:930,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 934
    functionName: ap_filter_prepare_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_palloc
    - ap_acquire_brigade
    - APR_RING_INSERT_TAIL
    - get_conn_ctx
    - APR_RING_INSERT_BEFORE
    - is_pending_filter
    - APR_RING_NEXT
    - APR_RING_INIT
    - APR_RING_SENTINEL
    - apr_pool_pre_cleanup_register
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_filter_prepare_brigade(ap_filter_t *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/util_filter.c:940,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/util_filter.c:941,1
    - Dst: ap_save_brigade
      Src: /src/httpd/server/util_filter.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fp
    - bb
    argTypes:
    - struct ap_filter_private*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 944
    functionName: save_aside_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - ap_save_brigade
    - apr_pool_tag
    - apr_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t save_aside_brigade(struct ap_filter_private *fp,\n                                       apr_bucket_brigade
      *bb)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:952,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:952,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:953,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:955,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:956,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:966,1
    - Dst: ap_filter_prepare_brigade
      Src: /src/httpd/server/util_filter.c:974,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_filter.c:976,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_filter.c:977,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_filter.c:979,1
    - Dst: AP_BUCKET_IS_WC
      Src: /src/httpd/server/util_filter.c:984,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/util_filter.c:985,1
    - Dst: ap_acquire_brigade
      Src: /src/httpd/server/util_filter.c:997,1
    - Dst: apr_brigade_split_ex
      Src: /src/httpd/server/util_filter.c:999,1
    - Dst: save_aside_brigade
      Src: /src/httpd/server/util_filter.c:1000,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/util_filter.c:1001,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:1005,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_filter.c:1005,1
    - Dst: APR_BUCKET_REMOVE
      Src: /src/httpd/server/util_filter.c:1007,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:1008,1
    - Dst: ap_release_brigade
      Src: /src/httpd/server/util_filter.c:1016,1
    - Dst: save_aside_brigade
      Src: /src/httpd/server/util_filter.c:1020,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1022,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:1031,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:1033,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:1041,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:1042,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/util_filter.c:1043,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 946
    functionDepth: 4
    functionLinenumber: 946
    functionLinenumberEnd: 1047
    functionName: ap_filter_setaside_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 3
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_FIRST
    - AP_BUCKET_IS_WC
    - apr_brigade_split_ex
    - ap_release_brigade
    - ap_log_cerror
    - apr_bucket_delete
    - ap_acquire_brigade
    - AP_DEBUG_ASSERT
    - APR_BUCKET_REMOVE
    - apr_pool_clear
    - apr_brigade_cleanup
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_EMPTY
    - ap_filter_prepare_brigade
    - APR_BRIGADE_CONCAT
    - APR_BRIGADE_INSERT_TAIL
    - save_aside_brigade
    linkageType: ''
    returnType: void
    signature: "void ap_filter_setaside_brigade(ap_filter_t *f,\n                                                    apr_bucket_brigade
      *bb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1054,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1054,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1055,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1057,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1058,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1063,1
    - Dst: ap_filter_prepare_brigade
      Src: /src/httpd/server/util_filter.c:1064,1
    - Dst: APR_BRIGADE_CONCAT
      Src: /src/httpd/server/util_filter.c:1065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1067
    functionName: ap_filter_adopt_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 2
    functionsReached:
    - APR_BRIGADE_EMPTY
    - ap_filter_prepare_brigade
    - APR_BRIGADE_CONCAT
    - ap_log_cerror
    linkageType: ''
    returnType: void
    signature: "void ap_filter_adopt_brigade(ap_filter_t *f,\n                                         apr_bucket_brigade
      *bb)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1086,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1086,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1087,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1089,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1090,1
    - Dst: APR_BRIGADE_PREPEND
      Src: /src/httpd/server/util_filter.c:1104,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1106,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/util_filter.c:1137,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_filter.c:1146,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_filter.c:1146,1
    - Dst: APR_BUCKET_NEXT
      Src: /src/httpd/server/util_filter.c:1148,1
    - Dst: APR_BUCKET_IS_FLUSH
      Src: /src/httpd/server/util_filter.c:1154,1
    - Dst: AP_BUCKET_IS_WC
      Src: /src/httpd/server/util_filter.c:1154,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/server/util_filter.c:1158,1
    - Dst: APR_BUCKET_IS_FILE
      Src: /src/httpd/server/util_filter.c:1166,1
    - Dst: APLOGctrace6
      Src: /src/httpd/server/util_filter.c:1177,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1182,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1184,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1207,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - f
    - bb
    - flush_upto
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - apr_bucket**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1216
    functionName: ap_filter_reinstate_brigade
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 6
    functionsReached:
    - APR_BUCKET_NEXT
    - APR_BRIGADE_PREPEND
    - APR_BRIGADE_FIRST
    - AP_BUCKET_IS_WC
    - ap_get_core_module_config
    - ap_log_cerror
    - APR_BUCKET_IS_FILE
    - APLOGctrace6
    - APR_BUCKET_IS_FLUSH
    - APR_BRIGADE_SENTINEL
    - APR_BRIGADE_EMPTY
    - AP_BUCKET_IS_EOR
    linkageType: ''
    returnType: void
    signature: "void ap_filter_reinstate_brigade(ap_filter_t *f,\n                                                     apr_bucket_brigade
      *bb,\n                                                     apr_bucket **flush_upto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1268
    functionName: ap_filter_should_yield
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 2
    functionsReached:
    - APR_BRIGADE_EMPTY
    linkageType: ''
    returnType: void
    signature: void ap_filter_should_yield(ap_filter_t *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_acquire_brigade
      Src: /src/httpd/server/util_filter.c:1285,1
    - Dst: APR_RING_LAST
      Src: /src/httpd/server/util_filter.c:1286,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/util_filter.c:1287,1
    - Dst: APR_RING_PREV
      Src: /src/httpd/server/util_filter.c:1294,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:1296,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/util_filter.c:1297,1
    - Dst: ap_bucket_wc_create
      Src: /src/httpd/server/util_filter.c:1302,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:1303,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/util_filter.c:1304,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:1305,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/util_filter.c:1308,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_filter.c:1308,1
    - Dst: ap_filter_should_yield
      Src: /src/httpd/server/util_filter.c:1314,1
    - Dst: ap_release_brigade
      Src: /src/httpd/server/util_filter.c:1320,1
    - Dst: recycle_dead_filters
      Src: /src/httpd/server/util_filter.c:1326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1270
    functionDepth: 3
    functionLinenumber: 1270
    functionLinenumberEnd: 1329
    functionName: ap_filter_output_pending
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 1
    functionsReached:
    - ap_pass_brigade
    - ap_release_brigade
    - ap_log_cerror
    - recycle_dead_filters
    - ap_acquire_brigade
    - AP_DEBUG_ASSERT
    - APR_RING_LAST
    - APLOGNO
    - APR_RING_PREV
    - ap_bucket_wc_create
    - apr_brigade_cleanup
    - APR_BRIGADE_EMPTY
    - APR_RING_SENTINEL
    - APR_BRIGADE_INSERT_TAIL
    - ap_filter_should_yield
    linkageType: ''
    returnType: void
    signature: void ap_filter_output_pending(conn_rec *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_LAST
      Src: /src/httpd/server/util_filter.c:1341,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/util_filter.c:1342,1
    - Dst: APR_RING_PREV
      Src: /src/httpd/server/util_filter.c:1344,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/util_filter.c:1350,1
    - Dst: APR_BRIGADE_FIRST
      Src: /src/httpd/server/util_filter.c:1351,1
    - Dst: APR_BRIGADE_SENTINEL
      Src: /src/httpd/server/util_filter.c:1352,1
    - Dst: recycle_dead_filters
      Src: /src/httpd/server/util_filter.c:1363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1366
    functionName: ap_filter_input_pending
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - APR_BRIGADE_FIRST
    - recycle_dead_filters
    - AP_DEBUG_ASSERT
    - APR_RING_LAST
    - APR_RING_PREV
    - APR_BRIGADE_SENTINEL
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: void
    signature: void ap_filter_input_pending(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/util_filter.c:1374,1
    - Dst: apr_brigade_cleanup
      Src: /src/httpd/server/util_filter.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bb
    - ctx
    argTypes:
    - apr_bucket_brigade*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1384
    functionName: ap_filter_flush
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_brigade_cleanup
    linkageType: ''
    returnType: void
    signature: "void ap_filter_flush(apr_bucket_brigade *bb,\n                                                void
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_flush_create
      Src: /src/httpd/server/util_filter.c:1390,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/httpd/server/util_filter.c:1391,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/util_filter.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1393
    functionName: ap_fflush
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - APR_BRIGADE_INSERT_TAIL
    - ap_pass_brigade
    - apr_bucket_flush_create
    linkageType: ''
    returnType: void
    signature: void ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/util_filter.c:1401,1
    - Dst: apr_brigade_vputstrs
      Src: /src/httpd/server/util_filter.c:1402,1
    - Dst: va_end
      Src: /src/httpd/server/util_filter.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1405
    functionName: ap_fputstrs
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 3
    functionsReached:
    - va_end
    - apr_brigade_vputstrs
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_fputstrs(ap_filter_t *f,\n                                            apr_bucket_brigade
      *bb, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/util_filter.c:1415,1
    - Dst: apr_brigade_vprintf
      Src: /src/httpd/server/util_filter.c:1416,1
    - Dst: va_end
      Src: /src/httpd/server/util_filter.c:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - f
    - bb
    - fmt
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1419
    functionName: ap_fprintf
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 4
    functionsReached:
    - va_end
    - apr_brigade_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ap_fprintf(ap_filter_t *f,\n                                           apr_bucket_brigade
      *bb,\n                                           const char *fmt,\n                                           ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - flags
    argTypes:
    - ap_filter_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1424
    functionName: ap_filter_protocol
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_filter_protocol(ap_filter_t *f, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_flush_make
      Src: /src/httpd/server/util_filter.c:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1436
    functionName: ap_bucket_wc_make
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 0
    functionsReached:
    - apr_bucket_flush_make
    linkageType: ''
    returnType: void
    signature: void ap_bucket_wc_make(apr_bucket *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/util_filter.c:1440,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/util_filter.c:1442,1
    - Dst: ap_bucket_wc_make
      Src: /src/httpd/server/util_filter.c:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1446
    functionName: ap_bucket_wc_create
    functionSourceFile: /src/httpd/server/util_filter.c
    functionUses: 2
    functionsReached:
    - apr_bucket_alloc
    - ap_bucket_wc_make
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: void ap_bucket_wc_create(apr_bucket_alloc_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: PCREn
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCREn(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: PCREn
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCREn(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APR_STRINGIFY
      Src: /src/httpd/server/util_pcre.c:110,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:110,1
    - Dst: pcre2_config
      Src: /src/httpd/server/util_pcre.c:113,1
    - Dst: pcre_version
      Src: /src/httpd/server/util_pcre.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: ap_pcre_version_string
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 2
    functionsReached:
    - pcre_version
    - APR_STRINGIFY
    - pcre2_config
    - PCREn
    linkageType: ''
    returnType: void
    signature: void ap_pcre_version_string(int which)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/util_pcre.c:131,1
    - Dst: strlen
      Src: /src/httpd/server/util_pcre.c:135,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/util_pcre.c:139,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/util_pcre.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - errcode
    - preg
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - ap_regex_t*
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: ap_regerror
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 1
    functionsReached:
    - apr_cpystrn
    - strlen
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: "void ap_regerror(int errcode, const ap_regex_t *preg,\n                                   char
      *errbuf, apr_size_t errbuf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/httpd/server/util_pcre.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - preg
    argTypes:
    - ap_regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: ap_regfree
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 2
    functionsReached:
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void ap_regfree(ap_regex_t *preg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: ap_regcomp_get_default_cflags
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_regcomp_get_default_cflags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cflags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: ap_regcomp_set_default_cflags
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_regcomp_set_default_cflags(int cflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_pcre.c:187,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_pcre.c:190,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_pcre.c:193,1
    - Dst: ap_cstr_casecmp
      Src: /src/httpd/server/util_pcre.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: ap_regcomp_default_cflag_by_name
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 1
    functionsReached:
    - ap_cstr_casecmp
    linkageType: ''
    returnType: void
    signature: void ap_regcomp_default_cflag_by_name(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:222,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:228,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:230,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:232,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:234,1
    - Dst: pcre2_compile
      Src: /src/httpd/server/util_pcre.c:237,1
    - Dst: pcre_compile2
      Src: /src/httpd/server/util_pcre.c:241,1
    - Dst: pcre2_pattern_info
      Src: /src/httpd/server/util_pcre.c:254,1
    - Dst: pcre_fullinfo
      Src: /src/httpd/server/util_pcre.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - preg
    - pattern
    - cflags
    argTypes:
    - ap_regex_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 262
    functionName: ap_regcomp
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 5
    functionsReached:
    - pcre_fullinfo
    - PCREn
    - pcre2_compile
    - pcre_compile2
    - pcre2_pattern_info
    linkageType: ''
    returnType: void
    signature: void ap_regcomp(ap_regex_t * preg, const char *pattern, int cflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: APR_ALIGN_DEFAULT
      Src: /src/httpd/server/util_pcre.c:324,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/util_pcre.c:334,1
    - Dst: apr_thread_pool_get
      Src: /src/httpd/server/util_pcre.c:334,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_pcre.c:339,1
    - Dst: malloc
      Src: /src/httpd/server/util_pcre.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - size
    - ctx
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: private_malloc
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - apr_pool_create
    - apr_thread_pool_get
    - APR_ALIGN_DEFAULT
    - malloc
    linkageType: ''
    returnType: void
    signature: void * private_malloc(size_t size, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/util_pcre.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - block
    - ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: private_free
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void private_free(void *block, void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_thread_current
      Src: /src/httpd/server/util_pcre.c:372,1
    - Dst: pcre2_general_context_create
      Src: /src/httpd/server/util_pcre.c:377,1
    - Dst: pcre2_match_data_create
      Src: /src/httpd/server/util_pcre.c:383,1
    - Dst: pcre2_general_context_free
      Src: /src/httpd/server/util_pcre.c:385,1
    - Dst: private_malloc
      Src: /src/httpd/server/util_pcre.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - state
    - ncaps
    argTypes:
    - struct match_data_state*
    - apr_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 402
    functionName: setup_state
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached:
    - pcre2_general_context_create
    - pcre2_match_data_create
    - pcre2_general_context_free
    - ap_thread_current
    - private_malloc
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE setup_state(struct match_data_state *state, apr_uint32_t
      ncaps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_free
      Src: /src/httpd/server/util_pcre.c:408,1
    - Dst: pcre2_general_context_free
      Src: /src/httpd/server/util_pcre.c:409,1
    - Dst: private_free
      Src: /src/httpd/server/util_pcre.c:412,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/util_pcre.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct match_data_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 424
    functionName: cleanup_state
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 0
    functionsReached:
    - apr_pool_clear
    - private_free
    - pcre2_general_context_free
    - pcre2_match_data_free
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE cleanup_state(struct match_data_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec_ex
      Src: /src/httpd/server/util_pcre.c:430,1
    - Dst: strlen
      Src: /src/httpd/server/util_pcre.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - preg
    - string
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - ap_regex_t*
    - char*
    - apr_size_t
    - ap_regmatch_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: ap_regexec
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 24
    functionsReached:
    - ap_regexec_ex
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ap_regexec(const ap_regex_t *preg, const char *string,\n                           apr_size_t
      nmatch, ap_regmatch_t *pmatch,\n                           int eflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec_ex
      Src: /src/httpd/server/util_pcre.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - preg
    - buff
    - len
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - ap_regex_t*
    - char*
    - apr_size_t
    - apr_size_t
    - ap_regmatch_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: ap_regexec_len
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 2
    functionsReached:
    - ap_regexec_ex
    linkageType: ''
    returnType: void
    signature: "void ap_regexec_len(const ap_regex_t *preg,\n                               const
      char *buff, apr_size_t len,\n                               apr_size_t nmatch,
      ap_regmatch_t *pmatch,\n                               int eflags)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pcre_fullinfo
      Src: /src/httpd/server/util_pcre.c:473,1
    - Dst: setup_state
      Src: /src/httpd/server/util_pcre.c:484,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:489,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:491,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:493,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:495,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:497,1
    - Dst: pcre2_match
      Src: /src/httpd/server/util_pcre.c:500,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/httpd/server/util_pcre.c:503,1
    - Dst: pcre_exec
      Src: /src/httpd/server/util_pcre.c:506,1
    - Dst: cleanup_state
      Src: /src/httpd/server/util_pcre.c:521,1
    - Dst: cleanup_state
      Src: /src/httpd/server/util_pcre.c:525,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:531,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:533,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:535,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:537,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:539,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:542,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:550,1
    - Dst: PCREn
      Src: /src/httpd/server/util_pcre.c:554,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 7
    argNames:
    - preg
    - buff
    - len
    - pos
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - ap_regex_t*
    - char*
    - apr_size_t
    - apr_size_t
    - apr_size_t
    - ap_regmatch_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 561
    functionName: ap_regexec_ex
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 3
    functionsReached:
    - pcre_fullinfo
    - setup_state
    - PCREn
    - pcre2_get_ovector_pointer
    - pcre2_match
    - cleanup_state
    - pcre_exec
    linkageType: ''
    returnType: void
    signature: "void ap_regexec_ex(const ap_regex_t *preg,\n                              const
      char *buff, apr_size_t len, apr_size_t pos,\n                              apr_size_t
      nmatch, ap_regmatch_t *pmatch,\n                              int eflags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/httpd/server/util_pcre.c:573,1
    - Dst: pcre2_pattern_info
      Src: /src/httpd/server/util_pcre.c:575,1
    - Dst: pcre2_pattern_info
      Src: /src/httpd/server/util_pcre.c:577,1
    - Dst: pcre_fullinfo
      Src: /src/httpd/server/util_pcre.c:583,1
    - Dst: pcre_fullinfo
      Src: /src/httpd/server/util_pcre.c:585,1
    - Dst: pcre_fullinfo
      Src: /src/httpd/server/util_pcre.c:587,1
    - Dst: apr_array_push
      Src: /src/httpd/server/util_pcre.c:604,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/util_pcre.c:608,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/util_pcre.c:610,1
    - Dst: ap_str_toupper
      Src: /src/httpd/server/util_pcre.c:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - preg
    - names
    - prefix
    - upper
    argTypes:
    - ap_regex_t*
    - apr_array_header_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 621
    functionName: ap_regname
    functionSourceFile: /src/httpd/server/util_pcre.c
    functionUses: 4
    functionsReached:
    - pcre_fullinfo
    - ap_str_toupper
    - apr_pstrcat
    - apr_array_push
    - pcre2_pattern_info
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: "void ap_regname(const ap_regex_t *preg,\n                           apr_array_header_t
      *names, const char *prefix,\n                           int upper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: dummy_read
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t dummy_read(apr_bucket *b, const char **str,\n                               apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/server/headers_bucket.c:36,1
    - Dst: apr_bucket_free
      Src: /src/httpd/server/headers_bucket.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: request_bucket_destroy
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void request_bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_bucket_request_maken
      Src: /src/httpd/server/headers_bucket.c:49,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/headers_bucket.c:49,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/headers_bucket.c:50,1
    - Dst: apr_table_clone
      Src: /src/httpd/server/headers_bucket.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - b
    - method
    - uri
    - protocol
    - headers
    - p
    argTypes:
    - apr_bucket*
    - char*
    - char*
    - char*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: ap_bucket_request_make
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_pstrdup
    - apr_table_clone
    - ap_bucket_request_maken
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_request_make(\n            apr_bucket *b,\n            const
      char *method,\n            const char *uri,\n            const char *protocol,\n
      \           apr_table_t *headers,\n            apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:65,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/headers_bucket.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - b
    - method
    - uri
    - protocol
    - headers
    - p
    argTypes:
    - apr_bucket*
    - char*
    - char*
    - char*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: ap_bucket_request_maken
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 1
    functionsReached:
    - apr_bucket_alloc
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_request_maken(\n            apr_bucket *b,\n            const
      char *method,\n            const char *uri,\n            const char *protocol,\n
      \           apr_table_t *headers,\n            apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:85,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:87,1
    - Dst: ap_bucket_request_make
      Src: /src/httpd/server/headers_bucket.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - method
    - uri
    - protocol
    - headers
    - p
    - list
    argTypes:
    - char*
    - char*
    - char*
    - apr_table_t*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: ap_bucket_request_create
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 1
    functionsReached:
    - apr_bucket_alloc
    - ap_bucket_request_make
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_request_create(\n            const char *method,\n
      \           const char *uri,\n            const char *protocol,\n            apr_table_t
      *headers,\n            apr_pool_t *p,\n            apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:101,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:103,1
    - Dst: ap_bucket_request_maken
      Src: /src/httpd/server/headers_bucket.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - method
    - uri
    - protocol
    - headers
    - p
    - list
    argTypes:
    - char*
    - char*
    - char*
    - apr_table_t*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: ap_bucket_request_createn
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 1
    functionsReached:
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    - ap_bucket_request_maken
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_request_createn(\n            const char *method,\n
      \           const char *uri,\n            const char *protocol,\n            apr_table_t
      *headers,\n            apr_pool_t *p,\n            apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/headers_bucket.c:125,1
    - Dst: AP_BUCKET_IS_REQUEST
      Src: /src/httpd/server/headers_bucket.c:125,1
    - Dst: ap_bucket_request_create
      Src: /src/httpd/server/headers_bucket.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - source
    - p
    - list
    argTypes:
    - apr_bucket*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: ap_bucket_request_clone
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 2
    functionsReached:
    - AP_DEBUG_ASSERT
    - AP_BUCKET_IS_REQUEST
    - ap_bucket_request_create
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_request_clone(\n        apr_bucket *source,\n        apr_pool_t
      *p,\n        apr_bucket_alloc_t *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/server/headers_bucket.c:134,1
    - Dst: apr_bucket_free
      Src: /src/httpd/server/headers_bucket.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: response_bucket_destroy
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void response_bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:147,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/headers_bucket.c:150,1
    - Dst: apr_table_copy
      Src: /src/httpd/server/headers_bucket.c:151,1
    - Dst: apr_table_make
      Src: /src/httpd/server/headers_bucket.c:151,1
    - Dst: apr_table_copy
      Src: /src/httpd/server/headers_bucket.c:152,1
    - Dst: apr_table_make
      Src: /src/httpd/server/headers_bucket.c:152,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/headers_bucket.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - b
    - status
    - reason
    - headers
    - notes
    - p
    argTypes:
    - apr_bucket*
    - int
    - char*
    - apr_table_t*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: ap_bucket_response_make
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_table_make
    - apr_table_copy
    - apr_pstrdup
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_response_make(apr_bucket *b, int status,\n                                                 const
      char *reason,\n                                                 apr_table_t
      *headers,\n                                                 apr_table_t *notes,\n
      \                                                apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:165,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:167,1
    - Dst: ap_bucket_response_make
      Src: /src/httpd/server/headers_bucket.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - status
    - reason
    - headers
    - notes
    - p
    - list
    argTypes:
    - int
    - char*
    - apr_table_t*
    - apr_table_t*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ap_bucket_response_create
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 4
    functionsReached:
    - apr_bucket_alloc
    - ap_bucket_response_make
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_response_create(int status, const char *reason,\n                                                   apr_table_t
      *headers,\n                                                   apr_table_t *notes,\n
      \                                                  apr_pool_t *p,\n                                                   apr_bucket_alloc_t
      *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:187,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/headers_bucket.c:190,1
    - Dst: AP_BUCKET_IS_RESPONSE
      Src: /src/httpd/server/headers_bucket.c:190,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:191,1
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:194,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/headers_bucket.c:196,1
    - Dst: apr_table_clone
      Src: /src/httpd/server/headers_bucket.c:197,1
    - Dst: apr_table_clone
      Src: /src/httpd/server/headers_bucket.c:198,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/headers_bucket.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - source
    - p
    - list
    argTypes:
    - apr_bucket*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: ap_bucket_response_clone
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 2
    functionsReached:
    - apr_bucket_alloc
    - AP_DEBUG_ASSERT
    - AP_BUCKET_IS_RESPONSE
    - apr_table_clone
    - APR_BUCKET_INIT
    - apr_pstrdup
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_response_clone(apr_bucket *source,\n                                                  apr_pool_t
      *p,\n                                                  apr_bucket_alloc_t *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/server/headers_bucket.c:209,1
    - Dst: apr_bucket_free
      Src: /src/httpd/server/headers_bucket.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: headers_bucket_destroy
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void headers_bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:220,1
    - Dst: apr_table_copy
      Src: /src/httpd/server/headers_bucket.c:222,1
    - Dst: apr_table_make
      Src: /src/httpd/server/headers_bucket.c:222,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/headers_bucket.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - b
    - headers
    - p
    argTypes:
    - apr_bucket*
    - apr_table_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: ap_bucket_headers_make
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_shared_make
    - apr_bucket_alloc
    - apr_table_copy
    - apr_table_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_headers_make(apr_bucket *b,\n                                                apr_table_t
      *headers,\n                                                apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:233,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:235,1
    - Dst: ap_bucket_headers_make
      Src: /src/httpd/server/headers_bucket.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - headers
    - p
    - list
    argTypes:
    - apr_table_t*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: ap_bucket_headers_create
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 3
    functionsReached:
    - ap_bucket_headers_make
    - apr_bucket_alloc
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_headers_create(apr_table_t *headers,\n                                                  apr_pool_t
      *p,\n                                                  apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:255,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/headers_bucket.c:258,1
    - Dst: AP_BUCKET_IS_HEADERS
      Src: /src/httpd/server/headers_bucket.c:258,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/headers_bucket.c:259,1
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/headers_bucket.c:262,1
    - Dst: apr_table_clone
      Src: /src/httpd/server/headers_bucket.c:263,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/headers_bucket.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - source
    - p
    - list
    argTypes:
    - apr_bucket*
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: ap_bucket_headers_clone
    functionSourceFile: /src/httpd/server/headers_bucket.c
    functionUses: 2
    functionsReached:
    - apr_bucket_alloc
    - AP_DEBUG_ASSERT
    - apr_table_clone
    - APR_BUCKET_INIT
    - AP_BUCKET_IS_HEADERS
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_headers_clone(apr_bucket *source,\n                                                 apr_pool_t
      *p,\n                                                 apr_bucket_alloc_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_regfree
      Src: /src/httpd/server/util_regex.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - preg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: rxplus_cleanup
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 0
    functionsReached:
    - ap_regfree
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t rxplus_cleanup(void *preg)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/util_regex.c:46,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_regex.c:50,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_regex.c:53,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/util_regex.c:58,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_regex.c:67,1
    - Dst: ap_regcomp
      Src: /src/httpd/server/util_regex.c:70,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_regex.c:71,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_regex.c:81,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/util_regex.c:89,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_regex.c:93,1
    - Dst: ap_regcomp_get_default_cflags
      Src: /src/httpd/server/util_regex.c:97,1
    - Dst: ap_regcomp
      Src: /src/httpd/server/util_regex.c:110,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/util_regex.c:111,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_regex.c:136,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 2
    argNames:
    - pool
    - pattern
    argTypes:
    - apr_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 139
    functionName: ap_rxplus_compile
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 2
    functionsReached:
    - apr_pcalloc
    - apr_palloc
    - ap_regcomp
    - apr_pstrmemdup
    - ap_regcomp_get_default_cflags
    - apr_isalnum
    - ap_strchr_c
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_rxplus_compile(apr_pool_t *pool,\n                                           const
      char *pattern)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_regexec
      Src: /src/httpd/server/util_regex.c:149,1
    - Dst: ap_pregsub
      Src: /src/httpd/server/util_regex.c:155,1
    - Dst: strlen
      Src: /src/httpd/server/util_regex.c:162,1
    - Dst: ap_rxplus_exec
      Src: /src/httpd/server/util_regex.c:167,1
    - Dst: strlen
      Src: /src/httpd/server/util_regex.c:170,1
    - Dst: strlen
      Src: /src/httpd/server/util_regex.c:170,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_regex.c:174,1
    - Dst: strlen
      Src: /src/httpd/server/util_regex.c:174,1
    - Dst: memcpy
      Src: /src/httpd/server/util_regex.c:175,1
    - Dst: memcpy
      Src: /src/httpd/server/util_regex.c:176,1
    - Dst: strcpy
      Src: /src/httpd/server/util_regex.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - pool
    - rx
    - pattern
    - newpattern
    argTypes:
    - apr_pool_t*
    - ap_rxplus_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 181
    functionName: ap_rxplus_exec
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 3
    functionsReached:
    - ap_rxplus_exec
    - apr_palloc
    - ap_pregsub
    - ap_regexec
    - strcpy
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_rxplus_exec(apr_pool_t *pool, ap_rxplus_t *rx,\n                               const
      char *pattern, char **newpattern)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rx
    argTypes:
    - ap_rxplus_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: ap_rxplus_nmatch
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_rxplus_nmatch(ap_rxplus_t *rx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_rxplus_nmatch
      Src: /src/httpd/server/util_regex.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - rx
    - n
    - len
    - match
    argTypes:
    - ap_rxplus_t*
    - int
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: ap_rxplus_match
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 0
    functionsReached:
    - ap_rxplus_nmatch
    linkageType: ''
    returnType: void
    signature: "void ap_rxplus_match(ap_rxplus_t *rx, int n, int *len,\n                                 const
      char **match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_rxplus_match
      Src: /src/httpd/server/util_regex.c:209,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/util_regex.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pool
    - rx
    - n
    argTypes:
    - apr_pool_t*
    - ap_rxplus_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: ap_rxplus_pmatch
    functionSourceFile: /src/httpd/server/util_regex.c
    functionUses: 1
    functionsReached:
    - ap_rxplus_match
    - apr_pstrndup
    linkageType: ''
    returnType: void
    signature: void ap_rxplus_pmatch(apr_pool_t *pool, ap_rxplus_t *rx, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/server/util_debug.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ap_strchr
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 39
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void ap_strchr(char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/httpd/server/util_debug.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ap_strchr_c
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 97
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void ap_strchr_c(const char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/httpd/server/util_debug.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ap_strrchr
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 3
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: void
    signature: void ap_strrchr(char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/httpd/server/util_debug.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ap_strrchr_c
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 28
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: void
    signature: void ap_strrchr_c(const char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/httpd/server/util_debug.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ap_strstr
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 4
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: void ap_strstr(char *s, const char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/httpd/server/util_debug.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ap_strstr_c
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 22
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: void ap_strstr_c(const char *s, const char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cv
    - m
    argTypes:
    - ap_conf_vector_t*
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ap_get_module_config
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 562
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_get_module_config(const ap_conf_vector_t *cv,\n                                        const
      module *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: ap_get_module_flags
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_module_flags(const module *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cv
    argTypes:
    - ap_conf_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ap_get_core_module_config
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_core_module_config(const ap_conf_vector_t *cv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - module_index
    argTypes:
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: ap_get_server_module_loglevel
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_server_module_loglevel(const server_rec *s, int module_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - module_index
    argTypes:
    - conn_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: ap_get_conn_module_loglevel
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_conn_module_loglevel(const conn_rec *c, int module_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - c
    - s
    - module_index
    argTypes:
    - conn_rec*
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: ap_get_conn_server_module_loglevel
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_get_conn_server_module_loglevel(const conn_rec *c,\n                                                   const
      server_rec *s,\n                                                   int module_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - r
    - module_index
    argTypes:
    - request_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: ap_get_request_module_loglevel
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_get_request_module_loglevel(const request_rec *r, int module_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cv
    - m
    - val
    argTypes:
    - ap_conf_vector_t*
    - module*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: ap_set_module_config
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ap_set_module_config(ap_conf_vector_t *cv, const module *m,\n
      \                                     void *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cv
    - val
    argTypes:
    - ap_conf_vector_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: ap_set_core_module_config
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_set_core_module_config(ap_conf_vector_t *cv, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/util_debug.c:244,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_debug.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - apr_pool_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: ap_palloc_debug
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - memset
    linkageType: ''
    returnType: void
    signature: void ap_palloc_debug(apr_pool_t *p, apr_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/httpd/server/util_debug.c:252,1
    - Dst: apr_palloc
      Src: /src/httpd/server/util_debug.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - apr_pool_t*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: ap_pcalloc_debug
    functionSourceFile: /src/httpd/server/util_debug.c
    functionUses: 0
    functionsReached:
    - apr_palloc
    - memset
    linkageType: ''
    returnType: void
    signature: void ap_pcalloc_debug(apr_pool_t *p, apr_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_conn_is_ssl
      Src: /src/httpd/server/ssl.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ssl_is_https
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_ssl_conn_is_ssl
    linkageType: ''
    returnType: int
    signature: int ssl_is_https(conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_conn_is_ssl
      Src: /src/httpd/server/ssl.c:86,1
    - Dst: module_ssl_is_https
      Src: /src/httpd/server/ssl.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: ap_ssl_conn_is_ssl
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 16
    functionsReached:
    - module_ssl_is_https
    - ap_run_ssl_conn_is_ssl
    linkageType: ''
    returnType: void
    signature: void ap_ssl_conn_is_ssl(conn_rec *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/server/ssl.c:98,1
    - Dst: module_ssl_engine_set
      Src: /src/httpd/server/ssl.c:101,1
    - Dst: module_ssl_proxy_enable
      Src: /src/httpd/server/ssl.c:104,1
    - Dst: module_ssl_engine_disable
      Src: /src/httpd/server/ssl.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - c
    - per_dir_config
    - proxy
    - enable
    argTypes:
    - conn_rec*
    - ap_conf_vector_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: ssl_engine_set
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - module_ssl_proxy_enable
    - module_ssl_engine_set
    - ap_ssl_bind_outgoing
    - module_ssl_engine_disable
    linkageType: ''
    returnType: int
    signature: "int ssl_engine_set(conn_rec *c,\n                          ap_conf_vector_t
      *per_dir_config,\n                          int proxy, int enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/server/ssl.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ssl_proxy_enable
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_ssl_bind_outgoing
    linkageType: ''
    returnType: int
    signature: int ssl_proxy_enable(conn_rec *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_bind_outgoing
      Src: /src/httpd/server/ssl.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ssl_engine_disable
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_ssl_bind_outgoing
    linkageType: ''
    returnType: int
    signature: int ssl_engine_disable(conn_rec *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_bind_outgoing
      Src: /src/httpd/server/ssl.c:128,1
    - Dst: module_ssl_engine_set
      Src: /src/httpd/server/ssl.c:133,1
    - Dst: module_ssl_proxy_enable
      Src: /src/httpd/server/ssl.c:136,1
    - Dst: module_ssl_engine_set
      Src: /src/httpd/server/ssl.c:143,1
    - Dst: module_ssl_engine_disable
      Src: /src/httpd/server/ssl.c:146,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/ssl.c:150,1
    - Dst: APLOGNO
      Src: /src/httpd/server/ssl.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - c
    - dir_conf
    - enable_ssl
    argTypes:
    - conn_rec*
    - struct ap_conf_vector_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: ap_ssl_bind_outgoing
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 6
    functionsReached:
    - ap_log_cerror
    - module_ssl_engine_disable
    - module_ssl_proxy_enable
    - APLOGNO
    - ap_run_ssl_bind_outgoing
    - module_ssl_engine_set
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_bind_outgoing(conn_rec *c, struct ap_conf_vector_t *dir_conf,\n
      \                                    int enable_ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_get_ssl_bind_outgoing
      Src: /src/httpd/server/ssl.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: ap_ssl_has_outgoing_handlers
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 4
    functionsReached:
    - ap_hook_get_ssl_bind_outgoing
    linkageType: ''
    returnType: void
    signature: void ap_ssl_has_outgoing_handlers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ssl_var_lookup
      Src: /src/httpd/server/ssl.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - name
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: ssl_var_lookup
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 17
    functionsReached:
    - ap_ssl_var_lookup
    linkageType: ''
    returnType: char
    signature: "char *ssl_var_lookup(apr_pool_t *p, server_rec *s,\n                                  conn_rec
      *c, request_rec *r,\n                                  const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_var_lookup
      Src: /src/httpd/server/ssl.c:185,1
    - Dst: module_ssl_var_lookup
      Src: /src/httpd/server/ssl.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - p
    - s
    - c
    - r
    - name
    argTypes:
    - apr_pool_t*
    - server_rec*
    - conn_rec*
    - request_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: ap_ssl_var_lookup
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 9
    functionsReached:
    - module_ssl_var_lookup
    - ap_run_ssl_var_lookup
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_var_lookup(apr_pool_t *p, server_rec *s,\n                                           conn_rec
      *c, request_rec *r,\n                                           const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/ssl.c:197,1
    - Dst: APR_OPTIONAL_FN_TYPE
      Src: /src/httpd/server/ssl.c:198,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:200,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:203,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:205,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:208,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:210,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:211,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:212,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:213,1
    - Dst: APR_RETRIEVE_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:214,1
    - Dst: APR_REGISTER_OPTIONAL_FN
      Src: /src/httpd/server/ssl.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: ap_setup_ssl_optional_fns
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - APR_OPTIONAL_FN_TYPE
    - APR_RETRIEVE_OPTIONAL_FN
    - APR_REGISTER_OPTIONAL_FN
    linkageType: ''
    returnType: void
    signature: void ap_setup_ssl_optional_fns(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_add_cert_files
      Src: /src/httpd/server/ssl.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - s
    - p
    - cert_files
    - key_files
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ap_ssl_add_cert_files
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_run_ssl_add_cert_files
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_add_cert_files(server_rec *s, apr_pool_t *p,\n                                               apr_array_header_t
      *cert_files,\n                                               apr_array_header_t
      *key_files)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_add_fallback_cert_files
      Src: /src/httpd/server/ssl.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - s
    - p
    - cert_files
    - key_files
    argTypes:
    - server_rec*
    - apr_pool_t*
    - apr_array_header_t*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: ap_ssl_add_fallback_cert_files
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_run_ssl_add_fallback_cert_files
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_add_fallback_cert_files(server_rec *s, apr_pool_t *p,\n
      \                                                       apr_array_header_t *cert_files,\n
      \                                                       apr_array_header_t *key_files)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_answer_challenge
      Src: /src/httpd/server/ssl.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - server_name
    - pcert_pem
    - pkey_pem
    argTypes:
    - conn_rec*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ap_ssl_answer_challenge
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_run_ssl_answer_challenge
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_answer_challenge(conn_rec *c, const char *server_name,\n
      \                                       const char **pcert_pem, const char **pkey_pem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_ocsp_prime_hook
      Src: /src/httpd/server/ssl.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - p
    - id
    - id_len
    - pem
    argTypes:
    - server_rec*
    - apr_pool_t*
    - char*
    - apr_size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: ap_ssl_ocsp_prime
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_run_ssl_ocsp_prime_hook
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_ocsp_prime(server_rec *s, apr_pool_t *p,\n                                           const
      char *id, apr_size_t id_len,\n                                           const
      char *pem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_ssl_ocsp_get_resp_hook
      Src: /src/httpd/server/ssl.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - c
    - id
    - id_len
    - cb
    - userdata
    argTypes:
    - server_rec*
    - conn_rec*
    - char*
    - apr_size_t
    - ap_ssl_ocsp_copy_resp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: ap_ssl_ocsp_get_resp
    functionSourceFile: /src/httpd/server/ssl.c
    functionUses: 1
    functionsReached:
    - ap_run_ssl_ocsp_get_resp_hook
    linkageType: ''
    returnType: void
    signature: "void ap_ssl_ocsp_get_resp(server_rec *s, conn_rec *c,\n                                              const
      char *id, apr_size_t id_len,\n                                              ap_ssl_ocsp_copy_resp
      *cb, void *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_open
      Src: /src/httpd/server/util_ebcdic.c:35,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_ebcdic.c:37,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_ebcdic.c:37,1
    - Dst: apr_xlate_open
      Src: /src/httpd/server/util_ebcdic.c:42,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_ebcdic.c:44,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_ebcdic.c:44,1
    - Dst: apr_MD5InitEBCDIC
      Src: /src/httpd/server/util_ebcdic.c:49,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_ebcdic.c:51,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_ebcdic.c:51,1
    - Dst: apr_base64init_ebcdic
      Src: /src/httpd/server/util_ebcdic.c:56,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_ebcdic.c:58,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_ebcdic.c:58,1
    - Dst: apr_SHA1InitEBCDIC
      Src: /src/httpd/server/util_ebcdic.c:63,1
    - Dst: ap_log_error
      Src: /src/httpd/server/util_ebcdic.c:65,1
    - Dst: APLOGNO
      Src: /src/httpd/server/util_ebcdic.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 71
    functionName: ap_init_ebcdic
    functionSourceFile: /src/httpd/server/util_ebcdic.c
    functionUses: 1
    functionsReached:
    - apr_MD5InitEBCDIC
    - apr_base64init_ebcdic
    - APLOGNO
    - ap_log_error
    - apr_xlate_open
    - apr_SHA1InitEBCDIC
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ap_init_ebcdic(apr_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/server/util_ebcdic.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: ap_xlate_proto_to_ascii
    functionSourceFile: /src/httpd/server/util_ebcdic.c
    functionUses: 22
    functionsReached:
    - apr_xlate_conv_buffer
    linkageType: ''
    returnType: void
    signature: void ap_xlate_proto_to_ascii(char *buffer, apr_size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_xlate_conv_buffer
      Src: /src/httpd/server/util_ebcdic.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - char*
    - apr_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: ap_xlate_proto_from_ascii
    functionSourceFile: /src/httpd/server/util_ebcdic.c
    functionUses: 10
    functionsReached:
    - apr_xlate_conv_buffer
    linkageType: ''
    returnType: void
    signature: void ap_xlate_proto_from_ascii(char *buffer, apr_size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/httpd/server/util_ebcdic.c:99,1
    - Dst: va_arg
      Src: /src/httpd/server/util_ebcdic.c:101,1
    - Dst: strlen
      Src: /src/httpd/server/util_ebcdic.c:104,1
    - Dst: apr_pstrmemdup
      Src: /src/httpd/server/util_ebcdic.c:105,1
    - Dst: ap_xlate_proto_to_ascii
      Src: /src/httpd/server/util_ebcdic.c:106,1
    - Dst: ap_rputs
      Src: /src/httpd/server/util_ebcdic.c:107,1
    - Dst: va_end
      Src: /src/httpd/server/util_ebcdic.c:108,1
    - Dst: va_end
      Src: /src/httpd/server/util_ebcdic.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: ap_rvputs_proto_in_ascii
    functionSourceFile: /src/httpd/server/util_ebcdic.c
    functionUses: 1
    functionsReached:
    - ap_xlate_proto_to_ascii
    - va_arg
    - apr_pstrmemdup
    - ap_rputs
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: int
    signature: int ap_rvputs_proto_in_ascii(request_rec *r, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status
      Src: /src/httpd/server/eor_bucket.c:39,1
    - Dst: ap_run_log_transaction
      Src: /src/httpd/server/eor_bucket.c:40,1
    - Dst: ap_increment_counts
      Src: /src/httpd/server/eor_bucket.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: eor_bucket_cleanup
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 0
    functionsReached:
    - ap_increment_counts
    - ap_run_log_transaction
    - ap_update_child_status
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t eor_bucket_cleanup(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - str
    - len
    - block
    argTypes:
    - apr_bucket*
    - char**
    - apr_size_t*
    - apr_read_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: eor_bucket_read
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t eor_bucket_read(apr_bucket *b, const char **str,\n                                    apr_size_t
      *len, apr_read_type_e block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/eor_bucket.c:60,1
    - Dst: apr_bucket_shared_make
      Src: /src/httpd/server/eor_bucket.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - apr_bucket*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: ap_bucket_eor_make
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 0
    functionsReached:
    - apr_bucket_alloc
    - apr_bucket_shared_make
    linkageType: ''
    returnType: void
    signature: void ap_bucket_eor_make(apr_bucket *b, request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc
      Src: /src/httpd/server/eor_bucket.c:71,1
    - Dst: APR_BUCKET_INIT
      Src: /src/httpd/server/eor_bucket.c:73,1
    - Dst: ap_bucket_eor_make
      Src: /src/httpd/server/eor_bucket.c:76,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/server/eor_bucket.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - list
    - r
    argTypes:
    - apr_bucket_alloc_t*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: ap_bucket_eor_create
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 4
    functionsReached:
    - apr_bucket_alloc
    - ap_bucket_eor_make
    - apr_pool_pre_cleanup_register
    - APR_BUCKET_INIT
    linkageType: ''
    returnType: void
    signature: "void ap_bucket_eor_create(apr_bucket_alloc_t *list,\n                                              request_rec
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/eor_bucket.c:96,1
    - Dst: AP_BUCKET_IS_EOR
      Src: /src/httpd/server/eor_bucket.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - apr_bucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: ap_bucket_eor_request
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 1
    functionsReached:
    - AP_DEBUG_ASSERT
    - AP_BUCKET_IS_EOR
    linkageType: ''
    returnType: void
    signature: void ap_bucket_eor_request(apr_bucket *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_shared_destroy
      Src: /src/httpd/server/eor_bucket.c:104,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/eor_bucket.c:108,1
    - Dst: apr_bucket_free
      Src: /src/httpd/server/eor_bucket.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: eor_bucket_destroy
    functionSourceFile: /src/httpd/server/eor_bucket.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_bucket_shared_destroy
    - apr_bucket_free
    linkageType: ''
    returnType: void
    signature: void eor_bucket_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q_
    - ','
    - s_
    - ','
    - p_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: ap_queue_pop_socket
    functionSourceFile: /src/httpd/server/mpm_fdqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_queue_pop_socket(q_, s_, p_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:118,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:118,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - status
    - phase
    - r
    argTypes:
    - int
    - char*
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: decl_die
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_rerror
    linkageType: ''
    returnType: int
    signature: int decl_die(int status, const char *phase, request_rec *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_satisfies
      Src: /src/httpd/server/request.c:136,1
    - Dst: ap_run_access_checker
      Src: /src/httpd/server/request.c:139,1
    - Dst: ap_run_access_checker_ex
      Src: /src/httpd/server/request.c:143,1
    - Dst: ap_run_access_checker
      Src: /src/httpd/server/request.c:150,1
    - Dst: ap_run_access_checker_ex
      Src: /src/httpd/server/request.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: ap_some_authn_required
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - ap_run_access_checker_ex
    - ap_satisfies
    - ap_run_access_checker
    linkageType: ''
    returnType: void
    signature: void ap_some_authn_required(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_location_walk
      Src: /src/httpd/server/request.c:170,1
    - Dst: ap_if_walk
      Src: /src/httpd/server/request.c:173,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: walk_location_and_if
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - ap_location_walk
    - ap_if_walk
    - ap_get_core_module_config
    linkageType: ''
    returnType: int
    signature: int walk_location_and_if(request_rec *r)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:197,1
    - Dst: ap_normalize_path
      Src: /src/httpd/server/request.c:214,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:217,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:217,1
    - Dst: walk_location_and_if
      Src: /src/httpd/server/request.c:230,1
    - Dst: ap_run_pre_translate_name
      Src: /src/httpd/server/request.c:237,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/server/request.c:238,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:248,1
    - Dst: ap_unescape_url_ex
      Src: /src/httpd/server/request.c:257,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:261,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:261,1
    - Dst: ap_normalize_path
      Src: /src/httpd/server/request.c:273,1
    - Dst: walk_location_and_if
      Src: /src/httpd/server/request.c:279,1
    - Dst: ap_run_translate_name
      Src: /src/httpd/server/request.c:283,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:284,1
    - Dst: ap_run_map_to_storage
      Src: /src/httpd/server/request.c:292,1
    - Dst: walk_location_and_if
      Src: /src/httpd/server/request.c:299,1
    - Dst: ap_run_post_perdir_config
      Src: /src/httpd/server/request.c:303,1
    - Dst: ap_run_header_parser
      Src: /src/httpd/server/request.c:309,1
    - Dst: apr_table_get
      Src: /src/httpd/server/request.c:332,1
    - Dst: ap_satisfies
      Src: /src/httpd/server/request.c:336,1
    - Dst: ap_run_token_checker
      Src: /src/httpd/server/request.c:339,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:341,1
    - Dst: ap_run_access_checker
      Src: /src/httpd/server/request.c:345,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:346,1
    - Dst: ap_run_access_checker_ex
      Src: /src/httpd/server/request.c:350,1
    - Dst: ap_run_force_authn
      Src: /src/httpd/server/request.c:352,1
    - Dst: ap_run_check_user_id
      Src: /src/httpd/server/request.c:353,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:354,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:358,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:358,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:364,1
    - Dst: ap_run_auth_checker
      Src: /src/httpd/server/request.c:366,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:367,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:371,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:376,1
    - Dst: ap_run_token_checker
      Src: /src/httpd/server/request.c:380,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:381,1
    - Dst: ap_run_access_checker
      Src: /src/httpd/server/request.c:388,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:389,1
    - Dst: ap_run_access_checker_ex
      Src: /src/httpd/server/request.c:396,1
    - Dst: ap_run_force_authn
      Src: /src/httpd/server/request.c:398,1
    - Dst: ap_run_check_user_id
      Src: /src/httpd/server/request.c:399,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:400,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:404,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:404,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:410,1
    - Dst: ap_run_auth_checker
      Src: /src/httpd/server/request.c:412,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:413,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:417,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:422,1
    - Dst: ap_run_type_checker
      Src: /src/httpd/server/request.c:431,1
    - Dst: decl_die
      Src: /src/httpd/server/request.c:432,1
    - Dst: ap_run_fixups
      Src: /src/httpd/server/request.c:435,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:436,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 146
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 442
    functionName: ap_process_request_internal
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 3
    functionsReached:
    - ap_run_force_authn
    - ap_run_access_checker_ex
    - ap_satisfies
    - walk_location_and_if
    - ap_is_HTTP_ERROR
    - decl_die
    - ap_run_post_perdir_config
    - ap_run_fixups
    - ap_run_translate_name
    - apr_table_get
    - ap_normalize_path
    - ap_run_pre_translate_name
    - ap_get_core_module_config
    - ap_run_auth_checker
    - ap_run_type_checker
    - ap_log_rerror
    - APLOGNO
    - ap_run_map_to_storage
    - ap_run_check_user_id
    - ap_run_header_parser
    - ap_run_access_checker
    - ap_run_token_checker
    - ap_unescape_url_ex
    linkageType: ''
    returnType: void
    signature: void ap_process_request_internal(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_request_note
      Src: /src/httpd/server/request.c:484,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/request.c:485,1
    - Dst: ap_get_request_note
      Src: /src/httpd/server/request.c:491,1
    - Dst: ap_get_request_note
      Src: /src/httpd/server/request.c:494,1
    - Dst: apr_pmemdup
      Src: /src/httpd/server/request.c:507,1
    - Dst: apr_array_copy
      Src: /src/httpd/server/request.c:508,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/request.c:513,1
    - Dst: apr_array_make
      Src: /src/httpd/server/request.c:514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - t
    - r
    argTypes:
    - apr_size_t
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 520
    functionName: prep_walk_cache
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - ap_get_request_note
    - apr_pcalloc
    - apr_array_copy
    - AP_DEBUG_ASSERT
    - apr_array_make
    - apr_pmemdup
    linkageType: ''
    returnType: walk_cache_t
    signature: walk_cache_t *prep_walk_cache(apr_size_t t, request_rec *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:566,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:573,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:587,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:594,1
    - Dst: apr_uid_compare
      Src: /src/httpd/server/request.c:598,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - d
    - lfi
    - opts
    - p
    argTypes:
    - char*
    - apr_finfo_t*
    - int
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 610
    functionName: resolve_symlink
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - apr_uid_compare
    - apr_stat
    - memcpy
    linkageType: ''
    returnType: int
    signature: int resolve_symlink(char *d, apr_finfo_t *lfi, int opts, apr_pool_t
      *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - sec
    - opts
    argTypes:
    - ap_conf_vector_t*
    - core_opts_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 662
    functionName: core_opts_merge
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void core_opts_merge(const ap_conf_vector_t *sec, core_opts_t *opts)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:684,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:701,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:701,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/request.c:711,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:714,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:714,1
    - Dst: prep_walk_cache
      Src: /src/httpd/server/request.c:727,1
    - Dst: ap_run_dirwalk_stat
      Src: /src/httpd/server/request.c:741,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:756,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:762,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:764,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/request.c:765,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:777,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:800,1
    - Dst: ap_run_dirwalk_stat
      Src: /src/httpd/server/request.c:807,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:825,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:825,1
    - Dst: resolve_symlink
      Src: /src/httpd/server/request.c:832,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:834,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:834,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:883,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/request.c:901,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:905,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:905,1
    - Dst: apr_filepath_root
      Src: /src/httpd/server/request.c:942,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:946,1
    - Dst: apr_filepath_root
      Src: /src/httpd/server/request.c:955,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:958,1
    - Dst: apr_filepath_root
      Src: /src/httpd/server/request.c:964,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:967,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:972,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:972,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:981,1
    - Dst: apr_palloc
      Src: /src/httpd/server/request.c:982,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:983,1
    - Dst: ap_count_dirs
      Src: /src/httpd/server/request.c:995,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1025,1
    - Dst: apr_fnmatch
      Src: /src/httpd/server/request.c:1042,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:1044,1
    - Dst: core_opts_merge
      Src: /src/httpd/server/request.c:1052,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1073,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1081,1
    - Dst: apr_is_empty_table
      Src: /src/httpd/server/request.c:1097,1
    - Dst: ap_parse_htaccess
      Src: /src/httpd/server/request.c:1103,1
    - Dst: core_opts_merge
      Src: /src/httpd/server/request.c:1118,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1143,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1151,1
    - Dst: strchr
      Src: /src/httpd/server/request.c:1175,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:1179,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:1185,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:1186,1
    - Dst: ap_run_dirwalk_stat
      Src: /src/httpd/server/request.c:1225,1
    - Dst: APR_STATUS_IS_ENOENT
      Src: /src/httpd/server/request.c:1228,1
    - Dst: APR_STATUS_IS_EACCES
      Src: /src/httpd/server/request.c:1235,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:1236,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:1236,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:1247,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:1247,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:1256,1
    - Dst: strcpy
      Src: /src/httpd/server/request.c:1261,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:1262,1
    - Dst: resolve_symlink
      Src: /src/httpd/server/request.c:1268,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:1270,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:1270,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:1287,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:1287,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:1308,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1327,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/request.c:1335,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/request.c:1336,1
    - Dst: apr_palloc
      Src: /src/httpd/server/request.c:1339,1
    - Dst: ap_regexec
      Src: /src/httpd/server/request.c:1342,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/request.c:1349,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/request.c:1351,1
    - Dst: core_opts_merge
      Src: /src/httpd/server/request.c:1361,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1382,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1390,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/request.c:1396,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:1442,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:1445,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1461,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 308
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 680
    functionDepth: 7
    functionLinenumber: 680
    functionLinenumberEnd: 1468
    functionName: ap_directory_walk
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 3
    functionsReached:
    - ap_make_dirstr_parent
    - ap_make_full_path
    - prep_walk_cache
    - apr_array_push
    - apr_pstrcat
    - strchr
    - apr_pstrdup
    - strlen
    - apr_pstrndup
    - strcmp
    - ap_count_dirs
    - ap_get_core_module_config
    - strcpy
    - resolve_symlink
    - apr_pool_create
    - APR_STATUS_IS_ENOENT
    - ap_merge_per_dir_configs
    - apr_pool_destroy
    - apr_filepath_merge
    - memcpy
    - ap_log_rerror
    - APR_STATUS_IS_EACCES
    - apr_palloc
    - APLOGNO
    - ap_parse_htaccess
    - ap_run_dirwalk_stat
    - apr_pool_tag
    - apr_table_setn
    - ap_regexec
    - apr_is_empty_table
    - apr_fnmatch
    - core_opts_merge
    - apr_filepath_root
    linkageType: ''
    returnType: void
    signature: void ap_directory_walk(request_rec *r)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1475,1
    - Dst: prep_walk_cache
      Src: /src/httpd/server/request.c:1490,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:1502,1
    - Dst: ap_no2slash_ex
      Src: /src/httpd/server/request.c:1503,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:1513,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:1539,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1548,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:1551,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/request.c:1566,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/request.c:1567,1
    - Dst: apr_palloc
      Src: /src/httpd/server/request.c:1570,1
    - Dst: ap_regexec
      Src: /src/httpd/server/request.c:1573,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/request.c:1580,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/request.c:1582,1
    - Dst: apr_fnmatch
      Src: /src/httpd/server/request.c:1592,1
    - Dst: strncmp
      Src: /src/httpd/server/request.c:1593,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1622,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1630,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/request.c:1636,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1665,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1672
    functionName: ap_location_walk
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ap_get_core_module_config
    - apr_palloc
    - prep_walk_cache
    - apr_array_push
    - apr_pool_tag
    - apr_table_setn
    - strlen
    - apr_pool_create
    - ap_regexec
    - ap_merge_per_dir_configs
    - ap_no2slash_ex
    - apr_pstrndup
    - apr_fnmatch
    - apr_pool_destroy
    - apr_pstrdup
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ap_location_walk(request_rec *r)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1677,1
    - Dst: prep_walk_cache
      Src: /src/httpd/server/request.c:1705,1
    - Dst: strrchr
      Src: /src/httpd/server/request.c:1711,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:1713,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:1716,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:1725,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1759,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/request.c:1769,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/request.c:1770,1
    - Dst: apr_palloc
      Src: /src/httpd/server/request.c:1773,1
    - Dst: ap_regexec
      Src: /src/httpd/server/request.c:1776,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/request.c:1783,1
    - Dst: apr_pstrndup
      Src: /src/httpd/server/request.c:1785,1
    - Dst: apr_fnmatch
      Src: /src/httpd/server/request.c:1794,1
    - Dst: strcmp
      Src: /src/httpd/server/request.c:1795,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1819,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1827,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/request.c:1833,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1862,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1674
    functionDepth: 2
    functionLinenumber: 1674
    functionLinenumberEnd: 1869
    functionName: ap_file_walk
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ap_get_core_module_config
    - apr_palloc
    - prep_walk_cache
    - apr_array_push
    - apr_pool_tag
    - apr_table_setn
    - apr_pool_create
    - ap_regexec
    - strrchr
    - ap_merge_per_dir_configs
    - apr_pstrndup
    - apr_fnmatch
    - apr_pool_destroy
    - apr_pstrdup
    linkageType: ''
    returnType: void
    signature: void ap_file_walk(request_rec *r)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: prep_walk_cache
      Src: /src/httpd/server/request.c:1897,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:1911,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/request.c:1913,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/request.c:1915,1
    - Dst: ap_expr_exec
      Src: /src/httpd/server/request.c:1921,1
    - Dst: ap_log_rerror
      Src: /src/httpd/server/request.c:1924,1
    - Dst: APLOGNO
      Src: /src/httpd/server/request.c:1924,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1955,1
    - Dst: apr_array_push
      Src: /src/httpd/server/request.c:1963,1
    - Dst: ap_merge_per_dir_configs
      Src: /src/httpd/server/request.c:1993,1
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:2000,1
    - Dst: ap_if_walk_sub
      Src: /src/httpd/server/request.c:2005,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - r
    - dconf
    argTypes:
    - request_rec*
    - core_dir_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 2009
    functionName: ap_if_walk_sub
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - ap_log_rerror
    - ap_get_core_module_config
    - ap_if_walk_sub
    - prep_walk_cache
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_array_push
    - ap_merge_per_dir_configs
    - ap_expr_exec
    linkageType: ''
    returnType: int
    signature: int ap_if_walk_sub(request_rec *r, core_dir_config* dconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/request.c:2013,1
    - Dst: ap_if_walk_sub
      Src: /src/httpd/server/request.c:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2011
    functionDepth: 3
    functionLinenumber: 2011
    functionLinenumberEnd: 2016
    functionName: ap_if_walk
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - ap_if_walk_sub
    - ap_get_core_module_config
    linkageType: ''
    returnType: void
    signature: void ap_if_walk(request_rec *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/request.c:2040,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/request.c:2041,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/request.c:2042,1
    - Dst: ap_create_request_config
      Src: /src/httpd/server/request.c:2051,1
    - Dst: ap_make_method_list
      Src: /src/httpd/server/request.c:2062,1
    - Dst: ap_copy_method_list
      Src: /src/httpd/server/request.c:2065,1
    - Dst: ap_add_output_filter_handle
      Src: /src/httpd/server/request.c:2086,1
    - Dst: ap_set_sub_req_protocol
      Src: /src/httpd/server/request.c:2108,1
    - Dst: ap_run_create_request
      Src: /src/httpd/server/request.c:2113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - r
    - next_filter
    argTypes:
    - request_rec*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2034
    functionDepth: 4
    functionLinenumber: 2034
    functionLinenumberEnd: 2124
    functionName: make_sub_request
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_pool_tag
    - ap_set_sub_req_protocol
    - apr_pool_create
    - ap_run_create_request
    - ap_copy_method_list
    - ap_make_method_list
    - ap_add_output_filter_handle
    - ap_create_request_config
    linkageType: ''
    returnType: request_rec
    signature: "request_rec *make_sub_request(const request_rec *r,\n                                     ap_filter_t
      *next_filter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_BRIGADE_LAST
      Src: /src/httpd/server/request.c:2129,1
    - Dst: APR_BUCKET_IS_EOS
      Src: /src/httpd/server/request.c:2131,1
    - Dst: apr_bucket_delete
      Src: /src/httpd/server/request.c:2132,1
    - Dst: APR_BRIGADE_EMPTY
      Src: /src/httpd/server/request.c:2135,1
    - Dst: ap_pass_brigade
      Src: /src/httpd/server/request.c:2136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - bb
    argTypes:
    - ap_filter_t*
    - apr_bucket_brigade*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2140
    functionName: ap_sub_req_output_filter
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - APR_BUCKET_IS_EOS
    - apr_bucket_delete
    - APR_BRIGADE_EMPTY
    - APR_BRIGADE_LAST
    linkageType: ''
    returnType: void
    signature: "void ap_sub_req_output_filter(ap_filter_t *f,\n                                                              apr_bucket_brigade
      *bb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap__authz_ap_some_auth_required
      Src: /src/httpd/server/request.c:2148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2152
    functionName: ap_some_auth_required
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 2
    functionsReached:
    - ap__authz_ap_some_auth_required
    linkageType: ''
    returnType: void
    signature: void ap_some_auth_required(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2158
    functionName: ap_clear_auth_internal
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_clear_auth_internal(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_list_provider_names
      Src: /src/httpd/server/request.c:2185,1
    - Dst: ap_list_provider_names
      Src: /src/httpd/server/request.c:2188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ptemp
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2196
    functionName: ap_setup_auth_internal
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - ap_list_provider_names
    linkageType: ''
    returnType: void
    signature: void ap_setup_auth_internal(apr_pool_t *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_register_provider
      Src: /src/httpd/server/request.c:2209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pool
    - provider_group
    - provider_name
    - provider_version
    - provider
    - type
    argTypes:
    - apr_pool_t*
    - char*
    - char*
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2211
    functionName: ap_register_auth_provider
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 20
    functionsReached:
    - ap_register_provider
    linkageType: ''
    returnType: void
    signature: "void ap_register_auth_provider(apr_pool_t *pool,\n                                                   const
      char *provider_group,\n                                                   const
      char *provider_name,\n                                                   const
      char *provider_version,\n                                                   const
      void *provider,\n                                                   int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_access_checker
      Src: /src/httpd/server/request.c:2222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pf
    - aszPre
    - aszSucc
    - nOrder
    - type
    argTypes:
    - ap_HOOK_access_checker_t*
    - char**
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2223
    functionName: ap_hook_check_access
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 4
    functionsReached:
    - ap_hook_access_checker
    linkageType: ''
    returnType: void
    signature: "void ap_hook_check_access(ap_HOOK_access_checker_t *pf,\n                                      const
      char * const *aszPre,\n                                      const char * const
      *aszSucc,\n                                      int nOrder, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_access_checker_ex
      Src: /src/httpd/server/request.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pf
    - aszPre
    - aszSucc
    - nOrder
    - type
    argTypes:
    - ap_HOOK_access_checker_ex_t*
    - char**
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2235
    functionName: ap_hook_check_access_ex
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 2
    functionsReached:
    - ap_hook_access_checker_ex
    linkageType: ''
    returnType: void
    signature: "void ap_hook_check_access_ex(ap_HOOK_access_checker_ex_t *pf,\n                                      const
      char * const *aszPre,\n                                      const char * const
      *aszSucc,\n                                      int nOrder, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_token_checker
      Src: /src/httpd/server/request.c:2246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pf
    - aszPre
    - aszSucc
    - nOrder
    - type
    argTypes:
    - ap_HOOK_token_checker_t*
    - char**
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2247
    functionName: ap_hook_check_autht
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - ap_hook_token_checker
    linkageType: ''
    returnType: void
    signature: "void ap_hook_check_autht(ap_HOOK_token_checker_t *pf,\n                                     const
      char * const *aszPre,\n                                     const char * const
      *aszSucc,\n                                     int nOrder, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_check_user_id
      Src: /src/httpd/server/request.c:2258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pf
    - aszPre
    - aszSucc
    - nOrder
    - type
    argTypes:
    - ap_HOOK_check_user_id_t*
    - char**
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2259
    functionName: ap_hook_check_authn
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 8
    functionsReached:
    - ap_hook_check_user_id
    linkageType: ''
    returnType: void
    signature: "void ap_hook_check_authn(ap_HOOK_check_user_id_t *pf,\n                                     const
      char * const *aszPre,\n                                     const char * const
      *aszSucc,\n                                     int nOrder, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_auth_checker
      Src: /src/httpd/server/request.c:2270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pf
    - aszPre
    - aszSucc
    - nOrder
    - type
    argTypes:
    - ap_HOOK_auth_checker_t*
    - char**
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2271
    functionName: ap_hook_check_authz
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 4
    functionsReached:
    - ap_hook_auth_checker
    linkageType: ''
    returnType: void
    signature: "void ap_hook_check_authz(ap_HOOK_auth_checker_t *pf,\n                                     const
      char * const *aszPre,\n                                     const char * const
      *aszSucc,\n                                     int nOrder, int type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_sub_request
      Src: /src/httpd/server/request.c:2282,1
    - Dst: ap_method_number_of
      Src: /src/httpd/server/request.c:2286,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2289,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2292,1
    - Dst: ap_escape_uri
      Src: /src/httpd/server/request.c:2293,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2294,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2294,1
    - Dst: ap_is_HTTP_ERROR
      Src: /src/httpd/server/request.c:2296,1
    - Dst: ap_is_recursion_limit_exceeded
      Src: /src/httpd/server/request.c:2302,1
    - Dst: ap_run_quick_handler
      Src: /src/httpd/server/request.c:2318,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/server/request.c:2321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - method
    - new_uri
    - r
    - next_filter
    argTypes:
    - char*
    - char*
    - request_rec*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2273
    functionDepth: 5
    functionLinenumber: 2273
    functionLinenumberEnd: 2328
    functionName: ap_sub_req_method_uri
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 6
    functionsReached:
    - ap_is_HTTP_ERROR
    - ap_method_number_of
    - make_sub_request
    - ap_make_dirstr_parent
    - ap_make_full_path
    - ap_is_recursion_limit_exceeded
    - ap_parse_uri
    - ap_process_request_internal
    - ap_escape_uri
    - ap_run_quick_handler
    linkageType: ''
    returnType: void
    signature: "void ap_sub_req_method_uri(const char *method,\n                                                const
      char *new_uri,\n                                                const request_rec
      *r,\n                                                ap_filter_t *next_filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_sub_req_method_uri
      Src: /src/httpd/server/request.c:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - new_uri
    - r
    - next_filter
    argTypes:
    - char*
    - request_rec*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2330
    functionDepth: 6
    functionLinenumber: 2330
    functionLinenumberEnd: 2335
    functionName: ap_sub_req_lookup_uri
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 20
    functionsReached:
    - ap_sub_req_method_uri
    linkageType: ''
    returnType: void
    signature: "void ap_sub_req_lookup_uri(const char *new_uri,\n                                                const
      request_rec *r,\n                                                ap_filter_t
      *next_filter)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: make_sub_request
      Src: /src/httpd/server/request.c:2347,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:2360,1
    - Dst: ap_find_path_info
      Src: /src/httpd/server/request.c:2361,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2362,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2364,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2366,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:2367,1
    - Dst: ap_escape_uri
      Src: /src/httpd/server/request.c:2369,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2372,1
    - Dst: ap_escape_uri
      Src: /src/httpd/server/request.c:2373,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2373,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2378,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2379,1
    - Dst: ap_allow_options
      Src: /src/httpd/server/request.c:2400,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:2401,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:2408,1
    - Dst: memcpy
      Src: /src/httpd/server/request.c:2417,1
    - Dst: resolve_symlink
      Src: /src/httpd/server/request.c:2424,1
    - Dst: ap_allow_options
      Src: /src/httpd/server/request.c:2425,1
    - Dst: strcat
      Src: /src/httpd/server/request.c:2436,1
    - Dst: strcat
      Src: /src/httpd/server/request.c:2438,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2445,1
    - Dst: apr_pstrcat
      Src: /src/httpd/server/request.c:2445,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2449,1
    - Dst: ap_is_recursion_limit_exceeded
      Src: /src/httpd/server/request.c:2454,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/server/request.c:2459,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - dirent
    - r
    - subtype
    - next_filter
    argTypes:
    - apr_finfo_t*
    - request_rec*
    - int
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2337
    functionDepth: 5
    functionLinenumber: 2337
    functionLinenumberEnd: 2464
    functionName: ap_sub_req_lookup_dirent
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 1
    functionsReached:
    - strcat
    - make_sub_request
    - ap_make_dirstr_parent
    - ap_make_full_path
    - apr_pstrcat
    - ap_parse_uri
    - ap_is_recursion_limit_exceeded
    - resolve_symlink
    - apr_stat
    - ap_escape_uri
    - ap_find_path_info
    - ap_process_request_internal
    - ap_allow_options
    - apr_pstrdup
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,\n                                                   const
      request_rec *r,\n                                                   int subtype,\n
      \                                                  ap_filter_t *next_filter)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: make_sub_request
      Src: /src/httpd/server/request.c:2475,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2477,1
    - Dst: strlen
      Src: /src/httpd/server/request.c:2478,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/request.c:2486,1
    - Dst: strncmp
      Src: /src/httpd/server/request.c:2502,1
    - Dst: ap_strchr_c
      Src: /src/httpd/server/request.c:2504,1
    - Dst: ap_allow_options
      Src: /src/httpd/server/request.c:2506,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:2507,1
    - Dst: apr_stat
      Src: /src/httpd/server/request.c:2514,1
    - Dst: ap_make_dirstr_parent
      Src: /src/httpd/server/request.c:2523,1
    - Dst: ap_make_full_path
      Src: /src/httpd/server/request.c:2524,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2526,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2529,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:2530,1
    - Dst: ap_parse_uri
      Src: /src/httpd/server/request.c:2538,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/request.c:2544,1
    - Dst: ap_is_recursion_limit_exceeded
      Src: /src/httpd/server/request.c:2549,1
    - Dst: ap_process_request_internal
      Src: /src/httpd/server/request.c:2554,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - new_file
    - r
    - next_filter
    argTypes:
    - char*
    - request_rec*
    - ap_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2466
    functionDepth: 5
    functionLinenumber: 2466
    functionLinenumberEnd: 2559
    functionName: ap_sub_req_lookup_file
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 10
    functionsReached:
    - make_sub_request
    - ap_make_dirstr_parent
    - ap_make_full_path
    - ap_is_recursion_limit_exceeded
    - ap_parse_uri
    - apr_pstrdup
    - apr_stat
    - ap_process_request_internal
    - strlen
    - ap_strchr_c
    - ap_allow_options
    - apr_filepath_merge
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void ap_sub_req_lookup_file(const char *new_file,\n                                                 const
      request_rec *r,\n                                                 ap_filter_t
      *next_filter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_quick_handler
      Src: /src/httpd/server/request.c:2568,1
    - Dst: ap_invoke_handler
      Src: /src/httpd/server/request.c:2571,1
    - Dst: ap_finalize_sub_req_protocol
      Src: /src/httpd/server/request.c:2576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2561
    functionDepth: 3
    functionLinenumber: 2561
    functionLinenumberEnd: 2578
    functionName: ap_run_sub_req
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 9
    functionsReached:
    - ap_invoke_handler
    - ap_run_quick_handler
    - ap_finalize_sub_req_protocol
    linkageType: ''
    returnType: void
    signature: void ap_run_sub_req(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/request.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2584
    functionName: ap_destroy_sub_req
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 25
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void ap_destroy_sub_req(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - dependency_mtime
    argTypes:
    - request_rec*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2595
    functionName: ap_update_mtime
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2604
    functionName: ap_is_initial_req
    functionSourceFile: /src/httpd/server/request.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_is_initial_req(request_rec *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - parent
    - current
    - toadd
    - child
    argTypes:
    - ap_directive_t**
    - ap_directive_t*
    - ap_directive_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: ap_add_node
    functionSourceFile: /src/httpd/server/util_cfgtree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ap_directive_t
    signature: "ap_directive_t *ap_add_node(ap_directive_t **parent, ap_directive_t
      *current,\n                            ap_directive_t *toadd, int child)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: apr_isalnum
    functionSourceFile: /src/httpd/server/gen_test_char.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_isalnum(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: apr_isalpha
    functionSourceFile: /src/httpd/server/gen_test_char.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_isalpha(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: apr_iscntrl
    functionSourceFile: /src/httpd/server/gen_test_char.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_iscntrl(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: apr_isprint
    functionSourceFile: /src/httpd/server/gen_test_char.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_isprint(c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/gen_test_char.c:64,1
    - Dst: printf
      Src: /src/httpd/server/gen_test_char.c:93,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:107,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:111,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/gen_test_char.c:116,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:116,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/gen_test_char.c:120,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:120,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/gen_test_char.c:124,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:124,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/gen_test_char.c:132,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:132,1
    - Dst: apr_iscntrl
      Src: /src/httpd/server/gen_test_char.c:142,1
    - Dst: apr_iscntrl
      Src: /src/httpd/server/gen_test_char.c:150,1
    - Dst: apr_isprint
      Src: /src/httpd/server/gen_test_char.c:159,1
    - Dst: apr_iscntrl
      Src: /src/httpd/server/gen_test_char.c:159,1
    - Dst: apr_isprint
      Src: /src/httpd/server/gen_test_char.c:166,1
    - Dst: apr_iscntrl
      Src: /src/httpd/server/gen_test_char.c:167,1
    - Dst: apr_isalnum
      Src: /src/httpd/server/gen_test_char.c:173,1
    - Dst: strchr
      Src: /src/httpd/server/gen_test_char.c:173,1
    - Dst: printf
      Src: /src/httpd/server/gen_test_char.c:177,1
    - Dst: printf
      Src: /src/httpd/server/gen_test_char.c:180,1
    - Dst: printf
      Src: /src/httpd/server/gen_test_char.c:182,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/httpd/server/gen_test_char.c
    functionUses: 10
    functionsReached:
    - strchr
    - apr_isprint
    - apr_isalnum
    - printf
    - apr_iscntrl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: simple_core_get
    functionSourceFile: /src/httpd/server/mpm/simple/simple_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: simple_core_t
    signature: simple_core_t *simple_core_get(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_retained_data_get
      Src: /src/httpd/server/mpm/simple/simple_core.c:42,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/server/mpm/simple/simple_core.c:47,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/simple/simple_core.c:49,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/simple/simple_core.c:51,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/mpm/simple/simple_core.c:58,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/simple/simple_core.c:62,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/simple/simple_core.c:64,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_core.c:67,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_core.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 73
    functionName: simple_core_init_once
    functionSourceFile: /src/httpd/server/mpm/simple/simple_core.c
    functionUses: 0
    functionsReached:
    - apr_hash_make
    - ap_retained_data_create
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_retained_data_get
    - ap_log_error
    - APR_RING_INIT
    - apr_thread_mutex_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_core_init_once(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_event.c:28,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm/simple/simple_event.c:29,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_event.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: simple_timer_pool_cleanup
    functionSourceFile: /src/httpd/server/mpm/simple/simple_event.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - APR_RING_REMOVE
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_timer_pool_cleanup(void *baton)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/simple/simple_event.c:45,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_event.c:47,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:49,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/simple/simple_event.c:51,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/mpm/simple/simple_event.c:53,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm/simple/simple_event.c:59,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:61,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm/simple/simple_event.c:64,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/simple/simple_event.c:65,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm/simple/simple_event.c:67,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:70,1
    - Dst: APR_RING_INSERT_BEFORE
      Src: /src/httpd/server/mpm/simple/simple_event.c:72,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:74,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm/simple/simple_event.c:77,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:81,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm/simple/simple_event.c:84,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_event.c:87,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_event.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - sc
    - cb
    - baton
    - relative_time
    - shutdown_pool
    argTypes:
    - simple_core_t*
    - simple_timer_cb
    - void*
    - apr_time_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 90
    functionName: simple_register_timer
    functionSourceFile: /src/httpd/server/mpm/simple/simple_event.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_thread_mutex_lock
    - apr_time_now
    - apr_pcalloc
    - APR_RING_ELEM_INIT
    - APR_RING_EMPTY
    - apr_thread_mutex_unlock
    - APR_RING_INSERT_TAIL
    - APR_RING_INSERT_BEFORE
    - APR_RING_CHECK_CONSISTENCY
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void simple_register_timer(simple_core_t * sc,\n                      simple_timer_cb
      cb,\n                      void *baton, apr_time_t relative_time,\n                      apr_pool_t
      *shutdown_pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/server/mpm/simple/simple_event.c:96,1
    - Dst: simple_timer_t*::cb
      Src: /src/httpd/server/mpm/simple/simple_event.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ep
    argTypes:
    - simple_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: simple_timer_run
    functionSourceFile: /src/httpd/server/mpm/simple/simple_event.c
    functionUses: 0
    functionsReached:
    - simple_timer_t*::cb
    - apr_pool_cleanup_kill
    linkageType: ''
    returnType: void
    signature: void simple_timer_run(simple_timer_t *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:44,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - baton
    argTypes:
    - simple_core_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: simple_io_timeout_cb
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void simple_io_timeout_cb(simple_core_t * sc, void *baton)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/mpm/simple/simple_io.c:61,1
    - Dst: apr_pollcb_remove
      Src: /src/httpd/server/mpm/simple/simple_io.c:73,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:75,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:75,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/mpm/simple/simple_io.c:84,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/simple/simple_io.c:98,1
    - Dst: ap_run_output_pending
      Src: /src/httpd/server/mpm/simple/simple_io.c:99,1
    - Dst: simple_register_timer
      Src: /src/httpd/server/mpm/simple/simple_io.c:106,1
    - Dst: apr_pollcb_add
      Src: /src/httpd/server/mpm/simple/simple_io.c:119,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:122,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:123,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/simple/simple_io.c:125,1
    - Dst: ap_run_input_pending
      Src: /src/httpd/server/mpm/simple/simple_io.c:134,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/simple/simple_io.c:143,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/simple/simple_io.c:144,1
    - Dst: simple_register_timer
      Src: /src/httpd/server/mpm/simple/simple_io.c:149,1
    - Dst: apr_pollcb_add
      Src: /src/httpd/server/mpm/simple/simple_io.c:162,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:165,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:165,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/simple/simple_io.c:167,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/simple/simple_io.c:174,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/simple/simple_io.c:175,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 1
    argNames:
    - scon
    argTypes:
    - simple_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 177
    functionName: simple_io_process
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - apr_pollcb_remove
    - simple_register_timer
    - ap_run_output_pending
    - APLOGNO
    - AP_DEBUG_ASSERT
    - ap_update_child_status
    - apr_pollcb_add
    - ap_run_input_pending
    - ap_log_error
    - ap_run_process_connection
    - apr_pool_destroy
    - ap_lingering_close
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_io_process(simple_conn_t * scon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simple_io_process
      Src: /src/httpd/server/mpm/simple/simple_io.c:187,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:190,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: simple_io_invoke
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - simple_io_process
    linkageType: ''
    returnType: void
    signature: void *simple_io_invoke(apr_thread_t * thread, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/simple/simple_io.c:206,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/simple/simple_io.c:208,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/simple/simple_io.c:210,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/simple/simple_io.c:215,1
    - Dst: ap_update_vhost_given_ip
      Src: /src/httpd/server/mpm/simple/simple_io.c:228,1
    - Dst: ap_pre_connection
      Src: /src/httpd/server/mpm/simple/simple_io.c:230,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:232,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:232,1
    - Dst: simple_io_process
      Src: /src/httpd/server/mpm/simple/simple_io.c:239,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:242,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 197
    functionDepth: 6
    functionLinenumber: 197
    functionLinenumberEnd: 247
    functionName: simple_io_setup_conn
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - ap_pre_connection
    - ap_create_sb_handle
    - apr_pcalloc
    - apr_bucket_alloc_create
    - simple_io_process
    - ap_update_vhost_given_ip
    - APLOGNO
    - ap_run_create_connection
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void *simple_io_setup_conn(apr_thread_t * thread, void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/simple/simple_io.c:257,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/simple/simple_io.c:259,1
    - Dst: apr_socket_accept
      Src: /src/httpd/server/mpm/simple/simple_io.c:261,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_io.c:270,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_io.c:270,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/simple/simple_io.c:275,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/simple/simple_io.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - sb
    argTypes:
    - simple_core_t*
    - simple_sb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: simple_io_accept
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - apr_socket_accept
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - apr_thread_pool_push
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_io_accept(simple_core_t * sc, simple_sb_t * sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/simple/simple_io.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - sb
    argTypes:
    - simple_core_t*
    - simple_sb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: simple_io_event_process
    functionSourceFile: /src/httpd/server/mpm/simple/simple_io.c
    functionUses: 0
    functionsReached:
    - apr_thread_pool_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_io_event_process(simple_core_t * sc, simple_sb_t
      * sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_children.c:39,1
    - Dst: apr_hash_first
      Src: /src/httpd/server/mpm/simple/simple_children.c:40,1
    - Dst: apr_hash_this
      Src: /src/httpd/server/mpm/simple/simple_children.c:42,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/simple/simple_children.c:43,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_children.c:45,1
    - Dst: kill
      Src: /src/httpd/server/mpm/simple/simple_children.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: simple_kill_random_child
    functionSourceFile: /src/httpd/server/mpm/simple/simple_children.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_hash_set
    - apr_thread_mutex_unlock
    - apr_hash_this
    - kill
    - apr_hash_first
    linkageType: ''
    returnType: void
    signature: void simple_kill_random_child(simple_core_t * sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/httpd/server/mpm/simple/simple_children.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/simple/simple_children.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/httpd/server/mpm/simple/simple_children.c:73,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_children.c:76,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_children.c:76,1
    - Dst: simple_child_loop
      Src: /src/httpd/server/mpm/simple/simple_children.c:84,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/simple/simple_children.c:87,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/simple/simple_children.c:90,1
    - Dst: abort
      Src: /src/httpd/server/mpm/simple/simple_children.c:96,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_children.c:103,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/simple/simple_children.c:105,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/simple/simple_children.c:107,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_children.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 113
    functionName: simple_spawn_child
    functionSourceFile: /src/httpd/server/mpm/simple/simple_children.c
    functionUses: 0
    functionsReached:
    - simple_child_loop
    - apr_thread_mutex_lock
    - apr_hash_set
    - apr_palloc
    - apr_thread_mutex_unlock
    - APLOGNO
    - clean_child_exit
    - ap_log_error
    - abort
    - fork
    linkageType: ''
    returnType: int
    signature: int simple_spawn_child(simple_core_t * sc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: simple_register_timer
      Src: /src/httpd/server/mpm/simple/simple_children.c:121,1
    - Dst: simple_single_process_hack
      Src: /src/httpd/server/mpm/simple/simple_children.c:132,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_children.c:138,1
    - Dst: apr_hash_count
      Src: /src/httpd/server/mpm/simple/simple_children.c:139,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_children.c:141,1
    - Dst: simple_kill_random_child
      Src: /src/httpd/server/mpm/simple/simple_children.c:148,1
    - Dst: simple_spawn_child
      Src: /src/httpd/server/mpm/simple/simple_children.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - sc
    - baton
    argTypes:
    - simple_core_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 162
    functionName: simple_check_children_size
    functionSourceFile: /src/httpd/server/mpm/simple/simple_children.c
    functionUses: 0
    functionsReached:
    - simple_single_process_hack
    - simple_register_timer
    - apr_thread_mutex_lock
    - apr_thread_mutex_unlock
    - simple_spawn_child
    - apr_hash_count
    - simple_kill_random_child
    linkageType: ''
    returnType: void
    signature: void simple_check_children_size(simple_core_t * sc, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: apr_time_from_msec
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_time_from_msec(msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_register_timer
      Src: /src/httpd/server/mpm/simple/simple_run.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: simple_main_setup_timers
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - simple_register_timer
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_main_setup_timers(simple_core_t * sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_create
      Src: /src/httpd/server/mpm/simple/simple_run.c:57,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:62,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: simple_setup_workers
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_thread_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_setup_workers(simple_core_t * sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/simple/simple_run.c:77,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/simple/simple_run.c:78,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/simple/simple_run.c:90,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:92,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:92,1
    - Dst: apr_pollcb_add
      Src: /src/httpd/server/mpm/simple/simple_run.c:98,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:100,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: simple_setup_listeners
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - apr_pollcb_add
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_setup_listeners(simple_core_t * sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: simple_io_accept
      Src: /src/httpd/server/mpm/simple/simple_run.c:120,1
    - Dst: simple_io_event_process
      Src: /src/httpd/server/mpm/simple/simple_run.c:123,1
    - Dst: abort
      Src: /src/httpd/server/mpm/simple/simple_run.c:127,1
    - Dst: abort
      Src: /src/httpd/server/mpm/simple/simple_run.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - baton
    - pfd
    argTypes:
    - void*
    - apr_pollfd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: simple_io_callback
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - simple_io_event_process
    - abort
    - simple_io_accept
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t simple_io_callback(void *baton, apr_pollfd_t * pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_timer_run
      Src: /src/httpd/server/mpm/simple/simple_run.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: simple_timer_invoke
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - simple_timer_run
    linkageType: ''
    returnType: void
    signature: void *simple_timer_invoke(apr_thread_t * thread, void *baton)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/simple/simple_run.c:151,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/simple/simple_run.c:153,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_run.c:156,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/simple/simple_run.c:157,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm/simple/simple_run.c:159,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/simple/simple_run.c:162,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/simple/simple_run.c:164,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_run.c:172,1
    - Dst: apr_pollcb_poll
      Src: /src/httpd/server/mpm/simple/simple_run.c:174,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/simple/simple_run.c:176,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/simple/simple_run.c:179,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm/simple/simple_run.c:179,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:180,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:180,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/simple/simple_run.c:186,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/simple/simple_run.c:188,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_run.c:190,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm/simple/simple_run.c:193,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/simple/simple_run.c:194,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm/simple/simple_run.c:195,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm/simple/simple_run.c:197,1
    - Dst: APR_RING_PREV
      Src: /src/httpd/server/mpm/simple/simple_run.c:199,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm/simple/simple_run.c:201,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_run.c:202,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm/simple/simple_run.c:204,1
    - Dst: APR_RING_CHECK_CONSISTENCY
      Src: /src/httpd/server/mpm/simple/simple_run.c:213,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/simple/simple_run.c:215,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm/simple/simple_run.c:217,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/simple/simple_run.c:218,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm/simple/simple_run.c:219,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm/simple/simple_run.c:221,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/simple/simple_run.c:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 231
    functionName: simple_run_loop
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - apr_thread_mutex_unlock
    - APR_STATUS_IS_TIMEUP
    - APR_RING_INIT
    - APR_RING_REMOVE
    - APR_RING_INSERT_TAIL
    - apr_thread_pool_push
    - apr_time_from_msec
    - APR_RING_FIRST
    - apr_pollcb_poll
    - APR_RING_EMPTY
    - ap_log_error
    - apr_thread_mutex_lock
    - APR_STATUS_IS_EINTR
    - APLOGNO
    - APR_RING_PREV
    - APR_RING_CHECK_CONSISTENCY
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    linkageType: ''
    returnType: int
    signature: int simple_run_loop(simple_core_t * sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simple_setup_listeners
      Src: /src/httpd/server/mpm/simple/simple_run.c:237,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:239,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: simple_single_process_hack
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_error
    - simple_setup_listeners
    linkageType: ''
    returnType: void
    signature: void simple_single_process_hack(simple_core_t * sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/server/mpm/simple/simple_run.c:246,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:249,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: simple_setup_privs
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - ap_run_drop_privileges
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int simple_setup_privs(simple_core_t * sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollcb_create_ex
      Src: /src/httpd/server/mpm/simple/simple_run.c:265,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:272,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: simple_setup_pollcb
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_pollcb_create_ex
    linkageType: ''
    returnType: int
    signature: int simple_setup_pollcb(simple_core_t * sc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: simple_setup_pollcb
      Src: /src/httpd/server/mpm/simple/simple_run.c:283,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/simple/simple_run.c:291,1
    - Dst: simple_setup_workers
      Src: /src/httpd/server/mpm/simple/simple_run.c:293,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:295,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:295,1
    - Dst: simple_setup_listeners
      Src: /src/httpd/server/mpm/simple/simple_run.c:300,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:302,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:302,1
    - Dst: simple_setup_privs
      Src: /src/httpd/server/mpm/simple/simple_run.c:307,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/simple/simple_run.c:313,1
    - Dst: simple_run_loop
      Src: /src/httpd/server/mpm/simple/simple_run.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 316
    functionName: simple_child_loop
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 1
    functionsReached:
    - simple_setup_pollcb
    - simple_run_loop
    - APLOGNO
    - ap_run_child_init
    - simple_setup_privs
    - ap_log_error
    - simple_setup_workers
    - APR_RING_INIT
    - simple_setup_listeners
    linkageType: ''
    returnType: int
    signature: int simple_child_loop(simple_core_t * sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: simple_setup_pollcb
      Src: /src/httpd/server/mpm/simple/simple_run.c:322,1
    - Dst: simple_setup_workers
      Src: /src/httpd/server/mpm/simple/simple_run.c:327,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:329,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:329,1
    - Dst: simple_main_setup_timers
      Src: /src/httpd/server/mpm/simple/simple_run.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_run.c:336,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_run.c:336,1
    - Dst: simple_run_loop
      Src: /src/httpd/server/mpm/simple/simple_run.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - simple_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 342
    functionName: simple_main_loop
    functionSourceFile: /src/httpd/server/mpm/simple/simple_run.c
    functionUses: 0
    functionsReached:
    - simple_main_setup_timers
    - simple_setup_pollcb
    - simple_run_loop
    - APLOGNO
    - ap_log_error
    - simple_setup_workers
    linkageType: ''
    returnType: int
    signature: int simple_main_loop(simple_core_t * sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:32,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/simple/simple_api.c:36,1
    - Dst: simple_main_loop
      Src: /src/httpd/server/mpm/simple/simple_api.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: simple_run
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - simple_main_loop
    - ap_run_pre_mpm
    - simple_core_get
    linkageType: ''
    returnType: int
    signature: int simple_run(apr_pool_t * pconf, apr_pool_t * plog, server_rec *
      s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:46,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 98
    functionName: simple_query
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - simple_core_get
    linkageType: ''
    returnType: int
    signature: int simple_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: simple_get_name
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      simple_get_name(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/simple/simple_api.c:112,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:115,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: simple_open_logs
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int simple_open_logs(apr_pool_t * p,\n                 apr_pool_t
      * plog, apr_pool_t * ptemp, server_rec * s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: simple_core_init_once
      Src: /src/httpd/server/mpm/simple/simple_api.c:132,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:135,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:135,1
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:140,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/simple/simple_api.c:144,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/simple/simple_api.c:151,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/simple/simple_api.c:157,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/simple/simple_api.c:160,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:164,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 172
    functionName: simple_pre_config
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - apr_proc_detach
    - ap_exists_config_define
    - APLOGNO
    - simple_core_init_once
    - ap_log_error
    - simple_core_get
    linkageType: ''
    returnType: int
    signature: int simple_pre_config(apr_pool_t * pconf, apr_pool_t * plog, apr_pool_t
      * ptemp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:178,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:181,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:181,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:188,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:188,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:195,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:195,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/simple/simple_api.c:202,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/simple/simple_api.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 209
    functionName: simple_check_config
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - simple_core_get
    linkageType: ''
    returnType: int
    signature: "int simple_check_config(apr_pool_t * p, apr_pool_t * plog,\n                    apr_pool_t
      * ptemp, server_rec * s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/simple/simple_api.c:215,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/simple/simple_api.c:217,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/simple/simple_api.c:219,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/simple/simple_api.c:221,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/simple/simple_api.c:223,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/simple/simple_api.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: simple_hooks
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    linkageType: ''
    returnType: void
    signature: void simple_hooks(apr_pool_t * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/simple/simple_api.c:231,1
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:236,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/simple/simple_api.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - baton
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: set_proccount
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - simple_core_get
    linkageType: ''
    returnType: char
    signature: "char *set_proccount(cmd_parms * cmd, void *baton,\n                                 const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simple_core_get
      Src: /src/httpd/server/mpm/simple/simple_api.c:244,1
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/simple/simple_api.c:245,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/simple/simple_api.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - baton
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: set_threadcount
    functionSourceFile: /src/httpd/server/mpm/simple/simple_api.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    - simple_core_get
    linkageType: ''
    returnType: char
    signature: "char *set_threadcount(cmd_parms * cmd, void *baton,\n                                   const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DosSetMaxFH
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:120,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:121,1
    - Dst: getppid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:121,1
    - Dst: DosGetNamedSharedMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:122,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:124,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:124,1
    - Dst: getppid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:124,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:135,1
    - Dst: apr_sockaddr_info_get
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:137,1
    - Dst: apr_socket_create
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:139,1
    - Dst: apr_os_sock_put
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:145,1
    - Dst: apr_socket_addr_get
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:146,1
    - Dst: DosFreeMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:150,1
    - Dst: ap_mpm_child_main
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:153,1
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:163,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:164,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:164,1
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:169,1
    - Dst: master_main
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:171,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:176,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:177,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 185
    functionName: mpmt_os2_run
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - apr_socket_create
    - apr_pcalloc
    - apr_socket_addr_get
    - master_main
    - DosGetNamedSharedMem
    - getpid
    - getppid
    - ap_mpm_child_main
    - APLOGNO
    - ap_log_pid
    - apr_os_sock_put
    - DosFreeMem
    - ap_remove_pid
    - ap_log_error
    - apr_psprintf
    - DosSetMaxFH
    - apr_sockaddr_info_get
    linkageType: ''
    returnType: int
    signature: int mpmt_os2_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:201,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:201,1
    - Dst: set_signals
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:202,1
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:205,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:205,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:215,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:215,1
    - Dst: DosAllocSharedMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:216,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:221,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:221,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:221,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:228,1
    - Dst: DosCreateMutexSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:235,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:238,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:238,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:238,1
    - Dst: DosAllocSharedMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:248,1
    - Dst: ap_calc_scoreboard_size
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:249,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:253,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:253,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:253,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:258,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:261,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:262,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:262,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:264,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:265,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:265,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:266,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:268,1
    - Dst: ap_mpm_child_main
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:269,1
    - Dst: spawn_child
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:287,1
    - Dst: DosWaitChild
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:292,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:312,1
    - Dst: kill
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:318,1
    - Dst: DosFreeMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:321,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 323
    functionName: master_main
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 1
    functionsReached:
    - spawn_child
    - apr_time_now
    - DosAllocSharedMem
    - apr_os_sock_get
    - ap_setup_listeners
    - getpid
    - ap_mpm_child_main
    - DosCreateMutexSem
    - ap_calc_scoreboard_size
    - ap_init_scoreboard
    - apr_psprintf
    - APR_FROM_OS_ERROR
    - DosWaitChild
    - ap_log_error
    - set_signals
    - ap_get_server_description
    - APLOGNO
    - ap_get_server_built
    - apr_sleep
    - DosFreeMem
    - kill
    - printf
    linkageType: ''
    returnType: int
    signature: int master_main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:337,1
    - Dst: DosQueryModuleName
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:338,1
    - Dst: DosExecPgm
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:339,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:343,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:343,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 352
    functionName: spawn_child
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 2
    functionsReached:
    - DosQueryModuleName
    - APLOGNO
    - DosGetInfoBlocks
    - ap_log_error
    - APR_FROM_OS_ERROR
    - DosExecPgm
    linkageType: ''
    returnType: void
    signature: void spawn_child(int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: sig_term
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void sig_term(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: sig_restart
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sig_restart(int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:381,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:385,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:386,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:386,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:388,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:389,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:389,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:393,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:394,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:394,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:395,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:396,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: set_signals
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 1
    functionsReached:
    - sigaction
    - APLOGNO
    - ap_log_error
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void set_signals()
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 450
    functionName: mpmt_os2_query
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mpmt_os2_query(int query_code, int *result, apr_status_t
      *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: mpmt_os2_get_name
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mpmt_os2_get_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:467,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:468,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:470,1
    - Dst: ap_sys_privileges_handlers
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: mpmt_os2_pre_config
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - ap_listen_pre_config
    - ap_sys_privileges_handlers
    linkageType: ''
    returnType: int
    signature: int mpmt_os2_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:496,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:496,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:500,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:500,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:509,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:509,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:514,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 522
    functionName: mpmt_os2_check_config
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int mpmt_os2_check_config(apr_pool_t *p, apr_pool_t *plog,\n                                 apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:528,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:529,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:530,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:531,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: mpmt_os2_hooks
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    linkageType: ''
    returnType: void
    signature: void mpmt_os2_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:539,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: set_daemons_to_start
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_daemons_to_start(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:554,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: set_min_spare_threads
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_min_spare_threads(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:569,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: set_max_spare_threads
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_max_spare_threads(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: ignore_cmd
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ignore_cmd(cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ID_FROM_CHILD_THREAD
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID_FROM_CHILD_THREAD(c, t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:85,1
    - Dst: exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 1
    functionsReached:
    - apr_pool_destroy
    - exit
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:99,1
    - Dst: DosSetSignalExceptionFocus
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:108,1
    - Dst: set_signals
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:109,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:112,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:113,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:115,1
    - Dst: DosCreateEventSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:118,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:121,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:121,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:121,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:123,1
    - Dst: DosGetNamedSharedMem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:127,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:131,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:131,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:131,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:133,1
    - Dst: ap_calc_scoreboard_size
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:136,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:137,1
    - Dst: DosOpenMutexSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:140,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:143,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:143,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:143,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:145,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:152,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:152,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:154,1
    - Dst: memset
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:158,1
    - Dst: DosCreateQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:163,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:163,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:166,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:166,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:166,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:168,1
    - Dst: _beginthread
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:177,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:184,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:193,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:202,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:203,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:204,1
    - Dst: apr_socket_accept
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:208,1
    - Dst: DosRequestMutexSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:213,1
    - Dst: DosReleaseMutexSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:216,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:220,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:223,1
    - Dst: DosReleaseMutexSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:224,1
    - Dst: apr_socket_accept
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:233,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:239,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:240,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:240,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:242,1
    - Dst: DosWriteQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:245,1
    - Dst: DosPostEventSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:254,1
    - Dst: DosWaitThread
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:255,1
    - Dst: DosWriteQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:263,1
    - Dst: DosSleep
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:273,1
    - Dst: DosPurgeQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:279,1
    - Dst: DosKillThread
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:283,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:288,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 289
    functionName: ap_mpm_child_main
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 2
    functionsReached:
    - apr_pollset_add
    - _beginthread
    - DosGetNamedSharedMem
    - ap_run_child_init
    - apr_pollset_poll
    - apr_pollset_create
    - DosCreateEventSem
    - getpid
    - DosSetSignalExceptionFocus
    - ap_calc_scoreboard_size
    - DosCreateQueue
    - ap_init_scoreboard
    - apr_psprintf
    - APR_FROM_OS_ERROR
    - DosPurgeQueue
    - apr_socket_accept
    - DosSleep
    - apr_pool_create
    - clean_child_exit
    - DosWriteQueue
    - ap_log_error
    - set_signals
    - apr_pool_destroy
    - APR_STATUS_IS_EINTR
    - memset
    - apr_palloc
    - DosRequestMutexSem
    - APLOGNO
    - DosPostEventSem
    - apr_pool_tag
    - DosOpenMutexSem
    - DosReleaseMutexSem
    - DosWaitThread
    - DosKillThread
    linkageType: ''
    returnType: void
    signature: void ap_mpm_child_main(apr_pool_t *pconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _beginthread
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: add_worker
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached:
    - _beginthread
    linkageType: ''
    returnType: void
    signature: void add_worker()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:324,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:324,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:325,1
    - Dst: _gettid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:327,1
    - Dst: kill
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:336,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:336,1
    - Dst: DosUnwindException
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pReportRec
    - pRegRec
    - pContext
    - p
    argTypes:
    - EXCEPTIONREPORTRECORD*
    - EXCEPTIONREGISTRATIONRECORD*
    - CONTEXTRECORD*
    - PVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 341
    functionName: thread_exception_handler
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached:
    - _gettid
    - getpid
    - APLOGNO
    - DosUnwindException
    - ap_log_error
    - kill
    linkageType: ''
    returnType: ULONG
    signature: "ULONG thread_exception_handler(EXCEPTIONREPORTRECORD *pReportRec,\n
      \                                       EXCEPTIONREGISTRATIONRECORD *pRegRec,\n
      \                                       CONTEXTRECORD *pContext,\n                                        PVOID
      p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DosSetExceptionHandler
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:366,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:368,1
    - Dst: apr_os_thread_put
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:369,1
    - Dst: DosOpenQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:371,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:372,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:372,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:375,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:375,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:375,1
    - Dst: ID_FROM_CHILD_THREAD
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:380,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:381,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:384,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:385,1
    - Dst: apr_bucket_alloc_create_ex
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:386,1
    - Dst: DosReadQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:388,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:391,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:392,1
    - Dst: ap_process_connection
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:398,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:399,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:402,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:403,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:407,1
    - Dst: apr_bucket_alloc_destroy
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:410,1
    - Dst: apr_allocator_destroy
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - vpArg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 412
    functionName: worker_main
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached:
    - ID_FROM_CHILD_THREAD
    - ap_run_create_connection
    - DosReadQueue
    - DosSetExceptionHandler
    - DosOpenQueue
    - getpid
    - apr_os_thread_put
    - apr_allocator_create
    - apr_psprintf
    - apr_os_thread_current
    - APR_FROM_OS_ERROR
    - apr_allocator_destroy
    - ap_process_connection
    - apr_bucket_alloc_destroy
    - ap_update_child_status_from_indexes
    - ap_log_error
    - apr_pool_destroy
    - ap_create_sb_handle
    - apr_bucket_alloc_create_ex
    - APLOGNO
    - apr_allocator_max_free_set
    - ap_lingering_close
    linkageType: ''
    returnType: void
    signature: void worker_main(void *vpArg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DosOpenQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:425,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:426,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:426,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:429,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:429,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:429,1
    - Dst: DosQueryQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:439,1
    - Dst: add_worker
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:444,1
    - Dst: DosWriteQueue
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:449,1
    - Dst: DosWaitEventSem
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - vpArg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 452
    functionName: server_maintenance
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached:
    - DosWaitEventSem
    - getpid
    - APLOGNO
    - add_worker
    - DosWriteQueue
    - ap_log_error
    - apr_psprintf
    - DosQueryQueue
    - DosOpenQueue
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: void
    signature: void server_maintenance(void *vpArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: sig_term
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void sig_term(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: sig_hup
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sig_hup(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:479,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:483,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:484,1
    - Dst: sigaction
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:488,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:489,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: set_signals
    functionSourceFile: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    functionUses: 2
    functionsReached:
    - sigaction
    - APLOGNO
    - ap_log_error
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void set_signals()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: MPM_CHILD_PID
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPM_CHILD_PID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: apr_time_from_msec
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_time_from_msec(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: CONN_STATE_IS_LINGERING_CLOSE
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_STATE_IS_LINGERING_CLOSE(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm/event/event.c:304,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/event/event.c:311,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/event/event.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - q
    - el
    argTypes:
    - struct timeout_queue*
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: TO_QUEUE_APPEND
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - APR_RING_INSERT_TAIL
    - apr_pollset_wakeup
    linkageType: ''
    returnType: void
    signature: void TO_QUEUE_APPEND(struct timeout_queue *q, event_conn_state_t *el)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:325,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/mpm/event/event.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - q
    - el
    argTypes:
    - struct timeout_queue*
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: TO_QUEUE_REMOVE
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APR_RING_REMOVE
    - APR_RING_ELEM_INIT
    linkageType: ''
    returnType: void
    signature: void TO_QUEUE_REMOVE(struct timeout_queue *q, event_conn_state_t *el)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:336,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/event/event.c:337,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - t
    - ref
    argTypes:
    - apr_pool_t*
    - apr_time_t
    - struct timeout_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: TO_QUEUE_MAKE
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - APR_RING_INIT
    linkageType: ''
    returnType: struct timeout_queue
    signature: "struct timeout_queue *TO_QUEUE_MAKE(apr_pool_t *p, apr_time_t t,\n
      \                                          struct timeout_queue *ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: TO_QUEUE_ELEM_INIT
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_QUEUE_ELEM_INIT(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: ID_FROM_CHILD_THREAD
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID_FROM_CHILD_THREAD(c, t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_cas32
      Src: /src/httpd/server/mpm/event/event.c:511,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/event/event.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: disable_listensocks
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_atomic_cas32
    - apr_pollset_remove
    linkageType: ''
    returnType: void
    signature: void disable_listensocks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_cas32
      Src: /src/httpd/server/mpm/event/event.c:526,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:529,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:529,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:533,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:534,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:535,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:536,1
    - Dst: ap_queue_info_num_idlers
      Src: /src/httpd/server/mpm/event/event.c:537,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 545
    functionName: enable_listensocks
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_atomic_read32
    - APLOGNO
    - apr_atomic_cas32
    - ap_log_error
    - ap_queue_info_num_idlers
    linkageType: ''
    returnType: void
    signature: void enable_listensocks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: apr_uint32_t::listeners_disabled
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_atomic_read32
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE apr_uint32_t listeners_disabled(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_info_num_idlers
      Src: /src/httpd/server/mpm/event/event.c:554,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:556,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:557,1
    - Dst: listeners_disabled
      Src: /src/httpd/server/mpm/event/event.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - busy
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: connections_above_limit
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - listeners_disabled
    - apr_atomic_read32
    - ap_queue_info_num_idlers
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE connections_above_limit(int *busy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listeners_disabled
      Src: /src/httpd/server/mpm/event/event.c:574,1
    - Dst: connections_above_limit
      Src: /src/httpd/server/mpm/event/event.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: should_enable_listensocks
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - listeners_disabled
    - connections_above_limit
    linkageType: ''
    returnType: APR_INLINE
    signature: APR_INLINE should_enable_listensocks(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/event/event.c:584,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:585,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/mpm/event/event.c:591,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/event/event.c:592,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:594,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:594,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - csd
    - from
    - line
    argTypes:
    - apr_socket_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 598
    functionName: close_socket_nonblocking_
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_socket_timeout_set
    - APLOGNO
    - apr_socket_close
    - AP_DEBUG_ASSERT
    - apr_os_sock_get
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void close_socket_nonblocking_(apr_socket_t *csd,\n                                      const
      char *from, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - csd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: close_socket_nonblocking
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: close_socket_nonblocking(csd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_socket_nonblocking
      Src: /src/httpd/server/mpm/event/event.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: close_worker_sockets
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - close_socket_nonblocking
    linkageType: ''
    returnType: void
    signature: void close_worker_sockets(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:616,1
    - Dst: disable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:620,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/event/event.c:624,1
    - Dst: ap_queue_info_term
      Src: /src/httpd/server/mpm/event/event.c:629,1
    - Dst: pthread_kill
      Src: /src/httpd/server/mpm/event/event.c:646,1
    - Dst: kill
      Src: /src/httpd/server/mpm/event/event.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 650
    functionName: wakeup_listener
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - pthread_kill
    - ap_queue_info_term
    - disable_listensocks
    - ap_log_error
    - apr_pollset_wakeup
    - kill
    linkageType: ''
    returnType: void
    signature: void wakeup_listener(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wakeup_listener
      Src: /src/httpd/server/mpm/event/event.c:669,1
    - Dst: ap_queue_interrupt_all
      Src: /src/httpd/server/mpm/event/event.c:677,1
    - Dst: close_worker_sockets
      Src: /src/httpd/server/mpm/event/event.c:678,1
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/event/event.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 682
    functionName: signal_threads
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - close_worker_sockets
    - wakeup_listener
    - ap_queue_interrupt_all
    - ap_run_child_stopping
    linkageType: ''
    returnType: void
    signature: void signal_threads(int mode)
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 750
    functionName: event_query
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:761,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/event/event.c:763,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:768,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/event/event.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - slot
    - pid
    - gen
    argTypes:
    - int
    - pid_t
    - ap_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 782
    functionName: event_note_child_stopped
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_update_child_status_from_indexes
    - ap_log_error
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void event_note_child_stopped(int slot, pid_t pid, ap_generation_t
      gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/event/event.c:792,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - slot
    - pid
    argTypes:
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 800
    functionName: event_note_child_started
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void event_note_child_started(int slot, pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: event_get_name
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *event_get_name(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/event/event.c:813,1
    - Dst: ap_run_child_stopped
      Src: /src/httpd/server/mpm/event/event.c:817,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/event/event.c:818,1
    - Dst: event_note_child_stopped
      Src: /src/httpd/server/mpm/event/event.c:822,1
    - Dst: exit
      Src: /src/httpd/server/mpm/event/event.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 826
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 2
    functionsReached:
    - ap_run_child_stopped
    - event_note_child_stopped
    - ap_run_child_stopping
    - apr_pool_destroy
    - exit
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: just_die
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - clean_child_exit
    linkageType: ''
    returnType: void
    signature: void just_die(int sig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:843,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/event/event.c:849,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/event/event.c:852,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/event/event.c:861,1
    - Dst: should_enable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:864,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/event/event.c:865,1
    - Dst: ap_queue_interrupt_one
      Src: /src/httpd/server/mpm/event/event.c:869,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - cs_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 872
    functionName: decrement_connection_count
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - should_enable_listensocks
    - ap_log_cerror
    - apr_pollset_wakeup
    - apr_atomic_dec32
    - ap_queue_interrupt_one
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t decrement_connection_count(void *cs_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_suspend_connection
      Src: /src/httpd/server/mpm/event/event.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cs
    argTypes:
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: notify_suspend
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_run_suspend_connection
    linkageType: ''
    returnType: void
    signature: void notify_suspend(event_conn_state_t *cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_resume_connection
      Src: /src/httpd/server/mpm/event/event.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cs
    - cleanup
    argTypes:
    - event_conn_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: notify_resume
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_run_resume_connection
    linkageType: ''
    returnType: void
    signature: void notify_resume(event_conn_state_t *cs, int cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:896,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/event/event.c:905,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm/event/event.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cs
    argTypes:
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 916
    functionName: defer_lingering_close
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_atomic_casptr
    - apr_atomic_inc32
    - ap_log_cerror
    linkageType: ''
    returnType: int
    signature: int defer_lingering_close(event_conn_state_t *cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:926,1
    - Dst: close_socket_nonblocking
      Src: /src/httpd/server/mpm/event/event.c:929,1
    - Dst: ap_queue_info_push_pool
      Src: /src/httpd/server/mpm/event/event.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cs
    argTypes:
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 931
    functionName: close_connection
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 7
    functionsReached:
    - close_socket_nonblocking
    - ap_queue_info_push_pool
    - ap_log_cerror
    linkageType: ''
    returnType: void
    signature: void close_connection(event_conn_state_t *cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_STATE_IS_LINGERING_CLOSE
      Src: /src/httpd/server/mpm/event/event.c:941,1
    - Dst: apr_table_setn
      Src: /src/httpd/server/mpm/event/event.c:942,1
    - Dst: defer_lingering_close
      Src: /src/httpd/server/mpm/event/event.c:943,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cs
    argTypes:
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: shutdown_connection
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 3
    functionsReached:
    - defer_lingering_close
    - apr_table_setn
    - CONN_STATE_IS_LINGERING_CLOSE
    - close_connection
    linkageType: ''
    returnType: int
    signature: int shutdown_connection(event_conn_state_t *cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify_resume
      Src: /src/httpd/server/mpm/event/event.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 964
    functionName: ptrans_pre_cleanup
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - notify_resume
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t ptrans_pre_cleanup(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 978
    functionName: event_request_cleanup
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t event_request_cleanup(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:982,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:986,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm/event/event.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - c
    argTypes:
    - request_rec*
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 990
    functionName: event_pre_read_request
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pool_cleanup_register
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void event_pre_read_request(request_rec *r, conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:999,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:1007,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1015
    functionName: event_post_read_request
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: int event_post_read_request(request_rec *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cs
    - default_sense
    argTypes:
    - event_conn_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1043
    functionName: update_reqevents_from_sense
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_reqevents_from_sense(event_conn_state_t *cs,\n                                        int
      default_sense)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ID_FROM_CHILD_THREAD
      Src: /src/httpd/server/mpm/event/event.c:1053,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:1059,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:1060,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/event/event.c:1061,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/event/event.c:1062,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/event/event.c:1063,1
    - Dst: ap_queue_info_push_pool
      Src: /src/httpd/server/mpm/event/event.c:1066,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/event/event.c:1069,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm/event/event.c:1070,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/mpm/event/event.c:1072,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:1077,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/server/mpm/event/event.c:1084,1
    - Dst: TO_QUEUE_ELEM_INIT
      Src: /src/httpd/server/mpm/event/event.c:1085,1
    - Dst: ap_update_vhost_given_ip
      Src: /src/httpd/server/mpm/event/event.c:1087,1
    - Dst: ap_pre_connection
      Src: /src/httpd/server/mpm/event/event.c:1089,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1091,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1091,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1093,1
    - Dst: ap_update_sb_handle
      Src: /src/httpd/server/mpm/event/event.c:1115,1
    - Dst: notify_resume
      Src: /src/httpd/server/mpm/event/event.c:1116,1
    - Dst: CONN_STATE_IS_LINGERING_CLOSE
      Src: /src/httpd/server/mpm/event/event.c:1122,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/event/event.c:1139,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/mpm/event/event.c:1141,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/event/event.c:1143,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1186,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1186,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1207,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1208,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/event/event.c:1210,1
    - Dst: update_reqevents_from_sense
      Src: /src/httpd/server/mpm/event/event.c:1215,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1216,1
    - Dst: TO_QUEUE_APPEND
      Src: /src/httpd/server/mpm/event/event.c:1217,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1218,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/server/mpm/event/event.c:1219,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1220,1
    - Dst: TO_QUEUE_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:1221,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1222,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1223,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1223,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1226,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1227,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1230,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/event/event.c:1242,1
    - Dst: ap_run_output_pending
      Src: /src/httpd/server/mpm/event/event.c:1246,1
    - Dst: ap_filter_should_yield
      Src: /src/httpd/server/mpm/event/event.c:1248,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1253,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1254,1
    - Dst: update_reqevents_from_sense
      Src: /src/httpd/server/mpm/event/event.c:1258,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1259,1
    - Dst: TO_QUEUE_APPEND
      Src: /src/httpd/server/mpm/event/event.c:1260,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1261,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/server/mpm/event/event.c:1262,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1263,1
    - Dst: TO_QUEUE_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:1264,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1265,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1266,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1266,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1269,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1270,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1273,1
    - Dst: ap_run_input_pending
      Src: /src/httpd/server/mpm/event/event.c:1281,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/event/event.c:1294,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1304,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1305,1
    - Dst: update_reqevents_from_sense
      Src: /src/httpd/server/mpm/event/event.c:1309,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1310,1
    - Dst: TO_QUEUE_APPEND
      Src: /src/httpd/server/mpm/event/event.c:1311,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1312,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/server/mpm/event/event.c:1313,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1314,1
    - Dst: TO_QUEUE_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:1315,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1316,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1317,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1317,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1320,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1321,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1324,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/event/event.c:1331,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1332,1
    - Dst: process_lingering_close
      Src: /src/httpd/server/mpm/event/event.c:1338,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 179
    argCount: 6
    argNames:
    - thd
    - p
    - sock
    - cs
    - my_child_num
    - my_thread_num
    argTypes:
    - apr_thread_t*
    - apr_pool_t*
    - apr_socket_t*
    - event_conn_state_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1339
    functionName: process_socket
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_time_now
    - TO_QUEUE_ELEM_INIT
    - apr_thread_mutex_unlock
    - ap_run_output_pending
    - ID_FROM_CHILD_THREAD
    - ap_run_create_connection
    - ap_update_child_status
    - TO_QUEUE_REMOVE
    - ap_run_input_pending
    - ap_queue_info_push_pool
    - ap_get_module_config
    - apr_atomic_inc32
    - ap_filter_should_yield
    - ap_log_cerror
    - apr_bucket_alloc_create
    - notify_suspend
    - ap_update_vhost_given_ip
    - notify_resume
    - close_connection
    - apr_pool_pre_cleanup_register
    - CONN_STATE_IS_LINGERING_CLOSE
    - signal_threads
    - APR_STATUS_IS_EEXIST
    - ap_log_error
    - apr_atomic_dec32
    - ap_update_sb_handle
    - ap_pre_connection
    - apr_thread_mutex_lock
    - ap_create_sb_handle
    - apr_pcalloc
    - update_reqevents_from_sense
    - TO_QUEUE_APPEND
    - ap_set_module_config
    - APLOGNO
    - AP_DEBUG_ASSERT
    - process_lingering_close
    - ap_run_process_connection
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void process_socket(apr_thread_t *thd, apr_pool_t * p, apr_socket_t
      * sock,\n                          event_conn_state_t * cs, int my_child_num,\n
      \                         int my_thread_num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1346,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1346,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1350,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1350,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/event/event.c:1354,1
    - Dst: CONN_STATE_IS_LINGERING_CLOSE
      Src: /src/httpd/server/mpm/event/event.c:1357,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1358,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1359,1
    - Dst: update_reqevents_from_sense
      Src: /src/httpd/server/mpm/event/event.c:1363,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1364,1
    - Dst: TO_QUEUE_APPEND
      Src: /src/httpd/server/mpm/event/event.c:1365,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1366,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1367,1
    - Dst: process_lingering_close
      Src: /src/httpd/server/mpm/event/event.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1374
    functionName: event_resume_suspended
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_thread_mutex_lock
    - apr_time_now
    - ap_log_cerror
    - notify_suspend
    - update_reqevents_from_sense
    - TO_QUEUE_APPEND
    - apr_thread_mutex_unlock
    - APLOGNO
    - process_lingering_close
    - apr_atomic_dec32
    - CONN_STATE_IS_LINGERING_CLOSE
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t event_resume_suspended (conn_rec *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1382,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1388
    functionName: check_infinite_requests
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - signal_threads
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void check_infinite_requests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1395,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:1397,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/event/event.c:1398,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:1403,1
    - Dst: kill
      Src: /src/httpd/server/mpm/event/event.c:1407,1
    - Dst: ap_queue_info_free_idle_pools
      Src: /src/httpd/server/mpm/event/event.c:1409,1
    - Dst: ap_queue_interrupt_all
      Src: /src/httpd/server/mpm/event/event.c:1410,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1416,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - closed
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1390
    functionDepth: 3
    functionLinenumber: 1390
    functionLinenumberEnd: 1420
    functionName: close_listeners
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 3
    functionsReached:
    - apr_atomic_read32
    - ap_queue_interrupt_all
    - ap_queue_info_free_idle_pools
    - ap_update_child_status_from_indexes
    - ap_log_error
    - kill
    - ap_close_listeners_ex
    linkageType: ''
    returnType: int
    signature: int close_listeners(int *closed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/httpd/server/mpm/event/event.c:1426,1
    - Dst: sigaddset
      Src: /src/httpd/server/mpm/event/event.c:1427,1
    - Dst: sigprocmask
      Src: /src/httpd/server/mpm/event/event.c:1429,1
    - Dst: pthread_sigmask
      Src: /src/httpd/server/mpm/event/event.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1433
    functionName: unblock_signal
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - sigaddset
    - sigemptyset
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void unblock_signal(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1440
    functionName: dummy_signal_handler
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_signal_handler(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/event/event.c:1450,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_baton
    - pfd
    - serf_baton
    argTypes:
    - void*
    - apr_pollfd_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1455
    functionName: s_socket_add
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - ap_malloc
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t s_socket_add(void *user_baton,\n                                 apr_pollfd_t
      *pfd,\n                                 void *serf_baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/mpm/event/event.c:1463,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/event/event.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - user_baton
    - pfd
    - serf_baton
    argTypes:
    - void*
    - apr_pollfd_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1465
    functionName: s_socket_remove
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_remove
    - free
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t s_socket_remove(void *user_baton,\n                                    apr_pollfd_t
      *pfd,\n                                    void *serf_baton)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:1473,1
    - Dst: serf_context_create_ex
      Src: /src/httpd/server/mpm/event/event.c:1478,1
    - Dst: ap_register_provider
      Src: /src/httpd/server/mpm/event/event.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1484
    functionName: init_serf
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_register_provider
    - serf_context_create_ex
    - apr_pcalloc
    linkageType: ''
    returnType: void
    signature: void init_serf(apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_push_timer
      Src: /src/httpd/server/mpm/event/event.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - te
    argTypes:
    - timer_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: push_timer2worker
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_queue_push_timer
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t push_timer2worker(timer_event_t* te)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_push_socket
      Src: /src/httpd/server/mpm/event/event.c:1505,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1507,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1507,1
    - Dst: shutdown_connection
      Src: /src/httpd/server/mpm/event/event.c:1513,1
    - Dst: close_socket_nonblocking
      Src: /src/httpd/server/mpm/event/event.c:1517,1
    - Dst: ap_queue_info_push_pool
      Src: /src/httpd/server/mpm/event/event.c:1520,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cs
    - csd
    - ptrans
    argTypes:
    - event_conn_state_t*
    - apr_socket_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1527
    functionName: push2worker
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - close_socket_nonblocking
    - APLOGNO
    - signal_threads
    - shutdown_connection
    - ap_log_error
    - ap_queue_info_push_pool
    - ap_queue_push_socket
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t push2worker(event_conn_state_t *cs, apr_socket_t *csd,\n
      \                               apr_pool_t *ptrans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_queue_info_wait_for_idler
      Src: /src/httpd/server/mpm/event/event.c:1550,1
    - Dst: ap_queue_info_try_get_idler
      Src: /src/httpd/server/mpm/event/event.c:1552,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/server/mpm/event/event.c:1554,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1561,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1561,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - have_idle_worker_p
    - blocking
    - all_busy
    argTypes:
    - int*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1538
    functionDepth: 2
    functionLinenumber: 1538
    functionLinenumberEnd: 1566
    functionName: get_worker
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 4
    functionsReached:
    - APR_STATUS_IS_EOF
    - APLOGNO
    - signal_threads
    - ap_log_error
    - ap_queue_info_wait_for_idler
    - ap_queue_info_try_get_idler
    linkageType: ''
    returnType: void
    signature: void get_worker(int *have_idle_worker_p, int blocking, int *all_busy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1596,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1599
    functionName: timer_comp
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: int timer_comp(void *a, void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1610,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1614,1
    - Dst: APR_RING_EMPTY
      Src: /src/httpd/server/mpm/event/event.c:1616,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/event/event.c:1617,1
    - Dst: APR_RING_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:1618,1
    - Dst: apr_skiplist_alloc
      Src: /src/httpd/server/mpm/event/event.c:1621,1
    - Dst: APR_RING_ELEM_INIT
      Src: /src/httpd/server/mpm/event/event.c:1622,1
    - Dst: apr_skiplist_insert
      Src: /src/httpd/server/mpm/event/event.c:1635,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/event/event.c:1645,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - t
    - cbfn
    - baton
    - insert
    - pfds
    argTypes:
    - apr_time_t
    - ap_mpm_callback_fn_t*
    - void*
    - int
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1652
    functionName: event_get_timer_event
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_thread_mutex_lock
    - apr_time_now
    - APR_RING_ELEM_INIT
    - APR_RING_EMPTY
    - apr_thread_mutex_unlock
    - APR_RING_REMOVE
    - apr_skiplist_insert
    - apr_pollset_wakeup
    - apr_skiplist_alloc
    linkageType: ''
    returnType: timer_event_t
    signature: "timer_event_t * event_get_timer_event(apr_time_t t,\n                                             ap_mpm_callback_fn_t
      *cbfn,\n                                             void *baton,\n                                             int
      insert, \n                                             apr_array_header_t *pfds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_get_timer_event
      Src: /src/httpd/server/mpm/event/event.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - t
    - cbfn
    - baton
    - pfds
    argTypes:
    - apr_time_t
    - ap_mpm_callback_fn_t*
    - void*
    - apr_array_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1661
    functionName: event_register_timed_callback_ex
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - event_get_timer_event
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t event_register_timed_callback_ex(apr_time_t t,\n                                                  ap_mpm_callback_fn_t
      *cbfn,\n                                                  void *baton, \n                                                  apr_array_header_t
      *pfds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_register_timed_callback_ex
      Src: /src/httpd/server/mpm/event/event.c:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - cbfn
    - baton
    argTypes:
    - apr_time_t
    - ap_mpm_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1669
    functionName: event_register_timed_callback
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - event_register_timed_callback_ex
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t event_register_timed_callback(apr_time_t t,\n                                                  ap_mpm_callback_fn_t
      *cbfn,\n                                                  void *baton)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/event/event.c:1681,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/server/mpm/event/event.c:1682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1690
    functionName: event_cleanup_poll_callback
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_remove
    - APR_STATUS_IS_NOTFOUND
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t event_cleanup_poll_callback(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:1699,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/event/event.c:1700,1
    - Dst: apr_array_copy
      Src: /src/httpd/server/mpm/event/event.c:1709,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/server/mpm/event/event.c:1711,1
    - Dst: event_get_timer_event
      Src: /src/httpd/server/mpm/event/event.c:1729,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - p
    - pfds
    - cbfn
    - tofn
    - baton
    - timeout
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - ap_mpm_callback_fn_t*
    - ap_mpm_callback_fn_t*
    - void*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1741
    functionName: event_register_poll_callback_ex
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_palloc
    - apr_pcalloc
    - apr_array_copy
    - event_get_timer_event
    - apr_pool_pre_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t event_register_poll_callback_ex(apr_pool_t *p,\n                                                const
      apr_array_header_t *pfds,\n                                                ap_mpm_callback_fn_t
      *cbfn,\n                                                ap_mpm_callback_fn_t
      *tofn,\n                                                void *baton,\n                                                apr_time_t
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_register_poll_callback_ex
      Src: /src/httpd/server/mpm/event/event.c:1748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - pfds
    - cbfn
    - baton
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - ap_mpm_callback_fn_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1754
    functionName: event_register_poll_callback
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - event_register_poll_callback_ex
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t event_register_poll_callback(apr_pool_t *p,\n                                                 const
      apr_array_header_t *pfds,\n                                                 ap_mpm_callback_fn_t
      *cbfn,\n                                                 void *baton)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_conn_socket
      Src: /src/httpd/server/mpm/event/event.c:1768,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1774,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1776,1
    - Dst: CONN_STATE_IS_LINGERING_CLOSE
      Src: /src/httpd/server/mpm/event/event.c:1776,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/event/event.c:1784,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/mpm/event/event.c:1787,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:1787,1
    - Dst: ap_start_lingering_close
      Src: /src/httpd/server/mpm/event/event.c:1788,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1789,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1790,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/mpm/event/event.c:1795,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/event/event.c:1796,1
    - Dst: apr_table_get
      Src: /src/httpd/server/mpm/event/event.c:1803,1
    - Dst: notify_suspend
      Src: /src/httpd/server/mpm/event/event.c:1810,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1819,1
    - Dst: apr_socket_recv
      Src: /src/httpd/server/mpm/event/event.c:1824,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/mpm/event/event.c:1827,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1828,1
    - Dst: update_reqevents_from_sense
      Src: /src/httpd/server/mpm/event/event.c:1833,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1835,1
    - Dst: TO_QUEUE_APPEND
      Src: /src/httpd/server/mpm/event/event.c:1836,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:1837,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/server/mpm/event/event.c:1838,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1839,1
    - Dst: TO_QUEUE_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:1840,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1841,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1842,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1842,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:1844,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:1845,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - cs
    argTypes:
    - event_conn_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1766
    functionDepth: 4
    functionLinenumber: 1766
    functionLinenumberEnd: 1849
    functionName: process_lingering_close
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 2
    functionsReached:
    - apr_pollset_add
    - apr_socket_opt_set
    - ap_get_conn_socket
    - apr_time_now
    - ap_start_lingering_close
    - apr_thread_mutex_unlock
    - TO_QUEUE_REMOVE
    - apr_atomic_inc32
    - ap_log_cerror
    - notify_suspend
    - close_connection
    - apr_table_get
    - APR_STATUS_IS_EAGAIN
    - CONN_STATE_IS_LINGERING_CLOSE
    - apr_time_from_sec
    - apr_socket_timeout_set
    - signal_threads
    - APR_STATUS_IS_EEXIST
    - ap_log_error
    - apr_thread_mutex_lock
    - update_reqevents_from_sense
    - TO_QUEUE_APPEND
    - AP_DEBUG_ASSERT
    - APLOGNO
    - apr_socket_recv
    linkageType: ''
    returnType: void
    signature: void process_lingering_close(event_conn_state_t *cs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/event/event.c:1868,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/event/event.c:1871,1
    - Dst: APR_RING_SENTINEL
      Src: /src/httpd/server/mpm/event/event.c:1872,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/event/event.c:1900,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/server/mpm/event/event.c:1901,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1902,1
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/event/event.c:1903,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:1903,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm/event/event.c:1906,1
    - Dst: APR_RING_UNSPLICE
      Src: /src/httpd/server/mpm/event/event.c:1912,1
    - Dst: APR_RING_SPLICE_TAIL
      Src: /src/httpd/server/mpm/event/event.c:1913,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:1915,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:1923,1
    - Dst: APR_RING_FIRST
      Src: /src/httpd/server/mpm/event/event.c:1924,1
    - Dst: APR_RING_NEXT
      Src: /src/httpd/server/mpm/event/event.c:1926,1
    - Dst: TO_QUEUE_ELEM_INIT
      Src: /src/httpd/server/mpm/event/event.c:1927,1
    - Dst: func
      Src: /src/httpd/server/mpm/event/event.c:1928,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:1931,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - q
    - expiry
    argTypes:
    - struct timeout_queue*
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1932
    functionName: process_timeout_queue
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APR_RING_FIRST
    - apr_thread_mutex_lock
    - APR_RING_UNSPLICE
    - ap_log_cerror
    - apr_thread_mutex_unlock
    - TO_QUEUE_ELEM_INIT
    - AP_DEBUG_ASSERT
    - APLOGNO
    - func
    - apr_pollset_remove
    - APR_STATUS_IS_NOTFOUND
    - APR_RING_INIT
    - APR_RING_NEXT
    - APR_RING_SENTINEL
    - APR_RING_SPLICE_TAIL
    linkageType: ''
    returnType: void
    signature: "void process_timeout_queue(struct timeout_queue *q, apr_time_t expiry,\n
      \                                 int (*func)(event_conn_state_t *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:1940,1
    - Dst: process_timeout_queue
      Src: /src/httpd/server/mpm/event/event.c:1944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - expiry
    argTypes:
    - apr_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1945
    functionName: process_keepalive_queue
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - process_timeout_queue
    linkageType: ''
    returnType: void
    signature: void process_keepalive_queue(apr_time_t expiry)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/event/event.c:1952,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:1957,1
    - Dst: free
      Src: /src/httpd/server/mpm/event/event.c:1958,1
    - Dst: init_serf
      Src: /src/httpd/server/mpm/event/event.c:1961,1
    - Dst: apr_thread_pool_get
      Src: /src/httpd/server/mpm/event/event.c:1961,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/event/event.c:1967,1
    - Dst: unblock_signal
      Src: /src/httpd/server/mpm/event/event.c:1968,1
    - Dst: check_infinite_requests
      Src: /src/httpd/server/mpm/event/event.c:1980,1
    - Dst: close_listeners
      Src: /src/httpd/server/mpm/event/event.c:1983,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:1986,1
    - Dst: APLOGtrace6
      Src: /src/httpd/server/mpm/event/event.c:1999,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:2000,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:2002,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2003,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2007,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2008,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2009,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2010,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2011,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2012,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2013,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2014,1
    - Dst: serf_context_prerun
      Src: /src/httpd/server/mpm/event/event.c:2021,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:2033,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:2041,1
    - Dst: apr_skiplist_peek
      Src: /src/httpd/server/mpm/event/event.c:2042,1
    - Dst: apr_skiplist_pop
      Src: /src/httpd/server/mpm/event/event.c:2048,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/server/mpm/event/event.c:2052,1
    - Dst: push_timer2worker
      Src: /src/httpd/server/mpm/event/event.c:2055,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm/event/event.c:2058,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:2065,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/event/event.c:2088,1
    - Dst: apr_time_as_msec
      Src: /src/httpd/server/mpm/event/event.c:2089,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/event/event.c:2089,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2093,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/server/mpm/event/event.c:2100,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/event/event.c:2102,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm/event/event.c:2102,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2103,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2104,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2107,1
    - Dst: APLOGtrace7
      Src: /src/httpd/server/mpm/event/event.c:2112,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:2113,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2114,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2119,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2163,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2164,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/event/event.c:2167,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:2171,1
    - Dst: TO_QUEUE_REMOVE
      Src: /src/httpd/server/mpm/event/event.c:2172,1
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/event/event.c:2173,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:2174,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/server/mpm/event/event.c:2181,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:2182,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2183,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2184,1
    - Dst: close_connection
      Src: /src/httpd/server/mpm/event/event.c:2185,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2186,1
    - Dst: get_worker
      Src: /src/httpd/server/mpm/event/event.c:2196,1
    - Dst: shutdown_connection
      Src: /src/httpd/server/mpm/event/event.c:2199,1
    - Dst: push2worker
      Src: /src/httpd/server/mpm/event/event.c:2201,1
    - Dst: listeners_disabled
      Src: /src/httpd/server/mpm/event/event.c:2206,1
    - Dst: disable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:2209,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2210,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2211,1
    - Dst: connections_above_limit
      Src: /src/httpd/server/mpm/event/event.c:2215,1
    - Dst: disable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:2216,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2217,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2218,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2221,1
    - Dst: ap_queue_info_num_idlers
      Src: /src/httpd/server/mpm/event/event.c:2222,1
    - Dst: ap_queue_info_pop_pool
      Src: /src/httpd/server/mpm/event/event.c:2228,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/event/event.c:2234,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/event/event.c:2236,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/event/event.c:2238,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/event/event.c:2241,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/event/event.c:2242,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2246,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2247,1
    - Dst: apr_allocator_destroy
      Src: /src/httpd/server/mpm/event/event.c:2250,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2253,1
    - Dst: get_worker
      Src: /src/httpd/server/mpm/event/event.c:2258,1
    - Dst: ap_listen_rec*::accept_func
      Src: /src/httpd/server/mpm/event/event.c:2259,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:2264,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2269,1
    - Dst: ap_accept_error_is_nonfatal
      Src: /src/httpd/server/mpm/event/event.c:2271,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2272,1
    - Dst: push2worker
      Src: /src/httpd/server/mpm/event/event.c:2278,1
    - Dst: ap_queue_info_push_pool
      Src: /src/httpd/server/mpm/event/event.c:2283,1
    - Dst: serf_event_trigger
      Src: /src/httpd/server/mpm/event/event.c:2291,1
    - Dst: apr_pool_cleanup_run
      Src: /src/httpd/server/mpm/event/event.c:2321,1
    - Dst: event_get_timer_event
      Src: /src/httpd/server/mpm/event/event.c:2325,1
    - Dst: push_timer2worker
      Src: /src/httpd/server/mpm/event/event.c:2330,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:2342,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2343,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:2346,1
    - Dst: process_keepalive_queue
      Src: /src/httpd/server/mpm/event/event.c:2353,1
    - Dst: process_keepalive_queue
      Src: /src/httpd/server/mpm/event/event.c:2356,1
    - Dst: process_timeout_queue
      Src: /src/httpd/server/mpm/event/event.c:2360,1
    - Dst: process_timeout_queue
      Src: /src/httpd/server/mpm/event/event.c:2363,1
    - Dst: process_timeout_queue
      Src: /src/httpd/server/mpm/event/event.c:2370,1
    - Dst: process_timeout_queue
      Src: /src/httpd/server/mpm/event/event.c:2373,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:2375,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2376,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2381,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2382,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2383,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2384,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2385,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2386,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2389,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:2390,1
    - Dst: process_keepalive_queue
      Src: /src/httpd/server/mpm/event/event.c:2391,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:2392,1
    - Dst: get_worker
      Src: /src/httpd/server/mpm/event/event.c:2406,1
    - Dst: push2worker
      Src: /src/httpd/server/mpm/event/event.c:2409,1
    - Dst: should_enable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:2414,1
    - Dst: enable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:2415,1
    - Dst: ap_queue_term
      Src: /src/httpd/server/mpm/event/event.c:2419,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/event/event.c:2421,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 240
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 1947
    functionDepth: 4
    functionLinenumber: 1947
    functionLinenumberEnd: 2423
    functionName: APR_THREAD_FUNC::listener_thread
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_queue_info_pop_pool
    - apr_signal
    - apr_time_now
    - apr_thread_mutex_unlock
    - close_listeners
    - apr_pollset_poll
    - disable_listensocks
    - TO_QUEUE_REMOVE
    - APR_STATUS_IS_TIMEUP
    - serf_context_prerun
    - push2worker
    - ap_queue_info_push_pool
    - ap_listen_rec*::accept_func
    - ap_queue_info_num_idlers
    - push_timer2worker
    - apr_atomic_read32
    - apr_skiplist_peek
    - APR_RING_INSERT_TAIL
    - shutdown_connection
    - apr_allocator_create
    - apr_time_from_msec
    - APR_STATUS_IS_NOTFOUND
    - close_connection
    - apr_skiplist_pop
    - apr_pool_create_ex
    - apr_allocator_destroy
    - apr_pool_cleanup_run
    - should_enable_listensocks
    - apr_time_from_sec
    - APLOGtrace6
    - signal_threads
    - ap_queue_term
    - init_serf
    - listeners_disabled
    - apr_thread_pool_get
    - apr_pollset_remove
    - ap_log_error
    - process_keepalive_queue
    - event_get_timer_event
    - APLOGtrace7
    - ap_assert
    - free
    - ap_get_scoreboard_process
    - serf_event_trigger
    - apr_thread_mutex_lock
    - APR_STATUS_IS_EINTR
    - apr_time_as_msec
    - apr_allocator_owner_set
    - unblock_signal
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_pool_tag
    - apr_thread_exit
    - check_infinite_requests
    - apr_allocator_max_free_set
    - ap_accept_error_is_nonfatal
    - process_timeout_queue
    - get_worker
    - connections_above_limit
    - enable_listensocks
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC listener_thread(apr_thread_t * thd, void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2434,1
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/event/event.c:2435,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:2438,1
    - Dst: apr_atomic_cas32
      Src: /src/httpd/server/mpm/event/event.c:2443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2431
    functionDepth: 1
    functionLinenumber: 2431
    functionLinenumberEnd: 2451
    functionName: worker_thread_should_exit_early
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_atomic_cas32
    - AP_DEBUG_ASSERT
    - apr_atomic_read32
    linkageType: ''
    returnType: int
    signature: int worker_thread_should_exit_early(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/mpm/event/event.c:2468,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/event/event.c:2471,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:2473,1
    - Dst: ap_queue_info_set_idle
      Src: /src/httpd/server/mpm/event/event.c:2483,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2485,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2486,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2489,1
    - Dst: should_enable_listensocks
      Src: /src/httpd/server/mpm/event/event.c:2495,1
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/event/event.c:2496,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:2501,1
    - Dst: worker_thread_should_exit_early
      Src: /src/httpd/server/mpm/event/event.c:2508,1
    - Dst: ap_queue_pop_something
      Src: /src/httpd/server/mpm/event/event.c:2512,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/server/mpm/event/event.c:2519,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/event/event.c:2533,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2538,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2539,1
    - Dst: timer_event_t*::cbfunc
      Src: /src/httpd/server/mpm/event/event.c:2544,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/event/event.c:2546,1
    - Dst: APR_RING_INSERT_TAIL
      Src: /src/httpd/server/mpm/event/event.c:2547,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/event/event.c:2548,1
    - Dst: process_socket
      Src: /src/httpd/server/mpm/event/event.c:2555,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm/event/event.c:2566,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:2572,1
    - Dst: process_socket
      Src: /src/httpd/server/mpm/event/event.c:2575,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:2580,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/event/event.c:2584,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2460
    functionDepth: 3
    functionLinenumber: 2460
    functionLinenumberEnd: 2586
    functionName: APR_THREAD_FUNC::worker_thread
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_unlock
    - process_socket
    - apr_pollset_wakeup
    - APR_RING_INSERT_TAIL
    - apr_atomic_casptr
    - apr_os_thread_current
    - ap_queue_pop_something
    - should_enable_listensocks
    - APR_STATUS_IS_EOF
    - timer_event_t*::cbfunc
    - signal_threads
    - ap_update_child_status_from_indexes
    - ap_log_error
    - free
    - apr_thread_mutex_lock
    - APR_STATUS_IS_EINTR
    - worker_thread_should_exit_early
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_thread_exit
    - ap_queue_info_set_idle
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC worker_thread(apr_thread_t * thd, void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2596
    functionName: check_signal
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_signal(int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/event/event.c:2605,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/event/event.c:2608,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2611,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2611,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2614,1
    - Dst: apr_os_thread_get
      Src: /src/httpd/server/mpm/event/event.c:2616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - thread_starter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2598
    functionDepth: 2
    functionLinenumber: 2598
    functionLinenumberEnd: 2617
    functionName: create_listener_thread
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_os_thread_get
    - ap_thread_create
    - clean_child_exit
    - ap_log_error
    - ap_malloc
    linkageType: ''
    returnType: void
    signature: void create_listener_thread(thread_starter * ts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/event/event.c:2643,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/event/event.c:2644,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/event/event.c:2645,1
    - Dst: APR_RING_INIT
      Src: /src/httpd/server/mpm/event/event.c:2646,1
    - Dst: apr_skiplist_init
      Src: /src/httpd/server/mpm/event/event.c:2647,1
    - Dst: apr_skiplist_set_compare
      Src: /src/httpd/server/mpm/event/event.c:2648,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/event/event.c:2660,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/event/event.c:2661,1
    - Dst: ap_queue_create
      Src: /src/httpd/server/mpm/event/event.c:2665,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2667,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2667,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2669,1
    - Dst: ap_queue_info_create
      Src: /src/httpd/server/mpm/event/event.c:2679,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2682,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2682,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2684,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/event/event.c:2690,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2693,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2693,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2695,1
    - Dst: apr_pollset_create_ex
      Src: /src/httpd/server/mpm/event/event.c:2705,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/event/event.c:2714,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/event/event.c:2721,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2726,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2726,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2728,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:2732,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:2738,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:2754,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/event/event.c:2759,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/event/event.c:2760,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:2765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2767
    functionName: setup_threads_runtime
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_socket_opt_set
    - apr_pcalloc
    - APLOGNO
    - AP_DEBUG_ASSERT
    - apr_pool_tag
    - ap_queue_create
    - apr_skiplist_init
    - apr_pool_create
    - apr_pollset_create_ex
    - clean_child_exit
    - apr_pollset_create
    - ap_log_error
    - apr_skiplist_set_compare
    - APR_RING_INIT
    - ap_queue_info_create
    - apr_thread_mutex_create
    linkageType: ''
    returnType: void
    signature: void setup_threads_runtime(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2787,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2787,1
    - Dst: apr_pollset_method_name
      Src: /src/httpd/server/mpm/event/event.c:2789,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/event/event.c:2803,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:2808,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/event/event.c:2813,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/event/event.c:2816,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2817,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2818,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:2828,1
    - Dst: ap_queue_term
      Src: /src/httpd/server/mpm/event/event.c:2831,1
    - Dst: kill
      Src: /src/httpd/server/mpm/event/event.c:2833,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/event/event.c:2835,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2838,1
    - Dst: create_listener_thread
      Src: /src/httpd/server/mpm/event/event.c:2845,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/event/event.c:2854,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:2854,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2858,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2859,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/event/event.c:2879,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2774
    functionDepth: 3
    functionLinenumber: 2774
    functionLinenumberEnd: 2881
    functionName: APR_THREAD_FUNC::start_threads
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_pollset_method_name
    - apr_time_from_sec
    - APLOGNO
    - signal_threads
    - ap_queue_term
    - apr_thread_exit
    - create_listener_thread
    - ap_thread_create
    - ap_update_child_status_from_indexes
    - clean_child_exit
    - ap_log_error
    - apr_sleep
    - kill
    - ap_malloc
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC start_threads(apr_thread_t * thd, void *dummy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/event/event.c:2901,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/event/event.c:2901,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2906,1
    - Dst: wakeup_listener
      Src: /src/httpd/server/mpm/event/event.c:2908,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2911,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2911,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/event/event.c:2915,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2917,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2917,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/event/event.c:2925,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2927,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2927,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - listener
    - threads
    argTypes:
    - apr_thread_t*
    - apr_thread_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2883
    functionDepth: 0
    functionLinenumber: 2883
    functionLinenumberEnd: 2933
    functionName: join_workers
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - wakeup_listener
    - APLOGNO
    - apr_thread_join
    - apr_time_from_msec
    - apr_sleep
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void join_workers(apr_thread_t * listener, apr_thread_t ** threads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/event/event.c:2943,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2945,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - start_thread_id
    argTypes:
    - apr_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2948
    functionName: join_start_thread
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - apr_thread_join
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void join_start_thread(apr_thread_t * start_thread_id)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/event/event.c:2962,1
    - Dst: ap_fatal_signal_child_setup
      Src: /src/httpd/server/mpm/event/event.c:2964,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/event/event.c:2969,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/event/event.c:2970,1
    - Dst: ap_thread_main_create
      Src: /src/httpd/server/mpm/event/event.c:2975,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:2976,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:2976,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2978,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/event/event.c:2986,1
    - Dst: ap_mpm_podx_close
      Src: /src/httpd/server/mpm/event/event.c:2987,1
    - Dst: ap_reopen_scoreboard
      Src: /src/httpd/server/mpm/event/event.c:2992,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/server/mpm/event/event.c:2995,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:2996,1
    - Dst: apr_setup_signal_thread
      Src: /src/httpd/server/mpm/event/event.c:3005,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3007,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3007,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:3009,1
    - Dst: srand
      Src: /src/httpd/server/mpm/event/event.c:3013,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:3013,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/event/event.c:3015,1
    - Dst: setup_threads_runtime
      Src: /src/httpd/server/mpm/event/event.c:3028,1
    - Dst: ap_calloc
      Src: /src/httpd/server/mpm/event/event.c:3033,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/event/event.c:3034,1
    - Dst: apr_threadattr_create
      Src: /src/httpd/server/mpm/event/event.c:3036,1
    - Dst: apr_threadattr_detach_set
      Src: /src/httpd/server/mpm/event/event.c:3038,1
    - Dst: apr_threadattr_stacksize_set
      Src: /src/httpd/server/mpm/event/event.c:3041,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3043,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3043,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/event/event.c:3055,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3058,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3058,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:3061,1
    - Dst: apr_signal_thread
      Src: /src/httpd/server/mpm/event/event.c:3070,1
    - Dst: join_start_thread
      Src: /src/httpd/server/mpm/event/event.c:3078,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:3083,1
    - Dst: join_workers
      Src: /src/httpd/server/mpm/event/event.c:3092,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/event/event.c:3099,1
    - Dst: unblock_signal
      Src: /src/httpd/server/mpm/event/event.c:3100,1
    - Dst: ap_mpm_podx_check
      Src: /src/httpd/server/mpm/event/event.c:3103,1
    - Dst: join_start_thread
      Src: /src/httpd/server/mpm/event/event.c:3119,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/event/event.c:3120,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3133,1
    - Dst: join_workers
      Src: /src/httpd/server/mpm/event/event.c:3136,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3137,1
    - Dst: free
      Src: /src/httpd/server/mpm/event/event.c:3142,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/event/event.c:3144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 2
    argNames:
    - child_num_arg
    - child_bucket
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3145
      start: 2950
    functionDepth: 2
    functionLinenumber: 2950
    functionLinenumberEnd: 3145
    functionName: child_main
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 2
    functionsReached:
    - ap_calloc
    - apr_signal
    - apr_time_now
    - ap_run_child_init
    - srand
    - getpid
    - ap_reopen_scoreboard
    - ap_mpm_podx_close
    - ap_thread_create
    - signal_threads
    - join_workers
    - apr_pool_create
    - apr_threadattr_stacksize_set
    - clean_child_exit
    - ap_log_error
    - apr_threadattr_create
    - setup_threads_runtime
    - apr_signal_thread
    - ap_close_listeners_ex
    - free
    - apr_setup_signal_thread
    - apr_palloc
    - join_start_thread
    - ap_fatal_signal_child_setup
    - APLOGNO
    - apr_pool_tag
    - unblock_signal
    - ap_thread_main_create
    - ap_run_drop_privileges
    - ap_mpm_podx_check
    - apr_threadattr_detach_set
    linkageType: ''
    returnType: void
    signature: void child_main(int child_num_arg, int child_bucket)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3157,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3157,1
    - Dst: event_note_child_started
      Src: /src/httpd/server/mpm/event/event.c:3167,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/event/event.c:3167,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/event/event.c:3168,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/event/event.c:3170,1
    - Dst: fork
      Src: /src/httpd/server/mpm/event/event.c:3174,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3175,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3175,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/event/event.c:3188,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:3188,1
    - Dst: ap_thread_current_after_fork
      Src: /src/httpd/server/mpm/event/event.c:3195,1
    - Dst: bindprocessor
      Src: /src/httpd/server/mpm/event/event.c:3204,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/event/event.c:3204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3207,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3208,1
    - Dst: RAISE_SIGSTOP
      Src: /src/httpd/server/mpm/event/event.c:3211,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/event/event.c:3213,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/event/event.c:3214,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/event/event.c:3216,1
    - Dst: event_note_child_started
      Src: /src/httpd/server/mpm/event/event.c:3220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - s
    - slot
    - bucket
    argTypes:
    - server_rec*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3147
    functionDepth: 1
    functionLinenumber: 3147
    functionLinenumberEnd: 3222
    functionName: make_child
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - bindprocessor
    - apr_time_from_sec
    - apr_signal
    - child_main
    - getpid
    - APLOGNO
    - ap_thread_current_after_fork
    - apr_sleep
    - ap_log_error
    - fork
    - ap_assert
    - RAISE_SIGSTOP
    - event_note_child_started
    linkageType: ''
    returnType: int
    signature: int make_child(server_rec * s, int slot, int bucket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_child
      Src: /src/httpd/server/mpm/event/event.c:3233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - number_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3238
    functionName: startup_children
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - make_child
    linkageType: ''
    returnType: void
    signature: void startup_children(int number_to_start)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3271,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3327,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3328,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/event/event.c:3337,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3361,1
    - Dst: ap_mpm_podx_signal
      Src: /src/httpd/server/mpm/event/event.c:3370,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3382,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3382,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3391,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3391,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3401,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3401,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3415,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3429,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3429,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/event/event.c:3441,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 114
    argCount: 2
    argNames:
    - child_bucket
    - max_daemon_used
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3240
    functionDepth: 2
    functionLinenumber: 3240
    functionLinenumberEnd: 3467
    functionName: perform_idle_server_maintenance
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_mpm_podx_signal
    - APLOGNO
    - AP_DEBUG_ASSERT
    - ap_log_error
    - make_child
    linkageType: ''
    returnType: void
    signature: "void perform_idle_server_maintenance(int child_bucket,\n                                            int
      *max_daemon_used)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_wait_or_timeout
      Src: /src/httpd/server/mpm/event/event.c:3481,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm/event/event.c:3484,1
    - Dst: ap_find_child_by_pid
      Src: /src/httpd/server/mpm/event/event.c:3485,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/event/event.c:3493,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3504,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3504,1
    - Dst: event_note_child_stopped
      Src: /src/httpd/server/mpm/event/event.c:3519,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/event/event.c:3529,1
    - Dst: apr_proc_other_child_alert
      Src: /src/httpd/server/mpm/event/event.c:3535,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3544,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3545,1
    - Dst: APR_PROC_CHECK_SIGNALED
      Src: /src/httpd/server/mpm/event/event.c:3558,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3563,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3564,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/event/event.c:3580,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/event/event.c:3591,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - remaining_children_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3469
    functionDepth: 4
    functionLinenumber: 3469
    functionLinenumberEnd: 3595
    functionName: server_main_loop
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_process_child_status
    - APR_PROC_CHECK_SIGNALED
    - perform_idle_server_maintenance
    - ap_find_child_by_pid
    - APLOGNO
    - startup_children
    - ap_wait_or_timeout
    - event_note_child_stopped
    - ap_log_error
    - make_child
    - ap_get_scoreboard_process
    - apr_proc_other_child_alert
    linkageType: ''
    returnType: void
    signature: void server_main_loop(int remaining_children_to_start)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/event/event.c:3605,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/event/event.c:3612,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/event/event.c:3618,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/event/event.c:3628,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/event/event.c:3631,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/event/event.c:3634,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/event/event.c:3649,1
    - Dst: ap_unixd_mpm_set_signals
      Src: /src/httpd/server/mpm/event/event.c:3659,1
    - Dst: ap_duplicate_listeners
      Src: /src/httpd/server/mpm/event/event.c:3661,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3663,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3664,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:3669,1
    - Dst: ap_mpm_podx_open
      Src: /src/httpd/server/mpm/event/event.c:3673,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3675,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3676,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/event/event.c:3689,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/event/event.c:3691,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/event/event.c:3750,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3759,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3759,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/event/event.c:3761,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3762,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3762,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/event/event.c:3763,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/event/event.c:3764,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/event/event.c:3765,1
    - Dst: server_main_loop
      Src: /src/httpd/server/mpm/event/event.c:3769,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/event/event.c:3777,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/event/event.c:3780,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/event/event.c:3785,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3786,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3787,1
    - Dst: ap_close_listeners
      Src: /src/httpd/server/mpm/event/event.c:3802,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/event/event.c:3804,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/event/event.c:3807,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/event/event.c:3811,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3812,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3812,1
    - Dst: gracefully
      Src: /src/httpd/server/mpm/event/event.c:3814,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:3818,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:3819,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/event/event.c:3829,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/event/event.c:3833,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/event/event.c:3833,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/event/event.c:3840,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/event/event.c:3847,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/event/event.c:3850,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3862,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3862,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3867,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3867,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 140
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3597
    functionDepth: 4
    functionLinenumber: 3597
    functionLinenumberEnd: 3871
    functionName: event_run
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_mpm_podx_killpg
    - ap_mpm_safe_kill
    - ap_relieve_child_processes
    - ap_mpm_podx_open
    - ap_close_listeners
    - ap_unixd_mpm_set_signals
    - ap_reclaim_child_processes
    - startup_children
    - MPM_CHILD_PID
    - ap_remove_pid
    - ap_duplicate_listeners
    - apr_time_from_sec
    - ap_log_pid
    - apr_pool_create
    - ap_log_mpm_common
    - apr_pool_clear
    - server_main_loop
    - ap_log_error
    - gracefully
    - ap_get_server_description
    - ap_log_command_line
    - memcpy
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - ap_get_server_built
    - ap_run_pre_mpm
    linkageType: ''
    returnType: int
    signature: int event_run(apr_pool_t * _pconf, apr_pool_t * plog, server_rec *
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:3878,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:3880,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/mpm/event/event.c:3893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3894
    functionName: setup_slave_conn
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_set_module_config
    - apr_pcalloc
    - ap_get_module_config
    linkageType: ''
    returnType: void
    signature: void setup_slave_conn(conn_rec *c, void *csd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_slave_conn
      Src: /src/httpd/server/mpm/event/event.c:3899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - csd
    argTypes:
    - conn_rec*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3896
    functionDepth: 1
    functionLinenumber: 3896
    functionLinenumberEnd: 3902
    functionName: event_pre_connection
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - setup_slave_conn
    linkageType: ''
    returnType: int
    signature: int event_pre_connection(conn_rec *c, void *csd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:3916,1
    - Dst: ap_get_module_config
      Src: /src/httpd/server/mpm/event/event.c:3917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - c
    - r
    - s
    - protocol
    argTypes:
    - conn_rec*
    - request_rec*
    - server_rec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3904
    functionDepth: 0
    functionLinenumber: 3904
    functionLinenumberEnd: 3920
    functionName: event_protocol_switch
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_get_module_config
    linkageType: ''
    returnType: int
    signature: "int event_protocol_switch(conn_rec *c, request_rec *r, server_rec
      *s,\n                                 const char *protocol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/event/event.c:3939,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3940,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3925
    functionDepth: 4
    functionLinenumber: 3925
    functionLinenumberEnd: 3947
    functionName: event_open_logs
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int event_open_logs(apr_pool_t * p, apr_pool_t * plog,\n                           apr_pool_t
      * ptemp, server_rec * s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/event/event.c:3957,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/event/event.c:3964,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/event/event.c:3965,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/event/event.c:3966,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/server/mpm/event/event.c:3969,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/server/mpm/event/event.c:3971,1
    - Dst: ap_unixd_mpm_get_retained_data
      Src: /src/httpd/server/mpm/event/event.c:3972,1
    - Dst: apr_atomic_set32
      Src: /src/httpd/server/mpm/event/event.c:3990,1
    - Dst: apr_atomic_add32
      Src: /src/httpd/server/mpm/event/event.c:3991,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:3993,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:3993,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/event/event.c:4001,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4004,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4004,1
    - Dst: apr_pollset_destroy
      Src: /src/httpd/server/mpm/event/event.c:4010,1
    - Dst: ap_fatal_signal_setup
      Src: /src/httpd/server/mpm/event/event.c:4014,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/event/event.c:4015,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4018,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4018,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/event/event.c:4025,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/event/event.c:4027,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 3949
    functionDepth: 3
    functionLinenumber: 3949
    functionLinenumberEnd: 4047
    functionName: event_pre_config
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_proc_detach
    - ap_exists_config_define
    - ap_unixd_mpm_get_retained_data
    - ap_retained_data_create
    - apr_atomic_set32
    - apr_atomic_add32
    - APLOGNO
    - getpid
    - apr_pollset_create
    - ap_retained_data_get
    - ap_log_error
    - apr_pollset_destroy
    - ap_listen_pre_config
    - ap_fatal_signal_setup
    linkageType: ''
    returnType: int
    signature: "int event_pre_config(apr_pool_t * pconf, apr_pool_t * plog,\n                            apr_pool_t
      * ptemp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/server/mpm/event/event.c:4058,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/mpm/event/event.c:4062,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/mpm/event/event.c:4063,1
    - Dst: apr_hash_make
      Src: /src/httpd/server/mpm/event/event.c:4064,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4067,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:4067,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4069,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/event/event.c:4069,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/event/event.c:4073,1
    - Dst: ap_set_module_config
      Src: /src/httpd/server/mpm/event/event.c:4075,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4078,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4079,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4082,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4083,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4086,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4087,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/mpm/event/event.c:4094,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4096,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4097,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/mpm/event/event.c:4101,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4103,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4104,1
    - Dst: apr_hash_get
      Src: /src/httpd/server/mpm/event/event.c:4108,1
    - Dst: TO_QUEUE_MAKE
      Src: /src/httpd/server/mpm/event/event.c:4111,1
    - Dst: apr_hash_set
      Src: /src/httpd/server/mpm/event/event.c:4112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4049
    functionDepth: 1
    functionLinenumber: 4049
    functionLinenumberEnd: 4123
    functionName: event_post_config
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - apr_hash_set
    - ap_state_query
    - apr_time_from_sec
    - apr_hash_make
    - apr_pcalloc
    - TO_QUEUE_MAKE
    - ap_set_module_config
    - apr_hash_get
    linkageType: ''
    returnType: int
    signature: "int event_post_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4137,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4137,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4142,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4142,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4151,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4151,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4155,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4155,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4170,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4170,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4179,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4179,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4184,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4184,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4193,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4193,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4197,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4197,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4212,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4212,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4221,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4221,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4227,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4227,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4236,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4236,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4240,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4240,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4249,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4249,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4256,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4256,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4270,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4270,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4277,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4277,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4288,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4288,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4295,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4295,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4307,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4307,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4311,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4311,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4320,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4320,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4326,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4326,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4125
    functionDepth: 0
    functionLinenumber: 4125
    functionLinenumberEnd: 4338
    functionName: event_check_config
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int event_check_config(apr_pool_t *p, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_force_set_tz
      Src: /src/httpd/server/mpm/event/event.c:4348,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/event/event.c:4350,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/event/event.c:4354,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/server/mpm/event/event.c:4355,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/event/event.c:4356,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/event/event.c:4357,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/event/event.c:4358,1
    - Dst: ap_hook_mpm_register_timed_callback
      Src: /src/httpd/server/mpm/event/event.c:4359,1
    - Dst: ap_hook_mpm_register_poll_callback
      Src: /src/httpd/server/mpm/event/event.c:4361,1
    - Dst: ap_hook_mpm_register_poll_callback_timeout
      Src: /src/httpd/server/mpm/event/event.c:4363,1
    - Dst: ap_hook_pre_read_request
      Src: /src/httpd/server/mpm/event/event.c:4365,1
    - Dst: ap_hook_post_read_request
      Src: /src/httpd/server/mpm/event/event.c:4366,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/event/event.c:4367,1
    - Dst: ap_hook_mpm_resume_suspended
      Src: /src/httpd/server/mpm/event/event.c:4368,1
    - Dst: ap_hook_pre_connection
      Src: /src/httpd/server/mpm/event/event.c:4370,1
    - Dst: ap_hook_protocol_switch
      Src: /src/httpd/server/mpm/event/event.c:4371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4372
      start: 4340
    functionDepth: 1
    functionLinenumber: 4340
    functionLinenumberEnd: 4372
    functionName: event_hooks
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_pre_connection
    - ap_hook_mpm_register_poll_callback
    - ap_hook_mpm_get_name
    - ap_hook_protocol_switch
    - ap_hook_mpm_register_timed_callback
    - ap_hook_mpm_query
    - ap_hook_pre_read_request
    - ap_hook_post_config
    - ap_hook_mpm_register_poll_callback_timeout
    - ap_force_set_tz
    - ap_hook_post_read_request
    - ap_hook_mpm_resume_suspended
    linkageType: ''
    returnType: void
    signature: void event_hooks(apr_pool_t * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4377,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4374
    functionDepth: 3
    functionLinenumber: 4374
    functionLinenumberEnd: 4384
    functionName: set_daemons_to_start
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_daemons_to_start(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4389,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4386
    functionDepth: 3
    functionLinenumber: 4386
    functionLinenumberEnd: 4396
    functionName: set_min_spare_threads
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_min_spare_threads(cmd_parms * cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4401,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4398
    functionDepth: 3
    functionLinenumber: 4398
    functionLinenumberEnd: 4408
    functionName: set_max_spare_threads
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_max_spare_threads(cmd_parms * cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4413,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/event/event.c:4417,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/event/event.c:4418,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/event/event.c:4418,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4410
    functionDepth: 3
    functionLinenumber: 4410
    functionLinenumberEnd: 4424
    functionName: set_max_workers
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - APLOGNO
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: "char *set_max_workers(cmd_parms * cmd, void *dummy,\n                                   const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4429,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4426
    functionDepth: 3
    functionLinenumber: 4426
    functionLinenumberEnd: 4436
    functionName: set_threads_per_child
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_threads_per_child(cmd_parms * cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4439,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4437
    functionDepth: 3
    functionLinenumber: 4437
    functionLinenumberEnd: 4446
    functionName: set_server_limit
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_server_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4451,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/event/event.c:4456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4458
      start: 4448
    functionDepth: 3
    functionLinenumber: 4448
    functionLinenumberEnd: 4458
    functionName: set_thread_limit
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_thread_limit(cmd_parms * cmd, void *dummy,\n                                    const
      char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/event/event.c:4465,1
    - Dst: strtod
      Src: /src/httpd/server/mpm/event/event.c:4470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4460
    functionDepth: 3
    functionLinenumber: 4460
    functionLinenumberEnd: 4482
    functionName: set_worker_factor
    functionSourceFile: /src/httpd/server/mpm/event/event.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - strtod
    linkageType: ''
    returnType: char
    signature: "char *set_worker_factor(cmd_parms * cmd, void *dummy,\n                                     const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: MPM_CHILD_PID
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPM_CHILD_PID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: ID_FROM_CHILD_THREAD
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID_FROM_CHILD_THREAD(c, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/worker/worker.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: close_worker_sockets
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - apr_socket_close
    linkageType: ''
    returnType: void
    signature: void close_worker_sockets(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_wakeup
      Src: /src/httpd/server/mpm/worker/worker.c:283,1
    - Dst: ap_queue_info_term
      Src: /src/httpd/server/mpm/worker/worker.c:287,1
    - Dst: pthread_kill
      Src: /src/httpd/server/mpm/worker/worker.c:303,1
    - Dst: kill
      Src: /src/httpd/server/mpm/worker/worker.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 307
    functionName: wakeup_listener
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 2
    functionsReached:
    - ap_queue_info_term
    - kill
    - apr_pollset_wakeup
    - pthread_kill
    linkageType: ''
    returnType: void
    signature: void wakeup_listener(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wakeup_listener
      Src: /src/httpd/server/mpm/worker/worker.c:326,1
    - Dst: ap_queue_interrupt_all
      Src: /src/httpd/server/mpm/worker/worker.c:334,1
    - Dst: close_worker_sockets
      Src: /src/httpd/server/mpm/worker/worker.c:335,1
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/worker/worker.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 339
    functionName: signal_threads
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 9
    functionsReached:
    - close_worker_sockets
    - wakeup_listener
    - ap_queue_interrupt_all
    - ap_run_child_stopping
    linkageType: ''
    returnType: void
    signature: void signal_threads(int mode)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 392
    functionName: worker_query
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int worker_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/worker/worker.c:397,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/worker/worker.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - childnum
    - pid
    - gen
    argTypes:
    - int
    - pid_t
    - ap_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: worker_note_child_killed
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void worker_note_child_killed(int childnum, pid_t pid, ap_generation_t
      gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/worker/worker.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - pid
    argTypes:
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: worker_note_child_started
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void worker_note_child_started(int slot, pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:418,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:418,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/worker/worker.c:425,1
    - Dst: ap_register_extra_mpm_process
      Src: /src/httpd/server/mpm/worker/worker.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - newpid
    argTypes:
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: worker_note_child_lost_slot
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_register_extra_mpm_process
    - APLOGNO
    - ap_log_error
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void worker_note_child_lost_slot(int slot, pid_t newpid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: worker_get_name
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *worker_get_name(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/worker/worker.c:448,1
    - Dst: ap_run_child_stopped
      Src: /src/httpd/server/mpm/worker/worker.c:452,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/worker/worker.c:453,1
    - Dst: worker_note_child_killed
      Src: /src/httpd/server/mpm/worker/worker.c:457,1
    - Dst: exit
      Src: /src/httpd/server/mpm/worker/worker.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 7
    functionsReached:
    - ap_run_child_stopped
    - worker_note_child_killed
    - ap_run_child_stopping
    - apr_pool_destroy
    - exit
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: just_die
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - clean_child_exit
    linkageType: ''
    returnType: void
    signature: void just_die(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ID_FROM_CHILD_THREAD
      Src: /src/httpd/server/mpm/worker/worker.c:487,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/worker/worker.c:490,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/worker/worker.c:492,1
    - Dst: ap_process_connection
      Src: /src/httpd/server/mpm/worker/worker.c:496,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/worker/worker.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - thd
    - p
    - sock
    - my_child_num
    - my_thread_num
    - bucket_alloc
    argTypes:
    - apr_thread_t*
    - apr_pool_t*
    - apr_socket_t*
    - int
    - int
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: process_socket
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - ap_create_sb_handle
    - ap_process_connection
    - ID_FROM_CHILD_THREAD
    - ap_run_create_connection
    - ap_lingering_close
    linkageType: ''
    returnType: void
    signature: "void process_socket(apr_thread_t *thd, apr_pool_t *p, apr_socket_t
      *sock,\n                           int my_child_num,\n                           int
      my_thread_num, apr_bucket_alloc_t *bucket_alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: check_infinite_requests
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - signal_threads
    linkageType: ''
    returnType: void
    signature: void check_infinite_requests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/httpd/server/mpm/worker/worker.c:518,1
    - Dst: sigaddset
      Src: /src/httpd/server/mpm/worker/worker.c:519,1
    - Dst: sigprocmask
      Src: /src/httpd/server/mpm/worker/worker.c:521,1
    - Dst: pthread_sigmask
      Src: /src/httpd/server/mpm/worker/worker.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 525
    functionName: unblock_signal
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 2
    functionsReached:
    - sigprocmask
    - sigaddset
    - sigemptyset
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void unblock_signal(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: dummy_signal_handler
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_signal_handler(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:545,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:545,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:549,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:551,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:551,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - func
    - rv
    - process_slot
    argTypes:
    - char*
    - apr_status_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 555
    functionName: accept_mutex_error
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - signal_threads
    - APLOGNO
    - ap_log_error
    - clean_child_exit
    linkageType: ''
    returnType: void
    signature: void accept_mutex_error(const char *func, apr_status_t rv, int process_slot)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/mpm/worker/worker.c:568,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/worker/worker.c:573,1
    - Dst: unblock_signal
      Src: /src/httpd/server/mpm/worker/worker.c:574,1
    - Dst: check_infinite_requests
      Src: /src/httpd/server/mpm/worker/worker.c:581,1
    - Dst: ap_queue_info_wait_for_idler
      Src: /src/httpd/server/mpm/worker/worker.c:586,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/server/mpm/worker/worker.c:587,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:591,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:591,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:594,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/worker/worker.c:603,1
    - Dst: apr_proc_mutex_lock
      Src: /src/httpd/server/mpm/worker/worker.c:603,1
    - Dst: accept_mutex_error
      Src: /src/httpd/server/mpm/worker/worker.c:607,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/server/mpm/worker/worker.c:621,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/worker/worker.c:623,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:629,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:629,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:631,1
    - Dst: ap_queue_info_pop_pool
      Src: /src/httpd/server/mpm/worker/worker.c:665,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/worker/worker.c:671,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/worker/worker.c:672,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/worker/worker.c:673,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/worker/worker.c:674,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/worker/worker.c:675,1
    - Dst: ap_listen_rec*::accept_func
      Src: /src/httpd/server/mpm/worker/worker.c:677,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/worker/worker.c:679,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:684,1
    - Dst: ap_accept_error_is_nonfatal
      Src: /src/httpd/server/mpm/worker/worker.c:686,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:687,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/worker/worker.c:690,1
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/server/mpm/worker/worker.c:690,1
    - Dst: accept_mutex_error
      Src: /src/httpd/server/mpm/worker/worker.c:696,1
    - Dst: ap_queue_push_socket
      Src: /src/httpd/server/mpm/worker/worker.c:699,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/worker/worker.c:704,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:705,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:705,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/worker/worker.c:714,1
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/server/mpm/worker/worker.c:714,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:722,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:722,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:725,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/worker/worker.c:731,1
    - Dst: ap_queue_info_free_idle_pools
      Src: /src/httpd/server/mpm/worker/worker.c:732,1
    - Dst: ap_queue_term
      Src: /src/httpd/server/mpm/worker/worker.c:733,1
    - Dst: kill
      Src: /src/httpd/server/mpm/worker/worker.c:738,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/worker/worker.c:740,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 742
    functionName: APR_THREAD_FUNC::listener_thread
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_queue_info_pop_pool
    - apr_signal
    - apr_proc_mutex_unlock
    - apr_pollset_poll
    - ap_listen_rec*::accept_func
    - apr_allocator_create
    - apr_pool_create_ex
    - ap_queue_info_wait_for_idler
    - ap_queue_push_socket
    - accept_mutex_error
    - APR_STATUS_IS_EOF
    - SAFE_ACCEPT
    - ap_queue_info_free_idle_pools
    - signal_threads
    - apr_socket_close
    - ap_queue_term
    - ap_log_error
    - ap_close_listeners_ex
    - free
    - APR_STATUS_IS_EINTR
    - apr_allocator_owner_set
    - unblock_signal
    - APLOGNO
    - apr_pool_tag
    - AP_DEBUG_ASSERT
    - apr_thread_exit
    - check_infinite_requests
    - apr_allocator_max_free_set
    - ap_accept_error_is_nonfatal
    - apr_proc_mutex_lock
    - kill
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC listener_thread(apr_thread_t *thd, void * dummy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/httpd/server/mpm/worker/worker.c:763,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/worker/worker.c:766,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:768,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/worker/worker.c:772,1
    - Dst: unblock_signal
      Src: /src/httpd/server/mpm/worker/worker.c:773,1
    - Dst: ap_queue_info_set_idle
      Src: /src/httpd/server/mpm/worker/worker.c:778,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:781,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:781,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:784,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:790,1
    - Dst: ap_queue_pop_socket
      Src: /src/httpd/server/mpm/worker/worker.c:796,1
    - Dst: APR_STATUS_IS_EOF
      Src: /src/httpd/server/mpm/worker/worker.c:802,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/worker/worker.c:816,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:821,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:821,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/worker/worker.c:828,1
    - Dst: process_socket
      Src: /src/httpd/server/mpm/worker/worker.c:829,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/worker/worker.c:832,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:836,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/worker/worker.c:840,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 842
    functionName: APR_THREAD_FUNC::worker_thread
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EOF
    - apr_signal
    - APR_STATUS_IS_EINTR
    - apr_bucket_alloc_create
    - ap_queue_pop_socket
    - unblock_signal
    - APLOGNO
    - signal_threads
    - apr_thread_exit
    - process_socket
    - apr_pool_clear
    - ap_update_child_status_from_indexes
    - ap_log_error
    - apr_os_thread_current
    - ap_queue_info_set_idle
    - free
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC worker_thread(apr_thread_t *thd, void * dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 852
    functionName: check_signal
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_signal(int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/worker/worker.c:861,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/worker/worker.c:865,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:868,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:868,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:871,1
    - Dst: apr_os_thread_get
      Src: /src/httpd/server/mpm/worker/worker.c:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ts
    argTypes:
    - thread_starter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: create_listener_thread
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - apr_os_thread_get
    - ap_thread_create
    - clean_child_exit
    - ap_log_error
    - ap_malloc
    linkageType: ''
    returnType: void
    signature: void create_listener_thread(thread_starter *ts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/worker/worker.c:892,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/worker/worker.c:893,1
    - Dst: ap_queue_create
      Src: /src/httpd/server/mpm/worker/worker.c:897,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:899,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:899,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:901,1
    - Dst: ap_queue_info_create
      Src: /src/httpd/server/mpm/worker/worker.c:904,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:907,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:907,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:909,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/worker/worker.c:917,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/worker/worker.c:924,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:928,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:928,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:932,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/worker/worker.c:936,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/worker/worker.c:943,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:945,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:945,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:949,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/worker/worker.c:955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 957
    functionName: setup_threads_runtime
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - apr_pollset_add
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - ap_queue_create
    - apr_pool_create
    - clean_child_exit
    - apr_pollset_create
    - ap_log_error
    - ap_queue_info_create
    linkageType: ''
    returnType: void
    signature: void setup_threads_runtime(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/worker/worker.c:987,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:993,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/worker/worker.c:998,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:1001,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1002,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1002,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:1012,1
    - Dst: ap_queue_term
      Src: /src/httpd/server/mpm/worker/worker.c:1015,1
    - Dst: kill
      Src: /src/httpd/server/mpm/worker/worker.c:1017,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1019,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1022,1
    - Dst: create_listener_thread
      Src: /src/httpd/server/mpm/worker/worker.c:1028,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/worker/worker.c:1035,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/worker/worker.c:1035,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1039,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1039,1
    - Dst: apr_thread_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1058,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - thd
    - dummy
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 1060
    functionName: APR_THREAD_FUNC::start_threads
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - APLOGNO
    - signal_threads
    - ap_queue_term
    - apr_thread_exit
    - create_listener_thread
    - ap_thread_create
    - ap_update_child_status_from_indexes
    - clean_child_exit
    - ap_log_error
    - apr_sleep
    - kill
    - ap_malloc
    linkageType: ''
    returnType: void
    signature: void * APR_THREAD_FUNC start_threads(apr_thread_t *thd, void *dummy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/worker/worker.c:1081,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/worker/worker.c:1081,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1086,1
    - Dst: wakeup_listener
      Src: /src/httpd/server/mpm/worker/worker.c:1088,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1091,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1091,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/worker/worker.c:1095,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1097,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1097,1
    - Dst: apr_os_thread_get
      Src: /src/httpd/server/mpm/worker/worker.c:1109,1
    - Dst: pthread_kill
      Src: /src/httpd/server/mpm/worker/worker.c:1110,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/worker/worker.c:1114,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1116,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - listener
    - threads
    - mode
    argTypes:
    - apr_thread_t*
    - apr_thread_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1123
    functionName: join_workers
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - wakeup_listener
    - pthread_kill
    - APLOGNO
    - apr_thread_join
    - apr_os_thread_get
    - apr_time_from_msec
    - apr_sleep
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void join_workers(apr_thread_t *listener, apr_thread_t **threads,\n
      \                        int mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/worker/worker.c:1133,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1135,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - start_thread_id
    argTypes:
    - apr_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1139
    functionName: join_start_thread
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - apr_thread_join
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void join_start_thread(apr_thread_t *start_thread_id)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/worker/worker.c:1153,1
    - Dst: ap_fatal_signal_child_setup
      Src: /src/httpd/server/mpm/worker/worker.c:1154,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/worker/worker.c:1159,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/worker/worker.c:1160,1
    - Dst: ap_thread_main_create
      Src: /src/httpd/server/mpm/worker/worker.c:1165,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1166,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1166,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1168,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/worker/worker.c:1176,1
    - Dst: ap_mpm_podx_close
      Src: /src/httpd/server/mpm/worker/worker.c:1177,1
    - Dst: ap_reopen_scoreboard
      Src: /src/httpd/server/mpm/worker/worker.c:1182,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/worker/worker.c:1184,1
    - Dst: apr_proc_mutex_child_init
      Src: /src/httpd/server/mpm/worker/worker.c:1184,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/server/mpm/worker/worker.c:1185,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1188,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1188,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1190,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/server/mpm/worker/worker.c:1194,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1195,1
    - Dst: apr_setup_signal_thread
      Src: /src/httpd/server/mpm/worker/worker.c:1204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1206,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1206,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1208,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/worker/worker.c:1211,1
    - Dst: setup_threads_runtime
      Src: /src/httpd/server/mpm/worker/worker.c:1224,1
    - Dst: ap_calloc
      Src: /src/httpd/server/mpm/worker/worker.c:1229,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/worker/worker.c:1231,1
    - Dst: apr_threadattr_create
      Src: /src/httpd/server/mpm/worker/worker.c:1233,1
    - Dst: apr_threadattr_detach_set
      Src: /src/httpd/server/mpm/worker/worker.c:1235,1
    - Dst: apr_threadattr_stacksize_set
      Src: /src/httpd/server/mpm/worker/worker.c:1238,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1240,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1240,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/worker/worker.c:1252,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1255,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1255,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1258,1
    - Dst: apr_signal_thread
      Src: /src/httpd/server/mpm/worker/worker.c:1267,1
    - Dst: join_start_thread
      Src: /src/httpd/server/mpm/worker/worker.c:1275,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:1276,1
    - Dst: join_workers
      Src: /src/httpd/server/mpm/worker/worker.c:1287,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/worker/worker.c:1294,1
    - Dst: unblock_signal
      Src: /src/httpd/server/mpm/worker/worker.c:1295,1
    - Dst: ap_mpm_podx_check
      Src: /src/httpd/server/mpm/worker/worker.c:1298,1
    - Dst: join_start_thread
      Src: /src/httpd/server/mpm/worker/worker.c:1314,1
    - Dst: signal_threads
      Src: /src/httpd/server/mpm/worker/worker.c:1315,1
    - Dst: join_workers
      Src: /src/httpd/server/mpm/worker/worker.c:1327,1
    - Dst: free
      Src: /src/httpd/server/mpm/worker/worker.c:1331,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/worker/worker.c:1333,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 2
    argNames:
    - child_num_arg
    - child_bucket
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1334
    functionName: child_main
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 3
    functionsReached:
    - ap_calloc
    - apr_signal
    - ap_run_child_init
    - getpid
    - ap_reopen_scoreboard
    - ap_mpm_podx_close
    - ap_thread_create
    - apr_proc_mutex_child_init
    - SAFE_ACCEPT
    - signal_threads
    - join_workers
    - apr_pool_create
    - apr_threadattr_stacksize_set
    - clean_child_exit
    - ap_log_error
    - apr_threadattr_create
    - setup_threads_runtime
    - apr_signal_thread
    - ap_close_listeners_ex
    - free
    - apr_setup_signal_thread
    - apr_proc_mutex_lockfile
    - apr_palloc
    - join_start_thread
    - ap_fatal_signal_child_setup
    - APLOGNO
    - apr_pool_tag
    - unblock_signal
    - ap_thread_main_create
    - ap_run_drop_privileges
    - ap_mpm_podx_check
    - apr_threadattr_detach_set
    linkageType: ''
    returnType: void
    signature: void child_main(int child_num_arg, int child_bucket)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: worker_note_child_started
      Src: /src/httpd/server/mpm/worker/worker.c:1347,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/worker/worker.c:1347,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/worker/worker.c:1348,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/worker/worker.c:1350,1
    - Dst: fork
      Src: /src/httpd/server/mpm/worker/worker.c:1354,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1355,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1355,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/worker/worker.c:1367,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/worker/worker.c:1367,1
    - Dst: ap_thread_current_after_fork
      Src: /src/httpd/server/mpm/worker/worker.c:1374,1
    - Dst: bindprocessor
      Src: /src/httpd/server/mpm/worker/worker.c:1383,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/worker/worker.c:1383,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1386,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1387,1
    - Dst: RAISE_SIGSTOP
      Src: /src/httpd/server/mpm/worker/worker.c:1390,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/worker/worker.c:1392,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/worker/worker.c:1393,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/worker/worker.c:1395,1
    - Dst: worker_note_child_lost_slot
      Src: /src/httpd/server/mpm/worker/worker.c:1404,1
    - Dst: worker_note_child_started
      Src: /src/httpd/server/mpm/worker/worker.c:1407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - s
    - slot
    - bucket
    argTypes:
    - server_rec*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1336
    functionDepth: 4
    functionLinenumber: 1336
    functionLinenumberEnd: 1409
    functionName: make_child
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 3
    functionsReached:
    - bindprocessor
    - apr_time_from_sec
    - apr_signal
    - worker_note_child_lost_slot
    - getpid
    - worker_note_child_started
    - child_main
    - APLOGNO
    - apr_sleep
    - ap_log_error
    - fork
    - ap_assert
    - RAISE_SIGSTOP
    - ap_thread_current_after_fork
    linkageType: ''
    returnType: int
    signature: int make_child(server_rec *s, int slot, int bucket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_child
      Src: /src/httpd/server/mpm/worker/worker.c:1420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - number_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1425
    functionName: startup_children
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 2
    functionsReached:
    - make_child
    linkageType: ''
    returnType: void
    signature: void startup_children(int number_to_start)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1551,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1552,1
    - Dst: ap_mpm_podx_signal
      Src: /src/httpd/server/mpm/worker/worker.c:1563,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1577,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1577,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1585,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1585,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1594,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1595,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1605,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1606,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/worker/worker.c:1615,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 105
    argCount: 1
    argNames:
    - child_bucket
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1427
    functionDepth: 2
    functionLinenumber: 1427
    functionLinenumberEnd: 1636
    functionName: perform_idle_server_maintenance
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - make_child
    - APLOGNO
    - ap_log_error
    - ap_mpm_podx_signal
    linkageType: ''
    returnType: void
    signature: void perform_idle_server_maintenance(int child_bucket)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_wait_or_timeout
      Src: /src/httpd/server/mpm/worker/worker.c:1650,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm/worker/worker.c:1653,1
    - Dst: ap_find_child_by_pid
      Src: /src/httpd/server/mpm/worker/worker.c:1654,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/worker/worker.c:1662,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1669,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1669,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/worker/worker.c:1687,1
    - Dst: worker_note_child_killed
      Src: /src/httpd/server/mpm/worker/worker.c:1690,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/worker/worker.c:1702,1
    - Dst: ap_unregister_extra_mpm_process
      Src: /src/httpd/server/mpm/worker/worker.c:1707,1
    - Dst: worker_note_child_killed
      Src: /src/httpd/server/mpm/worker/worker.c:1708,1
    - Dst: apr_proc_other_child_alert
      Src: /src/httpd/server/mpm/worker/worker.c:1719,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1728,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1729,1
    - Dst: APR_PROC_CHECK_SIGNALED
      Src: /src/httpd/server/mpm/worker/worker.c:1742,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1747,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1748,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/worker/worker.c:1764,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/worker/worker.c:1774,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - remaining_children_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1638
    functionDepth: 3
    functionLinenumber: 1638
    functionLinenumberEnd: 1777
    functionName: server_main_loop
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 1
    functionsReached:
    - ap_process_child_status
    - APR_PROC_CHECK_SIGNALED
    - perform_idle_server_maintenance
    - ap_unregister_extra_mpm_process
    - ap_find_child_by_pid
    - APLOGNO
    - startup_children
    - ap_wait_or_timeout
    - worker_note_child_killed
    - ap_update_child_status_from_indexes
    - ap_log_error
    - make_child
    - ap_get_scoreboard_process
    - apr_proc_other_child_alert
    linkageType: ''
    returnType: void
    signature: void server_main_loop(int remaining_children_to_start)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/worker/worker.c:1788,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/worker/worker.c:1796,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/worker/worker.c:1802,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/worker/worker.c:1812,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/worker/worker.c:1815,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/worker/worker.c:1818,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/worker/worker.c:1833,1
    - Dst: ap_unixd_mpm_set_signals
      Src: /src/httpd/server/mpm/worker/worker.c:1843,1
    - Dst: ap_duplicate_listeners
      Src: /src/httpd/server/mpm/worker/worker.c:1845,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1847,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1848,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/worker/worker.c:1853,1
    - Dst: ap_mpm_podx_open
      Src: /src/httpd/server/mpm/worker/worker.c:1857,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1859,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1860,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/worker/worker.c:1865,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/worker/worker.c:1865,1
    - Dst: ap_proc_mutex_create
      Src: /src/httpd/server/mpm/worker/worker.c:1866,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1870,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1871,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/worker/worker.c:1884,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/worker/worker.c:1886,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/worker/worker.c:1945,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1954,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1954,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/worker/worker.c:1956,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1957,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1957,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/worker/worker.c:1958,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/worker/worker.c:1959,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/worker/worker.c:1960,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1961,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1961,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/worker/worker.c:1964,1
    - Dst: apr_proc_mutex_defname
      Src: /src/httpd/server/mpm/worker/worker.c:1966,1
    - Dst: server_main_loop
      Src: /src/httpd/server/mpm/worker/worker.c:1969,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/worker/worker.c:1977,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/worker/worker.c:1980,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/worker/worker.c:1985,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:1986,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:1987,1
    - Dst: ap_close_listeners
      Src: /src/httpd/server/mpm/worker/worker.c:2001,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/worker/worker.c:2004,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/worker/worker.c:2007,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/worker/worker.c:2011,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2012,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2012,1
    - Dst: gracefully
      Src: /src/httpd/server/mpm/worker/worker.c:2014,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/worker/worker.c:2018,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/worker/worker.c:2019,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/worker/worker.c:2029,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/worker/worker.c:2033,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/worker/worker.c:2033,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/worker/worker.c:2040,1
    - Dst: ap_mpm_podx_killpg
      Src: /src/httpd/server/mpm/worker/worker.c:2047,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/worker/worker.c:2050,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2062,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2062,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2067,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2067,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 145
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 1779
    functionDepth: 4
    functionLinenumber: 1779
    functionLinenumberEnd: 2071
    functionName: worker_run
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - apr_time_now
    - ap_mpm_podx_killpg
    - ap_mpm_safe_kill
    - ap_relieve_child_processes
    - ap_mpm_podx_open
    - ap_close_listeners
    - ap_unixd_mpm_set_signals
    - ap_reclaim_child_processes
    - startup_children
    - MPM_CHILD_PID
    - ap_remove_pid
    - apr_proc_mutex_name
    - ap_duplicate_listeners
    - apr_time_from_sec
    - SAFE_ACCEPT
    - ap_log_pid
    - apr_pool_create
    - ap_log_mpm_common
    - apr_pool_clear
    - ap_proc_mutex_create
    - server_main_loop
    - ap_log_error
    - gracefully
    - ap_get_server_description
    - ap_log_command_line
    - memcpy
    - apr_snprintf
    - apr_pcalloc
    - apr_palloc
    - APLOGNO
    - ap_get_server_built
    - apr_proc_mutex_defname
    - ap_run_pre_mpm
    linkageType: ''
    returnType: int
    signature: int worker_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/worker/worker.c:2089,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2090,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2076
    functionDepth: 4
    functionLinenumber: 2076
    functionLinenumberEnd: 2097
    functionName: worker_open_logs
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int worker_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/worker/worker.c:2106,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/worker/worker.c:2113,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/worker/worker.c:2114,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/worker/worker.c:2115,1
    - Dst: ap_mutex_register
      Src: /src/httpd/server/mpm/worker/worker.c:2118,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/server/mpm/worker/worker.c:2120,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/server/mpm/worker/worker.c:2122,1
    - Dst: ap_unixd_mpm_get_retained_data
      Src: /src/httpd/server/mpm/worker/worker.c:2123,1
    - Dst: ap_fatal_signal_setup
      Src: /src/httpd/server/mpm/worker/worker.c:2138,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/worker/worker.c:2139,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2142,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2142,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/worker/worker.c:2149,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/worker/worker.c:2151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - pconf
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2099
    functionDepth: 3
    functionLinenumber: 2099
    functionLinenumberEnd: 2164
    functionName: worker_pre_config
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - apr_proc_detach
    - ap_exists_config_define
    - ap_mutex_register
    - ap_unixd_mpm_get_retained_data
    - ap_retained_data_create
    - getpid
    - APLOGNO
    - ap_retained_data_get
    - ap_log_error
    - ap_listen_pre_config
    - ap_fatal_signal_setup
    linkageType: ''
    returnType: int
    signature: "int worker_pre_config(apr_pool_t *pconf, apr_pool_t *plog,\n                             apr_pool_t
      *ptemp)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2178,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2178,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2183,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2183,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2192,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2192,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2196,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2196,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2211,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2211,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2220,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2220,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2225,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2225,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2234,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2234,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2238,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2238,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2253,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2253,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2262,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2262,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2268,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2268,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2277,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2277,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2281,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2281,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2290,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2290,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2297,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2297,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2311,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2311,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2318,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2318,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2329,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2329,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2336,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2336,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2348,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2348,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2352,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2352,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2361,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2361,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2366,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2366,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2378
    functionName: worker_check_config
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int worker_check_config(apr_pool_t *p, apr_pool_t *plog,\n                               apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_force_set_tz
      Src: /src/httpd/server/mpm/worker/worker.c:2388,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/worker/worker.c:2390,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/worker/worker.c:2394,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/worker/worker.c:2395,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/worker/worker.c:2396,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/worker/worker.c:2397,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/worker/worker.c:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2399
    functionName: worker_hooks
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    - ap_force_set_tz
    linkageType: ''
    returnType: void
    signature: void worker_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2404,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2401
    functionDepth: 3
    functionLinenumber: 2401
    functionLinenumberEnd: 2411
    functionName: set_daemons_to_start
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_daemons_to_start(cmd_parms *cmd, void *dummy,\n                                        const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2416,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2413
    functionDepth: 3
    functionLinenumber: 2413
    functionLinenumberEnd: 2423
    functionName: set_min_spare_threads
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_min_spare_threads(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2428,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2425
    functionDepth: 3
    functionLinenumber: 2425
    functionLinenumberEnd: 2435
    functionName: set_max_spare_threads
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_max_spare_threads(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2440,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/worker/worker.c:2444,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/worker/worker.c:2445,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/worker/worker.c:2445,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2437
    functionDepth: 3
    functionLinenumber: 2437
    functionLinenumberEnd: 2451
    functionName: set_max_workers
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - APLOGNO
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: "char *set_max_workers (cmd_parms *cmd, void *dummy,\n                                     const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2456,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2453
    functionDepth: 3
    functionLinenumber: 2453
    functionLinenumberEnd: 2463
    functionName: set_threads_per_child
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_threads_per_child (cmd_parms *cmd, void *dummy,\n                                          const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2467,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2465
    functionDepth: 3
    functionLinenumber: 2465
    functionLinenumberEnd: 2474
    functionName: set_server_limit
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_server_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/worker/worker.c:2478,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/worker/worker.c:2483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2476
    functionDepth: 3
    functionLinenumber: 2476
    functionLinenumberEnd: 2485
    functionName: set_thread_limit
    functionSourceFile: /src/httpd/server/mpm/worker/worker.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_thread_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: DBPRINT0
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBPRINT0(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: DBPRINT1
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBPRINT1(s,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: DBPRINT2
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBPRINT2(s,v1,v2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_bucket_alloc_destroy
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:181,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:183,1
    - Dst: atomic_dec
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:186,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:188,1
    - Dst: NXThreadExit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - code
    - worker_num
    - ptrans
    - bucket_alloc
    argTypes:
    - int
    - int
    - apr_pool_t*
    - apr_bucket_alloc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 13
    functionsReached:
    - apr_bucket_alloc_destroy
    - NXThreadExit
    - atomic_dec
    - ap_update_child_status_from_indexes
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: "void clean_child_exit(int code, int worker_num, apr_pool_t *ptrans,\n
      \                            apr_bucket_alloc_t *bucket_alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: mpm_main_cleanup
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    linkageType: ''
    returnType: void
    signature: void mpm_main_cleanup(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 252
    functionName: netware_query
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int netware_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: netware_get_name
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *netware_get_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveConsoleHandler
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:265,1
    - Dst: NXThreadYield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: mpm_term
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - NXThreadYield
    - RemoveConsoleHandler
    linkageType: ''
    returnType: void
    signature: void mpm_term(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBPRINT0
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:281,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:283,1
    - Dst: DBPRINT0
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: sig_term
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - DBPRINT0
    - apr_thread_yield
    linkageType: ''
    returnType: void
    signature: void sig_term(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: restart
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void restart(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:303,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: set_signals
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 4
    functionsReached:
    - apr_signal
    linkageType: ''
    returnType: void
    signature: void set_signals(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NXThreadYield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wait
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: nlmUnloadSignaled
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - NXThreadYield
    linkageType: ''
    returnType: int
    signature: int nlmUnloadSignaled(int wait)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:359,1
    - Dst: apr_os_thread_put
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:360,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:365,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:366,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:368,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:369,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:370,1
    - Dst: apr_bucket_alloc_create_ex
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:372,1
    - Dst: atomic_inc
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:374,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:381,1
    - Dst: DBPRINT1
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:385,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:386,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:389,1
    - Dst: DBPRINT1
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:398,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:399,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:403,1
    - Dst: select
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:404,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:408,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:408,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:410,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:427,1
    - Dst: FD_ISSET
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:428,1
    - Dst: apr_socket_accept
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:445,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:453,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:458,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:466,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:477,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:483,1
    - Dst: APR_STATUS_IS_ECONNRESET
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:485,1
    - Dst: APR_STATUS_IS_ETIMEDOUT
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:486,1
    - Dst: APR_STATUS_IS_EHOSTUNREACH
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:487,1
    - Dst: APR_STATUS_IS_ENETUNREACH
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:488,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:507,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:507,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:509,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:514,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:514,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:516,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:521,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:526,1
    - Dst: ap_process_connection
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:531,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:532,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 100
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 535
    functionName: worker_main
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - apr_socket_opt_set
    - apr_os_sock_get
    - ap_run_create_connection
    - FD_ISSET
    - APR_STATUS_IS_ECONNRESET
    - APR_STATUS_IS_ENETUNREACH
    - apr_allocator_create
    - apr_os_thread_put
    - apr_pool_create_ex
    - APR_STATUS_IS_EHOSTUNREACH
    - apr_os_thread_current
    - APR_STATUS_IS_EAGAIN
    - apr_socket_accept
    - ap_process_connection
    - atomic_inc
    - apr_pool_clear
    - clean_child_exit
    - ap_update_child_status_from_indexes
    - ap_log_error
    - memcpy
    - ap_create_sb_handle
    - APR_STATUS_IS_ETIMEDOUT
    - DBPRINT1
    - apr_allocator_owner_set
    - apr_bucket_alloc_create_ex
    - APLOGNO
    - apr_pool_tag
    - select
    - apr_allocator_max_free_set
    - apr_thread_yield
    - ap_lingering_close
    linkageType: ''
    returnType: void
    signature: void worker_main(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:507,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:507,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 511
    functionName: if
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 2
    functionsReached:
    - APLOGNO
    - ap_log_error
    - clean_child_exit
    linkageType: ''
    returnType: else
    signature: else if (APR_STATUS_IS_ENETDOWN(stat))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:550,1
    - Dst: NXContextAlloc
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:553,1
    - Dst: sprintf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:556,1
    - Dst: NXContextSetName
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:557,1
    - Dst: NXThreadCreate
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:558,1
    - Dst: NXContextFree
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:560,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:568,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - s
    - slot
    argTypes:
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 582
    functionName: make_child
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 6
    functionsReached:
    - sprintf
    - NXThreadCreate
    - ap_update_child_status_from_indexes
    - apr_thread_yield
    - NXContextAlloc
    - NXContextFree
    - NXContextSetName
    linkageType: ''
    returnType: int
    signature: int make_child(server_rec *s, int slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_child
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - number_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: startup_workers
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - make_child
    linkageType: ''
    returnType: void
    signature: void startup_workers(int number_to_start)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DBPRINT2
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:664,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:672,1
    - Dst: DBPRINT1
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:674,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:683,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:683,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:692,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:692,1
    - Dst: DBPRINT0
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:699,1
    - Dst: DBPRINT1
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:701,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:702,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 721
    functionName: perform_idle_server_maintenance
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 2
    functionsReached:
    - DBPRINT1
    - APLOGNO
    - ap_update_child_status_from_indexes
    - DBPRINT0
    - ap_log_error
    - make_child
    - DBPRINT2
    linkageType: ''
    returnType: void
    signature: void perform_idle_server_maintenance(apr_pool_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ClearScreen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:736,1
    - Dst: getscreenhandle
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:736,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:737,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:737,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:752,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:755,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:758,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:761,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:764,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:767,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:770,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:773,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:776,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:779,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:782,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:785,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:791,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:792,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:795,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:796,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:797,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:798,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 800
    functionName: display_settings
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - getscreenhandle
    - printf
    - ClearScreen
    - ap_get_server_description
    linkageType: ''
    returnType: void
    signature: void display_settings()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:807,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:807,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:809,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:813,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:816,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:821,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 827
    functionName: show_server_data
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - printf
    - ap_get_server_description
    linkageType: ''
    returnType: void
    signature: void show_server_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:835,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:836,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:836,1
    - Dst: FD_ZERO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:842,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:844,1
    - Dst: FD_SET
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 851
    functionName: setup_listeners
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 8
    functionsReached:
    - ap_setup_listeners
    - APLOGNO
    - apr_os_sock_get
    - FD_ZERO
    - ap_log_error
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int setup_listeners(server_rec *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 862
    functionName: shutdown_listeners
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - apr_socket_close
    linkageType: ''
    returnType: int
    signature: int shutdown_listeners()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setup_listeners
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:875,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:876,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:876,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:885,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:891,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:893,1
    - Dst: set_signals
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:899,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:901,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:902,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:903,1
    - Dst: startup_workers
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:909,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:918,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:918,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:920,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:921,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:921,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:922,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:923,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:924,1
    - Dst: show_server_data
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:925,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:929,1
    - Dst: display_settings
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:931,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:932,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:933,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:937,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:947,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:947,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:951,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:953,1
    - Dst: mpm_main_cleanup
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:956,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:967,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:967,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:972,1
    - Dst: apr_thread_yield
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:974,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:976,1
    - Dst: mpm_main_cleanup
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 981
    functionName: netware_run
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    - mpm_main_cleanup
    - ap_run_child_init
    - show_server_data
    - startup_workers
    - getpid
    - display_settings
    - setup_listeners
    - perform_idle_server_maintenance
    - apr_pool_create
    - ap_log_mpm_common
    - ap_log_error
    - set_signals
    - ap_get_server_description
    - ap_log_command_line
    - APLOGNO
    - ap_get_server_built
    - apr_pool_tag
    - apr_sleep
    - apr_thread_yield
    - printf
    - ap_run_pre_mpm
    linkageType: ''
    returnType: int
    signature: int netware_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:990,1
    - Dst: getaddressspacename
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:991,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:993,1
    - Dst: free
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:994,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1012
    functionName: netware_pre_config
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - getpid
    - ap_listen_pre_config
    - getaddressspacename
    - apr_pstrdup
    - free
    linkageType: ''
    returnType: int
    signature: int netware_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1027,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1027,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1035,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1035,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1044,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1044,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1048,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1048,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1060,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1060,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1064,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1064,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1073,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1073,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1078,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1088
    functionName: netware_check_config
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int netware_check_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1097,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1098,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1102,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1103,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1105
    functionName: netware_mpm_hooks
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    linkageType: ''
    returnType: void
    signature: void netware_mpm_hooks(apr_pool_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1116,1
    - Dst: InstallConsoleHandler
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1117,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1130,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1132,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1137,1
    - Dst: apr_array_make
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1147,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1149,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1150,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1151,1
    - Dst: apr_getopt_init
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1155,1
    - Dst: apr_getopt
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1156,1
    - Dst: renamescreen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1160,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1167,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1168,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1180
    functionName: netware_rewrite_args
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - InstallConsoleHandler
    - apr_getopt
    - apr_filepath_merge
    - apr_array_push
    - apr_getopt_init
    - renamescreen
    - strlen
    - atexit
    - apr_pstrdup
    - apr_array_make
    linkageType: ''
    returnType: void
    signature: void netware_rewrite_args(process_rec *process)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1193,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1193,1
    - Dst: apr_cpystrn
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1196,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1200,1
    - Dst: ActivateScreen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1201,1
    - Dst: getscreenhandle
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1201,1
    - Dst: strstr
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1206,1
    - Dst: nlmisloadedprotected
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1207,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1217,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1217,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1222,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1223,1
    - Dst: restart
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1224,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1226,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1227,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1227,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1228,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1228,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1230,1
    - Dst: ap_show_modules
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1231,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1233,1
    - Dst: ap_show_directives
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1234,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1236,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1237,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1240,1
    - Dst: ClearScreen
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1243,1
    - Dst: getscreenhandle
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1243,1
    - Dst: show_server_data
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1244,1
    - Dst: display_settings
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1248,1
    - Dst: strnicmp
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1253,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1254,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1255,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1256,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1257,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1258,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1259,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1260,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1261,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1262,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1263,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - screenID
    - commandLine
    argTypes:
    - scr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1272
    functionName: CommandLineInterpreter
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - restart
    - getscreenhandle
    - apr_cpystrn
    - strstr
    - ap_get_server_built
    - ActivateScreen
    - ap_show_directives
    - ClearScreen
    - show_server_data
    - display_settings
    - nlmisloadedprotected
    - strnicmp
    - printf
    - strlen
    - ap_get_server_description
    - ap_show_modules
    linkageType: ''
    returnType: int
    signature: int CommandLineInterpreter(scr_t screenID, const char *commandLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NX_WRAP_INTERFACE
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1279,1
    - Dst: AllocateResourceTag
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1281,1
    - Dst: getnlmhandle
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1281,1
    - Dst: printf
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1285,1
    - Dst: RegisterConsoleCommand
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1294
    functionName: InstallConsoleHandler
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 1
    functionsReached:
    - RegisterConsoleCommand
    - NX_WRAP_INTERFACE
    - getnlmhandle
    - printf
    - AllocateResourceTag
    linkageType: ''
    returnType: int
    signature: int InstallConsoleHandler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnRegisterConsoleCommand
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1298,1
    - Dst: NX_UNWRAP_INTERFACE
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1300
    functionName: RemoveConsoleHandler
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 1
    functionsReached:
    - UnRegisterConsoleCommand
    - NX_UNWRAP_INTERFACE
    linkageType: ''
    returnType: void
    signature: void RemoveConsoleHandler(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1304,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1302
    functionDepth: 3
    functionLinenumber: 1302
    functionLinenumberEnd: 1311
    functionName: set_threads_to_start
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_threads_to_start(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1315,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1313
    functionDepth: 3
    functionLinenumber: 1313
    functionLinenumberEnd: 1322
    functionName: set_min_free_threads
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_min_free_threads(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1326,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1333
    functionName: set_max_free_threads
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_max_free_threads(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1337,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/netware/mpm_netware.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1344
    functionName: set_thread_limit
    functionSourceFile: /src/httpd/server/mpm/netware/mpm_netware.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_thread_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:41,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:42,1
    - Dst: ap_regkey_open
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:55,1
    - Dst: ap_regkey_value_set
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:65,1
    - Dst: ap_regkey_value_raw_set
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:69,1
    - Dst: ap_regkey_close
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:71,1
    - Dst: RegisterEventSourceW
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:74,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:76,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:78,1
    - Dst: apr_isspace
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:80,1
    - Dst: apr_isspace
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:86,1
    - Dst: ReportEvent
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:94,1
    - Dst: GetLastError
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:101,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:102,1
    - Dst: GetLastError
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:104,1
    - Dst: ReportEvent
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:106,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:110,1
    - Dst: DeregisterEventSource
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:111,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:112,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - hPipe
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 116
    functionName: service_stderr_thread
    functionSourceFile: /src/httpd/server/mpm/winnt/nt_eventlog.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - apr_isspace
    - ReadFile
    - SetEvent
    - apr_snprintf
    - apr_pool_tag
    - ap_regkey_value_set
    - apr_pool_create_ex
    - ap_regkey_close
    - GetLastError
    - ReportEvent
    - ap_regkey_open
    - ap_regkey_value_raw_set
    - apr_pool_destroy
    - DeregisterEventSource
    - RegisterEventSourceW
    linkageType: ''
    returnType: DWORD
    signature: DWORD service_stderr_thread(LPVOID hPipe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:124,1
    - Dst: fclose
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:125,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:126,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:127,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: mpm_nt_eventlog_stderr_flush
    functionSourceFile: /src/httpd/server/mpm/winnt/nt_eventlog.c
    functionUses: 0
    functionsReached:
    - fclose
    - CloseHandle
    - GetStdHandle
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: void mpm_nt_eventlog_stderr_flush(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:151,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:152,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:154,1
    - Dst: CreateThread
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:155,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:157,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:159,1
    - Dst: apr_file_open_stderr
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:161,1
    - Dst: apr_os_file_put
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:163,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:165,1
    - Dst: ap_open_stderr_log
      Src: /src/httpd/server/mpm/winnt/nt_eventlog.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argv0
    - p
    argTypes:
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 172
    functionName: mpm_nt_eventlog_stderr_open
    functionSourceFile: /src/httpd/server/mpm/winnt/nt_eventlog.c
    functionUses: 0
    functionsReached:
    - CreateThread
    - ap_open_stderr_log
    - WaitForSingleObject
    - CreateEvent
    - apr_os_file_put
    - CreatePipe
    - ap_assert
    - apr_file_open_stderr
    - apr_file_dup2
    linkageType: ''
    returnType: void
    signature: void mpm_nt_eventlog_stderr_open(const char *argv0, apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:111,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: set_threads_per_child
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_threads_per_child (cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:121,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: set_thread_limit
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_thread_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - pid
    argTypes:
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: winnt_note_child_started
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void winnt_note_child_started(int slot, pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: winnt_note_child_killed
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void winnt_note_child_killed(int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:195,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:196,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: setup_signal_names
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - apr_snprintf
    linkageType: ''
    returnType: void
    signature: void setup_signal_names(char *prefix)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:211,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:218,1
    - Dst: OpenEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:242,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:247,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:247,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:247,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:251,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:253,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:253,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:253,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:255,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - ap_signal_parent_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 259
    functionName: ap_signal_parent
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - SetEvent
    - APLOGNO
    - apr_get_os_error
    - ap_log_error
    - OpenEvent
    linkageType: ''
    returnType: void
    signature: void ap_signal_parent(ap_signal_parent_e type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:284,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:287,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:287,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:287,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:289,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:292,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:293,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:295,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:298,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:298,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:298,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:300,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:303,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:306,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:306,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:306,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:308,1
    - Dst: apr_os_proc_mutex_put
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:311,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:313,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:313,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:315,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:318,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:321,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:321,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:321,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:323,1
    - Dst: apr_os_shm_put
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:326,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:328,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:328,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:330,1
    - Dst: ap_reopen_scoreboard
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:333,1
    - Dst: apr_shm_baseaddr_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:335,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:335,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:337,1
    - Dst: ap_init_scoreboard
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:342,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:344,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:344,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - s
    - child_exit_event
    - child_start_mutex
    - scoreboard_shm
    argTypes:
    - server_rec*
    - HANDLE*
    - apr_proc_mutex_t**
    - apr_shm_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 346
    functionName: get_handles_from_parent
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - ReadFile
    - SetEvent
    - APLOGNO
    - ap_reopen_scoreboard
    - apr_get_os_error
    - apr_os_shm_put
    - apr_shm_baseaddr_get
    - apr_os_proc_mutex_put
    - ap_log_error
    - ap_init_scoreboard
    - exit
    linkageType: ''
    returnType: void
    signature: "void get_handles_from_parent(server_rec *s, HANDLE *child_exit_event,\n
      \                                   apr_proc_mutex_t **child_start_mutex,\n
      \                                   apr_shm_t **scoreboard_shm)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:358,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:363,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:366,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:366,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:370,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:372,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:372,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:372,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:376,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:378,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:378,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:382,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:384,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:384,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:384,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:388,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:390,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:390,1
    - Dst: apr_os_proc_mutex_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:394,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:395,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:395,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:399,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:401,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:401,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:401,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:405,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:407,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:407,1
    - Dst: apr_os_shm_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:411,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:412,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:412,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:416,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:418,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:418,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:418,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:422,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:424,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:424,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:429,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 7
    argNames:
    - p
    - child_ready_event
    - child_exit_event
    - child_start_mutex
    - scoreboard_shm
    - hProcess
    - child_in
    argTypes:
    - apr_pool_t*
    - HANDLE
    - HANDLE
    - apr_proc_mutex_t*
    - apr_shm_t*
    - HANDLE
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 432
    functionName: send_handles_to_child
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - DuplicateHandle
    - apr_file_write_full
    - GetCurrentProcess
    - APLOGNO
    - apr_get_os_error
    - ap_log_error
    - apr_os_proc_mutex_get
    - apr_os_shm_get
    linkageType: ''
    returnType: int
    signature: "int send_handles_to_child(apr_pool_t *p,\n                                 HANDLE
      child_ready_event,\n                                 HANDLE child_exit_event,\n
      \                                apr_proc_mutex_t *child_start_mutex,\n                                 apr_shm_t
      *scoreboard_shm,\n                                 HANDLE hProcess,\n                                 apr_file_t
      *child_in)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:452,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:465,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:465,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:468,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:470,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:470,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:470,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:472,1
    - Dst: WSASocket
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:475,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:478,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:478,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:478,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:480,1
    - Dst: SetHandleInformation
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:483,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:484,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:484,1
    - Dst: apr_os_sock_put
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:487,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:490,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: get_listeners_from_parent
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ReadFile
    - apr_palloc
    - APLOGNO
    - apr_get_os_error
    - apr_get_netos_error
    - WSASocket
    - SetHandleInformation
    - apr_os_sock_put
    - ap_log_error
    - exit
    linkageType: ''
    returnType: void
    signature: void get_listeners_from_parent(server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:510,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:511,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:512,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:512,1
    - Dst: WSADuplicateSocket
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:515,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:517,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:517,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:517,1
    - Dst: apr_file_write_full
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:522,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:525,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:525,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:531,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p
    - dwProcessId
    - child_in
    argTypes:
    - apr_pool_t*
    - DWORD
    - apr_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 534
    functionName: send_listeners_to_child
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - apr_file_write_full
    - APLOGNO
    - apr_os_sock_get
    - apr_get_netos_error
    - ap_log_error
    - WSADuplicateSocket
    linkageType: ''
    returnType: int
    signature: "int send_listeners_to_child(apr_pool_t *p, DWORD dwProcessId,\n                                   apr_file_t
      *child_in)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:560,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:561,1
    - Dst: apr_procattr_create
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:567,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:568,1
    - Dst: apr_procattr_detach_set
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:569,1
    - Dst: apr_filepath_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:570,1
    - Dst: apr_procattr_dir_set
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:571,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:572,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:572,1
    - Dst: ap_os_proc_filepath
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:580,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:582,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:582,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:585,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:589,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:590,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:592,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:592,1
    - Dst: strcpy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:593,1
    - Dst: apr_procattr_io_set
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:601,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:603,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:603,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:605,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:610,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:612,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:612,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:612,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:614,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:619,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:621,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:621,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:621,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:623,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:624,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:632,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:633,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:634,1
    - Dst: apr_proc_create
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:638,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:641,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:641,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:643,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:644,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:645,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:646,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:650,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:650,1
    - Dst: send_handles_to_child
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:653,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:661,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:662,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:663,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:664,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:665,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:676,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:677,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:682,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:683,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:684,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:685,1
    - Dst: send_listeners_to_child
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:689,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:695,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:696,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:697,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:698,1
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:702,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 89
    argCount: 4
    argNames:
    - p
    - child_proc
    - child_exit_event
    - child_pid
    argTypes:
    - apr_pool_t*
    - HANDLE*
    - HANDLE*
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 709
    functionName: create_process
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_file_close
    - CreateEvent
    - apr_procattr_create
    - ap_malloc
    - CloseHandle
    - apr_pool_create_ex
    - ap_os_proc_filepath
    - send_listeners_to_child
    - apr_procattr_io_set
    - apr_proc_create
    - apr_procattr_dir_set
    - apr_get_os_error
    - ap_log_error
    - apr_pool_destroy
    - apr_procattr_detach_set
    - apr_filepath_get
    - memcpy
    - apr_snprintf
    - send_handles_to_child
    - apr_palloc
    - SetEvent
    - APLOGNO
    - apr_pool_tag
    - WaitForMultipleObjects
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: "int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_event,\n
      \                         DWORD *child_pid)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: create_process
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:771,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:775,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:775,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:775,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:783,1
    - Dst: mpm_service_started
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:784,1
    - Dst: winnt_note_child_started
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:791,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:795,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:799,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:799,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:799,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:805,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:805,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:805,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:812,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:812,1
    - Dst: ResetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:814,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:815,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:815,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:815,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:824,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:824,1
    - Dst: ResetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:826,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:827,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:827,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:827,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:830,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:831,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:831,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:831,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:838,1
    - Dst: GetExitCodeProcess
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:844,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:851,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:851,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:859,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:859,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:863,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:866,1
    - Dst: winnt_note_child_killed
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:870,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:890,1
    - Dst: mpm_service_stopping
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:891,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:894,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:895,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:895,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:895,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:900,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:902,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:902,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:904,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:908,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:908,1
    - Dst: TerminateProcess
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:911,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:912,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:916,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:920,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 100
    argCount: 3
    argNames:
    - s
    - shutdown_event
    - restart_event
    argTypes:
    - server_rec*
    - HANDLE
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 922
    functionName: master_main
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - create_process
    - SetEvent
    - APLOGNO
    - strcasecmp
    - apr_get_os_error
    - mpm_service_started
    - WaitForSingleObject
    - mpm_service_stopping
    - ap_update_child_status_from_indexes
    - GetExitCodeProcess
    - ap_log_error
    - WaitForMultipleObjects
    - ResetEvent
    - TerminateProcess
    - winnt_note_child_started
    - winnt_note_child_killed
    linkageType: ''
    returnType: int
    signature: int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_event)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 985
    functionName: winnt_query
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int winnt_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: winnt_get_name
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *winnt_get_name(void)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: GetVersionEx
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1031,1
    - Dst: getenv
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1043,1
    - Dst: GetCurrentProcess
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1047,1
    - Dst: GetCurrentProcessId
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1051,1
    - Dst: atol
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1052,1
    - Dst: GetStdHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1062,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1063,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1077,1
    - Dst: apr_file_open_stdin
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1078,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1079,1
    - Dst: ReadFile
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1089,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1092,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1092,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1092,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1094,1
    - Dst: GetCurrentProcessId
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1109,1
    - Dst: atexit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1112,1
    - Dst: ap_os_proc_filepath
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1127,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1129,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1129,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1131,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1136,1
    - Dst: apr_filepath_name_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1139,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1140,1
    - Dst: apr_filepath_merge
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1143,1
    - Dst: apr_array_make
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1151,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1153,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1154,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1155,1
    - Dst: apr_getopt_init
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1161,1
    - Dst: apr_getopt
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1163,1
    - Dst: mpm_service_set_name
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1176,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1188,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1189,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1192,1
    - Dst: apr_array_push
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1204,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1205,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1218,1
    - Dst: apr_filepath_set
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1232,1
    - Dst: mpm_nt_eventlog_stderr_open
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1242,1
    - Dst: mpm_service_to_start
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1244,1
    - Dst: apr_file_open
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1255,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1259,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1261,1
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1262,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1267,1
    - Dst: mpm_service_set_name
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1268,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1272,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1276,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1276,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1278,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1288,1
    - Dst: mpm_service_uninstall
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1289,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1290,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1293,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1294,1
    - Dst: mpm_signal_service
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1295,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1296,1
    - Dst: mpm_merge_service_args
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1299,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1302,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1302,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1307,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1307,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1314,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1314,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1316,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1319,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1321,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1321,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1323,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1336,1
    - Dst: mpm_service_install
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1338,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1340,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1343,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1344,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1347,1
    - Dst: mpm_service_install
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1349,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1351,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1354,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1355,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 150
    argCount: 1
    argNames:
    - process
    argTypes:
    - process_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1361
    functionName: winnt_rewrite_args
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - DuplicateHandle
    - apr_file_close
    - fprintf
    - apr_array_push
    - mpm_nt_eventlog_stderr_open
    - mpm_service_install
    - ReadFile
    - GetCurrentProcess
    - mpm_service_set_name
    - getenv
    - apr_file_open_stdout
    - ap_os_proc_filepath
    - apr_file_open
    - mpm_service_to_start
    - GetStdHandle
    - apr_get_os_error
    - atexit
    - GetCurrentProcessId
    - ap_log_error
    - mpm_service_uninstall
    - exit
    - atol
    - apr_filepath_merge
    - GetVersionEx
    - apr_filepath_set
    - mpm_merge_service_args
    - apr_getopt
    - APLOGNO
    - apr_filepath_name_get
    - apr_file_open_stdin
    - strcasecmp
    - apr_getopt_init
    - mpm_signal_service
    - apr_pstrdup
    - apr_array_make
    - apr_file_dup2
    linkageType: ''
    returnType: void
    signature: void winnt_rewrite_args(process_rec *process)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1376,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1377,1
    - Dst: ap_sys_privileges_handlers
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1384,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1386,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1388,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1388,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1391,1
    - Dst: ap_state_query
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1393,1
    - Dst: apr_pool_parent_get
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1402,1
    - Dst: apr_file_open
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1404,1
    - Dst: apr_file_open_stdout
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1408,1
    - Dst: apr_file_dup2
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1410,1
    - Dst: apr_file_close
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1411,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pconf_
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1364
    functionDepth: 3
    functionLinenumber: 1364
    functionLinenumberEnd: 1420
    functionName: winnt_pre_config
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_exists_config_define
    - ap_state_query
    - ap_sys_privileges_handlers
    - apr_file_close
    - APLOGNO
    - strcasecmp
    - apr_file_open_stdout
    - ap_log_error
    - ap_listen_pre_config
    - apr_file_open
    - apr_pool_parent_get
    - exit
    - apr_file_dup2
    linkageType: ''
    returnType: int
    signature: int winnt_pre_config(apr_pool_t *pconf_, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_state_query
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1431,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1437,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1437,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1442,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1442,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1451,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1451,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1455,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1455,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1471,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1471,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1481,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1481,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1487,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1487,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1496,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1496,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1500,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1500,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1508
    functionName: winnt_check_config
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_state_query
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int winnt_check_config(apr_pool_t *pconf, apr_pool_t *plog,\n                              apr_pool_t
      *ptemp, server_rec* s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1529,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1534,1
    - Dst: apr_terminate
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1535,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1536,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1538,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1543,1
    - Dst: apr_terminate
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1544,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1545,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1548,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1553,1
    - Dst: mpm_service_start
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1556,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1557,1
    - Dst: apr_terminate
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1558,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1559,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1562,1
    - Dst: mpm_signal_service
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1563,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1564,1
    - Dst: apr_terminate
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1565,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1566,1
    - Dst: ap_state_query
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1571,1
    - Dst: ap_state_query
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1572,1
    - Dst: setup_signal_names
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1577,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1577,1
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1579,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1584,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1586,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1586,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1586,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1594,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1596,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1597,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1597,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1597,1
    - Dst: apr_proc_mutex_create
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1606,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1610,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1610,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1620,1
    - Dst: mpm_start_console_handler
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1621,1
    - Dst: mpm_start_child_console_handler
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1625,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 4
    argNames:
    - pconf
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1628
    functionName: winnt_post_config
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - CreateEvent
    - CloseHandle
    - ap_state_query
    - mpm_start_child_console_handler
    - apr_proc_mutex_create
    - apr_psprintf
    - apr_terminate
    - setup_signal_names
    - apr_socket_close
    - apr_get_os_error
    - ap_log_pid
    - ap_log_error
    - apr_pool_destroy
    - exit
    - mpm_start_console_handler
    - mpm_service_start
    - strcasecmp
    - APLOGNO
    - mpm_signal_service
    linkageType: ''
    returnType: int
    signature: int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
      *ptemp, server_rec* s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1646,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1647,1
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1651,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1652,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1633
    functionDepth: 4
    functionLinenumber: 1633
    functionLinenumberEnd: 1658
    functionName: winnt_open_logs
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - strcasecmp
    - ap_log_error
    - APLOGNO
    linkageType: ''
    returnType: int
    signature: int winnt_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_signal_names
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1664,1
    - Dst: apr_psprintf
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1664,1
    - Dst: get_handles_from_parent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1669,1
    - Dst: get_listeners_from_parent
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1673,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1676,1
    - Dst: apr_proc_mutex_create
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1680,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1683,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1683,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pchild
    - s
    argTypes:
    - apr_pool_t*
    - struct server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1660
    functionDepth: 4
    functionLinenumber: 1660
    functionLinenumberEnd: 1692
    functionName: winnt_child_init
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - get_listeners_from_parent
    - get_handles_from_parent
    - setup_signal_names
    - APLOGNO
    - apr_proc_mutex_create
    - ap_log_error
    - apr_psprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void winnt_child_init(apr_pool_t *pchild, struct server_rec *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1706,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1715,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1715,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1718,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1720,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1720,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1727,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1727,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1729,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1730,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1730,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1731,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1732,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1733,1
    - Dst: master_main
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1735,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1740,1
    - Dst: apr_proc_mutex_destroy
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1741,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1743,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1751
    functionName: winnt_run
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - apr_proc_mutex_destroy
    - master_main
    - child_main
    - APLOGNO
    - ap_get_server_built
    - ap_log_mpm_common
    - ap_remove_pid
    - ap_log_error
    - ap_get_server_description
    - ap_run_pre_mpm
    - ap_log_command_line
    linkageType: ''
    returnType: int
    signature: int winnt_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1761,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1762,1
    - Dst: ap_hook_post_config
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1763,1
    - Dst: ap_hook_child_init
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1764,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1765,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1766,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1767,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/winnt/mpm_winnt.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1769
    functionName: winnt_hooks
    functionSourceFile: /src/httpd/server/mpm/winnt/mpm_winnt.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    - ap_hook_post_config
    - ap_hook_child_init
    linkageType: ''
    returnType: void
    signature: void winnt_hooks(apr_pool_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/winnt/child.c:149,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/winnt/child.c:150,1
    - Dst: memset
      Src: /src/httpd/server/mpm/winnt/child.c:154,1
    - Dst: ResetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:156,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/winnt/child.c:158,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:160,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - winnt_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: mpm_recycle_completion_context
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - memset
    - apr_bucket_alloc_create
    - apr_thread_mutex_unlock
    - SetEvent
    - apr_pool_clear
    - ResetEvent
    linkageType: ''
    returnType: void
    signature: void mpm_recycle_completion_context(winnt_conn_ctx_t *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/winnt/child.c:176,1
    - Dst: ResetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:181,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:183,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:196,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:196,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/child.c:210,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:220,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:220,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:227,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:228,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:229,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/winnt/child.c:242,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/winnt/child.c:243,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:247,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:251,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:252,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:253,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:257,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/winnt/child.c:262,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/winnt/child.c:263,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/winnt/child.c:264,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:267,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:267,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:270,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:272,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/winnt/child.c:275,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/winnt/child.c:276,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/winnt/child.c:279,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/winnt/child.c:280,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 1
    argNames:
    - context_p
    argTypes:
    - winnt_conn_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 293
    functionName: mpm_get_completion_context
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - CloseHandle
    - apr_pcalloc
    - apr_thread_mutex_unlock
    - apr_bucket_alloc_create
    - apr_allocator_owner_set
    - APLOGNO
    - apr_get_os_error
    - apr_pool_tag
    - CreateEvent
    - apr_allocator_create
    - apr_allocator_max_free_set
    - apr_pool_create_ex
    - ap_log_error
    - ResetEvent
    - WaitForMultipleObjects
    - apr_atomic_inc32
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mpm_get_completion_context(winnt_conn_ctx_t **context_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - accf
    argTypes:
    - accept_filter_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: accept_filter_to_string
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * accept_filter_to_string(accept_filter_e accf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/mpm/winnt/child.c:317,1
    - Dst: apr_table_get
      Src: /src/httpd/server/mpm/winnt/child.c:318,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:320,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:321,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm/winnt/child.c:326,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:327,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:328,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm/winnt/child.c:332,1
    - Dst: strcmp
      Src: /src/httpd/server/mpm/winnt/child.c:335,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:339,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: get_accept_filter
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ap_get_core_module_config
    - APLOGNO
    - ap_log_error
    - apr_table_get
    linkageType: ''
    returnType: accept_filter_e
    signature: accept_filter_e get_accept_filter(const char *protocol)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_sock_get
      Src: /src/httpd/server/mpm/winnt/child.c:384,1
    - Dst: getsockname
      Src: /src/httpd/server/mpm/winnt/child.c:387,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:388,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:388,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:389,1
    - Dst: get_accept_filter
      Src: /src/httpd/server/mpm/winnt/child.c:396,1
    - Dst: WSAIoctl
      Src: /src/httpd/server/mpm/winnt/child.c:399,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:403,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:403,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:404,1
    - Dst: WSAIoctl
      Src: /src/httpd/server/mpm/winnt/child.c:408,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:412,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:412,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:413,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:428,1
    - Dst: WSAEventSelect
      Src: /src/httpd/server/mpm/winnt/child.c:433,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:435,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:436,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:436,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:438,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:443,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:443,1
    - Dst: accept_filter_to_string
      Src: /src/httpd/server/mpm/winnt/child.c:445,1
    - Dst: mpm_get_completion_context
      Src: /src/httpd/server/mpm/winnt/child.c:449,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:452,1
    - Dst: socket
      Src: /src/httpd/server/mpm/winnt/child.c:468,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:473,1
    - Dst: socket
      Src: /src/httpd/server/mpm/winnt/child.c:474,1
    - Dst: socket
      Src: /src/httpd/server/mpm/winnt/child.c:480,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:484,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:485,1
    - Dst: Sleep
      Src: /src/httpd/server/mpm/winnt/child.c:488,1
    - Dst: lpfnAcceptEx
      Src: /src/httpd/server/mpm/winnt/child.c:497,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:500,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:501,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:502,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:507,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:511,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:512,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:521,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:525,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:525,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:530,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:530,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:538,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:539,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:540,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:544,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:544,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:547,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:547,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/httpd/server/mpm/winnt/child.c:561,1
    - Dst: GetOverlappedResult
      Src: /src/httpd/server/mpm/winnt/child.c:566,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:569,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:570,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:570,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:572,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:578,1
    - Dst: setsockopt
      Src: /src/httpd/server/mpm/winnt/child.c:594,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:597,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:597,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:598,1
    - Dst: lpfnGetAcceptExSockaddrs
      Src: /src/httpd/server/mpm/winnt/child.c:606,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:614,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/httpd/server/mpm/winnt/child.c:624,1
    - Dst: accept
      Src: /src/httpd/server/mpm/winnt/child.c:641,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:646,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:647,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:648,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:649,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:650,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:651,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:657,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:658,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:661,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/server/mpm/winnt/child.c:662,1
    - Dst: Sleep
      Src: /src/httpd/server/mpm/winnt/child.c:664,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:667,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:667,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:671,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:678,1
    - Dst: WSAEventSelect
      Src: /src/httpd/server/mpm/winnt/child.c:686,1
    - Dst: getsockname
      Src: /src/httpd/server/mpm/winnt/child.c:690,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:692,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:692,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:692,1
    - Dst: getpeername
      Src: /src/httpd/server/mpm/winnt/child.c:696,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:698,1
    - Dst: apr_get_netos_error
      Src: /src/httpd/server/mpm/winnt/child.c:698,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:698,1
    - Dst: memset
      Src: /src/httpd/server/mpm/winnt/child.c:700,1
    - Dst: ioctlsocket
      Src: /src/httpd/server/mpm/winnt/child.c:715,1
    - Dst: setsockopt
      Src: /src/httpd/server/mpm/winnt/child.c:716,1
    - Dst: setsockopt
      Src: /src/httpd/server/mpm/winnt/child.c:718,1
    - Dst: apr_os_sock_make
      Src: /src/httpd/server/mpm/winnt/child.c:720,1
    - Dst: PostQueuedCompletionStatus
      Src: /src/httpd/server/mpm/winnt/child.c:725,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:731,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:733,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:733,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 182
    argCount: 1
    argNames:
    - lr_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 736
    functionName: winnt_accept
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - Sleep
    - lpfnGetAcceptExSockaddrs
    - WaitForMultipleObjectsEx
    - apr_os_sock_get
    - CreateEvent
    - getsockname
    - WSAIoctl
    - CloseHandle
    - GetOverlappedResult
    - accept
    - get_accept_filter
    - WSAEventSelect
    - APR_FROM_OS_ERROR
    - PostQueuedCompletionStatus
    - ioctlsocket
    - socket
    - closesocket
    - apr_get_os_error
    - apr_get_netos_error
    - apr_os_sock_make
    - ap_log_error
    - mpm_get_completion_context
    - getpeername
    - memset
    - SetEvent
    - lpfnAcceptEx
    - APLOGNO
    - accept_filter_to_string
    - setsockopt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int winnt_accept(void *lr_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpm_recycle_completion_context
      Src: /src/httpd/server/mpm/winnt/child.c:750,1
    - Dst: GetQueuedCompletionStatus
      Src: /src/httpd/server/mpm/winnt/child.c:756,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:759,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:760,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:760,1
    - Dst: CONTAINING_RECORD
      Src: /src/httpd/server/mpm/winnt/child.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - context
    argTypes:
    - winnt_conn_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 779
    functionName: winnt_get_connection
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - GetQueuedCompletionStatus
    - APLOGNO
    - apr_get_os_error
    - mpm_recycle_completion_context
    - ap_log_error
    - CONTAINING_RECORD
    linkageType: ''
    returnType: winnt_conn_ctx_t
    signature: winnt_conn_ctx_t *winnt_get_connection(winnt_conn_ctx_t *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/winnt/child.c:804,1
    - Dst: winnt_get_connection
      Src: /src/httpd/server/mpm/winnt/child.c:807,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:818,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/winnt/child.c:822,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/winnt/child.c:823,1
    - Dst: ap_process_connection
      Src: /src/httpd/server/mpm/winnt/child.c:835,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/winnt/child.c:837,1
    - Dst: apr_socket_opt_get
      Src: /src/httpd/server/mpm/winnt/child.c:839,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/winnt/child.c:845,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - thd
    - ctx
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 792
    functionDepth: 5
    functionLinenumber: 792
    functionLinenumberEnd: 849
    functionName: APR_THREAD_FUNC::worker_thread
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 0
    functionsReached:
    - ap_create_sb_handle
    - ap_process_connection
    - apr_socket_opt_get
    - winnt_get_connection
    - SetEvent
    - ap_run_create_connection
    - ap_update_child_status_from_indexes
    - ap_lingering_close
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC worker_thread(apr_thread_t *thd, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/httpd/server/mpm/winnt/child.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 891
    functionName: create_listener_thread
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 2
    functionsReached:
    - _beginthreadex
    linkageType: ''
    returnType: void
    signature: void create_listener_thread(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/winnt/child.c:913,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/winnt/child.c:914,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/winnt/child.c:916,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:918,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:920,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:920,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:920,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/child.c:922,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:926,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:928,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:928,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:928,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/child.c:930,1
    - Dst: OpenProcess
      Src: /src/httpd/server/mpm/winnt/child.c:936,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:939,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:939,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:939,1
    - Dst: apr_proc_mutex_lock
      Src: /src/httpd/server/mpm/winnt/child.c:958,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:960,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:960,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/child.c:963,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:965,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:965,1
    - Dst: CreateIoCompletionPort
      Src: /src/httpd/server/mpm/winnt/child.c:971,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/winnt/child.c:973,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:974,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:976,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:976,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:977,1
    - Dst: exit
      Src: /src/httpd/server/mpm/winnt/child.c:979,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:985,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:985,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/winnt/child.c:987,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/winnt/child.c:988,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/winnt/child.c:1004,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/child.c:1007,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:1009,1
    - Dst: apr_threadattr_create
      Src: /src/httpd/server/mpm/winnt/child.c:1013,1
    - Dst: apr_threadattr_stacksize_set
      Src: /src/httpd/server/mpm/winnt/child.c:1015,1
    - Dst: ap_thread_create
      Src: /src/httpd/server/mpm/winnt/child.c:1018,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1022,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1022,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/child.c:1028,1
    - Dst: create_listener_thread
      Src: /src/httpd/server/mpm/winnt/child.c:1037,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/child.c:1045,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1050,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/winnt/child.c:1053,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/winnt/child.c:1053,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/child.c:1084,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/child.c:1088,1
    - Dst: apr_proc_other_child_refresh_all
      Src: /src/httpd/server/mpm/winnt/child.c:1091,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1097,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:1097,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1098,1
    - Dst: GetHandleInformation
      Src: /src/httpd/server/mpm/winnt/child.c:1104,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1105,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/child.c:1105,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1106,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1115,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1115,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1123,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1123,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1132,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1132,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/child.c:1136,1
    - Dst: apr_socket_close
      Src: /src/httpd/server/mpm/winnt/child.c:1155,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/child.c:1162,1
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/winnt/child.c:1166,1
    - Dst: Sleep
      Src: /src/httpd/server/mpm/winnt/child.c:1168,1
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:1176,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1178,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1178,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1182,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1182,1
    - Dst: PostQueuedCompletionStatus
      Src: /src/httpd/server/mpm/winnt/child.c:1190,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/winnt/child.c:1194,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1196,1
    - Dst: closesocket
      Src: /src/httpd/server/mpm/winnt/child.c:1197,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/winnt/child.c:1200,1
    - Dst: APR_TIME_C
      Src: /src/httpd/server/mpm/winnt/child.c:1206,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1217,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1218,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/child.c:1224,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/winnt/child.c:1231,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1232,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1241,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1241,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/winnt/child.c:1246,1
    - Dst: TerminateProcess
      Src: /src/httpd/server/mpm/winnt/child.c:1260,1
    - Dst: GetCurrentProcess
      Src: /src/httpd/server/mpm/winnt/child.c:1260,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/child.c:1262,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/child.c:1262,1
    - Dst: ap_run_child_stopped
      Src: /src/httpd/server/mpm/winnt/child.c:1265,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/server/mpm/winnt/child.c:1267,1
    - Dst: apr_thread_mutex_destroy
      Src: /src/httpd/server/mpm/winnt/child.c:1268,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1269,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1270,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/winnt/child.c:1272,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1273,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/child.c:1275,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 186
    argCount: 2
    argNames:
    - pconf
    - parent_pid
    argTypes:
    - apr_pool_t*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 1277
    functionName: child_main
    functionSourceFile: /src/httpd/server/mpm/winnt/child.c
    functionUses: 5
    functionsReached:
    - apr_proc_mutex_unlock
    - Sleep
    - apr_thread_mutex_unlock
    - ap_run_child_init
    - CreateEvent
    - ap_signal_parent
    - TerminateProcess
    - CloseHandle
    - GetCurrentProcess
    - apr_thread_join
    - WaitForSingleObject
    - ap_thread_create
    - apr_thread_mutex_destroy
    - PostQueuedCompletionStatus
    - apr_time_from_sec
    - GetHandleInformation
    - ap_run_child_stopped
    - closesocket
    - apr_socket_close
    - apr_get_os_error
    - apr_pool_create
    - apr_threadattr_stacksize_set
    - ap_update_child_status_from_indexes
    - ap_log_error
    - apr_threadattr_create
    - apr_proc_other_child_refresh_all
    - ap_run_child_stopping
    - apr_pool_destroy
    - exit
    - apr_thread_mutex_create
    - CreateIoCompletionPort
    - apr_thread_mutex_lock
    - apr_pcalloc
    - APR_TIME_C
    - SetEvent
    - OpenProcess
    - APLOGNO
    - apr_pool_tag
    - create_listener_thread
    - apr_sleep
    - apr_proc_mutex_lock
    - WaitForMultipleObjects
    linkageType: ''
    returnType: void
    signature: void child_main(apr_pool_t *pconf, DWORD parent_pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - lpMachine
    - lpDatabase
    - dwAccess
    argTypes:
    - void*
    - void*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: OpenSCManager
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: "APR_INLINE OpenSCManager(const void *lpMachine,\n                                          const
      void *lpDatabase,\n                                          DWORD dwAccess)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/httpd/server/mpm/winnt/service.c:126,1
    - Dst: GetStdHandle
      Src: /src/httpd/server/mpm/winnt/service.c:127,1
    - Dst: WriteConsole
      Src: /src/httpd/server/mpm/winnt/service.c:130,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:130,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/httpd/server/mpm/winnt/service.c:133,1
    - Dst: SetConsoleMode
      Src: /src/httpd/server/mpm/winnt/service.c:135,1
    - Dst: time
      Src: /src/httpd/server/mpm/winnt/service.c:138,1
    - Dst: PeekConsoleInput
      Src: /src/httpd/server/mpm/winnt/service.c:141,1
    - Dst: ReadConsoleInput
      Src: /src/httpd/server/mpm/winnt/service.c:143,1
    - Dst: time
      Src: /src/httpd/server/mpm/winnt/service.c:152,1
    - Dst: sprintf
      Src: /src/httpd/server/mpm/winnt/service.c:153,1
    - Dst: SetConsoleCursorPosition
      Src: /src/httpd/server/mpm/winnt/service.c:155,1
    - Dst: WriteConsole
      Src: /src/httpd/server/mpm/winnt/service.c:157,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:157,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/service.c:161,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 162
    functionName: hold_console_open_on_error
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - SetConsoleCursorPosition
    - sprintf
    - GetConsoleScreenBufferInfo
    - GetStdHandle
    - ReadConsoleInput
    - time
    - WriteConsole
    - WaitForSingleObject
    - strlen
    - PeekConsoleInput
    - SetConsoleMode
    linkageType: ''
    returnType: void
    signature: void hold_console_open_on_error(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:169,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/service.c:170,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:173,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/service.c:178,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:189,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/service.c:190,1
    - Dst: Sleep
      Src: /src/httpd/server/mpm/winnt/service.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ctrl_type
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: console_control_handler
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - ap_signal_parent
    - fprintf
    - Sleep
    linkageType: ''
    returnType: BOOL
    signature: BOOL console_control_handler(DWORD ctrl_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleCtrlHandler
      Src: /src/httpd/server/mpm/winnt/service.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: stop_console_handler
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - SetConsoleCtrlHandler
    linkageType: ''
    returnType: void
    signature: void stop_console_handler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleCtrlHandler
      Src: /src/httpd/server/mpm/winnt/service.c:208,1
    - Dst: atexit
      Src: /src/httpd/server/mpm/winnt/service.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: mpm_start_console_handler
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - atexit
    - SetConsoleCtrlHandler
    linkageType: ''
    returnType: void
    signature: void mpm_start_console_handler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeConsole
      Src: /src/httpd/server/mpm/winnt/service.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: mpm_start_child_console_handler
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - FreeConsole
    linkageType: ''
    returnType: void
    signature: void mpm_start_child_console_handler(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetServiceStatus
      Src: /src/httpd/server/mpm/winnt/service.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - currentState
    - waitHint
    - ctx
    argTypes:
    - int
    - int
    - nt_service_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 259
    functionName: ReportStatusToSCMgr
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - SetServiceStatus
    linkageType: ''
    returnType: int
    signature: "int ReportStatusToSCMgr(int currentState, int waitHint,\n                               nt_service_ctx_t
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/winnt/service.c:281,1
    - Dst: OpenSCManager
      Src: /src/httpd/server/mpm/winnt/service.c:284,1
    - Dst: OpenServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:291,1
    - Dst: OpenService
      Src: /src/httpd/server/mpm/winnt/service.c:299,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:310,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:313,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/server/mpm/winnt/service.c:315,1
    - Dst: ChangeServiceConfig2W
      Src: /src/httpd/server/mpm/winnt/service.c:319,1
    - Dst: if
      Src: /src/httpd/server/mpm/winnt/service.c:328,1
    - Dst: ChangeServiceConfig2
      Src: /src/httpd/server/mpm/winnt/service.c:328,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:334,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 338
    functionName: set_service_description
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - apr_palloc
    - ChangeServiceConfig2W
    - OpenService
    - if
    - OpenServiceW
    - CloseServiceHandle
    - OpenSCManager
    - strlen
    - ap_get_server_description
    - ChangeServiceConfig2
    linkageType: ''
    returnType: void
    signature: void set_service_description(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/service.c:352,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:353,1
    - Dst: ap_signal_parent
      Src: /src/httpd/server/mpm/winnt/service.c:358,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:359,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - dwCtrlCode
    - dwEventType
    - lpEventData
    - lpContext
    argTypes:
    - DWORD
    - DWORD
    - LPVOID
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 368
    functionName: service_nt_ctrl
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - ap_signal_parent
    - ReportStatusToSCMgr
    linkageType: ''
    returnType: DWORD
    signature: "DWORD service_nt_ctrl(DWORD dwCtrlCode, DWORD dwEventType,\n                                    LPVOID
      lpEventData, LPVOID lpContext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/httpd/server/mpm/winnt/service.c:383,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:386,1
    - Dst: apr_conv_ucs2_to_utf8
      Src: /src/httpd/server/mpm/winnt/service.c:387,1
    - Dst: mpm_service_set_name
      Src: /src/httpd/server/mpm/winnt/service.c:390,1
    - Dst: memset
      Src: /src/httpd/server/mpm/winnt/service.c:392,1
    - Dst: RegisterServiceCtrlHandlerExW
      Src: /src/httpd/server/mpm/winnt/service.c:397,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:399,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:400,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:401,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:406,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:418,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:421,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:425,1
    - Dst: wcslen
      Src: /src/httpd/server/mpm/winnt/service.c:432,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:434,1
    - Dst: apr_conv_ucs2_to_utf8
      Src: /src/httpd/server/mpm/winnt/service.c:435,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/service.c:446,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/service.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - DWORD
    - LPWSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 449
    functionName: service_nt_main_fn_w
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - memset
    - ReportStatusToSCMgr
    - SetEvent
    - APLOGNO
    - mpm_service_set_name
    - ap_malloc
    - apr_get_os_error
    - WaitForSingleObject
    - ap_log_error
    - RegisterServiceCtrlHandlerExW
    - wcslen
    - apr_conv_ucs2_to_utf8
    - memcpy
    linkageType: ''
    returnType: void
    signature: void service_nt_main_fn_w(DWORD argc, LPWSTR *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpm_service_set_name
      Src: /src/httpd/server/mpm/winnt/service.c:460,1
    - Dst: memset
      Src: /src/httpd/server/mpm/winnt/service.c:462,1
    - Dst: RegisterServiceCtrlHandlerExA
      Src: /src/httpd/server/mpm/winnt/service.c:468,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:470,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:471,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:472,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:477,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:488,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:491,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:495,1
    - Dst: SetEvent
      Src: /src/httpd/server/mpm/winnt/service.c:506,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/service.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - DWORD
    - LPSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 509
    functionName: service_nt_main_fn
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - memset
    - ReportStatusToSCMgr
    - SetEvent
    - RegisterServiceCtrlHandlerExA
    - APLOGNO
    - mpm_service_set_name
    - apr_get_os_error
    - WaitForSingleObject
    - ap_log_error
    - ap_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void service_nt_main_fn(DWORD argc, LPSTR *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartServiceCtrlDispatcherW
      Src: /src/httpd/server/mpm/winnt/service.c:533,1
    - Dst: StartServiceCtrlDispatcherA
      Src: /src/httpd/server/mpm/winnt/service.c:537,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:544,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:545,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - nada
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 550
    functionName: service_nt_dispatch_thread
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - StartServiceCtrlDispatcherA
    - APLOGNO
    - apr_get_os_error
    - ap_log_error
    - StartServiceCtrlDispatcherW
    linkageType: ''
    returnType: DWORD
    signature: DWORD service_nt_dispatch_thread(LPVOID nada)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:574,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:574,1
    - Dst: apr_collapse_spaces
      Src: /src/httpd/server/mpm/winnt/service.c:575,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:579,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:581,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/server/mpm/winnt/service.c:582,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/service.c:591,1
    - Dst: ap_regkey_open
      Src: /src/httpd/server/mpm/winnt/service.c:592,1
    - Dst: ap_regkey_value_get
      Src: /src/httpd/server/mpm/winnt/service.c:595,1
    - Dst: ap_regkey_close
      Src: /src/httpd/server/mpm/winnt/service.c:596,1
    - Dst: apr_pstrdup
      Src: /src/httpd/server/mpm/winnt/service.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - p
    - display_name
    - set_name
    argTypes:
    - apr_pool_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 605
    functionName: mpm_service_set_name
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 3
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - apr_palloc
    - apr_pstrdup
    - ap_regkey_close
    - ap_regkey_open
    - strlen
    - ap_regkey_value_get
    - apr_collapse_spaces
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mpm_service_set_name(apr_pool_t *p, const char **display_name,\n
      \                                 const char *set_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/service.c:618,1
    - Dst: ap_regkey_open
      Src: /src/httpd/server/mpm/winnt/service.c:619,1
    - Dst: ap_regkey_value_array_get
      Src: /src/httpd/server/mpm/winnt/service.c:621,1
    - Dst: ap_regkey_close
      Src: /src/httpd/server/mpm/winnt/service.c:622,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:626,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:626,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:646,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:649,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:652,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - p
    - args
    - fixed_args
    argTypes:
    - apr_pool_t*
    - apr_array_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 664
    functionName: mpm_merge_service_args
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - memcpy
    - ap_regkey_value_array_get
    - ap_log_error
    - ap_regkey_close
    - ap_regkey_open
    - ap_malloc
    - apr_snprintf
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mpm_merge_service_args(apr_pool_t *p,\n                                   apr_array_header_t
      *args,\n                                   int fixed_args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpm_nt_eventlog_stderr_flush
      Src: /src/httpd/server/mpm/winnt/service.c:673,1
    - Dst: ReleaseMutex
      Src: /src/httpd/server/mpm/winnt/service.c:676,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:678,1
    - Dst: WaitForSingleObject
      Src: /src/httpd/server/mpm/winnt/service.c:680,1
    - Dst: CloseHandle
      Src: /src/httpd/server/mpm/winnt/service.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 683
    functionName: service_stopped
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - ReportStatusToSCMgr
    - ReleaseMutex
    - WaitForSingleObject
    - mpm_nt_eventlog_stderr_flush
    linkageType: ''
    returnType: void
    signature: void service_stopped(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/httpd/server/mpm/winnt/service.c:688,1
    - Dst: GetCurrentThread
      Src: /src/httpd/server/mpm/winnt/service.c:689,1
    - Dst: DuplicateHandle
      Src: /src/httpd/server/mpm/winnt/service.c:698,1
    - Dst: CreateEvent
      Src: /src/httpd/server/mpm/winnt/service.c:703,1
    - Dst: CreateMutex
      Src: /src/httpd/server/mpm/winnt/service.c:704,1
    - Dst: CreateThread
      Src: /src/httpd/server/mpm/winnt/service.c:709,1
    - Dst: WaitForMultipleObjects
      Src: /src/httpd/server/mpm/winnt/service.c:722,1
    - Dst: atexit
      Src: /src/httpd/server/mpm/winnt/service.c:726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - display_name
    - p
    argTypes:
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 729
    functionName: mpm_service_to_start
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - DuplicateHandle
    - CreateThread
    - GetCurrentProcess
    - CreateMutex
    - CreateEvent
    - atexit
    - WaitForMultipleObjects
    - GetCurrentThread
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mpm_service_to_start(const char **display_name, apr_pool_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_description
      Src: /src/httpd/server/mpm/winnt/service.c:734,1
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: mpm_service_started
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - set_service_description
    - ReportStatusToSCMgr
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mpm_service_started(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportStatusToSCMgr
      Src: /src/httpd/server/mpm/winnt/service.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: mpm_service_stopping
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - ReportStatusToSCMgr
    linkageType: ''
    returnType: void
    signature: void mpm_service_stopping(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:761,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:768,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:770,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/server/mpm/winnt/service.c:771,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:778,1
    - Dst: GetModuleFileNameW
      Src: /src/httpd/server/mpm/winnt/service.c:780,1
    - Dst: wcscpy
      Src: /src/httpd/server/mpm/winnt/service.c:781,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/winnt/service.c:787,1
    - Dst: GetModuleFileName
      Src: /src/httpd/server/mpm/winnt/service.c:789,1
    - Dst: strcpy
      Src: /src/httpd/server/mpm/winnt/service.c:790,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:794,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:795,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:796,1
    - Dst: OpenSCManager
      Src: /src/httpd/server/mpm/winnt/service.c:800,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:803,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:804,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:805,1
    - Dst: OpenServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:814,1
    - Dst: OpenService
      Src: /src/httpd/server/mpm/winnt/service.c:821,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:826,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:827,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:828,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:829,1
    - Dst: ChangeServiceConfigW
      Src: /src/httpd/server/mpm/winnt/service.c:837,1
    - Dst: ChangeServiceConfig
      Src: /src/httpd/server/mpm/winnt/service.c:849,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:859,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:860,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:861,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:864,1
    - Dst: CreateServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:878,1
    - Dst: CreateService
      Src: /src/httpd/server/mpm/winnt/service.c:896,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:913,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:914,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:915,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:917,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:922,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:923,1
    - Dst: set_service_description
      Src: /src/httpd/server/mpm/winnt/service.c:925,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/winnt/service.c:929,1
    - Dst: ap_regkey_open
      Src: /src/httpd/server/mpm/winnt/service.c:930,1
    - Dst: ap_regkey_value_array_set
      Src: /src/httpd/server/mpm/winnt/service.c:933,1
    - Dst: ap_regkey_close
      Src: /src/httpd/server/mpm/winnt/service.c:934,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:937,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:938,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:942,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 4
    argNames:
    - ptemp
    - argc
    - argv
    - reconfig
    argTypes:
    - apr_pool_t*
    - int
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 945
    functionName: mpm_service_install
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - wcscpy
    - fprintf
    - ChangeServiceConfigW
    - CloseServiceHandle
    - ChangeServiceConfig
    - GetModuleFileName
    - CreateService
    - apr_conv_utf8_to_ucs2
    - apr_get_os_error
    - set_service_description
    - ap_regkey_value_array_set
    - ap_log_error
    - ap_regkey_close
    - ap_regkey_open
    - apr_snprintf
    - GetModuleFileNameW
    - CreateServiceW
    - apr_palloc
    - OpenService
    - APLOGNO
    - OpenServiceW
    - strcpy
    - OpenSCManager
    - strlen
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mpm_service_install(apr_pool_t *ptemp, int argc,\n                                 const
      char * const * argv, int reconfig)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:954,1
    - Dst: OpenSCManager
      Src: /src/httpd/server/mpm/winnt/service.c:956,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:959,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:960,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:961,1
    - Dst: OpenServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:969,1
    - Dst: OpenService
      Src: /src/httpd/server/mpm/winnt/service.c:975,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:979,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:980,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:981,1
    - Dst: DeleteService
      Src: /src/httpd/server/mpm/winnt/service.c:997,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:998,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:999,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1000,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1005,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1006,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 1011
    functionName: mpm_service_uninstall
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - fprintf
    - APLOGNO
    - OpenService
    - apr_get_os_error
    - OpenServiceW
    - CloseServiceHandle
    - ap_log_error
    - OpenSCManager
    - DeleteService
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t mpm_service_uninstall(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ControlService
      Src: /src/httpd/server/mpm/winnt/service.c:1024,1
    - Dst: Sleep
      Src: /src/httpd/server/mpm/winnt/service.c:1028,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/server/mpm/winnt/service.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - schService
    - signal
    - pending
    - complete
    argTypes:
    - SC_HANDLE
    - DWORD
    - DWORD
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1034
    functionName: signal_service_transition
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 0
    functionsReached:
    - ControlService
    - QueryServiceStatus
    - Sleep
    linkageType: ''
    returnType: int
    signature: "int signal_service_transition(SC_HANDLE schService, DWORD signal,\n
      \                                    DWORD pending, DWORD complete)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1044,1
    - Dst: OpenSCManager
      Src: /src/httpd/server/mpm/winnt/service.c:1046,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1049,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1050,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1051,1
    - Dst: OpenServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:1059,1
    - Dst: OpenService
      Src: /src/httpd/server/mpm/winnt/service.c:1066,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1071,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1072,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1073,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1075,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/server/mpm/winnt/service.c:1079,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1081,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1082,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1084,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1085,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:1093,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/winnt/service.c:1098,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:1100,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/server/mpm/winnt/service.c:1101,1
    - Dst: StartServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:1109,1
    - Dst: signal_service_transition
      Src: /src/httpd/server/mpm/winnt/service.c:1110,1
    - Dst: ap_malloc
      Src: /src/httpd/server/mpm/winnt/service.c:1119,1
    - Dst: memcpy
      Src: /src/httpd/server/mpm/winnt/service.c:1120,1
    - Dst: StartService
      Src: /src/httpd/server/mpm/winnt/service.c:1123,1
    - Dst: signal_service_transition
      Src: /src/httpd/server/mpm/winnt/service.c:1124,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1131,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1133,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1134,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1137,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1139,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ptemp
    - argc
    - argv
    argTypes:
    - apr_pool_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1144
    functionName: mpm_service_start
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 1
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - QueryServiceStatus
    - StartServiceW
    - signal_service_transition
    - fprintf
    - APLOGNO
    - OpenService
    - apr_get_os_error
    - strlen
    - StartService
    - OpenServiceW
    - CloseServiceHandle
    - ap_log_error
    - OpenSCManager
    - ap_malloc
    - memcpy
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t mpm_service_start(apr_pool_t *ptemp, int argc,\n                               const
      char * const * argv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/httpd/server/mpm/winnt/service.c:1155,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1159,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1160,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1161,1
    - Dst: OpenServiceW
      Src: /src/httpd/server/mpm/winnt/service.c:1169,1
    - Dst: OpenService
      Src: /src/httpd/server/mpm/winnt/service.c:1178,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1186,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1187,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1188,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1190,1
    - Dst: QueryServiceStatus
      Src: /src/httpd/server/mpm/winnt/service.c:1194,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/winnt/service.c:1195,1
    - Dst: apr_get_os_error
      Src: /src/httpd/server/mpm/winnt/service.c:1196,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/winnt/service.c:1197,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1199,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1200,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1205,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1206,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1207,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1211,1
    - Dst: signal_service_transition
      Src: /src/httpd/server/mpm/winnt/service.c:1216,1
    - Dst: mpm_service_start
      Src: /src/httpd/server/mpm/winnt/service.c:1221,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1222,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1223,1
    - Dst: signal_service_transition
      Src: /src/httpd/server/mpm/winnt/service.c:1227,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1232,1
    - Dst: CloseServiceHandle
      Src: /src/httpd/server/mpm/winnt/service.c:1233,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1236,1
    - Dst: fprintf
      Src: /src/httpd/server/mpm/winnt/service.c:1240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - ptemp
    - signal
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1243
    functionName: mpm_signal_service
    functionSourceFile: /src/httpd/server/mpm/winnt/service.c
    functionUses: 2
    functionsReached:
    - QueryServiceStatus
    - mpm_service_start
    - signal_service_transition
    - OpenService
    - APLOGNO
    - fprintf
    - apr_get_os_error
    - OpenServiceW
    - CloseServiceHandle
    - ap_log_error
    - OpenSCManager
    linkageType: ''
    returnType: void
    signature: void mpm_signal_service(apr_pool_t *ptemp, int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: MPM_CHILD_PID
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPM_CHILD_PID(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_core_module_config
      Src: /src/httpd/server/mpm/prefork/prefork.c:169,1
    - Dst: strlen
      Src: /src/httpd/server/mpm/prefork/prefork.c:176,1
    - Dst: ap_append_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:179,1
    - Dst: ap_server_root_relative
      Src: /src/httpd/server/mpm/prefork/prefork.c:181,1
    - Dst: apr_dir_make
      Src: /src/httpd/server/mpm/prefork/prefork.c:182,1
    - Dst: APR_STATUS_IS_EEXIST
      Src: /src/httpd/server/mpm/prefork/prefork.c:186,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:187,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:187,1
    - Dst: ap_runtime_dir_relative
      Src: /src/httpd/server/mpm/prefork/prefork.c:192,1
    - Dst: chdir
      Src: /src/httpd/server/mpm/prefork/prefork.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 196
    functionName: chdir_for_gprof
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_server_root_relative
    - ap_get_core_module_config
    - chdir
    - APLOGNO
    - ap_append_pid
    - APR_STATUS_IS_EEXIST
    - ap_runtime_dir_relative
    - ap_log_error
    - strlen
    - apr_dir_make
    linkageType: ''
    returnType: void
    signature: void chdir_for_gprof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/prefork/prefork.c:204,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - childnum
    - pid
    - gen
    argTypes:
    - int
    - pid_t
    - ap_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: prefork_note_child_killed
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: "void prefork_note_child_killed(int childnum, pid_t pid,\n                                      ap_generation_t
      gen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - pid
    argTypes:
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: prefork_note_child_started
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void prefork_note_child_started(int slot, pid_t pid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:224,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:225,1
    - Dst: ap_run_child_stopping
      Src: /src/httpd/server/mpm/prefork/prefork.c:231,1
    - Dst: ap_run_child_stopped
      Src: /src/httpd/server/mpm/prefork/prefork.c:232,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/prefork/prefork.c:234,1
    - Dst: prefork_note_child_killed
      Src: /src/httpd/server/mpm/prefork/prefork.c:243,1
    - Dst: ap_mpm_pod_close
      Src: /src/httpd/server/mpm/prefork/prefork.c:247,1
    - Dst: chdir_for_gprof
      Src: /src/httpd/server/mpm/prefork/prefork.c:250,1
    - Dst: exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - code
    - from_signal
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: clean_child_exit_ex
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - apr_signal
    - ap_run_child_stopped
    - ap_mpm_pod_close
    - chdir_for_gprof
    - ap_run_child_stopping
    - apr_pool_destroy
    - exit
    - prefork_note_child_killed
    linkageType: ''
    returnType: void
    signature: void clean_child_exit_ex(int code, int from_signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_child_exit_ex
      Src: /src/httpd/server/mpm/prefork/prefork.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 15
    functionsReached:
    - clean_child_exit_ex
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_mutex_lock
      Src: /src/httpd/server/mpm/prefork/prefork.c:263,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:269,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:269,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:270,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:273,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:273,1
    - Dst: exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - clean_child_exit
    - ap_log_error
    - apr_proc_mutex_lock
    - exit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t accept_mutex_on(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/server/mpm/prefork/prefork.c:282,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:288,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:288,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:295,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:295,1
    - Dst: exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 1
    functionsReached:
    - exit
    - APLOGNO
    - apr_proc_mutex_unlock
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t accept_mutex_off(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 364
    functionName: prefork_query
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int prefork_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: prefork_get_name
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *prefork_get_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_child_exit_ex
      Src: /src/httpd/server/mpm/prefork/prefork.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: just_die
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - clean_child_exit_ex
    linkageType: ''
    returnType: void
    signature: void just_die(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/prefork/prefork.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: stop_listening
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_close_listeners_ex
    linkageType: ''
    returnType: void
    signature: void stop_listening(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/httpd/server/mpm/prefork/prefork.c:405,1
    - Dst: pthread_sigmask
      Src: /src/httpd/server/mpm/prefork/prefork.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - new_mask
    - old_mask
    argTypes:
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: child_sigmask
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - sigprocmask
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void child_sigmask(sigset_t *new_mask, sigset_t *old_mask)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/prefork/prefork.c:433,1
    - Dst: ap_fatal_signal_child_setup
      Src: /src/httpd/server/mpm/prefork/prefork.c:436,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:441,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/prefork/prefork.c:442,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/prefork/prefork.c:443,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/prefork/prefork.c:444,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/prefork/prefork.c:445,1
    - Dst: ap_thread_current
      Src: /src/httpd/server/mpm/prefork/prefork.c:449,1
    - Dst: ap_thread_main_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:451,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:452,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:452,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:454,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/prefork/prefork.c:458,1
    - Dst: apr_os_thread_put
      Src: /src/httpd/server/mpm/prefork/prefork.c:459,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/prefork/prefork.c:463,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:466,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/prefork/prefork.c:467,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/prefork/prefork.c:472,1
    - Dst: ap_mpm_pod_close
      Src: /src/httpd/server/mpm/prefork/prefork.c:473,1
    - Dst: ap_reopen_scoreboard
      Src: /src/httpd/server/mpm/prefork/prefork.c:478,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:479,1
    - Dst: apr_proc_mutex_child_init
      Src: /src/httpd/server/mpm/prefork/prefork.c:479,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/server/mpm/prefork/prefork.c:480,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/server/mpm/prefork/prefork.c:483,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:484,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:484,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/prefork/prefork.c:488,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:489,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/server/mpm/prefork/prefork.c:492,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:493,1
    - Dst: child_sigmask
      Src: /src/httpd/server/mpm/prefork/prefork.c:500,1
    - Dst: apr_setup_signal_thread
      Src: /src/httpd/server/mpm/prefork/prefork.c:503,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:505,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:505,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:507,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/prefork/prefork.c:512,1
    - Dst: child_sigmask
      Src: /src/httpd/server/mpm/prefork/prefork.c:518,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/prefork/prefork.c:521,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:523,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:526,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:529,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:529,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:531,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/prefork/prefork.c:535,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/prefork/prefork.c:542,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:549,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:549,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:551,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:553,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:561,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/prefork/prefork.c:577,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:581,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:584,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:591,1
    - Dst: accept_mutex_on
      Src: /src/httpd/server/mpm/prefork/prefork.c:591,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:609,1
    - Dst: accept_mutex_off
      Src: /src/httpd/server/mpm/prefork/prefork.c:609,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:610,1
    - Dst: apr_pollset_poll
      Src: /src/httpd/server/mpm/prefork/prefork.c:616,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/prefork/prefork.c:616,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm/prefork/prefork.c:619,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/prefork/prefork.c:620,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:629,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:630,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:631,1
    - Dst: accept_mutex_off
      Src: /src/httpd/server/mpm/prefork/prefork.c:631,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:632,1
    - Dst: ap_listen_rec*::accept_func
      Src: /src/httpd/server/mpm/prefork/prefork.c:663,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:665,1
    - Dst: accept_mutex_off
      Src: /src/httpd/server/mpm/prefork/prefork.c:665,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:669,1
    - Dst: ap_accept_error_is_nonfatal
      Src: /src/httpd/server/mpm/prefork/prefork.c:671,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:672,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/prefork/prefork.c:685,1
    - Dst: ap_process_connection
      Src: /src/httpd/server/mpm/prefork/prefork.c:690,1
    - Dst: ap_lingering_close
      Src: /src/httpd/server/mpm/prefork/prefork.c:691,1
    - Dst: ap_mpm_pod_check
      Src: /src/httpd/server/mpm/prefork/prefork.c:700,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/prefork/prefork.c:711,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/prefork/prefork.c:712,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 131
    argCount: 2
    argNames:
    - child_num_arg
    - child_bucket
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 713
    functionName: child_main
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 5
    functionsReached:
    - apr_pollset_add
    - ap_run_child_init
    - apr_pollset_poll
    - ap_update_child_status
    - ap_run_create_connection
    - ap_lingering_close
    - apr_pollset_create
    - APR_STATUS_IS_TIMEUP
    - ap_mpm_pod_check
    - ap_listen_rec*::accept_func
    - apr_bucket_alloc_create
    - getpid
    - ap_reopen_scoreboard
    - apr_allocator_create
    - apr_os_thread_put
    - child_sigmask
    - apr_pool_create_ex
    - ap_thread_current
    - apr_proc_mutex_child_init
    - apr_proc_mutex_name
    - accept_mutex_off
    - apr_os_thread_current
    - apr_time_from_sec
    - SAFE_ACCEPT
    - ap_process_connection
    - ap_mpm_pod_close
    - apr_pool_create
    - apr_pool_clear
    - clean_child_exit
    - ap_log_error
    - ap_close_listeners_ex
    - ap_assert
    - apr_proc_mutex_lockfile
    - apr_setup_signal_thread
    - ap_create_sb_handle
    - APR_STATUS_IS_EINTR
    - apr_pcalloc
    - apr_allocator_owner_set
    - ap_fatal_signal_child_setup
    - APLOGNO
    - apr_pool_tag
    - ap_thread_main_create
    - ap_run_drop_privileges
    - apr_allocator_max_free_set
    - ap_accept_error_is_nonfatal
    - accept_mutex_on
    linkageType: ''
    returnType: void
    signature: void child_main(int child_num_arg, int child_bucket)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: prefork_note_child_started
      Src: /src/httpd/server/mpm/prefork/prefork.c:728,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/prefork/prefork.c:728,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/prefork/prefork.c:729,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/prefork/prefork.c:731,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/prefork/prefork.c:735,1
    - Dst: os_fork
      Src: /src/httpd/server/mpm/prefork/prefork.c:740,1
    - Dst: fork
      Src: /src/httpd/server/mpm/prefork/prefork.c:742,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:744,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:744,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/prefork/prefork.c:749,1
    - Dst: sleep
      Src: /src/httpd/server/mpm/prefork/prefork.c:756,1
    - Dst: ap_thread_current_after_fork
      Src: /src/httpd/server/mpm/prefork/prefork.c:763,1
    - Dst: bindprocessor
      Src: /src/httpd/server/mpm/prefork/prefork.c:772,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/prefork/prefork.c:772,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:775,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:776,1
    - Dst: RAISE_SIGSTOP
      Src: /src/httpd/server/mpm/prefork/prefork.c:779,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/mpm/prefork/prefork.c:780,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:784,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:785,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:792,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:796,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/prefork/prefork.c:797,1
    - Dst: prefork_note_child_started
      Src: /src/httpd/server/mpm/prefork/prefork.c:800,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:815,1
    - Dst: ap_mpm_pod_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:876,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:884,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:884,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:893,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:893,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:901,1
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:935,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:942,1
    - Dst: ap_mpm_pod_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:948,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:967,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:974,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:974,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:975,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:976,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:978,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/prefork/prefork.c:981,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/prefork/prefork.c:992,1
    - Dst: ap_unixd_mpm_set_signals
      Src: /src/httpd/server/mpm/prefork/prefork.c:1002,1
    - Dst: ap_duplicate_listeners
      Src: /src/httpd/server/mpm/prefork/prefork.c:1004,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1006,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1007,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/prefork/prefork.c:1012,1
    - Dst: ap_mpm_pod_open
      Src: /src/httpd/server/mpm/prefork/prefork.c:1016,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1018,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1019,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:1024,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/prefork/prefork.c:1024,1
    - Dst: ap_proc_mutex_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:1025,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1029,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1030,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/prefork/prefork.c:1063,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1073,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1073,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/prefork/prefork.c:1075,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1076,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1076,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/prefork/prefork.c:1077,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/prefork/prefork.c:1078,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/prefork/prefork.c:1079,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1080,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1080,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/prefork/prefork.c:1083,1
    - Dst: apr_proc_mutex_defname
      Src: /src/httpd/server/mpm/prefork/prefork.c:1085,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/mpm/prefork/prefork.c:1090,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:1091,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/prefork/prefork.c:1093,1
    - Dst: ap_wait_or_timeout
      Src: /src/httpd/server/mpm/prefork/prefork.c:1104,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:1111,1
    - Dst: ap_find_child_by_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1112,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/prefork/prefork.c:1120,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1126,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1126,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1135,1
    - Dst: prefork_note_child_killed
      Src: /src/httpd/server/mpm/prefork/prefork.c:1137,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:1149,1
    - Dst: apr_proc_other_child_alert
      Src: /src/httpd/server/mpm/prefork/prefork.c:1154,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1163,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1164,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/prefork/prefork.c:1179,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/prefork/prefork.c:1188,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1197,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:1197,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1198,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1198,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1200,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1205,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1205,1
    - Dst: ap_close_listeners
      Src: /src/httpd/server/mpm/prefork/prefork.c:1221,1
    - Dst: ap_mpm_pod_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1225,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:1234,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/prefork/prefork.c:1234,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1240,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1243,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1244,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1244,1
    - Dst: if
      Src: /src/httpd/server/mpm/prefork/prefork.c:1247,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/prefork/prefork.c:1248,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/prefork/prefork.c:1249,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1259,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:1263,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/prefork/prefork.c:1263,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/prefork/prefork.c:1270,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1276,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:1276,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1282,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1282,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1286,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1286,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 268
    argCount: 2
    argNames:
    - s
    - slot
    argTypes:
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 716
    functionDepth: 4
    functionLinenumber: 716
    functionLinenumberEnd: 1290
    functionName: make_child
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 9
    functionsReached:
    - apr_signal
    - getpgrp
    - apr_time_now
    - ap_mpm_safe_kill
    - child_main
    - os_fork
    - ap_relieve_child_processes
    - ap_mpm_pod_killpg
    - prefork_note_child_killed
    - RAISE_SIGSTOP
    - ap_close_listeners
    - bindprocessor
    - ap_mpm_pod_signal
    - ap_process_child_status
    - getpid
    - ap_unixd_mpm_set_signals
    - ap_reclaim_child_processes
    - startup_children
    - MPM_CHILD_PID
    - ap_remove_pid
    - apr_proc_mutex_name
    - ap_duplicate_listeners
    - fork
    - apr_proc_other_child_alert
    - apr_time_from_sec
    - SAFE_ACCEPT
    - perform_idle_server_maintenance
    - AP_MONCONTROL
    - ap_mpm_pod_open
    - if
    - ap_log_pid
    - apr_pool_create
    - ap_log_mpm_common
    - apr_pool_clear
    - ap_update_child_status_from_indexes
    - ap_proc_mutex_create
    - ap_log_error
    - make_child
    - ap_assert
    - ap_get_scoreboard_process
    - ap_get_server_description
    - ap_log_command_line
    - apr_snprintf
    - prefork_note_child_started
    - apr_pcalloc
    - sleep
    - APLOGNO
    - ap_unixd_killpg
    - ap_get_server_built
    - apr_proc_mutex_defname
    - ap_find_child_by_pid
    - ap_wait_or_timeout
    - ap_run_pre_mpm
    - ap_thread_current_after_fork
    linkageType: ''
    returnType: int
    signature: int make_child(server_rec *s, int slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - number_to_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 820
    functionName: startup_children
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 5
    functionsReached:
    - make_child
    linkageType: ''
    returnType: void
    signature: void startup_children(int number_to_start)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_pod_signal
      Src: /src/httpd/server/mpm/prefork/prefork.c:876,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:884,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:884,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:893,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:893,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:901,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 920
    functionName: perform_idle_server_maintenance
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 4
    functionsReached:
    - APLOGNO
    - ap_log_error
    - ap_mpm_pod_signal
    - make_child
    linkageType: ''
    returnType: void
    signature: void perform_idle_server_maintenance(apr_pool_t *p)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:935,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:942,1
    - Dst: ap_mpm_pod_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:948,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:967,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:974,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:974,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:975,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:976,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:978,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/prefork/prefork.c:981,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/prefork/prefork.c:992,1
    - Dst: ap_unixd_mpm_set_signals
      Src: /src/httpd/server/mpm/prefork/prefork.c:1002,1
    - Dst: ap_duplicate_listeners
      Src: /src/httpd/server/mpm/prefork/prefork.c:1004,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1006,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1007,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/prefork/prefork.c:1012,1
    - Dst: ap_mpm_pod_open
      Src: /src/httpd/server/mpm/prefork/prefork.c:1016,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1018,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1019,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/prefork/prefork.c:1024,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/prefork/prefork.c:1024,1
    - Dst: ap_proc_mutex_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:1025,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1029,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1030,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/prefork/prefork.c:1063,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1073,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1073,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/prefork/prefork.c:1075,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1076,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1076,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/prefork/prefork.c:1077,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/prefork/prefork.c:1078,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/prefork/prefork.c:1079,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1080,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1080,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/prefork/prefork.c:1083,1
    - Dst: apr_proc_mutex_defname
      Src: /src/httpd/server/mpm/prefork/prefork.c:1085,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/mpm/prefork/prefork.c:1090,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:1091,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/prefork/prefork.c:1093,1
    - Dst: ap_wait_or_timeout
      Src: /src/httpd/server/mpm/prefork/prefork.c:1104,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm/prefork/prefork.c:1111,1
    - Dst: ap_find_child_by_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1112,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/prefork/prefork.c:1120,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1126,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1126,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1135,1
    - Dst: prefork_note_child_killed
      Src: /src/httpd/server/mpm/prefork/prefork.c:1137,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/prefork/prefork.c:1149,1
    - Dst: apr_proc_other_child_alert
      Src: /src/httpd/server/mpm/prefork/prefork.c:1154,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1163,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1164,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/prefork/prefork.c:1179,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/prefork/prefork.c:1188,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1197,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:1197,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1198,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1198,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1200,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1204,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1205,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1205,1
    - Dst: ap_close_listeners
      Src: /src/httpd/server/mpm/prefork/prefork.c:1221,1
    - Dst: ap_mpm_pod_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1225,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:1234,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/prefork/prefork.c:1234,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1240,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1243,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1244,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1244,1
    - Dst: if
      Src: /src/httpd/server/mpm/prefork/prefork.c:1247,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/prefork/prefork.c:1248,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/prefork/prefork.c:1249,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/prefork/prefork.c:1259,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/prefork/prefork.c:1263,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/prefork/prefork.c:1263,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/prefork/prefork.c:1270,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/prefork/prefork.c:1276,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/prefork/prefork.c:1276,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 160
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 926
    functionDepth: 4
    functionLinenumber: 926
    functionLinenumberEnd: 1279
    functionName: prefork_run
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - getpgrp
    - apr_time_now
    - ap_mpm_safe_kill
    - ap_relieve_child_processes
    - ap_mpm_pod_killpg
    - prefork_note_child_killed
    - ap_close_listeners
    - ap_process_child_status
    - ap_unixd_mpm_set_signals
    - ap_reclaim_child_processes
    - startup_children
    - MPM_CHILD_PID
    - ap_remove_pid
    - apr_proc_mutex_name
    - ap_duplicate_listeners
    - apr_proc_other_child_alert
    - apr_time_from_sec
    - SAFE_ACCEPT
    - perform_idle_server_maintenance
    - AP_MONCONTROL
    - ap_mpm_pod_open
    - if
    - ap_log_pid
    - apr_pool_create
    - ap_log_mpm_common
    - apr_pool_clear
    - ap_proc_mutex_create
    - ap_update_child_status_from_indexes
    - ap_log_error
    - make_child
    - ap_assert
    - ap_get_scoreboard_process
    - ap_get_server_description
    - ap_log_command_line
    - apr_snprintf
    - apr_pcalloc
    - ap_unixd_killpg
    - APLOGNO
    - ap_get_server_built
    - apr_proc_mutex_defname
    - ap_find_child_by_pid
    - ap_wait_or_timeout
    - ap_run_pre_mpm
    linkageType: ''
    returnType: int
    signature: int prefork_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/prefork/prefork.c:1308,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1309,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1295
    functionDepth: 4
    functionLinenumber: 1295
    functionLinenumberEnd: 1316
    functionName: prefork_open_logs
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int prefork_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/prefork/prefork.c:1324,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/prefork/prefork.c:1332,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/prefork/prefork.c:1333,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/prefork/prefork.c:1334,1
    - Dst: ap_mutex_register
      Src: /src/httpd/server/mpm/prefork/prefork.c:1337,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/server/mpm/prefork/prefork.c:1339,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/server/mpm/prefork/prefork.c:1341,1
    - Dst: ap_unixd_mpm_get_retained_data
      Src: /src/httpd/server/mpm/prefork/prefork.c:1342,1
    - Dst: ap_fatal_signal_setup
      Src: /src/httpd/server/mpm/prefork/prefork.c:1358,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/prefork/prefork.c:1359,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1362,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1362,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/prefork/prefork.c:1369,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/prefork/prefork.c:1371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1380
    functionName: prefork_pre_config
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - apr_proc_detach
    - ap_exists_config_define
    - ap_mutex_register
    - ap_unixd_mpm_get_retained_data
    - ap_retained_data_create
    - getpid
    - APLOGNO
    - ap_retained_data_get
    - ap_log_error
    - ap_listen_pre_config
    - ap_fatal_signal_setup
    linkageType: ''
    returnType: int
    signature: int prefork_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t
      *ptemp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1394,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1394,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1399,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1399,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1408,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1408,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1412,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1412,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1427,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1427,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1436,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1436,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1442,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1442,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1451,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1451,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1455,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1455,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1465,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1465,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1469,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1469,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1478,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1478,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1483,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1483,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1493
    functionName: prefork_check_config
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: "int prefork_check_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_force_set_tz
      Src: /src/httpd/server/mpm/prefork/prefork.c:1502,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/prefork/prefork.c:1504,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/prefork/prefork.c:1508,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/prefork/prefork.c:1509,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/prefork/prefork.c:1510,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/prefork/prefork.c:1511,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/prefork/prefork.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1513
    functionName: prefork_hooks
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    - ap_force_set_tz
    linkageType: ''
    returnType: void
    signature: void prefork_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/prefork/prefork.c:1517,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/prefork/prefork.c:1522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1515
    functionDepth: 3
    functionLinenumber: 1515
    functionLinenumberEnd: 1524
    functionName: set_daemons_to_start
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_daemons_to_start(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/prefork/prefork.c:1528,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/prefork/prefork.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1526
    functionDepth: 3
    functionLinenumber: 1526
    functionLinenumberEnd: 1535
    functionName: set_min_free_servers
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_min_free_servers(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/prefork/prefork.c:1539,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/prefork/prefork.c:1544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1546
    functionName: set_max_free_servers
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_max_free_servers(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/prefork/prefork.c:1550,1
    - Dst: strcasecmp
      Src: /src/httpd/server/mpm/prefork/prefork.c:1554,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/prefork/prefork.c:1555,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/prefork/prefork.c:1555,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/prefork/prefork.c:1559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1561
    functionName: set_max_clients
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - APLOGNO
    - atoi
    - ap_check_cmd_context
    - ap_log_error
    linkageType: ''
    returnType: char
    signature: char *set_max_clients (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/prefork/prefork.c:1565,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/prefork/prefork.c:1570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1563
    functionDepth: 3
    functionLinenumber: 1563
    functionLinenumberEnd: 1572
    functionName: set_server_limit
    functionSourceFile: /src/httpd/server/mpm/prefork/prefork.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_server_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: MPM_CHILD_PID
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPM_CHILD_PID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: ID_FROM_CHILD_THREAD
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID_FROM_CHILD_THREAD(c, t)
  - 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: motorz_core_get
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: motorz_core_t
    signature: motorz_core_t *motorz_core_get(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm/motorz/motorz.c:162,1
    - Dst: apr_atomic_dec32
      Src: /src/httpd/server/mpm/motorz/motorz.c:164,1
    - Dst: apr_allocator_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:177,1
    - Dst: apr_allocator_max_free_set
      Src: /src/httpd/server/mpm/motorz/motorz.c:178,1
    - Dst: apr_pool_create_ex
      Src: /src/httpd/server/mpm/motorz/motorz.c:179,1
    - Dst: apr_allocator_owner_set
      Src: /src/httpd/server/mpm/motorz/motorz.c:180,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/motorz/motorz.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: motorz_ptrans_get
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_allocator_owner_set
    - apr_pool_tag
    - apr_atomic_casptr
    - apr_allocator_create
    - apr_allocator_max_free_set
    - apr_pool_create_ex
    - apr_atomic_dec32
    linkageType: ''
    returnType: apr_pool_t
    signature: apr_pool_t *motorz_ptrans_get(motorz_poller_t *poller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_atomic_read32
      Src: /src/httpd/server/mpm/motorz/motorz.c:202,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/motorz/motorz.c:203,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/motorz/motorz.c:206,1
    - Dst: apr_pool_clear
      Src: /src/httpd/server/mpm/motorz/motorz.c:212,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/motorz/motorz.c:213,1
    - Dst: apr_palloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:214,1
    - Dst: apr_atomic_casptr
      Src: /src/httpd/server/mpm/motorz/motorz.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - poller
    - ptrans
    argTypes:
    - motorz_poller_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 228
    functionName: motorz_ptrans_put
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_atomic_read32
    - apr_palloc
    - apr_pool_tag
    - apr_atomic_casptr
    - apr_pool_clear
    - apr_pool_destroy
    - apr_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void motorz_ptrans_put(motorz_poller_t *poller, apr_pool_t *ptrans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/motorz/motorz.c:236,1
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/motorz/motorz.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 256
    functionName: timer_comp
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    linkageType: ''
    returnType: int
    signature: int timer_comp(void *a, void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:265,1
    - Dst: apr_skiplist_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:266,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - baton
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 271
    functionName: motorz_conn_pool_cleanup
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_skiplist_remove
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_conn_pool_cleanup(void *baton)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: apr_interval_time_t::motorz_get_timeout
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: 'APR_INLINE apr_interval_time_t

      motorz_get_timeout(motorz_conn_t *scon)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: apr_interval_time_t::motorz_get_keep_alive_timeout
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APR_INLINE
    signature: 'APR_INLINE apr_interval_time_t

      motorz_get_keep_alive_timeout(motorz_conn_t *scon)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:301,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:301,1
    - Dst: motorz_start_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mz
    - baton
    argTypes:
    - motorz_core_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: motorz_io_timeout_cb
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - motorz_start_lingering_close
    linkageType: ''
    returnType: void
    signature: void motorz_io_timeout_cb(motorz_core_t *mz, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:320,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:320,1
    - Dst: ID_FROM_CHILD_THREAD
      Src: /src/httpd/server/mpm/motorz/motorz.c:328,1
    - Dst: apr_atomic_inc32
      Src: /src/httpd/server/mpm/motorz/motorz.c:329,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/motorz/motorz.c:330,1
    - Dst: apr_bucket_alloc_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:332,1
    - Dst: ap_run_create_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:334,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:342,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:342,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:344,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:349,1
    - Dst: ap_update_vhost_given_ip
      Src: /src/httpd/server/mpm/motorz/motorz.c:362,1
    - Dst: ap_pre_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:364,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:365,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:365,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:368,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:368,1
    - Dst: motorz_io_process
      Src: /src/httpd/server/mpm/motorz/motorz.c:379,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:381,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 384
    functionName: motorz_io_setup_conn
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_pre_connection
    - ap_create_sb_handle
    - apr_pcalloc
    - apr_bucket_alloc_create
    - APLOGNO
    - ap_update_vhost_given_ip
    - motorz_io_process
    - ID_FROM_CHILD_THREAD
    - ap_run_create_connection
    - ap_log_error
    - apr_atomic_inc32
    - motorz_conn_done
    linkageType: ''
    returnType: void
    signature: void *motorz_io_setup_conn(apr_thread_t *thread, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:392,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poller
    - sb
    argTypes:
    - motorz_poller_t*
    - motorz_sb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: motorz_io_user
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_io_user(motorz_poller_t *poller, motorz_sb_t *sb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:406,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:406,1
    - Dst: motorz_ptrans_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:425,1
    - Dst: ap_listen_rec*::accept_func
      Src: /src/httpd/server/mpm/motorz/motorz.c:427,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:433,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:452,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/motorz/motorz.c:455,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:460,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:461,1
    - Dst: motorz_ptrans_put
      Src: /src/httpd/server/mpm/motorz/motorz.c:464,1
    - Dst: motorz_update_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:472,1
    - Dst: motorz_ptrans_put
      Src: /src/httpd/server/mpm/motorz/motorz.c:476,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:479,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:480,1
    - Dst: ap_accept_error_is_nonfatal
      Src: /src/httpd/server/mpm/motorz/motorz.c:486,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:487,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - poller
    - sb
    argTypes:
    - motorz_poller_t*
    - motorz_sb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 497
    functionName: motorz_io_accept
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pcalloc
    - motorz_update_listeners
    - APLOGNO
    - motorz_ptrans_put
    - motorz_ptrans_get
    - apr_thread_pool_push
    - ap_accept_error_is_nonfatal
    - ap_log_error
    - ap_listen_rec*::accept_func
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_io_accept(motorz_poller_t *poller, motorz_sb_t
      *sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:506,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:506,1
    - Dst: motorz_timer_t*::cb
      Src: /src/httpd/server/mpm/motorz/motorz.c:509,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:511,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 515
    functionName: motorz_timer_invoke
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - motorz_timer_t*::cb
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void *motorz_timer_invoke(apr_thread_t *thread, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:522,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:522,1
    - Dst: motorz_pollset_del
      Src: /src/httpd/server/mpm/motorz/motorz.c:534,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/motorz/motorz.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poller
    - te
    argTypes:
    - motorz_poller_t*
    - motorz_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 539
    functionName: motorz_timer_event_process
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_thread_pool_push
    - APLOGNO
    - motorz_pollset_del
    - ap_log_error
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_timer_event_process(motorz_poller_t *poller, motorz_timer_t
      *te)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:547,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:547,1
    - Dst: motorz_io_process
      Src: /src/httpd/server/mpm/motorz/motorz.c:551,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:554,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: motorz_io_invoke
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - motorz_io_process
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void *motorz_io_invoke(apr_thread_t *thread, void *baton)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: motorz_conn_claim
      Src: /src/httpd/server/mpm/motorz/motorz.c:575,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/motorz/motorz.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poller
    - sb
    argTypes:
    - motorz_poller_t*
    - motorz_sb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 580
    functionName: motorz_io_event_process
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_thread_pool_push
    - motorz_conn_claim
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_io_event_process(motorz_poller_t *poller, motorz_sb_t
      *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: motorz_io_accept
      Src: /src/httpd/server/mpm/motorz/motorz.c:590,1
    - Dst: motorz_io_event_process
      Src: /src/httpd/server/mpm/motorz/motorz.c:593,1
    - Dst: motorz_io_user
      Src: /src/httpd/server/mpm/motorz/motorz.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - baton
    - pfd
    argTypes:
    - void*
    - apr_pollfd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 599
    functionName: motorz_io_callback
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - motorz_io_accept
    - motorz_io_user
    - motorz_io_event_process
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_io_callback(void *baton, const apr_pollfd_t *pfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/motorz/motorz.c:622,1
    - Dst: apr_skiplist_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:627,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/motorz/motorz.c:638,1
    - Dst: apr_skiplist_insert
      Src: /src/httpd/server/mpm/motorz/motorz.c:638,1
    - Dst: apr_skiplist_insert
      Src: /src/httpd/server/mpm/motorz/motorz.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - scon
    - cb
    - relative_time
    argTypes:
    - motorz_conn_t*
    - motorz_timer_cb
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 642
    functionName: motorz_register_timeout_locked
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_skiplist_insert
    - apr_skiplist_remove
    - apr_time_now
    - ap_assert
    linkageType: ''
    returnType: void
    signature: "void motorz_register_timeout_locked(motorz_conn_t *scon,\n                                           motorz_timer_cb
      cb,\n                                           apr_interval_time_t relative_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:663,1
    - Dst: motorz_register_timeout_locked
      Src: /src/httpd/server/mpm/motorz/motorz.c:666,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/motorz/motorz.c:667,1
    - Dst: apr_skiplist_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:676,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - scon
    - reqevents
    - cb
    - timeout
    argTypes:
    - motorz_conn_t*
    - apr_int16_t
    - motorz_timer_cb
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 681
    functionName: motorz_conn_register
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_thread_mutex_lock
    - apr_skiplist_remove
    - apr_thread_mutex_unlock
    - motorz_register_timeout_locked
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t motorz_conn_register(motorz_conn_t *scon,\n                                         apr_int16_t
      reqevents,\n                                         motorz_timer_cb cb,\n                                         apr_interval_time_t
      timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:695,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/server/mpm/motorz/motorz.c:696,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - poller
    - scon
    argTypes:
    - motorz_poller_t*
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: motorz_pollset_del
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 1
    functionsReached:
    - apr_pollset_remove
    - APR_STATUS_IS_NOTFOUND
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void motorz_pollset_del(motorz_poller_t *poller, motorz_conn_t *scon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: motorz_pollset_del
      Src: /src/httpd/server/mpm/motorz/motorz.c:718,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:721,1
    - Dst: apr_skiplist_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:722,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - poller
    - scon
    argTypes:
    - motorz_poller_t*
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 726
    functionName: motorz_conn_claim
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 1
    functionsReached:
    - apr_thread_mutex_lock
    - apr_skiplist_remove
    - motorz_pollset_del
    - apr_thread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void motorz_conn_claim(motorz_poller_t *poller, motorz_conn_t *scon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:748,1
    - Dst: motorz_pollset_del
      Src: /src/httpd/server/mpm/motorz/motorz.c:754,1
    - Dst: motorz_ptrans_put
      Src: /src/httpd/server/mpm/motorz/motorz.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: motorz_conn_done
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 1
    functionsReached:
    - motorz_pollset_del
    - ap_log_error
    - motorz_ptrans_put
    linkageType: ''
    returnType: void
    signature: void motorz_conn_done(motorz_conn_t *scon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:767,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mz
    - baton
    argTypes:
    - motorz_core_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 772
    functionName: motorz_linger_timeout_cb
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - motorz_conn_done
    linkageType: ''
    returnType: void
    signature: void motorz_linger_timeout_cb(motorz_core_t *mz, void *baton)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_recv
      Src: /src/httpd/server/mpm/motorz/motorz.c:788,1
    - Dst: APR_STATUS_IS_EAGAIN
      Src: /src/httpd/server/mpm/motorz/motorz.c:791,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:793,1
    - Dst: apr_table_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:813,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/motorz/motorz.c:814,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/motorz/motorz.c:815,1
    - Dst: motorz_conn_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:816,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:821,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 826
    functionName: motorz_lingering_close
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - motorz_conn_register
    - apr_time_from_sec
    - APR_STATUS_IS_EAGAIN
    - ap_log_error
    - apr_table_get
    - apr_socket_recv
    - motorz_conn_done
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_lingering_close(motorz_conn_t *scon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_start_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:847,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:848,1
    - Dst: apr_socket_timeout_set
      Src: /src/httpd/server/mpm/motorz/motorz.c:855,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/motorz/motorz.c:856,1
    - Dst: motorz_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 865
    functionName: motorz_start_lingering_close
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 1
    functionsReached:
    - apr_socket_opt_set
    - ap_start_lingering_close
    - apr_socket_timeout_set
    - motorz_lingering_close
    - motorz_conn_done
    linkageType: ''
    returnType: void
    signature: void motorz_start_lingering_close(motorz_conn_t *scon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:879,1
    - Dst: ap_run_suspend_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 889
    functionName: motorz_suspend_connection
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_log_error
    - ap_run_suspend_connection
    linkageType: ''
    returnType: void
    signature: void motorz_suspend_connection(motorz_conn_t *scon)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:896,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:896,1
    - Dst: motorz_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:905,1
    - Dst: motorz_conn_claim
      Src: /src/httpd/server/mpm/motorz/motorz.c:922,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:923,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:966,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:967,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:978,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:979,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:986,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:987,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:989,1
    - Dst: ap_run_process_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:990,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:997,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:998,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1009,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1010,1
    - Dst: motorz_suspend_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:1012,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1030,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1031,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1034,1
    - Dst: motorz_conn_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:1040,1
    - Dst: motorz_get_timeout
      Src: /src/httpd/server/mpm/motorz/motorz.c:1042,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1044,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1045,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:1047,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1055,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1056,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1059,1
    - Dst: ap_run_output_pending
      Src: /src/httpd/server/mpm/motorz/motorz.c:1061,1
    - Dst: motorz_conn_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:1073,1
    - Dst: motorz_get_timeout
      Src: /src/httpd/server/mpm/motorz/motorz.c:1075,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1077,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1078,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:1080,1
    - Dst: ap_run_input_pending
      Src: /src/httpd/server/mpm/motorz/motorz.c:1089,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1099,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1100,1
    - Dst: motorz_start_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:1105,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1110,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1111,1
    - Dst: motorz_conn_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:1116,1
    - Dst: motorz_get_keep_alive_timeout
      Src: /src/httpd/server/mpm/motorz/motorz.c:1119,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1121,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1122,1
    - Dst: motorz_conn_done
      Src: /src/httpd/server/mpm/motorz/motorz.c:1125,1
    - Dst: motorz_start_lingering_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:1131,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 95
    argCount: 1
    argNames:
    - scon
    argTypes:
    - motorz_conn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 891
    functionDepth: 5
    functionLinenumber: 891
    functionLinenumberEnd: 1135
    functionName: motorz_io_process
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 2
    functionsReached:
    - motorz_conn_register
    - motorz_suspend_connection
    - ap_run_output_pending
    - motorz_conn_claim
    - APLOGNO
    - ap_update_child_status
    - motorz_get_timeout
    - ap_run_input_pending
    - ap_log_error
    - ap_run_process_connection
    - motorz_start_lingering_close
    - motorz_lingering_close
    - motorz_get_keep_alive_timeout
    - motorz_conn_done
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_io_process(motorz_conn_t *scon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_cerror
      Src: /src/httpd/server/mpm/motorz/motorz.c:1150,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1150,1
    - Dst: ap_run_resume_connection
      Src: /src/httpd/server/mpm/motorz/motorz.c:1166,1
    - Dst: apr_thread_pool_push
      Src: /src/httpd/server/mpm/motorz/motorz.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - conn_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1177
    functionName: motorz_resume_suspended
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_run_resume_connection
    - APLOGNO
    - ap_log_cerror
    - apr_thread_pool_push
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_resume_suspended(conn_rec *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_poll
      Src: /src/httpd/server/mpm/motorz/motorz.c:1189,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/motorz/motorz.c:1191,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm/motorz/motorz.c:1191,1
    - Dst: motorz_io_callback
      Src: /src/httpd/server/mpm/motorz/motorz.c:1198,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1200,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - poller
    - timeout
    argTypes:
    - motorz_poller_t*
    - apr_interval_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1207
    functionName: motorz_pollset_cb
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APR_STATUS_IS_EINTR
    - APLOGNO
    - apr_pollset_poll
    - ap_log_error
    - APR_STATUS_IS_TIMEUP
    - motorz_io_callback
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_pollset_cb(motorz_poller_t *poller, apr_interval_time_t
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1216,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1221,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mz
    argTypes:
    - motorz_core_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1228
    functionName: motorz_setup_workers
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - apr_thread_pool_create
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t motorz_setup_workers(motorz_core_t *mz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_create_ex
      Src: /src/httpd/server/mpm/motorz/motorz.c:1242,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1248,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1248,1
    - Dst: apr_pollset_method_name
      Src: /src/httpd/server/mpm/motorz/motorz.c:1249,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1255,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1255,1
    - Dst: apr_pollset_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1257,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1263,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1263,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1266,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1266,1
    - Dst: apr_pollset_method_name
      Src: /src/httpd/server/mpm/motorz/motorz.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1269
    functionName: motorz_setup_pollset
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pollset_method_name
    - APLOGNO
    - apr_pollset_create_ex
    - apr_pollset_create
    - ap_log_error
    linkageType: ''
    returnType: int
    signature: int motorz_setup_pollset(motorz_poller_t *poller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AP_DEBUG_ASSERT
      Src: /src/httpd/server/mpm/motorz/motorz.c:1274,1
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - childnum
    - pid
    - gen
    argTypes:
    - int
    - pid_t
    - ap_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1280
    functionName: motorz_note_child_killed
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - AP_DEBUG_ASSERT
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: "void motorz_note_child_killed(int childnum, pid_t pid,\n                                      ap_generation_t
      gen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mz
    - slot
    - pid
    argTypes:
    - motorz_core_t*
    - int
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1288
    functionName: motorz_note_child_started
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_run_child_status
    linkageType: ''
    returnType: void
    signature: void motorz_note_child_started(motorz_core_t *mz, int slot, pid_t pid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1293,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:1297,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:1298,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/motorz/motorz.c:1315,1
    - Dst: apr_os_thread_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1321,1
    - Dst: apr_os_thread_equal
      Src: /src/httpd/server/mpm/motorz/motorz.c:1323,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/motorz/motorz.c:1325,1
    - Dst: apr_thread_pool_destroy
      Src: /src/httpd/server/mpm/motorz/motorz.c:1340,1
    - Dst: apr_pool_destroy
      Src: /src/httpd/server/mpm/motorz/motorz.c:1345,1
    - Dst: motorz_note_child_killed
      Src: /src/httpd/server/mpm/motorz/motorz.c:1349,1
    - Dst: ap_mpm_pod_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:1352,1
    - Dst: exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1354
    functionName: clean_child_exit
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 17
    functionsReached:
    - motorz_note_child_killed
    - apr_signal
    - motorz_core_get
    - apr_os_thread_equal
    - apr_os_thread_get
    - apr_thread_join
    - ap_mpm_pod_close
    - apr_pool_destroy
    - exit
    - apr_os_thread_current
    - apr_thread_pool_destroy
    linkageType: ''
    returnType: void
    signature: void clean_child_exit(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1359,1
    - Dst: apr_proc_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1360,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1366,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1366,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1367,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1370,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1370,1
    - Dst: exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1375
    functionName: accept_mutex_on
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 2
    functionsReached:
    - motorz_core_get
    - APLOGNO
    - clean_child_exit
    - ap_log_error
    - apr_proc_mutex_lock
    - exit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t accept_mutex_on(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1379,1
    - Dst: apr_proc_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1380,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1386,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1386,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1393,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1393,1
    - Dst: exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1398
    functionName: accept_mutex_off
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 2
    functionsReached:
    - apr_proc_mutex_unlock
    - motorz_core_get
    - APLOGNO
    - ap_log_error
    - exit
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t accept_mutex_off(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1408
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1410
    functionName: SAFE_ACCEPT
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_ACCEPT(stmt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1414,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - query_code
    - result
    - rv
    argTypes:
    - int
    - int*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1479
    functionName: motorz_query
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - motorz_core_get
    linkageType: ''
    returnType: int
    signature: int motorz_query(int query_code, int *result, apr_status_t *rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1484
    functionName: motorz_get_name
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *motorz_get_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1501
    functionName: just_die
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void just_die(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:1505,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/motorz/motorz.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1512
    functionName: stop_listening
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_close_listeners_ex
    - motorz_core_get
    linkageType: ''
    returnType: void
    signature: void stop_listening(int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_remove
      Src: /src/httpd/server/mpm/motorz/motorz.c:1542,1
    - Dst: APR_STATUS_IS_NOTFOUND
      Src: /src/httpd/server/mpm/motorz/motorz.c:1544,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1545,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1553,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1555
    functionName: motorz_disable_listeners
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pollset_remove
    - APR_STATUS_IS_NOTFOUND
    - ap_log_error
    - APLOGNO
    linkageType: ''
    returnType: void
    signature: void motorz_disable_listeners(motorz_poller_t *poller)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/motorz/motorz.c:1568,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1571,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1579,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1581
    functionName: motorz_enable_listeners
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - APLOGNO
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void motorz_enable_listeners(motorz_poller_t *poller)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apr_thread_pool_threads_count
      Src: /src/httpd/server/mpm/motorz/motorz.c:1611,1
    - Dst: apr_thread_pool_idle_count
      Src: /src/httpd/server/mpm/motorz/motorz.c:1612,1
    - Dst: apr_thread_pool_tasks_count
      Src: /src/httpd/server/mpm/motorz/motorz.c:1615,1
    - Dst: motorz_disable_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:1621,1
    - Dst: motorz_enable_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:1627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1629
    functionName: motorz_update_listeners
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 1
    functionsReached:
    - apr_thread_pool_threads_count
    - motorz_enable_listeners
    - motorz_disable_listeners
    - apr_thread_pool_tasks_count
    - apr_thread_pool_idle_count
    linkageType: ''
    returnType: void
    signature: void motorz_update_listeners(motorz_poller_t *poller)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:1638,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1642,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/motorz/motorz.c:1643,1
    - Dst: apr_thread_mutex_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1645,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1648,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1648,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1650,1
    - Dst: apr_skiplist_init
      Src: /src/httpd/server/mpm/motorz/motorz.c:1653,1
    - Dst: apr_skiplist_set_compare
      Src: /src/httpd/server/mpm/motorz/motorz.c:1654,1
    - Dst: motorz_setup_pollset
      Src: /src/httpd/server/mpm/motorz/motorz.c:1656,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1658,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1658,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - mz
    - index
    argTypes:
    - motorz_core_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1664
    functionName: motorz_poller_create
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - motorz_setup_pollset
    - apr_pcalloc
    - APLOGNO
    - apr_pool_tag
    - apr_skiplist_init
    - apr_pool_create
    - clean_child_exit
    - ap_log_error
    - apr_skiplist_set_compare
    - apr_thread_mutex_create
    linkageType: ''
    returnType: motorz_poller_t
    signature: motorz_poller_t *motorz_poller_create(motorz_core_t *mz, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:1676,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:1682,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:1683,1
    - Dst: apr_socket_opt_set
      Src: /src/httpd/server/mpm/motorz/motorz.c:1696,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1698,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1698,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1701,1
    - Dst: apr_pollset_add
      Src: /src/httpd/server/mpm/motorz/motorz.c:1704,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1712,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1712,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1714,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - poller
    argTypes:
    - motorz_poller_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1721
    functionName: motorz_poller_add_listeners
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_pollset_add
    - apr_socket_opt_set
    - apr_pcalloc
    - APLOGNO
    - clean_child_exit
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: void motorz_poller_add_listeners(motorz_poller_t *poller)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/motorz/motorz.c:1740,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/motorz/motorz.c:1742,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1744,1
    - Dst: apr_skiplist_peek
      Src: /src/httpd/server/mpm/motorz/motorz.c:1745,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/motorz/motorz.c:1750,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/motorz/motorz.c:1751,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1758,1
    - Dst: motorz_pollset_cb
      Src: /src/httpd/server/mpm/motorz/motorz.c:1760,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/motorz/motorz.c:1762,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/server/mpm/motorz/motorz.c:1765,1
    - Dst: APR_STATUS_IS_TIMEUP
      Src: /src/httpd/server/mpm/motorz/motorz.c:1765,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1766,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1766,1
    - Dst: apr_thread_mutex_lock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1773,1
    - Dst: apr_skiplist_peek
      Src: /src/httpd/server/mpm/motorz/motorz.c:1783,1
    - Dst: apr_skiplist_pop
      Src: /src/httpd/server/mpm/motorz/motorz.c:1785,1
    - Dst: motorz_timer_event_process
      Src: /src/httpd/server/mpm/motorz/motorz.c:1786,1
    - Dst: apr_thread_mutex_unlock
      Src: /src/httpd/server/mpm/motorz/motorz.c:1789,1
    - Dst: motorz_update_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:1797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - thread
    - baton
    argTypes:
    - apr_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1731
    functionDepth: 4
    functionLinenumber: 1731
    functionLinenumberEnd: 1801
    functionName: APR_THREAD_FUNC::motorz_poller_main
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_thread_mutex_lock
    - apr_time_now
    - APR_STATUS_IS_EINTR
    - apr_thread_mutex_unlock
    - motorz_update_listeners
    - motorz_timer_event_process
    - APLOGNO
    - apr_skiplist_peek
    - motorz_pollset_cb
    - apr_time_from_msec
    - APR_STATUS_IS_TIMEUP
    - ap_log_error
    - apr_skiplist_pop
    linkageType: ''
    returnType: void
    signature: void *APR_THREAD_FUNC motorz_poller_main(apr_thread_t *thread, void
      *baton)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1823,1
    - Dst: ap_mpm_pod_check
      Src: /src/httpd/server/mpm/motorz/motorz.c:1825,1
    - Dst: apr_sleep
      Src: /src/httpd/server/mpm/motorz/motorz.c:1839,1
    - Dst: apr_time_from_msec
      Src: /src/httpd/server/mpm/motorz/motorz.c:1839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - mz
    - sbh
    argTypes:
    - motorz_core_t*
    - ap_sb_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1842
    functionName: motorz_supervise
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_time_from_msec
    - apr_sleep
    - ap_mpm_pod_check
    - ap_update_child_status
    linkageType: ''
    returnType: void
    signature: void motorz_supervise(motorz_core_t *mz, ap_sb_handle_t *sbh)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/httpd/server/mpm/motorz/motorz.c:1860,1
    - Dst: ap_fatal_signal_child_setup
      Src: /src/httpd/server/mpm/motorz/motorz.c:1863,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1868,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/motorz/motorz.c:1869,1
    - Dst: apr_os_thread_current
      Src: /src/httpd/server/mpm/motorz/motorz.c:1872,1
    - Dst: apr_os_thread_put
      Src: /src/httpd/server/mpm/motorz/motorz.c:1873,1
    - Dst: ap_close_listeners_ex
      Src: /src/httpd/server/mpm/motorz/motorz.c:1879,1
    - Dst: ap_mpm_pod_close
      Src: /src/httpd/server/mpm/motorz/motorz.c:1880,1
    - Dst: ap_reopen_scoreboard
      Src: /src/httpd/server/mpm/motorz/motorz.c:1885,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/motorz/motorz.c:1886,1
    - Dst: apr_proc_mutex_child_init
      Src: /src/httpd/server/mpm/motorz/motorz.c:1886,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/server/mpm/motorz/motorz.c:1887,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/server/mpm/motorz/motorz.c:1890,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1891,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1891,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/motorz/motorz.c:1895,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1896,1
    - Dst: ap_run_drop_privileges
      Src: /src/httpd/server/mpm/motorz/motorz.c:1899,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1900,1
    - Dst: ap_run_child_init
      Src: /src/httpd/server/mpm/motorz/motorz.c:1903,1
    - Dst: ap_create_sb_handle
      Src: /src/httpd/server/mpm/motorz/motorz.c:1905,1
    - Dst: ap_update_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:1907,1
    - Dst: motorz_setup_workers
      Src: /src/httpd/server/mpm/motorz/motorz.c:1909,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1911,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1911,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1913,1
    - Dst: sysconf
      Src: /src/httpd/server/mpm/motorz/motorz.c:1931,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:1952,1
    - Dst: motorz_poller_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1955,1
    - Dst: motorz_poller_add_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:1958,1
    - Dst: apr_thread_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:1968,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:1971,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:1971,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1974,1
    - Dst: motorz_supervise
      Src: /src/httpd/server/mpm/motorz/motorz.c:1979,1
    - Dst: apr_thread_join
      Src: /src/httpd/server/mpm/motorz/motorz.c:1987,1
    - Dst: clean_child_exit
      Src: /src/httpd/server/mpm/motorz/motorz.c:1991,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 3
    argNames:
    - mz
    - child_num_arg
    - child_bucket
    argTypes:
    - motorz_core_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1844
    functionDepth: 4
    functionLinenumber: 1844
    functionLinenumberEnd: 1992
    functionName: child_main
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 6
    functionsReached:
    - motorz_supervise
    - sysconf
    - ap_run_child_init
    - ap_update_child_status
    - motorz_setup_workers
    - motorz_poller_create
    - motorz_poller_add_listeners
    - getpid
    - ap_reopen_scoreboard
    - apr_thread_join
    - apr_os_thread_put
    - apr_proc_mutex_child_init
    - apr_proc_mutex_name
    - apr_os_thread_current
    - SAFE_ACCEPT
    - ap_mpm_pod_close
    - apr_pool_create
    - clean_child_exit
    - ap_log_error
    - ap_close_listeners_ex
    - apr_thread_create
    - apr_proc_mutex_lockfile
    - ap_create_sb_handle
    - apr_pcalloc
    - ap_fatal_signal_child_setup
    - APLOGNO
    - apr_pool_tag
    - ap_run_drop_privileges
    linkageType: ''
    returnType: void
    signature: void child_main(motorz_core_t *mz, int child_num_arg, int child_bucket)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: motorz_note_child_started
      Src: /src/httpd/server/mpm/motorz/motorz.c:2006,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2006,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/motorz/motorz.c:2007,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/motorz/motorz.c:2009,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2013,1
    - Dst: fork
      Src: /src/httpd/server/mpm/motorz/motorz.c:2015,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2016,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2016,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2021,1
    - Dst: sleep
      Src: /src/httpd/server/mpm/motorz/motorz.c:2027,1
    - Dst: bindprocessor
      Src: /src/httpd/server/mpm/motorz/motorz.c:2039,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2039,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2042,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2043,1
    - Dst: RAISE_SIGSTOP
      Src: /src/httpd/server/mpm/motorz/motorz.c:2046,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/mpm/motorz/motorz.c:2047,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:2051,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:2052,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:2059,1
    - Dst: apr_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:2063,1
    - Dst: child_main
      Src: /src/httpd/server/mpm/motorz/motorz.c:2064,1
    - Dst: motorz_note_child_started
      Src: /src/httpd/server/mpm/motorz/motorz.c:2067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - mz
    - s
    - slot
    argTypes:
    - motorz_core_t*
    - server_rec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 1994
    functionDepth: 3
    functionLinenumber: 1994
    functionLinenumberEnd: 2070
    functionName: make_child
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 12
    functionsReached:
    - bindprocessor
    - apr_signal
    - AP_MONCONTROL
    - getpid
    - child_main
    - APLOGNO
    - sleep
    - ap_update_child_status_from_indexes
    - motorz_note_child_started
    - ap_log_error
    - fork
    - ap_assert
    - RAISE_SIGSTOP
    linkageType: ''
    returnType: int
    signature: int make_child(motorz_core_t *mz, server_rec *s, int slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_child
      Src: /src/httpd/server/mpm/motorz/motorz.c:2082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - mz
    - number_to_start
    argTypes:
    - motorz_core_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2087
    functionName: startup_children
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 6
    functionsReached:
    - make_child
    linkageType: ''
    returnType: void
    signature: void startup_children(motorz_core_t *mz, int number_to_start)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_mpm_pod_signal
      Src: /src/httpd/server/mpm/motorz/motorz.c:2120,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/motorz/motorz.c:2123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - mz
    - p
    argTypes:
    - motorz_core_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2089
    functionDepth: 3
    functionLinenumber: 2089
    functionLinenumberEnd: 2125
    functionName: perform_idle_server_maintenance
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 5
    functionsReached:
    - ap_mpm_pod_signal
    - make_child
    linkageType: ''
    returnType: void
    signature: void perform_idle_server_maintenance(motorz_core_t *mz, apr_pool_t
      *p)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:2136,1
    - Dst: ap_log_pid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2138,1
    - Dst: ap_run_pre_mpm
      Src: /src/httpd/server/mpm/motorz/motorz.c:2141,1
    - Dst: ap_unixd_mpm_set_signals
      Src: /src/httpd/server/mpm/motorz/motorz.c:2151,1
    - Dst: AP_MONCONTROL
      Src: /src/httpd/server/mpm/motorz/motorz.c:2154,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/motorz/motorz.c:2155,1
    - Dst: ap_assert
      Src: /src/httpd/server/mpm/motorz/motorz.c:2157,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/motorz/motorz.c:2177,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2181,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2181,1
    - Dst: ap_get_server_description
      Src: /src/httpd/server/mpm/motorz/motorz.c:2183,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2184,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2184,1
    - Dst: ap_get_server_built
      Src: /src/httpd/server/mpm/motorz/motorz.c:2185,1
    - Dst: ap_log_command_line
      Src: /src/httpd/server/mpm/motorz/motorz.c:2186,1
    - Dst: ap_log_mpm_common
      Src: /src/httpd/server/mpm/motorz/motorz.c:2187,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2188,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2188,1
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/server/mpm/motorz/motorz.c:2191,1
    - Dst: apr_proc_mutex_defname
      Src: /src/httpd/server/mpm/motorz/motorz.c:2193,1
    - Dst: ap_wait_or_timeout
      Src: /src/httpd/server/mpm/motorz/motorz.c:2204,1
    - Dst: ap_process_child_status
      Src: /src/httpd/server/mpm/motorz/motorz.c:2211,1
    - Dst: ap_find_child_by_pid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2212,1
    - Dst: ap_get_scoreboard_process
      Src: /src/httpd/server/mpm/motorz/motorz.c:2220,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2226,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2226,1
    - Dst: ap_update_child_status_from_indexes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2235,1
    - Dst: motorz_note_child_killed
      Src: /src/httpd/server/mpm/motorz/motorz.c:2237,1
    - Dst: make_child
      Src: /src/httpd/server/mpm/motorz/motorz.c:2243,1
    - Dst: apr_proc_other_child_alert
      Src: /src/httpd/server/mpm/motorz/motorz.c:2248,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2257,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2258,1
    - Dst: startup_children
      Src: /src/httpd/server/mpm/motorz/motorz.c:2273,1
    - Dst: perform_idle_server_maintenance
      Src: /src/httpd/server/mpm/motorz/motorz.c:2282,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/motorz/motorz.c:2291,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/motorz/motorz.c:2291,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2292,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2292,1
    - Dst: ap_reclaim_child_processes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2294,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2298,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2299,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2299,1
    - Dst: ap_close_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:2315,1
    - Dst: ap_mpm_pod_killpg
      Src: /src/httpd/server/mpm/motorz/motorz.c:2319,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/motorz/motorz.c:2327,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/motorz/motorz.c:2327,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2333,1
    - Dst: ap_remove_pid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2336,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2337,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2337,1
    - Dst: if
      Src: /src/httpd/server/mpm/motorz/motorz.c:2340,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/motorz/motorz.c:2341,1
    - Dst: apr_time_from_sec
      Src: /src/httpd/server/mpm/motorz/motorz.c:2342,1
    - Dst: ap_relieve_child_processes
      Src: /src/httpd/server/mpm/motorz/motorz.c:2352,1
    - Dst: ap_mpm_safe_kill
      Src: /src/httpd/server/mpm/motorz/motorz.c:2356,1
    - Dst: MPM_CHILD_PID
      Src: /src/httpd/server/mpm/motorz/motorz.c:2356,1
    - Dst: apr_time_now
      Src: /src/httpd/server/mpm/motorz/motorz.c:2363,1
    - Dst: ap_unixd_killpg
      Src: /src/httpd/server/mpm/motorz/motorz.c:2369,1
    - Dst: getpgrp
      Src: /src/httpd/server/mpm/motorz/motorz.c:2369,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 104
    argCount: 3
    argNames:
    - _pconf
    - plog
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2131
    functionDepth: 3
    functionLinenumber: 2131
    functionLinenumberEnd: 2372
    functionName: motorz_run
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - getpgrp
    - apr_time_now
    - motorz_core_get
    - ap_mpm_safe_kill
    - ap_relieve_child_processes
    - ap_mpm_pod_killpg
    - ap_close_listeners
    - ap_process_child_status
    - ap_unixd_mpm_set_signals
    - ap_reclaim_child_processes
    - startup_children
    - MPM_CHILD_PID
    - ap_remove_pid
    - apr_proc_mutex_name
    - apr_proc_other_child_alert
    - motorz_note_child_killed
    - apr_time_from_sec
    - perform_idle_server_maintenance
    - AP_MONCONTROL
    - if
    - ap_log_pid
    - ap_log_mpm_common
    - ap_update_child_status_from_indexes
    - ap_log_error
    - make_child
    - ap_assert
    - ap_get_scoreboard_process
    - ap_get_server_description
    - ap_log_command_line
    - APLOGNO
    - ap_get_server_built
    - apr_proc_mutex_defname
    - ap_find_child_by_pid
    - ap_unixd_killpg
    - ap_wait_or_timeout
    - ap_run_pre_mpm
    linkageType: ''
    returnType: int
    signature: int motorz_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:2441,1
    - Dst: ap_setup_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:2450,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2451,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2452,1
    - Dst: ap_duplicate_listeners
      Src: /src/httpd/server/mpm/motorz/motorz.c:2464,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2466,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2467,1
    - Dst: apr_pcalloc
      Src: /src/httpd/server/mpm/motorz/motorz.c:2471,1
    - Dst: ap_mpm_pod_open
      Src: /src/httpd/server/mpm/motorz/motorz.c:2474,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2475,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2476,1
    - Dst: SAFE_ACCEPT
      Src: /src/httpd/server/mpm/motorz/motorz.c:2481,1
    - Dst: apr_snprintf
      Src: /src/httpd/server/mpm/motorz/motorz.c:2481,1
    - Dst: ap_proc_mutex_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:2482,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2485,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2432
    functionDepth: 4
    functionLinenumber: 2432
    functionLinenumberEnd: 2494
    functionName: motorz_open_logs
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_setup_listeners
    - SAFE_ACCEPT
    - motorz_core_get
    - apr_pcalloc
    - APLOGNO
    - ap_mpm_pod_open
    - ap_proc_mutex_create
    - ap_log_error
    - ap_duplicate_listeners
    - apr_snprintf
    linkageType: ''
    returnType: int
    signature: int motorz_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
      server_rec *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/motorz/motorz.c:2503,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/motorz/motorz.c:2511,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/motorz/motorz.c:2512,1
    - Dst: ap_exists_config_define
      Src: /src/httpd/server/mpm/motorz/motorz.c:2513,1
    - Dst: ap_mutex_register
      Src: /src/httpd/server/mpm/motorz/motorz.c:2516,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:2518,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:2520,1
    - Dst: ap_unixd_mpm_get_retained_data
      Src: /src/httpd/server/mpm/motorz/motorz.c:2521,1
    - Dst: ap_fatal_signal_setup
      Src: /src/httpd/server/mpm/motorz/motorz.c:2540,1
    - Dst: apr_proc_detach
      Src: /src/httpd/server/mpm/motorz/motorz.c:2541,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2544,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2544,1
    - Dst: apr_pool_create
      Src: /src/httpd/server/mpm/motorz/motorz.c:2549,1
    - Dst: apr_pool_tag
      Src: /src/httpd/server/mpm/motorz/motorz.c:2550,1
    - Dst: getpid
      Src: /src/httpd/server/mpm/motorz/motorz.c:2554,1
    - Dst: ap_listen_pre_config
      Src: /src/httpd/server/mpm/motorz/motorz.c:2556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - p
    - plog
    - ptemp
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2496
    functionDepth: 3
    functionLinenumber: 2496
    functionLinenumberEnd: 2561
    functionName: motorz_pre_config
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - apr_proc_detach
    - ap_exists_config_define
    - ap_mutex_register
    - ap_unixd_mpm_get_retained_data
    - ap_retained_data_create
    - getpid
    - APLOGNO
    - apr_pool_tag
    - apr_pool_create
    - ap_retained_data_get
    - ap_log_error
    - ap_listen_pre_config
    - ap_fatal_signal_setup
    linkageType: ''
    returnType: int
    signature: int motorz_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: motorz_core_get
      Src: /src/httpd/server/mpm/motorz/motorz.c:2567,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2576,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2576,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2581,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2581,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2590,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2590,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2594,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2594,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2603,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2603,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2608,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2608,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2617,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2617,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2621,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2621,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2630,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2630,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2633,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2633,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2637,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2637,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2646,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2646,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2650,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2650,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2664,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2665,1
    - Dst: ap_log_error
      Src: /src/httpd/server/mpm/motorz/motorz.c:2671,1
    - Dst: APLOGNO
      Src: /src/httpd/server/mpm/motorz/motorz.c:2671,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2563
    functionDepth: 1
    functionLinenumber: 2563
    functionLinenumberEnd: 2678
    functionName: motorz_check_config
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - APLOGNO
    - ap_log_error
    - motorz_core_get
    linkageType: ''
    returnType: int
    signature: "int motorz_check_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_force_set_tz
      Src: /src/httpd/server/mpm/motorz/motorz.c:2687,1
    - Dst: ap_hook_open_logs
      Src: /src/httpd/server/mpm/motorz/motorz.c:2689,1
    - Dst: ap_hook_pre_config
      Src: /src/httpd/server/mpm/motorz/motorz.c:2693,1
    - Dst: ap_hook_check_config
      Src: /src/httpd/server/mpm/motorz/motorz.c:2694,1
    - Dst: ap_hook_mpm
      Src: /src/httpd/server/mpm/motorz/motorz.c:2695,1
    - Dst: ap_hook_mpm_query
      Src: /src/httpd/server/mpm/motorz/motorz.c:2696,1
    - Dst: ap_hook_mpm_get_name
      Src: /src/httpd/server/mpm/motorz/motorz.c:2697,1
    - Dst: ap_hook_mpm_resume_suspended
      Src: /src/httpd/server/mpm/motorz/motorz.c:2698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2680
    functionDepth: 1
    functionLinenumber: 2680
    functionLinenumberEnd: 2700
    functionName: motorz_hooks
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_hook_mpm
    - ap_hook_check_config
    - ap_hook_pre_config
    - ap_hook_open_logs
    - ap_hook_mpm_get_name
    - ap_hook_mpm_query
    - ap_force_set_tz
    - ap_hook_mpm_resume_suspended
    linkageType: ''
    returnType: void
    signature: void motorz_hooks(apr_pool_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/motorz/motorz.c:2704,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/motorz/motorz.c:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2702
    functionDepth: 3
    functionLinenumber: 2702
    functionLinenumberEnd: 2710
    functionName: set_daemons_to_start
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_daemons_to_start(cmd_parms *cmd, void *dummy, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/motorz/motorz.c:2715,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/motorz/motorz.c:2719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2712
    functionDepth: 3
    functionLinenumber: 2712
    functionLinenumberEnd: 2721
    functionName: set_threads_per_child
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_threads_per_child(cmd_parms * cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/motorz/motorz.c:2725,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/motorz/motorz.c:2730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2723
    functionDepth: 3
    functionLinenumber: 2723
    functionLinenumberEnd: 2732
    functionName: set_thread_limit
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: char *set_thread_limit (cmd_parms *cmd, void *dummy, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_cmd_context
      Src: /src/httpd/server/mpm/motorz/motorz.c:2737,1
    - Dst: atoi
      Src: /src/httpd/server/mpm/motorz/motorz.c:2741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - dummy
    - arg
    argTypes:
    - cmd_parms*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2734
    functionDepth: 3
    functionLinenumber: 2734
    functionLinenumberEnd: 2743
    functionName: set_pollers_per_child
    functionSourceFile: /src/httpd/server/mpm/motorz/motorz.c
    functionUses: 0
    functionsReached:
    - ap_check_cmd_context
    - atoi
    linkageType: ''
    returnType: char
    signature: "char *set_pollers_per_child(cmd_parms *cmd, void *dummy,\n                                         const
      char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: exit
    functionSourceFile: /src/httpd/os/win32/os.h
    functionUses: 137
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exit(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - lib
    - ','
    - rettype
    - ','
    - calltype
    - ','
    - fn
    - ','
    - ord
    - ','
    - args
    - ','
    - names
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: AP_DECLARE_LATE_DLL_FUNC
    functionSourceFile: /src/httpd/os/win32/os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AP_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apr_status_t
      Src: /src/httpd/os/win32/util_win32.c:39,1
    - Dst: GetModuleFileNameW
      Src: /src/httpd/os/win32/util_win32.c:40,1
    - Dst: apr_get_os_error
      Src: /src/httpd/os/win32/util_win32.c:42,1
    - Dst: wcslen
      Src: /src/httpd/os/win32/util_win32.c:44,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/util_win32.c:46,1
    - Dst: apr_conv_ucs2_to_utf8
      Src: /src/httpd/os/win32/util_win32.c:47,1
    - Dst: GetModuleFileName
      Src: /src/httpd/os/win32/util_win32.c:59,1
    - Dst: apr_get_os_error
      Src: /src/httpd/os/win32/util_win32.c:60,1
    - Dst: apr_pstrdup
      Src: /src/httpd/os/win32/util_win32.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - binpath
    - p
    argTypes:
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 66
    functionName: ap_os_proc_filepath
    functionSourceFile: /src/httpd/os/win32/util_win32.c
    functionUses: 2
    functionsReached:
    - GetModuleFileNameW
    - apr_palloc
    - apr_pstrdup
    - apr_get_os_error
    - GetModuleFileName
    - wcslen
    - apr_status_t
    - apr_conv_ucs2_to_utf8
    linkageType: ''
    returnType: void
    signature: void ap_os_proc_filepath(char **binpath, apr_pool_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_create
      Src: /src/httpd/os/win32/util_win32.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - r
    - newproc
    - progname
    - args
    - env
    - attr
    - p
    argTypes:
    - request_rec*
    - apr_proc_t*
    - char*
    - char**
    - char**
    - apr_procattr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ap_os_create_privileged_process
    functionSourceFile: /src/httpd/os/win32/util_win32.c
    functionUses: 1
    functionsReached:
    - apr_proc_create
    linkageType: ''
    returnType: void
    signature: "void ap_os_create_privileged_process(\n    const request_rec *r,\n
      \   apr_proc_t *newproc, const char *progname,\n    const char * const *args,\n
      \   const char * const *env,\n    apr_procattr_t *attr, apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/httpd/os/win32/util_win32.c:95,1
    - Dst: GetProcAddress
      Src: /src/httpd/os/win32/util_win32.c:100,1
    - Dst: GetProcAddress
      Src: /src/httpd/os/win32/util_win32.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - fnLib
    - fnName
    - ordinal
    argTypes:
    - ap_dlltoken_e
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: ap_load_dll_func
    functionSourceFile: /src/httpd/os/win32/util_win32.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - GetProcAddress
    linkageType: ''
    returnType: FARPROC
    signature: FARPROC ap_load_dll_func(ap_dlltoken_e fnLib, char* fnName, int ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: ap_regkey_const
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_regkey_const(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegCloseKey
      Src: /src/httpd/os/win32/ap_regkey.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: regkey_cleanup
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t regkey_cleanup(void *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:77,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:80,1
    - Dst: RegCreateKeyExW
      Src: /src/httpd/os/win32/ap_regkey.c:87,1
    - Dst: RegOpenKeyExW
      Src: /src/httpd/os/win32/ap_regkey.c:90,1
    - Dst: if
      Src: /src/httpd/os/win32/ap_regkey.c:96,1
    - Dst: RegCreateKeyEx
      Src: /src/httpd/os/win32/ap_regkey.c:97,1
    - Dst: RegOpenKeyEx
      Src: /src/httpd/os/win32/ap_regkey.c:100,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:104,1
    - Dst: RegCloseKey
      Src: /src/httpd/os/win32/ap_regkey.c:107,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:111,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/os/win32/ap_regkey.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - newkey
    - parentkey
    - keyname
    - flags
    - pool
    argTypes:
    - ap_regkey_t**
    - ap_regkey_t*
    - char*
    - apr_int32_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 117
    functionName: ap_regkey_open
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 5
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegCreateKeyExW
    - apr_palloc
    - RegCreateKeyEx
    - RegOpenKeyExW
    - if
    - RegOpenKeyEx
    - strlen
    - APR_FROM_OS_ERROR
    - RegCloseKey
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_open(ap_regkey_t **newkey,\n                                        const
      ap_regkey_t *parentkey,\n                                        const char
      *keyname,\n                                        apr_int32_t flags,\n                                        apr_pool_t
      *pool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regkey_cleanup
      Src: /src/httpd/os/win32/ap_regkey.c:123,1
    - Dst: apr_pool_cleanup_kill
      Src: /src/httpd/os/win32/ap_regkey.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - regkey
    argTypes:
    - ap_regkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ap_regkey_close
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 5
    functionsReached:
    - regkey_cleanup
    - apr_pool_cleanup_kill
    linkageType: ''
    returnType: void
    signature: void ap_regkey_close(ap_regkey_t *regkey)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:139,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:142,1
    - Dst: RegDeleteKeyW
      Src: /src/httpd/os/win32/ap_regkey.c:147,1
    - Dst: RegOpenKeyEx
      Src: /src/httpd/os/win32/ap_regkey.c:159,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:161,1
    - Dst: RegQueryInfoKey
      Src: /src/httpd/os/win32/ap_regkey.c:162,1
    - Dst: RegCloseKey
      Src: /src/httpd/os/win32/ap_regkey.c:164,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:166,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:168,1
    - Dst: RegDeleteKey
      Src: /src/httpd/os/win32/ap_regkey.c:169,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - parent
    - keyname
    - pool
    argTypes:
    - ap_regkey_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 176
    functionName: ap_regkey_remove
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 0
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegDeleteKey
    - RegDeleteKeyW
    - RegOpenKeyEx
    - RegQueryInfoKey
    - strlen
    - APR_FROM_OS_ERROR
    - RegCloseKey
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_remove(const ap_regkey_t *parent,\n                                          const
      char *keyname,\n                                          apr_pool_t *pool)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:194,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:199,1
    - Dst: RegQueryValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:205,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:207,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:210,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:213,1
    - Dst: RegQueryValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:215,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:218,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/httpd/os/win32/ap_regkey.c:222,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:226,1
    - Dst: ExpandEnvironmentStringsW
      Src: /src/httpd/os/win32/ap_regkey.c:227,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:239,1
    - Dst: apr_conv_ucs2_to_utf8
      Src: /src/httpd/os/win32/ap_regkey.c:240,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:251,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:253,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:256,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:259,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:261,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:263,1
    - Dst: ExpandEnvironmentStrings
      Src: /src/httpd/os/win32/ap_regkey.c:270,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:273,1
    - Dst: ExpandEnvironmentStrings
      Src: /src/httpd/os/win32/ap_regkey.c:274,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - result
    - key
    - valuename
    - pool
    argTypes:
    - char**
    - ap_regkey_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 280
    functionName: ap_regkey_value_get
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 2
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegQueryValueEx
    - ExpandEnvironmentStrings
    - apr_palloc
    - RegQueryValueExW
    - ExpandEnvironmentStringsW
    - strlen
    - APR_FROM_OS_ERROR
    - apr_conv_ucs2_to_utf8
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_get(char **result,\n                                             ap_regkey_t
      *key,\n                                             const char *valuename,\n
      \                                            apr_pool_t *pool)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:293,1
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:300,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:305,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:312,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:313,1
    - Dst: RegSetValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:323,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:326,1
    - Dst: RegSetValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:332,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - key
    - valuename
    - value
    - flags
    - pool
    argTypes:
    - ap_regkey_t*
    - char*
    - char*
    - apr_int32_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 338
    functionName: ap_regkey_value_set
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 1
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - apr_palloc
    - RegSetValueEx
    - RegSetValueExW
    - strlen
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_set(ap_regkey_t *key,\n                                             const
      char *valuename,\n                                             const char *value,\n
      \                                            apr_int32_t flags,\n                                             apr_pool_t
      *pool)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:356,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:360,1
    - Dst: RegQueryValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:366,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:369,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:373,1
    - Dst: RegQueryValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:374,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:382,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:385,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:388,1
    - Dst: RegQueryValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:389,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:392,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - result
    - resultsize
    - resulttype
    - key
    - valuename
    - pool
    argTypes:
    - void**
    - apr_size_t*
    - apr_int32_t*
    - ap_regkey_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 400
    functionName: ap_regkey_value_raw_get
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 0
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegQueryValueEx
    - apr_palloc
    - RegQueryValueExW
    - strlen
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_raw_get(void **result,\n                                                 apr_size_t
      *resultsize,\n                                                 apr_int32_t *resulttype,\n
      \                                                ap_regkey_t *key,\n                                                 const
      char *valuename,\n                                                 apr_pool_t
      *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:415,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:419,1
    - Dst: RegSetValueExW
      Src: /src/httpd/os/win32/ap_regkey.c:425,1
    - Dst: RegSetValueEx
      Src: /src/httpd/os/win32/ap_regkey.c:432,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - key
    - valuename
    - value
    - valuesize
    - valuetype
    - pool
    argTypes:
    - ap_regkey_t*
    - char*
    - void*
    - apr_size_t
    - apr_int32_t
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 440
    functionName: ap_regkey_value_raw_set
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 1
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegSetValueEx
    - RegSetValueExW
    - strlen
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_raw_set(ap_regkey_t *key,\n                                                 const
      char *valuename,\n                                                 const void
      *value,\n                                                 apr_size_t valuesize,\n
      \                                                apr_int32_t valuetype,\n                                                 apr_pool_t
      *pool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_regkey_value_raw_get
      Src: /src/httpd/os/win32/ap_regkey.c:458,1
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:470,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:478,1
    - Dst: apr_conv_ucs2_to_utf8
      Src: /src/httpd/os/win32/ap_regkey.c:479,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:496,1
    - Dst: memcpy
      Src: /src/httpd/os/win32/ap_regkey.c:497,1
    - Dst: apr_array_make
      Src: /src/httpd/os/win32/ap_regkey.c:512,1
    - Dst: apr_array_push
      Src: /src/httpd/os/win32/ap_regkey.c:514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - result
    - key
    - valuename
    - pool
    argTypes:
    - apr_array_header_t**
    - ap_regkey_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 522
    functionName: ap_regkey_value_array_get
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 1
    functionsReached:
    - ap_regkey_value_raw_get
    - apr_palloc
    - apr_array_push
    - strlen
    - apr_array_make
    - apr_conv_ucs2_to_utf8
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_array_get(apr_array_header_t **result,\n                                                   ap_regkey_t
      *key,\n                                                   const char *valuename,\n
      \                                                  apr_pool_t *pool)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:548,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:555,1
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:558,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:560,1
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:586,1
    - Dst: apr_palloc
      Src: /src/httpd/os/win32/ap_regkey.c:591,1
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:594,1
    - Dst: memcpy
      Src: /src/httpd/os/win32/ap_regkey.c:595,1
    - Dst: ap_regkey_value_raw_set
      Src: /src/httpd/os/win32/ap_regkey.c:605,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 5
    argNames:
    - key
    - valuename
    - nelts
    - elts
    - pool
    argTypes:
    - ap_regkey_t*
    - char*
    - int
    - char**
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 607
    functionName: ap_regkey_value_array_set
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 1
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - apr_palloc
    - ap_regkey_value_raw_set
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_array_set(ap_regkey_t *key,\n                                                   const
      char *valuename,\n                                                   int nelts,\n
      \                                                  const char * const * elts,\n
      \                                                  apr_pool_t *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/httpd/os/win32/ap_regkey.c:619,1
    - Dst: apr_conv_utf8_to_ucs2
      Src: /src/httpd/os/win32/ap_regkey.c:622,1
    - Dst: RegDeleteValueW
      Src: /src/httpd/os/win32/ap_regkey.c:627,1
    - Dst: RegDeleteValue
      Src: /src/httpd/os/win32/ap_regkey.c:633,1
    - Dst: APR_FROM_OS_ERROR
      Src: /src/httpd/os/win32/ap_regkey.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - key
    - valuename
    - pool
    argTypes:
    - ap_regkey_t*
    - char*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: ap_regkey_value_remove
    functionSourceFile: /src/httpd/os/win32/ap_regkey.c
    functionUses: 0
    functionsReached:
    - apr_conv_utf8_to_ucs2
    - RegDeleteValueW
    - RegDeleteValue
    - strlen
    - APR_FROM_OS_ERROR
    linkageType: ''
    returnType: void
    signature: "void ap_regkey_value_remove(const ap_regkey_t *key,\n                                                const
      char *valuename,\n                                                apr_pool_t
      *pool)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: apr_pcalloc
      Src: /src/httpd/os/unix/unixd.c:70,1
    - Dst: getrlimit
      Src: /src/httpd/os/unix/unixd.c:72,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:74,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:74,1
    - Dst: ap_getword_conf
      Src: /src/httpd/os/unix/unixd.c:79,1
    - Dst: strcasecmp
      Src: /src/httpd/os/unix/unixd.c:80,1
    - Dst: atol
      Src: /src/httpd/os/unix/unixd.c:84,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:88,1
    - Dst: ap_getword_conf
      Src: /src/httpd/os/unix/unixd.c:93,1
    - Dst: atol
      Src: /src/httpd/os/unix/unixd.c:94,1
    - Dst: geteuid
      Src: /src/httpd/os/unix/unixd.c:98,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:101,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:101,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:118,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:118,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 5
    argNames:
    - cmd
    - plimit
    - arg
    - arg2
    - type
    argTypes:
    - cmd_parms*
    - struct rlimit**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 121
    functionName: ap_unixd_set_rlimit
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 3
    functionsReached:
    - geteuid
    - apr_pcalloc
    - APLOGNO
    - strcasecmp
    - getrlimit
    - ap_log_error
    - atol
    - ap_getword_conf
    linkageType: ''
    returnType: void
    signature: "void ap_unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,\n
      \                                    const char *arg,\n                                     const
      char * arg2, int type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_create
      Src: /src/httpd/os/unix/unixd.c:144,1
    - Dst: ap_strrchr_c
      Src: /src/httpd/os/unix/unixd.c:147,1
    - Dst: apr_psprintf
      Src: /src/httpd/os/unix/unixd.c:158,1
    - Dst: apr_psprintf
      Src: /src/httpd/os/unix/unixd.c:161,1
    - Dst: apr_psprintf
      Src: /src/httpd/os/unix/unixd.c:163,1
    - Dst: apr_palloc
      Src: /src/httpd/os/unix/unixd.c:173,1
    - Dst: apr_pstrdup
      Src: /src/httpd/os/unix/unixd.c:178,1
    - Dst: apr_procattr_cmdtype_set
      Src: /src/httpd/os/unix/unixd.c:185,1
    - Dst: apr_proc_create
      Src: /src/httpd/os/unix/unixd.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 7
    argNames:
    - newproc
    - progname
    - args
    - env
    - attr
    - ugid
    - p
    argTypes:
    - apr_proc_t*
    - char*
    - char**
    - char**
    - apr_procattr_t*
    - ap_unix_identity_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 195
    functionName: ap_unix_create_privileged_process
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached:
    - apr_procattr_cmdtype_set
    - apr_proc_create
    - apr_palloc
    - apr_psprintf
    - ap_strrchr_c
    - apr_pstrdup
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t ap_unix_create_privileged_process(\n                              apr_proc_t
      *newproc, const char *progname,\n                              const char *
      const *args,\n                              const char * const *env,\n                              apr_procattr_t
      *attr, ap_unix_identity_t *ugid,\n                              apr_pool_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_run_get_suexec_identity
      Src: /src/httpd/os/unix/unixd.c:204,1
    - Dst: apr_proc_create
      Src: /src/httpd/os/unix/unixd.c:207,1
    - Dst: ap_unix_create_privileged_process
      Src: /src/httpd/os/unix/unixd.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - r
    - newproc
    - progname
    - args
    - env
    - attr
    - p
    argTypes:
    - request_rec*
    - apr_proc_t*
    - char*
    - char**
    - char**
    - apr_procattr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: ap_os_create_privileged_process
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 1
    functionsReached:
    - ap_run_get_suexec_identity
    - apr_proc_create
    - ap_unix_create_privileged_process
    linkageType: ''
    returnType: void
    signature: "void ap_os_create_privileged_process(\n    const request_rec *r,\n
      \   apr_proc_t *newproc, const char *progname,\n    const char * const *args,\n
      \   const char * const *env,\n    apr_procattr_t *attr, apr_pool_t *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_mutex_name
      Src: /src/httpd/os/unix/unixd.c:217,1
    - Dst: strcmp
      Src: /src/httpd/os/unix/unixd.c:219,1
    - Dst: strcmp
      Src: /src/httpd/os/unix/unixd.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pmutex
    argTypes:
    - apr_proc_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: proc_mutex_mech
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - apr_proc_mutex_name
    linkageType: ''
    returnType: apr_lockmech_e
    signature: apr_lockmech_e proc_mutex_mech(apr_proc_mutex_t *pmutex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/httpd/os/unix/unixd.c:230,1
    - Dst: proc_mutex_mech
      Src: /src/httpd/os/unix/unixd.c:231,1
    - Dst: apr_os_proc_mutex_get
      Src: /src/httpd/os/unix/unixd.c:248,1
    - Dst: semctl
      Src: /src/httpd/os/unix/unixd.c:253,1
    - Dst: apr_proc_mutex_lockfile
      Src: /src/httpd/os/unix/unixd.c:262,1
    - Dst: chown
      Src: /src/httpd/os/unix/unixd.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pmutex
    argTypes:
    - apr_proc_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 279
    functionName: ap_unixd_set_proc_mutex_perms
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 1
    functionsReached:
    - geteuid
    - proc_mutex_mech
    - semctl
    - chown
    - apr_os_proc_mutex_get
    - apr_proc_mutex_lockfile
    linkageType: ''
    returnType: void
    signature: void ap_unixd_set_proc_mutex_perms(apr_proc_mutex_t *pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_os_global_mutex_get
      Src: /src/httpd/os/unix/unixd.c:285,1
    - Dst: ap_unixd_set_proc_mutex_perms
      Src: /src/httpd/os/unix/unixd.c:286,1
    - Dst: ap_unixd_set_proc_mutex_perms
      Src: /src/httpd/os/unix/unixd.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gmutex
    argTypes:
    - apr_global_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: ap_unixd_set_global_mutex_perms
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 1
    functionsReached:
    - ap_unixd_set_proc_mutex_perms
    - apr_os_global_mutex_get
    linkageType: ''
    returnType: void
    signature: void ap_unixd_set_global_mutex_perms(apr_global_mutex_t *gmutex)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: apr_socket_accept
      Src: /src/httpd/os/unix/unixd.c:303,1
    - Dst: apr_os_sock_get
      Src: /src/httpd/os/unix/unixd.c:307,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:309,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:309,1
    - Dst: apr_socket_close
      Src: /src/httpd/os/unix/unixd.c:314,1
    - Dst: APR_STATUS_IS_EINTR
      Src: /src/httpd/os/unix/unixd.c:321,1
    - Dst: ap_accept_error_is_nonfatal
      Src: /src/httpd/os/unix/unixd.c:326,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:422,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:422,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:433,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:433,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:437,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - accepted
    - lr
    - ptrans
    argTypes:
    - void**
    - ap_listen_rec*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 442
    functionName: ap_unixd_accept
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached:
    - apr_socket_accept
    - APR_STATUS_IS_EINTR
    - APLOGNO
    - apr_socket_close
    - apr_os_sock_get
    - ap_accept_error_is_nonfatal
    - ap_log_error
    linkageType: ''
    returnType: void
    signature: "void ap_unixd_accept(void **accepted, ap_listen_rec *lr,\n                                         apr_pool_t
      *ptrans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: retained_data_cleanup
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t retained_data_cleanup(void *unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_retained_data_create
      Src: /src/httpd/os/unix/unixd.c:458,1
    - Dst: apr_pool_pre_cleanup_register
      Src: /src/httpd/os/unix/unixd.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: ap_unixd_mpm_get_retained_data
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 4
    functionsReached:
    - apr_pool_pre_cleanup_register
    - ap_retained_data_create
    linkageType: ''
    returnType: void
    signature: void ap_unixd_mpm_get_retained_data(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 484
    functionName: sig_term
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sig_term(int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 504
    functionName: sig_restart
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sig_restart(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: unset_signals
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: apr_status_t
    signature: apr_status_t unset_signals(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_destroy
      Src: /src/httpd/os/unix/unixd.c:522,1
    - Dst: apr_terminate
      Src: /src/httpd/os/unix/unixd.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: ap_terminate
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached:
    - apr_pool_destroy
    - apr_terminate
    linkageType: ''
    returnType: void
    signature: void ap_terminate(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_fatal_signal_setup
      Src: /src/httpd/os/unix/unixd.c:533,1
    - Dst: ap_retained_data_get
      Src: /src/httpd/os/unix/unixd.c:535,1
    - Dst: ap_retained_data_create
      Src: /src/httpd/os/unix/unixd.c:542,1
    - Dst: atexit
      Src: /src/httpd/os/unix/unixd.c:543,1
    - Dst: ap_unixd_mpm_get_retained_data
      Src: /src/httpd/os/unix/unixd.c:547,1
    - Dst: memset
      Src: /src/httpd/os/unix/unixd.c:550,1
    - Dst: sigemptyset
      Src: /src/httpd/os/unix/unixd.c:551,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:555,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:556,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:556,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:561,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:562,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:562,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:570,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:571,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:571,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:576,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:577,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:577,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:580,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:581,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:581,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:585,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:586,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:586,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:587,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:593,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:594,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:594,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:596,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:597,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:597,1
    - Dst: sigaction
      Src: /src/httpd/os/unix/unixd.c:598,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:604,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:607,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:610,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:613,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:615,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:621,1
    - Dst: apr_signal
      Src: /src/httpd/os/unix/unixd.c:624,1
    - Dst: apr_pool_cleanup_register
      Src: /src/httpd/os/unix/unixd.c:630,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - pconf
    - one_process
    argTypes:
    - apr_pool_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 632
    functionName: ap_unixd_mpm_set_signals
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 5
    functionsReached:
    - apr_signal
    - ap_unixd_mpm_get_retained_data
    - memset
    - ap_retained_data_create
    - APLOGNO
    - sigaction
    - atexit
    - ap_retained_data_get
    - ap_log_error
    - ap_fatal_signal_setup
    - sigemptyset
    - apr_pool_cleanup_register
    linkageType: ''
    returnType: void
    signature: void ap_unixd_mpm_set_signals(apr_pool_t *pconf, int one_process)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/httpd/os/unix/unixd.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - one_process
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 674
    functionName: os_forktype
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 0
    functionsReached:
    - getuid
    linkageType: ''
    returnType: bs2_ForkType
    signature: bs2_ForkType os_forktype(int one_process)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_forktype
      Src: /src/httpd/os/unix/unixd.c:684,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:694,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - server
    - user_name
    - one_process
    argTypes:
    - server_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: os_init_job_environment
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_error
    - os_forktype
    linkageType: ''
    returnType: int
    signature: int os_init_job_environment(server_rec *server, const char *user_name,
      int one_process)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_forktype
      Src: /src/httpd/os/unix/unixd.c:709,1
    - Dst: fork
      Src: /src/httpd/os/unix/unixd.c:712,1
    - Dst: apr_cpystrn
      Src: /src/httpd/os/unix/unixd.c:716,1
    - Dst: ap_str_toupper
      Src: /src/httpd/os/unix/unixd.c:719,1
    - Dst: ufork
      Src: /src/httpd/os/unix/unixd.c:721,1
    - Dst: ap_log_error
      Src: /src/httpd/os/unix/unixd.c:723,1
    - Dst: APLOGNO
      Src: /src/httpd/os/unix/unixd.c:724,1
    - Dst: exit
      Src: /src/httpd/os/unix/unixd.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 736
    functionName: os_fork
    functionSourceFile: /src/httpd/os/unix/unixd.c
    functionUses: 1
    functionsReached:
    - os_forktype
    - ap_str_toupper
    - apr_cpystrn
    - APLOGNO
    - exit
    - ufork
    - ap_log_error
    - fork
    linkageType: ''
    returnType: pid_t
    signature: pid_t os_fork(const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: ap_unixd_killpg
    functionSourceFile: /src/httpd/os/unix/unixd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_unixd_killpg(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: ap_os_killpg
    functionSourceFile: /src/httpd/os/unix/unixd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_os_killpg(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: ap_unixd_killpg
    functionSourceFile: /src/httpd/os/unix/unixd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_unixd_killpg(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ap_os_killpg
    functionSourceFile: /src/httpd/os/unix/unixd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ap_os_killpg(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: exit
    functionSourceFile: /src/httpd/os/netware/os.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_create
      Src: /src/httpd/os/netware/util_nw.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - r
    - newproc
    - progname
    - args
    - env
    - attr
    - p
    argTypes:
    - request_rec*
    - apr_proc_t*
    - char*
    - char**
    - char**
    - apr_procattr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ap_os_create_privileged_process
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 1
    functionsReached:
    - apr_proc_create
    linkageType: ''
    returnType: void
    signature: "void ap_os_create_privileged_process(\n    const request_rec *r,\n
      \   apr_proc_t *newproc, const char *progname,\n    const char * const *args,\n
      \   const char * const *env,\n    apr_procattr_t *attr, apr_pool_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlmUnloadSignaled
      Src: /src/httpd/os/netware/util_nw.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: _NonAppCheckUnload
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 0
    functionsReached:
    - nlmUnloadSignaled
    linkageType: ''
    returnType: int
    signature: int _NonAppCheckUnload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlmUnloadSignaled
      Src: /src/httpd/os/netware/util_nw.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ap_down_server_cb
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 0
    functionsReached:
    - nlmUnloadSignaled
    linkageType: ''
    returnType: void
    signature: void ap_down_server_cb(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ap_dummy_cb
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_dummy_cb(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnRegisterEventNotification
      Src: /src/httpd/os/netware/util_nw.c:66,1
    - Dst: NX_UNWRAP_INTERFACE
      Src: /src/httpd/os/netware/util_nw.c:67,1
    - Dst: NX_UNWRAP_INTERFACE
      Src: /src/httpd/os/netware/util_nw.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: ap_cb_destroy
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 0
    functionsReached:
    - UnRegisterEventNotification
    - NX_UNWRAP_INTERFACE
    linkageType: ''
    returnType: void
    signature: void ap_cb_destroy(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateResourceTag
      Src: /src/httpd/os/netware/util_nw.c:98,1
    - Dst: NX_WRAP_INTERFACE
      Src: /src/httpd/os/netware/util_nw.c:101,1
    - Dst: NX_WRAP_INTERFACE
      Src: /src/httpd/os/netware/util_nw.c:102,1
    - Dst: RegisterForEventNotification
      Src: /src/httpd/os/netware/util_nw.c:103,1
    - Dst: NXVmRegisterExitHandler
      Src: /src/httpd/os/netware/util_nw.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - NLMHandle
    - errorScreen
    - cmdLine
    - loadDirPath
    - uninitializedDataLength
    - NLMFileHandle
    - customDataOffset
    - customDataSize
    - messageCount
    - messages
    argTypes:
    - void*
    - void*
    - char*
    - char*
    - size_t
    - void*
    - size_t
    - size_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: _NonAppStart
    functionSourceFile: /src/httpd/os/netware/util_nw.c
    functionUses: 0
    functionsReached:
    - NXVmRegisterExitHandler
    - RegisterForEventNotification
    - AllocateResourceTag
    - NX_WRAP_INTERFACE
    linkageType: ''
    returnType: int
    signature: "int _NonAppStart\n(\n    void        *NLMHandle,\n    void        *errorScreen,\n
      \   const char  *cmdLine,\n    const char  *loadDirPath,\n    size_t      uninitializedDataLength,\n
      \   void        *NLMFileHandle,\n    int         (*readRoutineP)( int conn,
      void *fileHandle, size_t offset,\n                    size_t nbytes, size_t
      *bytesRead, void *buffer ),\n    size_t      customDataOffset,\n    size_t      customDataSize,\n
      \   int         messageCount,\n    const char  **messages\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_proc_create
      Src: /src/httpd/os/os2/util_os2.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - r
    - newproc
    - progname
    - args
    - env
    - attr
    - p
    argTypes:
    - request_rec*
    - apr_proc_t*
    - char*
    - char**
    - char**
    - apr_procattr_t*
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: ap_os_create_privileged_process
    functionSourceFile: /src/httpd/os/os2/util_os2.c
    functionUses: 1
    functionsReached:
    - apr_proc_create
    linkageType: ''
    returnType: void
    signature: "void ap_os_create_privileged_process(\n    const request_rec *r,\n
      \   apr_proc_t *newproc, const char *progname,\n    const char * const *args,\n
      \   const char * const *env,\n    apr_procattr_t *attr, apr_pool_t *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/httpd/os/bs2000/os.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - one_process
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: os_forktype
    functionSourceFile: /src/httpd/os/bs2000/os.c
    functionUses: 2
    functionsReached:
    - getuid
    linkageType: ''
    returnType: bs2_ForkType
    signature: bs2_ForkType os_forktype(int one_process)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_forktype
      Src: /src/httpd/os/bs2000/os.c:78,1
    - Dst: ap_log_error
      Src: /src/httpd/os/bs2000/os.c:88,1
    - Dst: APLOGNO
      Src: /src/httpd/os/bs2000/os.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - server
    - user_name
    - one_process
    argTypes:
    - server_rec*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: os_init_job_environment
    functionSourceFile: /src/httpd/os/bs2000/os.c
    functionUses: 1
    functionsReached:
    - APLOGNO
    - ap_log_error
    - os_forktype
    linkageType: ''
    returnType: int
    signature: int os_init_job_environment(server_rec *server, const char *user_name,
      int one_process)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_forktype
      Src: /src/httpd/os/bs2000/os.c:103,1
    - Dst: fork
      Src: /src/httpd/os/bs2000/os.c:106,1
    - Dst: apr_cpystrn
      Src: /src/httpd/os/bs2000/os.c:110,1
    - Dst: ap_str_toupper
      Src: /src/httpd/os/bs2000/os.c:113,1
    - Dst: ufork
      Src: /src/httpd/os/bs2000/os.c:115,1
    - Dst: ap_log_error
      Src: /src/httpd/os/bs2000/os.c:117,1
    - Dst: APLOGNO
      Src: /src/httpd/os/bs2000/os.c:118,1
    - Dst: exit
      Src: /src/httpd/os/bs2000/os.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: os_fork
    functionSourceFile: /src/httpd/os/bs2000/os.c
    functionUses: 1
    functionsReached:
    - os_forktype
    - ap_str_toupper
    - apr_cpystrn
    - APLOGNO
    - exit
    - ufork
    - ap_log_error
    - fork
    linkageType: ''
    returnType: pid_t
    signature: pid_t os_fork(const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: bs2000_os_is_not_here
    functionSourceFile: /src/httpd/os/bs2000/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bs2000_os_is_not_here()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: ebcdic2ascii
    functionSourceFile: /src/httpd/os/bs2000/ebcdic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ebcdic2ascii(unsigned char *dest, const unsigned char *srce, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: ebcdic2ascii_strictly
    functionSourceFile: /src/httpd/os/bs2000/ebcdic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ebcdic2ascii_strictly(unsigned char *dest, const unsigned char
      *srce, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: ascii2ebcdic
    functionSourceFile: /src/httpd/os/bs2000/ebcdic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ascii2ebcdic(unsigned char *dest, const unsigned char *srce, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/chardata.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - XML_Char*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/expat-2.4.1/tests/chardata.c
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: xmlstrlen
    functionSourceFile: /src/expat-2.4.1/tests/chardata.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int xmlstrlen(const XML_Char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/chardata.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - storage
    argTypes:
    - CharData*
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/expat-2.4.1/tests/chardata.c
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: CharData_Init
    functionSourceFile: /src/expat-2.4.1/tests/chardata.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CharData_Init(CharData *storage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/chardata.c:65,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/chardata.c:66,1
    - Dst: xmlstrlen
      Src: /src/expat-2.4.1/tests/chardata.c:71,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/chardata.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - storage
    - s
    - len
    argTypes:
    - CharData*
    - XML_Char*
    - int
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/expat-2.4.1/tests/chardata.c
    - condition: (s != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/expat-2.4.1/tests/chardata.c
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: CharData_AppendXMLChars
    functionSourceFile: /src/expat-2.4.1/tests/chardata.c
    functionUses: 0
    functionsReached:
    - assert
    - xmlstrlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CharData_AppendXMLChars(CharData *storage, const XML_Char *s,
      int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmlstrlen
      Src: /src/expat-2.4.1/tests/chardata.c:84,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/chardata.c:87,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/chardata.c:90,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/chardata.c:92,1
    - Dst: memcmp
      Src: /src/expat-2.4.1/tests/chardata.c:95,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/chardata.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - storage
    - expected
    argTypes:
    - CharData*
    - XML_Char*
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/expat-2.4.1/tests/chardata.c
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: CharData_CheckXMLChars
    functionSourceFile: /src/expat-2.4.1/tests/chardata.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fail
    - xmlstrlen
    - assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CharData_CheckXMLChars(CharData *storage, const XML_Char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: xcstrlen
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: xcstrcmp
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrcmp(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: xcstrncmp
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrncmp(s, t, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: XCS
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XCS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: _XCS
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _XCS(s)
  - 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: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: xcstrlen
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: xcstrcmp
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrcmp(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: xcstrncmp
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrncmp(s, t, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: XCS
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XCS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:104,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:106,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tc
    - test
    argTypes:
    - TCase*
    - tcase_test_function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: tcase_add_test__ifdef_xml_dtd
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - tcase_add_test
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void tcase_add_test__ifdef_xml_dtd(TCase *tc, tcase_test_function test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:113,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: basic_setup
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ParserCreate
    linkageType: ''
    returnType: void
    signature: void basic_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: basic_teardown
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParserFree
    linkageType: ''
    returnType: void
    signature: void basic_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:133,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:134,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/runtests.c:137,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:137,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:138,1
    - Dst: _fail_unless
      Src: /src/expat-2.4.1/tests/runtests.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parser
    - file
    - line
    argTypes:
    - XML_Parser
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: _xml_failure
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _fail_unless
    - sprintf
    - XML_ErrorString
    - XML_GetErrorCode
    - XML_GetCurrentColumnNumber
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: void
    signature: void _xml_failure(XML_Parser parser, const char *file, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:149,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - parser
    - s
    - len
    - isFinal
    argTypes:
    - XML_Parser
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: _XML_Parse_SINGLE_BYTES
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_Parse
    linkageType: ''
    returnType: enum XML_Status
    signature: "enum XML_Status _XML_Parse_SINGLE_BYTES(XML_Parser parser, const char
      *s, int len,\n                        int isFinal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - parser
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: xml_failure
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xml_failure(parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:168,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:168,1
    - Dst: _fail_unless
      Src: /src/expat-2.4.1/tests/runtests.c:172,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:173,1
    - Dst: _xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - text
    - errorCode
    - errorMessage
    - file
    - lineno
    argTypes:
    - char*
    - enum XML_Error
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: _expect_failure
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _fail_unless
    - XML_GetErrorCode
    - _XML_Parse_SINGLE_BYTES
    - _xml_failure
    - strlen
    linkageType: ''
    returnType: void
    signature: "void _expect_failure(const char *text, enum XML_Error errorCode,\n
      \               const char *errorMessage, const char *file, int lineno)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - text
    - ','
    - errorCode
    - ','
    - errorMessage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: expect_failure
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_failure(text, errorCode, errorMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:207,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:208,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:209,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - userData
    - version
    - encoding
    - standalone
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: dummy_xdecl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_xdecl_handler(void *userData, const XML_Char *version,\n
      \                   const XML_Char *encoding, int standalone)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:217,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:218,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:219,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:220,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - userData
    - doctypeName
    - sysid
    - pubid
    - has_internal_subset
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: dummy_start_doctype_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_start_doctype_handler(void *userData, const XML_Char *doctypeName,\n
      \                           const XML_Char *sysid, const XML_Char *pubid,\n
      \                           int has_internal_subset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: dummy_end_doctype_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_end_doctype_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:237,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:238,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:239,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:240,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:241,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:242,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:243,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:244,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    - value
    - value_length
    - base
    - systemId
    - publicId
    - notationName
    argTypes:
    - void*
    - XML_Char*
    - int
    - XML_Char*
    - int
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: dummy_entity_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_entity_decl_handler(void *userData, const XML_Char *entityName,\n
      \                         int is_parameter_entity, const XML_Char *value,\n
      \                         int value_length, const XML_Char *base,\n                          const
      XML_Char *systemId, const XML_Char *publicId,\n                          const
      XML_Char *notationName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:253,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:254,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:255,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:256,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - userData
    - notationName
    - base
    - systemId
    - publicId
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: dummy_notation_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_notation_decl_handler(void *userData, const XML_Char *notationName,\n
      \                           const XML_Char *base, const XML_Char *systemId,\n
      \                           const XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:264,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:265,1
    - Dst: XML_FreeContentModel
      Src: /src/expat-2.4.1/tests/runtests.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - name
    - model
    argTypes:
    - void*
    - XML_Char*
    - XML_Content*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: dummy_element_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_FreeContentModel
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_element_decl_handler(void *userData, const XML_Char *name,\n
      \                          XML_Content *model)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:278,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:279,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:280,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:281,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:282,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - userData
    - elname
    - attname
    - att_type
    - dflt
    - isrequired
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: dummy_attlist_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_attlist_decl_handler(void *userData, const XML_Char *elname,\n
      \                          const XML_Char *attname, const XML_Char *att_type,\n
      \                          const XML_Char *dflt, int isrequired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:289,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userData
    - data
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: dummy_comment_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_comment_handler(void *userData, const XML_Char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:296,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:297,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: dummy_pi_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_pi_handler(void *userData, const XML_Char *target, const
      XML_Char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:305,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:306,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: dummy_start_element
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_start_element(void *userData, const XML_Char *name,\n                    const
      XML_Char **atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:313,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: dummy_end_element
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_end_element(void *userData, const XML_Char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: dummy_start_cdata_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_start_cdata_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: dummy_end_cdata_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_end_cdata_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:331,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:332,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: dummy_cdata_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_cdata_handler(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:339,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:340,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - prefix
    - uri
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: dummy_start_namespace_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_start_namespace_decl_handler(void *userData, const XML_Char
      *prefix,\n                                   const XML_Char *uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:347,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userData
    - prefix
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: dummy_end_namespace_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_end_namespace_decl_handler(void *userData, const XML_Char
      *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:361,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:362,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:363,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:364,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:365,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - userData
    - entityName
    - base
    - systemId
    - publicId
    - notationName
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: dummy_unparsed_entity_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_unparsed_entity_decl_handler(void *userData, const XML_Char
      *entityName,\n                                   const XML_Char *base,\n                                   const
      XML_Char *systemId,\n                                   const XML_Char *publicId,\n
      \                                  const XML_Char *notationName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:372,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:373,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: dummy_default_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_default_handler(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:381,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:382,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:383,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:384,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - userData
    - doctypeName
    - sysid
    - pubid
    - has_internal_subset
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: dummy_start_doctype_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_start_doctype_decl_handler(void *userData, const XML_Char
      *doctypeName,\n                                 const XML_Char *sysid, const
      XML_Char *pubid,\n                                 int has_internal_subset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: dummy_end_doctype_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void dummy_end_doctype_decl_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:398,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:399,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: dummy_skip_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void dummy_skip_handler(void *userData, const XML_Char *entityName,\n
      \                  int is_parameter_entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:414,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:417,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:418,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:420,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:422,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:425,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:426,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:427,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 434
    functionName: external_entity_optioner
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - fail
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    - xcstrcmp
    linkageType: ''
    returnType: int
    signature: "int external_entity_optioner(XML_Parser parser, const XML_Char *context,\n
      \                        const XML_Char *base, const XML_Char *systemId,\n                         const
      XML_Char *publicId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:452,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:453,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:454,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:455,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:456,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:461,1
    - Dst: xcstrlen
      Src: /src/expat-2.4.1/tests/runtests.c:466,1
    - Dst: xcstrncmp
      Src: /src/expat-2.4.1/tests/runtests.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    - value
    - value_length
    - base
    - systemId
    - publicId
    - notationName
    argTypes:
    - void*
    - XML_Char*
    - int
    - XML_Char*
    - int
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 474
    functionName: param_entity_match_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xcstrlen
    - xcstrncmp
    - xcstrcmp
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void param_entity_match_handler(void *userData, const XML_Char *entityName,\n
      \                          int is_parameter_entity, const XML_Char *value,\n
      \                          int value_length, const XML_Char *base,\n                           const
      XML_Char *systemId, const XML_Char *publicId,\n                           const
      XML_Char *notationName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:484,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:486,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:487,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - XML_GetErrorCode
    - fail
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_nul_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_u0000_char)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip24_valid
      Src: /src/expat-2.4.1/tests/runtests.c:500,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - sip24_valid
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_siphash_self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _SIP_ULL
      Src: /src/expat-2.4.1/tests/runtests.c:510,1
    - Dst: sip_tokey
      Src: /src/expat-2.4.1/tests/runtests.c:514,1
    - Dst: sip24_init
      Src: /src/expat-2.4.1/tests/runtests.c:516,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/tests/runtests.c:519,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/tests/runtests.c:520,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/tests/runtests.c:523,1
    - Dst: sip24_final
      Src: /src/expat-2.4.1/tests/runtests.c:525,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:526,1
    - Dst: siphash24
      Src: /src/expat-2.4.1/tests/runtests.c:529,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 531
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - siphash24
    - sip24_init
    - fail
    - sip24_update
    - _SIP_ULL
    - sip24_final
    - sip_tokey
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_siphash_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:538,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:538,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bom_utf8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:547,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bom_utf16_be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:556,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bom_utf16_le)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:566,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 568
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_Parse
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nobom_utf16_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 574
    functionName: accumulate_characters
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST accumulate_characters(void *userData, const XML_Char *s, int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:580,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: accumulate_attribute
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void accumulate_attribute(void *userData, const XML_Char *name,\n
      \                    const XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:597,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:598,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:599,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:600,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:600,1
    - Dst: _xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:602,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - expected
    - file
    - line
    argTypes:
    - char*
    - XML_Char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: _run_character_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - _xml_failure
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: "void _run_character_check(const char *text, const XML_Char *expected,\n
      \                    const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - text
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: run_character_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: run_character_check(text, expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:614,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:615,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:616,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:617,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:617,1
    - Dst: _xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:619,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - expected
    - file
    - line
    argTypes:
    - char*
    - XML_Char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: _run_attribute_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - _xml_failure
    - strlen
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: "void _run_attribute_check(const char *text, const XML_Char *expected,\n
      \                    const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - text
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: run_attribute_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: run_attribute_check(text, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accumulate_characters
      Src: /src/expat-2.4.1/tests/runtests.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: ext_accumulate_characters
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - accumulate_characters
    linkageType: ''
    returnType: void
    signature: void ext_accumulate_characters(void *userData, const XML_Char *s, int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/runtests.c:641,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:643,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:645,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:646,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:647,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:647,1
    - Dst: _xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:649,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:650,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/runtests.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - text
    - test_data
    - expected
    - file
    - line
    argTypes:
    - char*
    - ExtTest*
    - XML_Char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 653
    functionName: _run_ext_character_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - free
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - malloc
    - _xml_failure
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: "void _run_ext_character_check(const char *text, ExtTest *test_data,\n
      \                        const XML_Char *expected, const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - text
    - ','
    - test_data
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: run_ext_character_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: run_ext_character_check(text, test_data, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:664,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:667,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 670
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_danish_latin1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:678,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:681,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 684
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_french_charref_hexidecimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:691,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:694,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_french_charref_decimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:704,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:707,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_french_latin1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:717,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:719,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_french_utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:733,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:735,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 738
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf8_false_rejection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:751,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:752,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:752,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:754,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:756,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:757,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:758,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 762
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - sprintf
    - XML_ParserReset
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_illegal_utf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:799,1
    - Dst: _INTERNAL_trim_to_complete_utf8_characters
      Src: /src/expat-2.4.1/tests/runtests.c:803,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/runtests.c:809,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:813,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/runtests.c:814,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/runtests.c:816,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 823
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - printf
    - strlen
    - _INTERNAL_trim_to_complete_utf8_characters
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_utf8_auto_align)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:841,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:843,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:847,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:848,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:849,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:850,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:852,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 854
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:864,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:865,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:867,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:870,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 876
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_le_epilog_newline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:885,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetXmlDeclHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_not_utf16)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:895,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:895,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:896,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - expect_failure
    - XML_SetEncoding
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:910,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:911,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:911,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:914,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:915,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:915,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:918,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:919,1
    - Dst: run_attribute_check
      Src: /src/expat-2.4.1/tests/runtests.c:920,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:922,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:923,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:924,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:925,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:926,1
    - Dst: run_attribute_check
      Src: /src/expat-2.4.1/tests/runtests.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 928
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParserReset
    - run_attribute_check
    - run_character_check
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_latin1_umlauts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 939
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_long_utf8_character)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:972,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:973,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:974,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:975,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:976,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:977,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:978,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:979,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:980,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:981,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:982,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:983,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:984,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:985,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:986,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:987,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:990,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:992,1
    - Dst: run_attribute_check
      Src: /src/expat-2.4.1/tests/runtests.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 996
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_attribute_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_long_latin1_attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1027,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1028,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1029,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1030,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1031,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1032,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1033,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1034,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1035,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1036,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1037,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1038,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1039,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1040,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1041,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1042,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1043,1
    - Dst: run_attribute_check
      Src: /src/expat-2.4.1/tests/runtests.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1047
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_attribute_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_long_ascii_attribute)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1057,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1057,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1059,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1060,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:1063,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1066
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - sprintf
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_line_number_after_parse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1074,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1074,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1076,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1077,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:1080,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - sprintf
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_GetCurrentColumnNumber
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_column_number_after_parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1092,1
    - Dst: StructData_AddItem
      Src: /src/expat-2.4.1/tests/runtests.c:1093,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1093,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - name
    - attr
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1095
    functionName: start_element_event_handler2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetCurrentColumnNumber
    - StructData_AddItem
    - XML_GetCurrentLineNumber
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void start_element_event_handler2(void *userData, const XML_Char *name,\n
      \                            const XML_Char **attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StructData_AddItem
      Src: /src/expat-2.4.1/tests/runtests.c:1100,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1100,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1102
    functionName: end_element_event_handler2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetCurrentColumnNumber
    - StructData_AddItem
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: void
    signature: void end_element_event_handler2(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1115,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1115,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1116,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1116,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1117,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1117,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1118,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1118,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1119,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1119,1
    - Dst: StructData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:1123,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1124,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1125,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1126,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1127,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1127,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1129,1
    - Dst: StructData_CheckItems
      Src: /src/expat-2.4.1/tests/runtests.c:1131,1
    - Dst: StructData_Dispose
      Src: /src/expat-2.4.1/tests/runtests.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1133
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - StructData_CheckItems
    - StructData_Dispose
    - _XML_Parse_SINGLE_BYTES
    - XML_SetEndElementHandler
    - StructData_Init
    - strlen
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_line_and_column_numbers_inside_handlers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1142,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1142,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1144,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1146,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:1149,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1152
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_line_number_after_error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1161,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1161,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1163,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:1165,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:1168,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1171
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_GetCurrentColumnNumber
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_column_number_after_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1203,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1203,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1206
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_really_long_lines)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1239,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1242,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:1243,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1245,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1246,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:1247,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:1248,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 1245
        line_start: 1245
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 1250
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1250
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - fail
    - assert
    - XML_GetBuffer
    - strlen
    - XML_SetCharacterDataHandler
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_really_long_encoded_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1260,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1262
    functionName: start_element_event_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST start_element_event_handler(void *userData, const XML_Char
      *name,\n                            const XML_Char **atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:1267,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1267,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1269
    functionName: end_element_event_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    linkageType: ''
    returnType: void
    signature: void end_element_event_handler(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1273,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:1276,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1277,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1278,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1279,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1279,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1281,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1283
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetEndElementHandler
    - strlen
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_end_element_events)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1304,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1306,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1306,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - s
    - is_cdata
    argTypes:
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1323
    functionName: is_whitespace_normalized
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST is_whitespace_normalized(const XML_Char *s, int is_cdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1328,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1328,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1328,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1329,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1329,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1329,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1330,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1330,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1330,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1331,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1331,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1331,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1332,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1332,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1332,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1333,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1333,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1333,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1334,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1334,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1334,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1335,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1335,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1335,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1336,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1336,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1336,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1337,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1337,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1337,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1338,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1338,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1338,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1339,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1339,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1339,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1340,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1340,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1340,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1341,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1341,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1341,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1342,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1342,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1342,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1343,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1343,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1343,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1344,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1344,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1344,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1345,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1345,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1345,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:1346,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1346,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (is_whitespace_normalized(XCS("abc"), 0))
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS("abc def ghi "), 1))
      pos:
        line_end: 1336
        line_start: 1336
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\t"), 0))
      pos:
        line_end: 1339
        line_start: 1339
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\n"), 0))
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\n"), 1))
      pos:
        line_end: 1342
        line_start: 1342
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\r"), 0))
      pos:
        line_end: 1343
        line_start: 1343
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS(" "), 0))
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\r"), 1))
      pos:
        line_end: 1344
        line_start: 1344
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("abc\t def"), 1))
      pos:
        line_end: 1345
        line_start: 1345
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS("abc def ghi"), 1))
      pos:
        line_end: 1330
        line_start: 1330
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS("abc  def ghi"), 1))
      pos:
        line_end: 1334
        line_start: 1334
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("\t"), 1))
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS("abc"), 1))
      pos:
        line_end: 1328
        line_start: 1328
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS(" abc def ghi"), 0))
      pos:
        line_end: 1331
        line_start: 1331
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("abc def ghi "), 0))
      pos:
        line_end: 1335
        line_start: 1335
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS(" "), 1))
      pos:
        line_end: 1338
        line_start: 1338
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS("abc def ghi"), 0))
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (is_whitespace_normalized(XCS(" abc def ghi"), 1))
      pos:
        line_end: 1332
        line_start: 1332
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (! is_whitespace_normalized(XCS("abc  def ghi"), 0))
      pos:
        line_end: 1333
        line_start: 1333
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 1347
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1347
    functionName: testhelper_is_whitespace_normalized
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - assert
    - XCS
    - is_whitespace_normalized
    linkageType: ''
    returnType: void
    signature: void testhelper_is_whitespace_normalized(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1353,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1354,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1358,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1358,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1359,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1359,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1360,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1360,1
    - Dst: is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:1361,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:1363,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1371
    functionName: check_attr_contains_normalized_whitespace
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - is_whitespace_normalized
    - fail
    - UNUSED_P
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: void
    signature: "void check_attr_contains_normalized_whitespace(void *userData, const
      XML_Char *name,\n                                          const XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1388,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1390,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1390,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1393
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_attr_whitespace_normalization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1406
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_xmldecl_misplaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1412
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_xmldecl_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1418
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_xmldecl_missing_attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1426
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_xmldecl_missing_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1433,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1434,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - encoding
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1444
    functionName: UnknownEncodingHandler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - xcstrcmp
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST UnknownEncodingHandler(void *data, const XML_Char *encoding,\n
      \                      XML_Encoding *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1451,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1452,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1452,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1455
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_SetUnknownEncodingHandler
    - strlen
    - xml_failure
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_unknown_encoding_internal_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1462
    functionName: dummy_release
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST dummy_release(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1467,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - data
    - encoding
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1473
    functionName: UnrecognisedEncodingHandler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int UnrecognisedEncodingHandler(void *data, const XML_Char *encoding,\n
      \                           XML_Encoding *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1480,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1481,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1481,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1484
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_SetUnknownEncodingHandler
    - strlen
    - fail
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_unrecognised_encoding_internal_entity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1492,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1495,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1496,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1497,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:1498,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1500,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:1502,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1503,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1505,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1506,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1508,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:1511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1513
    functionName: external_entity_loader
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEncoding
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_loader(XML_Parser parser, const XML_Char
      *context,\n                       const XML_Char *base, const XML_Char *systemId,\n
      \                      const XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1524,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1526,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1528,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1531,1
    - Dst: run_ext_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1533
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - run_ext_character_check
    - XCS
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_set_encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1543,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1544,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1545
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetDefaultHandler
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_no_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1557,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1559,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1561,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1564,1
    - Dst: run_ext_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1566
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - run_ext_character_check
    - XCS
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_set_bom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1575
    functionName: ext_faults
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST ext_faults
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1582,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1584,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1585,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1586,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:1587,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1589,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:1591,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1592,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1594,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1595,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1597,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:1598,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1599,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:1601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1577
    functionDepth: 2
    functionLinenumber: 1577
    functionLinenumberEnd: 1603
    functionName: external_entity_faulter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEncoding
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: int
    signature: "int external_entity_faulter(XML_Parser parser, const XML_Char *context,\n
      \                       const XML_Char *base, const XML_Char *systemId,\n                        const
      XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1612,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1614,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1615,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1618
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetUserData
    - XCS
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_bad_encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1628,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1630,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1631,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1632,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1635
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - expect_failure
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_bad_encoding_2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1645,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1645,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1648
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_undeclared_entity_unread_external_subset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1657
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_undeclared_entity_no_external_subset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1671
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_undeclared_entity_standalone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1684,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1685,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1686,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1672
    functionDepth: 1
    functionLinenumber: 1672
    functionLinenumberEnd: 1689
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_undeclared_entity_with_external_subset_standalone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1702,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1704,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1705,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1708
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_entity_with_external_subset_unless_standalone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1720,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1721,1
    - Dst: run_ext_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1722,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1723
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - run_ext_character_check
    - XML_SetParamEntityParsing
    - XCS
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_undeclared_entity_with_external_subset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1731
    functionName: reject_not_standalone_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST reject_not_standalone_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1739,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1740,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1741,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1742,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1743,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:1747,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1748,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1751
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - XML_SetNotStandaloneHandler
    - expect_failure
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_not_standalone_handler_reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1759
    functionName: accept_not_standalone_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST accept_not_standalone_handler(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1767,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1768,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1769,1
    - Dst: run_ext_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1770,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1770,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:1773,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1774,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1775,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1776
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - XML_SetNotStandaloneHandler
    - run_character_check
    - run_ext_character_check
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_not_standalone_handler_accept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1787
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_wfc_no_recursive_entity_refs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:1807,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1808,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1809,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1810,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:1812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1814
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_invalid_parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1828,1
    - Dst: XML_SetStartDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1829,1
    - Dst: XML_SetEndDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1830,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1831,1
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1832,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1833,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1834,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1835,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1836,1
    - Dst: XML_SetStartCdataSectionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1837,1
    - Dst: XML_SetEndCdataSectionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1838,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:1839,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1840
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetEndCdataSectionHandler
    - XML_SetStartCdataSectionHandler
    - XML_SetStartDoctypeDeclHandler
    - XML_SetAttlistDeclHandler
    - XML_SetEntityDeclHandler
    - XML_SetProcessingInstructionHandler
    - XML_SetEndDoctypeDeclHandler
    - XML_SetCommentHandler
    - XML_SetNotationDeclHandler
    - run_character_check
    - XML_SetElementDeclHandler
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_dtd_default_handling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1851
    functionName: typedef
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST typedef
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1860,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1861,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1862,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1863,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1864,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1865,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:1868,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1869,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:1871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 6
    argNames:
    - userData
    - element_name
    - attr_name
    - attr_type
    - default_value
    - is_required
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1872
    functionName: verify_attlist_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - xcstrcmp
    linkageType: ''
    returnType: void
    signature: "void verify_attlist_decl_handler(void *userData, const XML_Char *element_name,\n
      \                           const XML_Char *attr_name,\n                            const
      XML_Char *attr_type,\n                            const XML_Char *default_value,
      int is_required)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1881,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1881,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1882,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1888,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1888,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1888,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1892,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1892,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1892,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1892,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1896,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1896,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1896,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1898,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:1900,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1907,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:1908,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1909,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1909,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1912,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1913,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1914,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1916,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:1917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1874
    functionDepth: 2
    functionLinenumber: 1874
    functionLinenumberEnd: 1919
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_SetAttlistDeclHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_dtd_attr_handling)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1933,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1933,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1936
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_empty_ns_without_namespaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:1950,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:1950,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 1953
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_in_attribute_default_without_namespaces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1985,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1986,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:1987,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:1988,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 1990
    functionName: clearing_aborting_character_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - XML_SetCharacterDataHandler
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void clearing_aborting_character_handler(void *userData, const XML_Char
      *s,\n                                    int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2003,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2005,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2005,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2007,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2008,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1994
    functionDepth: 2
    functionLinenumber: 1994
    functionLinenumberEnd: 2010
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_stop_parser_between_char_data_calls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2024,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2026,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2026,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2028,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2029,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2030,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:2032,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2032,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2034,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2035,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2011
    functionDepth: 2
    functionLinenumber: 2011
    functionLinenumberEnd: 2037
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_suspend_parser_between_char_data_calls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2044,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2045,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2046,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:2047,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2048,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:2051,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2052,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2053,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2054,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:2057,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2058,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:2061,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2062,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2063,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2042
    functionDepth: 1
    functionLinenumber: 2042
    functionLinenumberEnd: 2066
    functionName: parser_stop_character_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - fail
    - UNUSED_P
    - XML_StopParser
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void parser_stop_character_handler(void *userData, const XML_Char *s,
      int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2072,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2075,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2075,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2077,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2079,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2080,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2083,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2083,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2085,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2087,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2088,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2091,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2091,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2069
    functionDepth: 2
    functionLinenumber: 2069
    functionLinenumberEnd: 2094
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParserReset
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_repeated_stop_parser_between_char_data_calls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2099,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2102,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2103,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2104,1
    - Dst: XML_SetStartCdataSectionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2106,1
    - Dst: XML_SetEndCdataSectionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2107,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2109,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2109,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2111,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2112,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2115,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2116,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2117,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2118,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2119,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2121,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2121,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2123,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2095
    functionDepth: 2
    functionLinenumber: 2095
    functionLinenumberEnd: 2125
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetEndCdataSectionHandler
    - xml_failure
    - XML_SetStartCdataSectionHandler
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetDefaultHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_good_cdata_ascii)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2141,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2144,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2145,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2146,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2148,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2150,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2126
    functionDepth: 2
    functionLinenumber: 2126
    functionLinenumberEnd: 2152
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_good_cdata_utf16)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2168,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2171,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2172,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2173,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2175,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2177,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2179
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_good_cdata_utf16_le)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2222,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2223,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2224,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2225,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2226,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2227,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2228,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2229,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2230,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2231,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2232,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2233,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2234,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2235,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2236,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2237,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2238,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2243,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2244,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2245,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:2246,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2248,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:2249,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:2250,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:2251,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2252,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 2248
        line_start: 2248
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 2254
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2254
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - XML_SetUserData
    - fail
    - CharData_Init
    - assert
    - XML_GetBuffer
    - CharData_CheckXMLChars
    - XML_SetCharacterDataHandler
    - XCS
    - memcpy
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_long_cdata_utf16)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2280,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2282,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2286,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2287,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2288,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2290,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2292,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2255
    functionDepth: 2
    functionLinenumber: 2255
    functionLinenumberEnd: 2294
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_multichar_cdata_utf16)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2317,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2319,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2320,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2295
    functionDepth: 2
    functionLinenumber: 2295
    functionLinenumberEnd: 2322
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - XML_GetErrorCode
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_bad_surrogate_pair)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2359,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2360,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2361,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:2363,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:2367,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2371,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (actualStatus == XML_STATUS_ERROR)
      pos:
        line_end: 2362
        line_start: 2362
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 2376
      start: 2323
    functionDepth: 2
    functionLinenumber: 2323
    functionLinenumberEnd: 2376
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - XML_ParserReset
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - assert
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_cdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2429,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2432,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2433,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:2435,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2436,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:2440,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/runtests.c:2443,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/runtests.c:2444,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2446,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (actual_status == XML_STATUS_ERROR)
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 2450
      start: 2377
    functionDepth: 2
    functionLinenumber: 2377
    functionLinenumberEnd: 2450
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - sprintf
    - XML_ParserReset
    - XML_ErrorString
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - assert
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_cdata_utf16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2481,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2484
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_stop_parser_between_cdata_calls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2492,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2494,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2494,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2497,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2498,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2500,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2485
    functionDepth: 2
    functionLinenumber: 2485
    functionLinenumberEnd: 2502
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_suspend_parser_between_cdata_calls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_MemMalloc
      Src: /src/expat-2.4.1/tests/runtests.c:2507,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2511,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2519,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2520,1
    - Dst: XML_MemRealloc
      Src: /src/expat-2.4.1/tests/runtests.c:2522,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2524,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2529,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2530,1
    - Dst: XML_MemFree
      Src: /src/expat-2.4.1/tests/runtests.c:2534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2503
    functionDepth: 1
    functionLinenumber: 2503
    functionLinenumberEnd: 2536
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_MemMalloc
    - strcmp
    - XML_MemRealloc
    - fail
    - XML_MemFree
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_memory_allocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2541,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2542,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2543,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2537
    functionDepth: 2
    functionLinenumber: 2537
    functionLinenumberEnd: 2544
    functionName: record_default_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST record_default_handler(void *userData, const XML_Char *s,
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2548,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2549,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2550,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2550,1
    - Dst: XML_DefaultCurrent
      Src: /src/expat-2.4.1/tests/runtests.c:2551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2552
    functionName: record_cdata_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_DefaultCurrent
    - CharData_AppendXMLChars
    - XCS
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void record_cdata_handler(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2556,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2557,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2558,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2554
    functionDepth: 2
    functionLinenumber: 2554
    functionLinenumberEnd: 2559
    functionName: record_cdata_nodefault_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void record_cdata_nodefault_handler(void *userData, const XML_Char
      *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2564,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2565,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2566,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2567
    functionName: record_skip_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void record_skip_handler(void *userData, const XML_Char *entityName,\n
      \                   int is_parameter_entity)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2578,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2579,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2580,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2581,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2582,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2582,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2584,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2585,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2585,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2588,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2589,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2590,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2591,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2592,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2593,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2593,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2595,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2596,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2596,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2599,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2600,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2601,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2602,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2603,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2604,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2604,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2607,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2609,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2609,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2612,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2613,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2614,1
    - Dst: XML_SetSkippedEntityHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2615,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2616,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2617,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2618,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2618,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2621,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2623,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2623,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2626,1
    - Dst: XML_SetDefaultHandlerExpand
      Src: /src/expat-2.4.1/tests/runtests.c:2627,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2628,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2629,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2630,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2631,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2631,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2634,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2635,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2635,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2638,1
    - Dst: XML_SetDefaultHandlerExpand
      Src: /src/expat-2.4.1/tests/runtests.c:2639,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2640,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2641,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2642,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2643,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2643,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2646,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2647,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2570
    functionDepth: 2
    functionLinenumber: 2570
    functionLinenumberEnd: 2648
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetSkippedEntityHandler
    - CharData_Init
    - XML_SetDefaultHandlerExpand
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetDefaultHandler
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_default_current)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2659,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2660,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2660,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2649
    functionDepth: 2
    functionLinenumber: 2649
    functionLinenumberEnd: 2663
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    - XML_SetElementDeclHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_dtd_elements)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/tests/runtests.c:2673,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2674,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2675,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2676,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2678,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2679,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2680,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2681,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2681,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2683,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2688,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2690,1
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/tests/runtests.c:2692,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2693,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2696,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2696,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2664
    functionDepth: 2
    functionLinenumber: 2664
    functionLinenumberEnd: 2699
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetHashSalt
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_UseForeignDTD
    - XML_SetDefaultHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_set_foreign_dtd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2708,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2709,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2710,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2711,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2712,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2713,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2700
    functionDepth: 1
    functionLinenumber: 2700
    functionLinenumberEnd: 2716
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - XML_SetNotStandaloneHandler
    - XML_UseForeignDTD
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_foreign_dtd_not_standalone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2726,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2727,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2728,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2729,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2717
    functionDepth: 1
    functionLinenumber: 2717
    functionLinenumberEnd: 2732
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_UseForeignDTD
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_foreign_dtd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/tests/runtests.c:2743,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2744,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2745,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2746,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2748,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2749,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2750,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2751,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2751,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2753,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2758,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2760,1
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/tests/runtests.c:2762,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2763,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2766,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2766,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2733
    functionDepth: 2
    functionLinenumber: 2733
    functionLinenumberEnd: 2769
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetHashSalt
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_UseForeignDTD
    - XML_SetDefaultHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_foreign_dtd_with_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2777,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2778,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2779,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2780,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2770
    functionDepth: 1
    functionLinenumber: 2770
    functionLinenumberEnd: 2783
    functionName: external_entity_null_loader
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_null_loader(XML_Parser parser, const XML_Char
      *context,\n                            const XML_Char *base, const XML_Char
      *systemId,\n                            const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2789,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2790,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2791,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2792,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2793,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2793,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2785
    functionDepth: 2
    functionLinenumber: 2785
    functionLinenumberEnd: 2796
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - XML_UseForeignDTD
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_foreign_dtd_without_external_subset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:2803,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2804,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:2805,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2808
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_UseForeignDTD
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_empty_foreign_dtd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2814,1
    - Dst: XML_GetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2816,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2817,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2818,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2819,1
    - Dst: XML_GetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2819,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2820,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2821,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2822,1
    - Dst: XML_GetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2823,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2824,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/tests/runtests.c:2825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2809
    functionDepth: 1
    functionLinenumber: 2809
    functionLinenumberEnd: 2826
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XCS
    - XML_SetBase
    - xcstrcmp
    - XML_GetBase
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_set_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2833
    functionName: attrInfo
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST attrInfo
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2850,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2855,1
    - Dst: XML_GetSpecifiedAttributeCount
      Src: /src/expat-2.4.1/tests/runtests.c:2862,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2864,1
    - Dst: XML_GetIdAttributeIndex
      Src: /src/expat-2.4.1/tests/runtests.c:2867,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2869,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2872,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2873,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2879,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2884,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:2887,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2888,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2842
    functionDepth: 1
    functionLinenumber: 2842
    functionLinenumberEnd: 2894
    functionName: counting_start_element_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_GetSpecifiedAttributeCount
    - xcstrcmp
    - XML_GetIdAttributeIndex
    linkageType: ''
    returnType: void
    signature: "void counting_start_element_handler(void *userData, const XML_Char
      *name,\n                               const XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2904,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2904,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2905,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2905,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2906,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2906,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2908,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2908,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2909,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2909,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2910,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2915,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2916,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2917,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2917,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2896
    functionDepth: 2
    functionLinenumber: 2896
    functionLinenumberEnd: 2920
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_attributes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2935,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2936,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2936,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2938,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:2939,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2941,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:2942,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:2943,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2921
    functionDepth: 2
    functionLinenumber: 2921
    functionLinenumberEnd: 2946
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParserReset
    - fail
    - XML_GetParsingStatus
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_reset_in_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2954,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:2955,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2955,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2957,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:2958,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2959,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:2960,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2947
    functionDepth: 1
    functionLinenumber: 2947
    functionLinenumberEnd: 2962
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ResumeParser
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_resume_invalid_parse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2970,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:2971,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2971,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2973,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2975,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:2976,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:2977,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:2979,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2981
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ResumeParser
    - fail
    - XML_Parse
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_resume_resuspended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:2987,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:2990,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:2991,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:2992,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:2994,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:2994,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:2996,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:2997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2982
    functionDepth: 2
    functionLinenumber: 2982
    functionLinenumberEnd: 2998
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_cdata_default)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3010,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3011,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3012,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3013,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3015,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:3016,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3018,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3021,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3021,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3023,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:3026,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3028,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3032,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3032,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3034,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3035,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3036,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3037,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:3038,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3040,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 2999
    functionDepth: 2
    functionLinenumber: 2999
    functionLinenumberEnd: 3045
    functionName: external_entity_resetter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParserReset
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - XML_GetParsingStatus
    - XML_Parse
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_resetter(XML_Parser parser, const XML_Char
      *context,\n                         const XML_Char *base, const XML_Char *systemId,\n
      \                        const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3052,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3053,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3054,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3054,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3047
    functionDepth: 2
    functionLinenumber: 3047
    functionLinenumberEnd: 3057
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_subordinate_reset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3067,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:3068,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3069,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3070,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3071,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3072,1
    - Dst: XML_FreeContentModel
      Src: /src/expat-2.4.1/tests/runtests.c:3073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - userData
    - name
    - model
    argTypes:
    - void*
    - XML_Char*
    - XML_Content*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3058
    functionDepth: 1
    functionLinenumber: 3058
    functionLinenumberEnd: 3074
    functionName: entity_suspending_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_FreeContentModel
    - XML_GetErrorCode
    - fail
    - XML_SetElementDeclHandler
    - UNUSED_P
    - XML_StopParser
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST entity_suspending_decl_handler(void *userData, const XML_Char
      *name,\n                               XML_Content *model)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3083,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3084,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3085,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3086,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3088,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3089,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3090,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3091,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3091,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3093,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3076
    functionDepth: 2
    functionLinenumber: 3076
    functionLinenumberEnd: 3098
    functionName: external_entity_suspender
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - XML_SetElementDeclHandler
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: int
    signature: "int external_entity_suspender(XML_Parser parser, const XML_Char *context,\n
      \                         const XML_Char *base, const XML_Char *systemId,\n
      \                         const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3105,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3106,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3107,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3107,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3100
    functionDepth: 2
    functionLinenumber: 3100
    functionLinenumberEnd: 3110
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_subordinate_suspend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3120,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3121,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3122,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:3123,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - userData
    - version
    - encoding
    - standalone
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3111
    functionDepth: 1
    functionLinenumber: 3111
    functionLinenumberEnd: 3125
    functionName: entity_suspending_xdecl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - XML_SetXmlDeclHandler
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST entity_suspending_xdecl_handler(void *userData, const XML_Char
      *version,\n                                const XML_Char *encoding, int standalone)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3136,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3137,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3138,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3139,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3141,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3142,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3143,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3144,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3144,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:3145,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3148,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3150,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3153,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3154,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3155,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3157,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3127
    functionDepth: 2
    functionLinenumber: 3127
    functionLinenumberEnd: 3162
    functionName: external_entity_suspend_xmldecl
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetXmlDeclHandler
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - XML_GetParsingStatus
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: int
    signature: "int external_entity_suspend_xmldecl(XML_Parser parser, const XML_Char
      *context,\n                                const XML_Char *base, const XML_Char
      *systemId,\n                                const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3171,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3172,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3174,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3174,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3164
    functionDepth: 2
    functionLinenumber: 3164
    functionLinenumberEnd: 3177
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_subordinate_xdecl_suspend)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3187,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3188,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3190,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3190,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3178
    functionDepth: 2
    functionLinenumber: 3178
    functionLinenumberEnd: 3193
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_subordinate_xdecl_abort)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3203,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3205,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3207,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3208,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3209,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3210,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3212,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3213,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3214,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3216,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3218,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:3219,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:3220,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3221,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3222,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:3223,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3224,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3225,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3226,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3227,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3228,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 3218
        line_start: 3218
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 3232
      start: 3194
    functionDepth: 1
    functionLinenumber: 3194
    functionLinenumberEnd: 3232
    functionName: external_entity_suspending_faulter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetXmlDeclHandler
    - XML_SetUserData
    - XML_ParseBuffer
    - XML_ResumeParser
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - assert
    - UNUSED_P
    - XML_GetBuffer
    - XML_GetUserData
    - strlen
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_suspending_faulter(XML_Parser parser, const
      XML_Char *context,\n                                   const XML_Char *base,\n
      \                                  const XML_Char *systemId,\n                                   const
      XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3250,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3251,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3253,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3254,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3258
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - expect_failure
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_invalid_suspended_parse)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:3267,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3268,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:3270,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3270,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3271,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3272,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3272,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3274,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:3276,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3276,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3277,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3278,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3278,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3280,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:3282,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3259
    functionDepth: 2
    functionLinenumber: 3259
    functionLinenumberEnd: 3284
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEncoding
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_explicit_encoding)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3295,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3285
    functionDepth: 1
    functionLinenumber: 3285
    functionLinenumberEnd: 3297
    functionName: cr_cdata_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST cr_cdata_handler(void *userData, const XML_Char *s, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3304,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3305,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3307,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3307,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3309,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3311,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3312,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3315,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3316,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3318,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3318,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3320,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3299
    functionDepth: 2
    functionLinenumber: 3299
    functionLinenumberEnd: 3323
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetDefaultHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_trailing_cr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3334,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3335,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3336,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3337,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3339,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3340,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3341,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3341,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3343,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3324
    functionDepth: 2
    functionLinenumber: 3324
    functionLinenumberEnd: 3346
    functionName: external_entity_cr_catcher
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_cr_catcher(XML_Parser parser, const XML_Char
      *context,\n                           const XML_Char *base, const XML_Char *systemId,\n
      \                          const XML_Char *publicId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3355,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3356,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3357,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3358,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3360,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3361,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3362,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3362,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3364,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3365,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3366,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3348
    functionDepth: 2
    functionLinenumber: 3348
    functionLinenumberEnd: 3369
    functionName: external_entity_bad_cr_catcher
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: int
    signature: "int external_entity_bad_cr_catcher(XML_Parser parser, const XML_Char
      *context,\n                               const XML_Char *base, const XML_Char
      *systemId,\n                               const XML_Char *publicId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3378,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3379,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3380,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3382,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3382,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3384,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3386,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3387,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3390,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3391,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3392,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3394,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3394,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3396,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3371
    functionDepth: 2
    functionLinenumber: 3371
    functionLinenumberEnd: 3399
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_trailing_cr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3400
    functionDepth: 1
    functionLinenumber: 3400
    functionLinenumberEnd: 3409
    functionName: rsqb_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST rsqb_handler(void *userData, const XML_Char *s, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3415,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3417,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3418,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3420,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3422,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3424,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3427,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3428,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3429,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3431,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3434,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3436,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3439,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3440,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3441,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3443,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3446,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3411
    functionDepth: 2
    functionLinenumber: 3411
    functionLinenumberEnd: 3449
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetDefaultHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_trailing_rsqb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3460,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3461,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3462,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3463,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3465,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3466,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3467,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3467,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3469,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3470,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3471,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3450
    functionDepth: 2
    functionLinenumber: 3450
    functionLinenumberEnd: 3474
    functionName: external_entity_rsqb_catcher
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_rsqb_catcher(XML_Parser parser, const XML_Char
      *context,\n                             const XML_Char *base, const XML_Char
      *systemId,\n                             const XML_Char *publicId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3483,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3484,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3485,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3487,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3487,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3489,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3476
    functionDepth: 2
    functionLinenumber: 3476
    functionLinenumberEnd: 3492
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_trailing_rsqb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3501,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3505,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3506,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3507,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:3508,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3509,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3511,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3512,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3513,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3515,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3515,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3517,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:3518,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3493
    functionDepth: 2
    functionLinenumber: 3493
    functionLinenumberEnd: 3522
    functionName: external_entity_good_cdata_ascii
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - fail
    - CharData_Init
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - UNUSED_P
    - XML_SetCharacterDataHandler
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_good_cdata_ascii(XML_Parser parser, const
      XML_Char *context,\n                                 const XML_Char *base, const
      XML_Char *systemId,\n                                 const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3530,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3531,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3532,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3532,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3524
    functionDepth: 2
    functionLinenumber: 3524
    functionLinenumberEnd: 3535
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_good_cdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3551,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3552,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3554,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - userData
    - version
    - encoding
    - standalone
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3548
    functionDepth: 1
    functionLinenumber: 3548
    functionLinenumberEnd: 3558
    functionName: xml_decl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void xml_decl_handler(void *userData, const XML_Char *version,\n                 const
      XML_Char *encoding, int standalone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3563,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3564,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3568
    functionName: param_check_skip_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void param_check_skip_handler(void *userData, const XML_Char *entityName,\n
      \                        int is_parameter_entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3572,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3575,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3577,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - userData
    - data
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3570
    functionDepth: 1
    functionLinenumber: 3570
    functionLinenumberEnd: 3580
    functionName: data_check_comment_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - fail
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void data_check_comment_handler(void *userData, const XML_Char *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3590,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3591,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3592,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3593,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3595,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3597,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3597,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3599,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3582
    functionDepth: 2
    functionLinenumber: 3582
    functionLinenumberEnd: 3605
    functionName: external_entity_param_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: int
    signature: "int external_entity_param_checker(XML_Parser parser, const XML_Char
      *context,\n                              const XML_Char *base, const XML_Char
      *systemId,\n                              const XML_Char *publicId)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3618,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3619,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3620,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3621,1
    - Dst: XML_SetSkippedEntityHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3622,1
    - Dst: XML_UseParserAsHandlerArg
      Src: /src/expat-2.4.1/tests/runtests.c:3623,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3624,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3626,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3626,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3628,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3630,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3632,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3633,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3634,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3634,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3636,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3638,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3640,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3642,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3643
      start: 3607
    functionDepth: 2
    functionLinenumber: 3607
    functionLinenumberEnd: 3643
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetXmlDeclHandler
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetSkippedEntityHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - strlen
    - XML_UseParserAsHandlerArg
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_user_parameters)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3663,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3664,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3665,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3667,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3670,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3672,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3673,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3673,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3675,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:3677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - parameter
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3644
    functionDepth: 2
    functionLinenumber: 3644
    functionLinenumberEnd: 3679
    functionName: external_entity_ref_param_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_ref_param_checker(XML_Parser parameter, const
      XML_Char *context,\n                                  const XML_Char *base,\n
      \                                 const XML_Char *systemId,\n                                  const
      XML_Char *publicId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3686,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3687,1
    - Dst: XML_SetExternalEntityRefHandlerArg
      Src: /src/expat-2.4.1/tests/runtests.c:3691,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3693,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3693,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3695,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3698,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:3699,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3700,1
    - Dst: XML_SetExternalEntityRefHandlerArg
      Src: /src/expat-2.4.1/tests/runtests.c:3701,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3703,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3703,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3706
      start: 3681
    functionDepth: 2
    functionLinenumber: 3681
    functionLinenumberEnd: 3706
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetExternalEntityRefHandlerArg
    - xml_failure
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_ref_parameter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3714,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3715,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3716,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3717,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:3718,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3719,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3722,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3723,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3723,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3725,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3726,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3727,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3730,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3731,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3731,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3734,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3735,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3707
    functionDepth: 2
    functionLinenumber: 3707
    functionLinenumberEnd: 3737
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParserReset
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_empty_parse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetFeatureList
      Src: /src/expat-2.4.1/tests/runtests.c:3743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - feature_id
    - presult
    argTypes:
    - enum XML_FeatureEnum
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3738
    functionDepth: 1
    functionLinenumber: 3738
    functionLinenumberEnd: 3754
    functionName: get_feature
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetFeatureList
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST get_feature(enum XML_FeatureEnum feature_id, long *presult)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3792,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3793,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3796,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3798,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:3799,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:3800,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3800,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3801,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3801,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3803,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3804,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3805,1
    - Dst: get_feature
      Src: /src/expat-2.4.1/tests/runtests.c:3817,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3819,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3820,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3823,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 3798
        line_start: 3798
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 3825
      start: 3786
    functionDepth: 2
    functionLinenumber: 3786
    functionLinenumberEnd: 3825
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - fail
    - assert
    - XML_GetBuffer
    - get_feature
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_get_buffer_1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3834,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3836,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:3837,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:3838,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3838,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3839,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3839,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3841,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:3844,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 3836
        line_start: 3836
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 3846
      start: 3826
    functionDepth: 1
    functionLinenumber: 3826
    functionLinenumberEnd: 3846
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - fail
    - assert
    - XML_GetBuffer
    - strlen
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_get_buffer_2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetCurrentByteIndex
      Src: /src/expat-2.4.1/tests/runtests.c:3853,1
    - Dst: XML_GetCurrentByteCount
      Src: /src/expat-2.4.1/tests/runtests.c:3854,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3855,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3856,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3856,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3858,1
    - Dst: XML_GetCurrentByteCount
      Src: /src/expat-2.4.1/tests/runtests.c:3860,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3861,1
    - Dst: XML_GetCurrentByteIndex
      Src: /src/expat-2.4.1/tests/runtests.c:3862,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3862,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3847
    functionDepth: 2
    functionLinenumber: 3847
    functionLinenumberEnd: 3864
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetCurrentByteIndex
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_GetCurrentByteCount
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_byte_info_at_end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3873,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3873,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3875,1
    - Dst: XML_GetCurrentByteCount
      Src: /src/expat-2.4.1/tests/runtests.c:3876,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3877,1
    - Dst: XML_GetCurrentByteIndex
      Src: /src/expat-2.4.1/tests/runtests.c:3878,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3878,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3870
    functionDepth: 2
    functionLinenumber: 3870
    functionLinenumberEnd: 3880
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetCurrentByteIndex
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_GetCurrentByteCount
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_byte_info_at_error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3899,1
    - Dst: XML_GetInputContext
      Src: /src/expat-2.4.1/tests/runtests.c:3900,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3902,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3904,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3906,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3908,1
    - Dst: XML_GetCurrentByteIndex
      Src: /src/expat-2.4.1/tests/runtests.c:3909,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3910,1
    - Dst: XML_GetCurrentByteCount
      Src: /src/expat-2.4.1/tests/runtests.c:3911,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3912,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3914,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3915,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3918
    functionName: byte_character_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_GetCurrentByteIndex
    - XML_GetInputContext
    - fail
    - XML_GetCurrentByteCount
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void byte_character_handler(void *userData, const XML_Char *s, int
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetInputContext
      Src: /src/expat-2.4.1/tests/runtests.c:3929,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3930,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3932,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3933,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3934,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3935,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3936,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:3937,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3937,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3923
    functionDepth: 1
    functionLinenumber: 3923
    functionLinenumberEnd: 3939
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_GetInputContext
    - fail
    - XML_Parse
    - strlen
    - XML_SetCharacterDataHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_byte_info_at_cdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3948,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3949,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:3952,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:3956,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:3957,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:3958,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:3958,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:3960,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:3962,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:3965,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:3966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3946
    functionDepth: 2
    functionLinenumber: 3946
    functionLinenumberEnd: 3967
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - CharData_Init
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - run_character_check
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_predefined_entities)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3990,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:3991,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:3995,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:3997,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:3999,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:3999,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4000,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4000,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4002,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4003,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4004,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4005,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4005,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4006,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4006,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4008,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4009,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4010,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4012,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4017
      start: 3968
    functionDepth: 2
    functionLinenumber: 3968
    functionLinenumberEnd: 4017
    functionName: external_entity_param
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_param(XML_Parser parser, const XML_Char *context,\n
      \                     const XML_Char *base, const XML_Char *systemId,\n                      const
      XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4023,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4024,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4027
      start: 4019
    functionDepth: 1
    functionLinenumber: 4019
    functionLinenumberEnd: 4027
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_invalid_tag_in_dtd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4037,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:4039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4042
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_ParserReset
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_not_predefined_entities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4053,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4054,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4055,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4056,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4058,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4059,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4059,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4061,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4065
      start: 4043
    functionDepth: 2
    functionLinenumber: 4043
    functionLinenumberEnd: 4065
    functionName: external_entity_load_ignore
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_load_ignore(XML_Parser parser, const XML_Char
      *context,\n                            const XML_Char *base, const XML_Char
      *systemId,\n                            const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4071,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4074,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4075,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4076,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4077,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4078,1
    - Dst: XML_SetStartDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4079,1
    - Dst: XML_SetEndDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4080,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4081,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4082,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4083,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4084,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4084,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4086,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 4067
    functionDepth: 2
    functionLinenumber: 4067
    functionLinenumberEnd: 4088
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetStartDoctypeDeclHandler
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - XML_SetEndDoctypeDeclHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - CharData_CheckXMLChars
    - XML_SetEndElementHandler
    - XML_SetElementDeclHandler
    - XML_SetDefaultHandler
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ignore_section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4103,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4104,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4105,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4106,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4108,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4109,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4111,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4115
      start: 4089
    functionDepth: 2
    functionLinenumber: 4089
    functionLinenumberEnd: 4115
    functionName: external_entity_load_ignore_utf16
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_load_ignore_utf16(XML_Parser parser, const
      XML_Char *context,\n                                  const XML_Char *base,\n
      \                                 const XML_Char *systemId,\n                                  const
      XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4124,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4127,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4128,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4129,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4130,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4131,1
    - Dst: XML_SetStartDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4132,1
    - Dst: XML_SetEndDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4133,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4134,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4135,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4136,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4137,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4139,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4117
    functionDepth: 2
    functionLinenumber: 4117
    functionLinenumberEnd: 4141
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetStartDoctypeDeclHandler
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - XML_SetEndDoctypeDeclHandler
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetEndElementHandler
    - XML_SetElementDeclHandler
    - XML_SetDefaultHandler
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ignore_section_utf16)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4156,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4157,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4158,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4159,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4161,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4162,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4164,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4168
      start: 4142
    functionDepth: 2
    functionLinenumber: 4142
    functionLinenumberEnd: 4168
    functionName: external_entity_load_ignore_utf16_be
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_load_ignore_utf16_be(XML_Parser parser, const
      XML_Char *context,\n                                     const XML_Char *base,\n
      \                                    const XML_Char *systemId,\n                                     const
      XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4177,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4180,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4181,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4182,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4183,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4185,1
    - Dst: XML_SetStartDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4186,1
    - Dst: XML_SetEndDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4187,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4188,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4189,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4190,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4191,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4193,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4195
      start: 4170
    functionDepth: 2
    functionLinenumber: 4170
    functionLinenumberEnd: 4195
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetStartDoctypeDeclHandler
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - XML_SetEndDoctypeDeclHandler
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetEndElementHandler
    - XML_SetElementDeclHandler
    - XML_SetDefaultHandler
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ignore_section_utf16_be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4214,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4215,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4216,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4217,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:4219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4221
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4221
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_ignore_section)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4235,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4236,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4239,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4241,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4242,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4242,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4243,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4243,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4245,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4246,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4246,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4247,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4251,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4252,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4255,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4258,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4259,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4263,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4222
    functionDepth: 2
    functionLinenumber: 4222
    functionLinenumberEnd: 4269
    functionName: external_entity_valuer
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_valuer(XML_Parser parser, const XML_Char
      *context,\n                       const XML_Char *base, const XML_Char *systemId,\n
      \                      const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4303,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4304,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4305,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4306,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4306,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4308,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4271
    functionDepth: 2
    functionLinenumber: 4271
    functionLinenumberEnd: 4311
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_external_entity_values)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4325,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4326,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4329,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4331,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4332,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4332,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4333,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4334,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4334,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4336,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4337,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4338,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4339,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4340,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4342,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4342,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4343,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4343,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4345,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4312
    functionDepth: 2
    functionLinenumber: 4312
    functionLinenumberEnd: 4350
    functionName: external_entity_not_standalone
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - XML_SetNotStandaloneHandler
    - UNUSED_P
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_not_standalone(XML_Parser parser, const XML_Char
      *context,\n                               const XML_Char *base, const XML_Char
      *systemId,\n                               const XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4356,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4357,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4352
    functionDepth: 1
    functionLinenumber: 4352
    functionLinenumberEnd: 4360
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_not_standalone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4374,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4375,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4378,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4380,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4381,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4381,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4382,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4382,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4384,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4386,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4386,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4387,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4388,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4389,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4389,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4391,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4392,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4393,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4398
      start: 4361
    functionDepth: 2
    functionLinenumber: 4361
    functionLinenumberEnd: 4398
    functionName: external_entity_value_aborter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetXmlDeclHandler
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_value_aborter(XML_Parser parser, const XML_Char
      *context,\n                              const XML_Char *base, const XML_Char
      *systemId,\n                              const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4404,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4405,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4407,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4407,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4400
    functionDepth: 2
    functionLinenumber: 4400
    functionLinenumberEnd: 4410
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_value_abort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4419,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4411
    functionDepth: 1
    functionLinenumber: 4411
    functionLinenumberEnd: 4422
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetDoctypeDeclHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_public_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4435,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4437,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4438,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4439,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4441,1
    - Dst: run_ext_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:4442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4423
    functionDepth: 1
    functionLinenumber: 4423
    functionLinenumberEnd: 4443
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - run_ext_character_check
    - XML_SetAttlistDeclHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_attribute_enum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:4456,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4444
    functionDepth: 1
    functionLinenumber: 4444
    functionLinenumberEnd: 4457
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_predefined_entity_redefinition)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4469,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4471,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4471,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4473,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4476
      start: 4458
    functionDepth: 2
    functionLinenumber: 4458
    functionLinenumberEnd: 4476
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEntityDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_dtd_stop_processing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4487,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4488,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4488,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4490,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4477
    functionDepth: 2
    functionLinenumber: 4477
    functionLinenumberEnd: 4493
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetNotationDeclHandler
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_public_notation_no_sysid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4499,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4500,1
    - Dst: xcstrlen
      Src: /src/expat-2.4.1/tests/runtests.c:4500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4494
    functionDepth: 2
    functionLinenumber: 4494
    functionLinenumberEnd: 4501
    functionName: record_element_start_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xcstrlen
    - CharData_AppendXMLChars
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST record_element_start_handler(void *userData, const XML_Char
      *name,\n                             const XML_Char **atts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4516,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4517,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4518,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4519,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4521,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4521,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4523,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4524,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4524,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4503
    functionDepth: 2
    functionLinenumber: 4503
    functionLinenumberEnd: 4527
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - fail
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetElementDeclHandler
    - strlen
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_nested_groups)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4543,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4545,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4545,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4547,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4528
    functionDepth: 2
    functionLinenumber: 4528
    functionLinenumberEnd: 4550
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetElementDeclHandler
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_group_choice)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4557,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4563,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4564,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4567,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4567,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4569,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4569,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4572,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:4573,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4575,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4575,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts:
    - condition: (text != NULL)
      pos:
        line_end: 4572
        line_start: 4572
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 4578
      start: 4551
    functionDepth: 2
    functionLinenumber: 4551
    functionLinenumberEnd: 4578
    functionName: external_entity_public
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - assert
    - XML_GetUserData
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_public(XML_Parser parser, const XML_Char
      *context,\n                       const XML_Char *base, const XML_Char *systemId,\n
      \                      const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4589,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4590,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4591,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4592,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4592,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4580
    functionDepth: 2
    functionLinenumber: 4580
    functionLinenumberEnd: 4595
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_standalone_parameter_entity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4608,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4609,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4610,1
    - Dst: XML_SetSkippedEntityHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4611,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4613,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4613,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4615,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4618
      start: 4596
    functionDepth: 2
    functionLinenumber: 4596
    functionLinenumberEnd: 4618
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetSkippedEntityHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_skipped_parameter_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4632,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4633,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4634,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4619
    functionDepth: 1
    functionLinenumber: 4619
    functionLinenumberEnd: 4637
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_recursive_external_parameter_entity)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4649,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4651,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4652,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4653,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4653,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4655,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4655,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4656,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:4657,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4659,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4661,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4662,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4662,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4664,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:4666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4668
      start: 4638
    functionDepth: 2
    functionLinenumber: 4638
    functionLinenumberEnd: 4668
    functionName: external_entity_devaluer
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_devaluer(XML_Parser parser, const XML_Char
      *context,\n                         const XML_Char *base, const XML_Char *systemId,\n
      \                        const XML_Char *publicId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4674,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4675,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4676,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4677,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4677,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4679,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:4684,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4685,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4686,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4687,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4688,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4688,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4670
    functionDepth: 2
    functionLinenumber: 4670
    functionLinenumberEnd: 4691
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_undefined_ext_entity_in_external_dtd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4697,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4698,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4699,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4700,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4701,1
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - userData
    - version
    - encoding
    - standalone
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4703
      start: 4692
    functionDepth: 1
    functionLinenumber: 4692
    functionLinenumberEnd: 4703
    functionName: aborting_xdecl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - XML_SetXmlDeclHandler
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST aborting_xdecl_handler(void *userData, const XML_Char *version,\n
      \                      const XML_Char *encoding, int standalone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4709,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4711,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4711,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4713,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4714,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4715,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4717,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4717,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4719,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4720,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4706
    functionDepth: 2
    functionLinenumber: 4706
    functionLinenumberEnd: 4722
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetXmlDeclHandler
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_suspend_xdecl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcstrlen
      Src: /src/expat-2.4.1/tests/runtests.c:4731,1
    - Dst: xcstrncmp
      Src: /src/expat-2.4.1/tests/runtests.c:4731,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4732,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4735
      start: 4723
    functionDepth: 1
    functionLinenumber: 4723
    functionLinenumberEnd: 4735
    functionName: selective_aborting_default_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xcstrlen
    - XML_StopParser
    - xcstrncmp
    - XML_SetDefaultHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST selective_aborting_default_handler(void *userData, const XML_Char
      *s, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4739,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4741,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4742,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4744,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4744,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4746,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4747,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4749
      start: 4737
    functionDepth: 2
    functionLinenumber: 4737
    functionLinenumberEnd: 4749
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_GetErrorCode
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_abort_epilog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4755,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4757,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4758,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4750
    functionDepth: 1
    functionLinenumber: 4750
    functionLinenumberEnd: 4761
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetUserData
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_abort_epilog_2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4767,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4769,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4770,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4772,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4772,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4762
    functionDepth: 2
    functionLinenumber: 4762
    functionLinenumberEnd: 4775
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_suspend_epilog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4780,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - s
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4782
      start: 4776
    functionDepth: 1
    functionLinenumber: 4776
    functionLinenumberEnd: 4782
    functionName: suspending_end_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST suspending_end_handler(void *userData, const XML_Char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4788,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4789,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4790,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4790,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4792,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4794,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:4795,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4797,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4784
    functionDepth: 2
    functionLinenumber: 4784
    functionLinenumberEnd: 4800
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ResumeParser
    - XML_SetUserData
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetEndElementHandler
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_suspend_in_sole_empty_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4801
    functionDepth: 1
    functionLinenumber: 4801
    functionLinenumberEnd: 4808
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unfinished_epilog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4815,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4815,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4817,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:4819,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4820,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4821,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4809
    functionDepth: 2
    functionLinenumber: 4809
    functionLinenumberEnd: 4823
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_partial_char_in_epilog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/tests/runtests.c:4846,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4847,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4847,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4824
    functionDepth: 2
    functionLinenumber: 4824
    functionLinenumberEnd: 4850
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_SetHashSalt
    - strlen
    - xml_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_hash_collision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4858,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4859,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4860,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4860,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4861,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:4862,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4862,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4855
    functionDepth: 1
    functionLinenumber: 4855
    functionLinenumberEnd: 4864
    functionName: start_element_suspender
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - XCS
    - xcstrcmp
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void start_element_suspender(void *userData, const XML_Char *name,\n
      \                       const XML_Char **atts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4872,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4873,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4876,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4877,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4878,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4879,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4880,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4880,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4882,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4883,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4883,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:4884,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4885,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4886,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:4887,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4888,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4866
    functionDepth: 2
    functionLinenumber: 4866
    functionLinenumberEnd: 4890
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ResumeParser
    - XML_SetUserData
    - CharData_Init
    - XML_Parse
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_suspend_resume_internal_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4900,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4901,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4901,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4903,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:4904,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4905,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4906,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4891
    functionDepth: 1
    functionLinenumber: 4891
    functionLinenumberEnd: 4908
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ResumeParser
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - strlen
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_resume_entity_with_syntax_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4915,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:4916,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:4917,1
    - Dst: XML_FreeContentModel
      Src: /src/expat-2.4.1/tests/runtests.c:4918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - name
    - model
    argTypes:
    - void*
    - XML_Char*
    - XML_Content*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4919
      start: 4909
    functionDepth: 1
    functionLinenumber: 4909
    functionLinenumberEnd: 4919
    functionName: element_decl_suspender
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - XML_FreeContentModel
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST element_decl_suspender(void *userData, const XML_Char *name,\n
      \                      XML_Content *model)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4927,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:4930,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:4931,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4932,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:4933,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:4934,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4935,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4935,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4937,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4938,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:4938,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:4939,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4940,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:4941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4942
      start: 4921
    functionDepth: 2
    functionLinenumber: 4921
    functionLinenumberEnd: 4942
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_ResumeParser
    - XML_SetUserData
    - CharData_Init
    - XML_Parse
    - CharData_CheckXMLChars
    - XML_SetElementDeclHandler
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_suspend_resume_parameter_entity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4949,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4949,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4951,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4952,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4953,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:4954,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:4955,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:4956,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4943
    functionDepth: 1
    functionLinenumber: 4943
    functionLinenumberEnd: 4958
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - fail
    - XML_Parse
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_restart_on_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4959
    functionDepth: 1
    functionLinenumber: 4959
    functionLinenumberEnd: 4968
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_reject_lt_in_attribute_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4969
    functionDepth: 1
    functionLinenumber: 4969
    functionLinenumberEnd: 4977
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_reject_unfinished_param_in_att_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:4983,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:4983,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:4985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4978
    functionDepth: 2
    functionLinenumber: 4978
    functionLinenumberEnd: 4986
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_trailing_cr_in_att_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:5002,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5003,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5003,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4987
    functionDepth: 2
    functionLinenumber: 4987
    functionLinenumberEnd: 5006
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_SetParamEntityParsing
    - strlen
    - xml_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_standalone_internal_entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5017,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:5018,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5019,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5020,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5020,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 5007
    functionDepth: 2
    functionLinenumber: 5007
    functionLinenumberEnd: 5023
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_skipped_external_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5024
    functionDepth: 0
    functionLinenumber: 5024
    functionLinenumberEnd: 5030
    functionName: ext_hdlr_data
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST ext_hdlr_data
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5036,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5039,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5040,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5041,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:5042,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5044,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5046,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5047,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5048,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5050,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:5053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5055
      start: 5032
    functionDepth: 2
    functionLinenumber: 5032
    functionLinenumberEnd: 5055
    functionName: external_entity_oneshot_loader
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetExternalEntityRefHandler
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: int
    signature: "int external_entity_oneshot_loader(XML_Parser parser, const XML_Char
      *context,\n                               const XML_Char *base, const XML_Char
      *systemId,\n                               const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5066,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:5067,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5068,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5069,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5069,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5057
    functionDepth: 2
    functionLinenumber: 5057
    functionLinenumberEnd: 5072
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_skipped_null_loaded_ext_entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5084,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:5085,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5086,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5087,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5087,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 5073
    functionDepth: 2
    functionLinenumber: 5073
    functionLinenumberEnd: 5090
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_skipped_unloaded_ext_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5106,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:5107,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5108,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5109,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5110,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5111,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5111,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5113,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5113,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5115,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5117,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5120
      start: 5091
    functionDepth: 2
    functionLinenumber: 5091
    functionLinenumberEnd: 5120
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetEntityDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_param_entity_with_trailing_cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5133
      start: 5123
    functionDepth: 1
    functionLinenumber: 5123
    functionLinenumberEnd: 5133
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_character_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5144
      start: 5134
    functionDepth: 1
    functionLinenumber: 5134
    functionLinenumberEnd: 5144
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_character_entity_2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5161,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5163,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:5164,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5166
      start: 5145
    functionDepth: 2
    functionLinenumber: 5145
    functionLinenumberEnd: 5166
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - XML_GetErrorCode
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_character_entity_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5177
      start: 5167
    functionDepth: 1
    functionLinenumber: 5167
    functionLinenumberEnd: 5177
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_character_entity_4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5183,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5186,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5187,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5188,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5189,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5189,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5191,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5178
    functionDepth: 2
    functionLinenumber: 5178
    functionLinenumberEnd: 5193
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_pi_handled_in_default)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5199,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5202,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5203,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5204,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5205,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5205,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5207,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5209
      start: 5194
    functionDepth: 2
    functionLinenumber: 5194
    functionLinenumberEnd: 5209
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_comment_handled_in_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5218,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5219,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5219,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5220,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5221,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5222
      start: 5210
    functionDepth: 2
    functionLinenumber: 5210
    functionLinenumberEnd: 5222
    functionName: accumulate_pi_characters
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST accumulate_pi_characters(void *userData, const XML_Char *target,\n
      \                        const XML_Char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5226,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5229,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5230,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5231,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5232,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5232,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5234,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5224
    functionDepth: 2
    functionLinenumber: 5224
    functionLinenumberEnd: 5236
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_pi_yml)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5241,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5244,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5245,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5246,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5247,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5247,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5249,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5251
      start: 5237
    functionDepth: 2
    functionLinenumber: 5237
    functionLinenumberEnd: 5251
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_pi_xnl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5256,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5259,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5260,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5261,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5262,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5262,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5264,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5266
      start: 5252
    functionDepth: 2
    functionLinenumber: 5252
    functionLinenumberEnd: 5266
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_pi_xmm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5279,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5281,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5285,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5286,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5287,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5288,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5290,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5292
      start: 5267
    functionDepth: 2
    functionLinenumber: 5267
    functionLinenumberEnd: 5292
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_pi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5305,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5307,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5311,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5312,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5313,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5314,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5316,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5293
    functionDepth: 2
    functionLinenumber: 5293
    functionLinenumberEnd: 5318
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_be_pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - userData
    - data
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5319
    functionDepth: 2
    functionLinenumber: 5319
    functionLinenumberEnd: 5327
    functionName: accumulate_comment
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST accumulate_comment(void *userData, const XML_Char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5335,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5338,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5339,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5340,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5341,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5343,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5329
    functionDepth: 2
    functionLinenumber: 5329
    functionLinenumberEnd: 5345
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_utf16_be_comment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5354,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5357,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5358,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5359,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5360,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5362,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5346
    functionDepth: 2
    functionLinenumber: 5346
    functionLinenumberEnd: 5364
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_le_comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5372,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - s
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5376
      start: 5365
    functionDepth: 1
    functionLinenumber: 5365
    functionLinenumberEnd: 5376
    functionName: failing_converter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST failing_converter(void *data, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - s
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5378
    functionDepth: 1
    functionLinenumber: 5378
    functionLinenumberEnd: 5386
    functionName: prefix_converter
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int prefix_converter(void *data, const char *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5393,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5393,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5394,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5394,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5395,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5395,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5396,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5396,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5397,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5397,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5398,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5398,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5407,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5407,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5410,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5410,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5413,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5413,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5418,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5418,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5421,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5421,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5426,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5426,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:5428,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5428,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - data
    - encoding
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5388
    functionDepth: 1
    functionLinenumber: 5388
    functionLinenumberEnd: 5433
    functionName: MiscEncodingHandler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: int
    signature: int MiscEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding
      *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5439,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5448
      start: 5435
    functionDepth: 1
    functionLinenumber: 5435
    functionLinenumberEnd: 5448
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_missing_encoding_conversion_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5455,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5463
      start: 5449
    functionDepth: 1
    functionLinenumber: 5449
    functionLinenumberEnd: 5463
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_failing_encoding_conversion_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5472,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:5473,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 5464
    functionDepth: 1
    functionLinenumber: 5464
    functionLinenumberEnd: 5474
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5482,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5485
      start: 5475
    functionDepth: 1
    functionLinenumber: 5475
    functionLinenumberEnd: 5485
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_bad_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5493,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5496
      start: 5486
    functionDepth: 1
    functionLinenumber: 5486
    functionLinenumberEnd: 5496
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_bad_name_2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5507,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5510,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5511,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5512,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5513,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5514,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5514,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5516,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5497
    functionDepth: 2
    functionLinenumber: 5497
    functionLinenumberEnd: 5518
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetUnknownEncodingHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_long_name_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5529,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5532,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5533,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5534,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5535,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5536,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5536,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5538,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5519
    functionDepth: 2
    functionLinenumber: 5519
    functionLinenumberEnd: 5540
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetUnknownEncodingHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_long_name_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5547,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5541
    functionDepth: 1
    functionLinenumber: 5541
    functionLinenumberEnd: 5550
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_invalid_unknown_encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5557,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:5558,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5559
      start: 5551
    functionDepth: 1
    functionLinenumber: 5551
    functionLinenumberEnd: 5559
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_ascii_encoding_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5566,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5569
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5569
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_ascii_encoding_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5576,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5570
    functionDepth: 1
    functionLinenumber: 5570
    functionLinenumberEnd: 5579
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_invalid_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5586,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5580
    functionDepth: 1
    functionLinenumber: 5580
    functionLinenumberEnd: 5589
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_invalid_topbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5596,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5599
      start: 5590
    functionDepth: 1
    functionLinenumber: 5590
    functionLinenumberEnd: 5599
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_invalid_surrogate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5606,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5600
    functionDepth: 1
    functionLinenumber: 5600
    functionLinenumberEnd: 5609
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_invalid_high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5616,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5610
    functionDepth: 1
    functionLinenumber: 5610
    functionLinenumberEnd: 5619
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_invalid_attr_value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5639,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5642,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5643,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5644,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:5645,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5647,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:5649,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5650,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:5653,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5656,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5658,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5661,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:5664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5666
      start: 5635
    functionDepth: 2
    functionLinenumber: 5635
    functionLinenumberEnd: 5666
    functionName: external_entity_loader2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEncoding
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - XML_Parse
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    linkageType: ''
    returnType: int
    signature: "int external_entity_loader2(XML_Parser parser, const XML_Char *context,\n
      \                       const XML_Char *base, const XML_Char *systemId,\n                        const
      XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accumulate_characters
      Src: /src/expat-2.4.1/tests/runtests.c:5672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5673
      start: 5669
    functionDepth: 3
    functionLinenumber: 5669
    functionLinenumberEnd: 5673
    functionName: ext2_accumulate_characters
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - accumulate_characters
    linkageType: ''
    returnType: void
    signature: void ext2_accumulate_characters(void *userData, const XML_Char *s,
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5685,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5687,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5690,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5694,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5696,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5697,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5698,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5699,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5699,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5701,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5703
      start: 5675
    functionDepth: 2
    functionLinenumber: 5675
    functionLinenumberEnd: 5703
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_latin1_utf16le_bom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5716,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5718,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5721,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5725,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5727,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5728,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5729,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5730,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5730,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5732,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5704
    functionDepth: 2
    functionLinenumber: 5704
    functionLinenumberEnd: 5734
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_latin1_utf16be_bom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5751,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5753,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5756,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5760,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5762,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5763,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5764,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:5765,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5765,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5767,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5735
    functionDepth: 2
    functionLinenumber: 5735
    functionLinenumberEnd: 5769
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - XML_Parse
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_latin1_utf16le_bom2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5782,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5784,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5791,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5793,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5794,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5795,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:5796,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5796,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5798,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5800
      start: 5770
    functionDepth: 2
    functionLinenumber: 5770
    functionLinenumberEnd: 5800
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - XML_Parse
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_latin1_utf16be_bom2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5810,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5812,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5814,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5821,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5823,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5824,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5825,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5826,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5826,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5828,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5801
    functionDepth: 2
    functionLinenumber: 5801
    functionLinenumberEnd: 5830
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_utf16_be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5840,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5842,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5844,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5851,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5853,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5854,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5855,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5856,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5856,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5858,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5831
    functionDepth: 2
    functionLinenumber: 5831
    functionLinenumberEnd: 5860
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_utf16_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5876
      start: 5861
    functionDepth: 0
    functionLinenumber: 5861
    functionLinenumberEnd: 5876
    functionName: ExtFaults2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST ExtFaults2
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5882,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5885,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5886,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:5887,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:5888,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5890,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:5892,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5893,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:5895,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:5898,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:5899,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5900,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:5902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5904
      start: 5878
    functionDepth: 1
    functionLinenumber: 5878
    functionLinenumberEnd: 5904
    functionName: external_entity_faulter2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEncoding
    - XML_ExternalEntityParserCreate
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - XML_Parse
    - UNUSED_P
    - XML_GetUserData
    linkageType: ''
    returnType: int
    signature: "int external_entity_faulter2(XML_Parser parser, const XML_Char *context,\n
      \                        const XML_Char *base, const XML_Char *systemId,\n                         const
      XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5915,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5916,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5906
    functionDepth: 1
    functionLinenumber: 5906
    functionLinenumberEnd: 5919
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ext_entity_utf16_unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5932,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5934,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5938,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5940,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5941,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5942,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5943,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5943,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5945,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5947
      start: 5920
    functionDepth: 2
    functionLinenumber: 5920
    functionLinenumberEnd: 5947
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetCharacterDataHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ext_entity_utf8_non_bom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5954,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5956,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:5959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5960
      start: 5948
    functionDepth: 1
    functionLinenumber: 5948
    functionLinenumberEnd: 5960
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf8_in_cdata_section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5967,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5969,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:5972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5973
      start: 5961
    functionDepth: 1
    functionLinenumber: 5961
    functionLinenumberEnd: 5973
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf8_in_cdata_section_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5981,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5981,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5983
      start: 5974
    functionDepth: 2
    functionLinenumber: 5974
    functionLinenumberEnd: 5983
    functionName: record_element_end_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST record_element_end_handler(void *userData, const XML_Char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:5987,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:5990,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:5991,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:5993,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:5994,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:5994,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:5996,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:5997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5985
    functionDepth: 2
    functionLinenumber: 5985
    functionLinenumberEnd: 5998
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetElementHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_trailing_spaces_in_elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6008,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6011,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6012,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6013,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6014,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6016,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6018
      start: 5999
    functionDepth: 2
    functionLinenumber: 5999
    functionLinenumberEnd: 6018
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_attribute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6028,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6031,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6032,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6033,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6034,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6036,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6038
      start: 6019
    functionDepth: 2
    functionLinenumber: 6019
    functionLinenumberEnd: 6038
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_utf16_second_attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6045
      start: 6039
    functionDepth: 1
    functionLinenumber: 6039
    functionLinenumberEnd: 6045
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_attr_after_solidus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6056,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6057,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6058,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6059,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6060,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6061,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6062,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6062,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6063,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6064,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 9
    argNames:
    - userData
    - entityName
    - is_parameter_entity
    - value
    - value_length
    - base
    - systemId
    - publicId
    - notationName
    argTypes:
    - void*
    - XML_Char*
    - int
    - XML_Char*
    - int
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6065
      start: 6046
    functionDepth: 2
    functionLinenumber: 6046
    functionLinenumberEnd: 6065
    functionName: accumulate_entity_decl
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST accumulate_entity_decl(void *userData, const XML_Char *entityName,\n
      \                      int is_parameter_entity, const XML_Char *value,\n                       int
      value_length, const XML_Char *base,\n                       const XML_Char *systemId,
      const XML_Char *publicId,\n                       const XML_Char *notationName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6085,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6088,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6092,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6093,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6094,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6095,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6097,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6067
    functionDepth: 2
    functionLinenumber: 6067
    functionLinenumberEnd: 6099
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetEntityDeclHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_utf16_pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6111
      start: 6100
    functionDepth: 1
    functionLinenumber: 6100
    functionLinenumberEnd: 6111
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_attr_desc_keyword)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6132,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6134,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:6135,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6137
      start: 6112
    functionDepth: 2
    functionLinenumber: 6112
    functionLinenumberEnd: 6137
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - XML_GetErrorCode
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_attr_desc_keyword_utf16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6147,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6150
      start: 6138
    functionDepth: 1
    functionLinenumber: 6138
    functionLinenumberEnd: 6150
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_doctype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6164,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6166,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:6167,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6151
    functionDepth: 2
    functionLinenumber: 6151
    functionLinenumberEnd: 6169
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - XML_GetErrorCode
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_doctype_utf16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6178
      start: 6170
    functionDepth: 1
    functionLinenumber: 6170
    functionLinenumberEnd: 6178
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_doctype_plus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6187
      start: 6179
    functionDepth: 1
    functionLinenumber: 6179
    functionLinenumberEnd: 6187
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_doctype_star)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6196
      start: 6188
    functionDepth: 1
    functionLinenumber: 6188
    functionLinenumberEnd: 6196
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_doctype_query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6204,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6207,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:6208,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6209,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6210,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6213
      start: 6197
    functionDepth: 1
    functionLinenumber: 6197
    functionLinenumberEnd: 6213
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetUnknownEncodingHandler
    - expect_failure
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_unknown_encoding_bad_ignore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6222,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6224,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6228,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6229,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6230,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6231,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6233,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6235
      start: 6214
    functionDepth: 2
    functionLinenumber: 6214
    functionLinenumberEnd: 6235
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_entity_in_utf16_be_attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6244,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6246,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6250,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6251,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6252,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6253,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6255,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6257
      start: 6236
    functionDepth: 2
    functionLinenumber: 6236
    functionLinenumberEnd: 6257
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_entity_in_utf16_le_attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6276,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6279,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:6281,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6282,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6283,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6284,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6285,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6287,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6289
      start: 6258
    functionDepth: 2
    functionLinenumber: 6258
    functionLinenumberEnd: 6289
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCharacterDataHandler
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_entity_public_utf16_be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6308,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6311,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:6313,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6314,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6315,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6316,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6317,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6319,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6290
    functionDepth: 2
    functionLinenumber: 6290
    functionLinenumberEnd: 6321
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCharacterDataHandler
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_entity_public_utf16_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6331
      start: 6322
    functionDepth: 1
    functionLinenumber: 6322
    functionLinenumberEnd: 6331
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_short_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6338
      start: 6332
    functionDepth: 1
    functionLinenumber: 6332
    functionLinenumberEnd: 6338
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_short_doctype_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6345
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6345
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_short_doctype_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6351
      start: 6346
    functionDepth: 1
    functionLinenumber: 6346
    functionLinenumberEnd: 6351
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_long_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6361
      start: 6352
    functionDepth: 1
    functionLinenumber: 6352
    functionLinenumberEnd: 6361
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 6362
    functionDepth: 1
    functionLinenumber: 6362
    functionLinenumberEnd: 6372
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_entity_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6382
      start: 6373
    functionDepth: 1
    functionLinenumber: 6373
    functionLinenumberEnd: 6382
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_entity_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6392
      start: 6383
    functionDepth: 1
    functionLinenumber: 6383
    functionLinenumberEnd: 6392
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_entity_4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6402
      start: 6393
    functionDepth: 1
    functionLinenumber: 6393
    functionLinenumberEnd: 6402
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_bad_notation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6403
    functionDepth: 0
    functionLinenumber: 6403
    functionLinenumberEnd: 6410
    functionName: default_check
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST default_check
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/expat-2.4.1/tests/runtests.c:6419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6412
    functionDepth: 0
    functionLinenumber: 6412
    functionLinenumberEnd: 6424
    functionName: checking_default_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void checking_default_handler(void *userData, const XML_Char *s, int
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6431,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6432,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6436,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6437,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6438,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6439,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6439,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6441,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6426
    functionDepth: 2
    functionLinenumber: 6426
    functionLinenumberEnd: 6445
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetEntityDeclHandler
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - XML_SetDefaultHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_default_doctype_handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6451,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6452,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6452,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6455
      start: 6446
    functionDepth: 2
    functionLinenumber: 6446
    functionLinenumberEnd: 6455
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - fail
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_empty_element_abort)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreateNS
      Src: /src/expat-2.4.1/tests/runtests.c:6464,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6464,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6467
      start: 6456
    functionDepth: 1
    functionLinenumber: 6456
    functionLinenumberEnd: 6467
    functionName: namespace_setup
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParserCreateNS
    - fail
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST namespace_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:6471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6472
      start: 6469
    functionDepth: 2
    functionLinenumber: 6469
    functionLinenumberEnd: 6472
    functionName: namespace_teardown
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - basic_teardown
    linkageType: ''
    returnType: void
    signature: void namespace_teardown(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:6487,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:6488,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6489,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:6491,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:6492,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6496
      start: 6482
    functionDepth: 1
    functionLinenumber: 6482
    functionLinenumberEnd: 6496
    functionName: triplet_start_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fail
    - xcstrcmp
    linkageType: ''
    returnType: void
    signature: "void triplet_start_checker(void *userData, const XML_Char *name,\n
      \                     const XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:6505,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/runtests.c:6507,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6511
      start: 6502
    functionDepth: 1
    functionLinenumber: 6502
    functionLinenumberEnd: 6511
    functionName: triplet_end_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fail
    - xcstrcmp
    linkageType: ''
    returnType: void
    signature: void triplet_end_checker(void *userData, const XML_Char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6518,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6518,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:6519,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6520,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6521,1
    - Dst: XML_SetNamespaceDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6522,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6527,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6527,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6529,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6531,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:6533,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6534,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6534,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6536,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6538,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6542
      start: 6513
    functionDepth: 2
    functionLinenumber: 6513
    functionLinenumberEnd: 6542
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetNamespaceDeclHandler
    - XML_SetUserData
    - XML_SetReturnNSTriplet
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetElementHandler
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_return_ns_triplet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6549,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6549,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6550,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6552,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6552,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6553,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6556,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6557
      start: 6543
    functionDepth: 2
    functionLinenumber: 6543
    functionLinenumberEnd: 6557
    functionName: overwrite_start_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST overwrite_start_checker(void *userData, const XML_Char *name,\n
      \                       const XML_Char **atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6562,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6562,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6563,1
    - Dst: CharData_AppendXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6564,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6559
    functionDepth: 2
    functionLinenumber: 6559
    functionLinenumberEnd: 6565
    functionName: overwrite_end_checker
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - CharData_AppendXMLChars
    - XCS
    linkageType: ''
    returnType: void
    signature: void overwrite_end_checker(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:6570,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6571,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6572,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6574,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6574,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6576,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:6577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - text
    - result
    argTypes:
    - char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6578
      start: 6567
    functionDepth: 2
    functionLinenumber: 6567
    functionLinenumberEnd: 6578
    functionName: run_ns_tagname_overwrite_test
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - strlen
    - XML_SetElementHandler
    linkageType: ''
    returnType: void
    signature: void run_ns_tagname_overwrite_test(const char *text, const XML_Char
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6586,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6587,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6588,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6589,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6590,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6591,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6592,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6593,1
    - Dst: run_ns_tagname_overwrite_test
      Src: /src/expat-2.4.1/tests/runtests.c:6594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6595
      start: 6581
    functionDepth: 3
    functionLinenumber: 6581
    functionLinenumberEnd: 6595
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - run_ns_tagname_overwrite_test
    - XCS
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_ns_tagname_overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6604,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6605,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6606,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6607,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6608,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6609,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6610,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6611,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:6612,1
    - Dst: run_ns_tagname_overwrite_test
      Src: /src/expat-2.4.1/tests/runtests.c:6613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6614
      start: 6596
    functionDepth: 3
    functionLinenumber: 6596
    functionLinenumberEnd: 6614
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetReturnNSTriplet
    - XCS
    - run_ns_tagname_overwrite_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_tagname_overwrite_triplet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6621,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6622,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6623,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6627
      start: 6615
    functionDepth: 1
    functionLinenumber: 6615
    functionLinenumberEnd: 6627
    functionName: start_element_fail
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST start_element_fail(void *userData, const XML_Char *name,\n
      \                  const XML_Char **atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6632,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6633,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - prefix
    - uri
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6635
      start: 6629
    functionDepth: 1
    functionLinenumber: 6629
    functionLinenumberEnd: 6635
    functionName: start_ns_clearing_start_element
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetStartElementHandler
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void start_ns_clearing_start_element(void *userData, const XML_Char
      *prefix,\n                                const XML_Char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6644,1
    - Dst: XML_SetStartNamespaceDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6645,1
    - Dst: XML_SetEndNamespaceDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6646,1
    - Dst: XML_UseParserAsHandlerArg
      Src: /src/expat-2.4.1/tests/runtests.c:6647,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6648,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6648,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6651
      start: 6637
    functionDepth: 2
    functionLinenumber: 6637
    functionLinenumberEnd: 6651
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEndNamespaceDeclHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetStartNamespaceDeclHandler
    - XML_UseParserAsHandlerArg
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_start_ns_clears_start_element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6659,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6663,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6664,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:6665,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6674,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:6675,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6676,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6676,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6678,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:6681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6683
      start: 6652
    functionDepth: 2
    functionLinenumber: 6652
    functionLinenumberEnd: 6683
    functionName: external_entity_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_handler(XML_Parser parser, const XML_Char
      *context,\n                        const XML_Char *base, const XML_Char *systemId,\n
      \                       const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:6694,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6695,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6697,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6698,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6699,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6699,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6702
      start: 6685
    functionDepth: 2
    functionLinenumber: 6685
    functionLinenumberEnd: 6702
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_default_ns_from_ext_subset_and_ext_ge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6703
    functionDepth: 1
    functionLinenumber: 6703
    functionLinenumberEnd: 6714
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_prefix_with_empty_uri_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6724
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6724
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_prefix_with_empty_uri_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6738
      start: 6725
    functionDepth: 1
    functionLinenumber: 6725
    functionLinenumberEnd: 6738
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_prefix_with_empty_uri_3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6752,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:6753,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6754,1
    - Dst: XML_SetEndElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6755,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6756,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6756,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6759
      start: 6739
    functionDepth: 2
    functionLinenumber: 6739
    functionLinenumberEnd: 6759
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetReturnNSTriplet
    - _XML_Parse_SINGLE_BYTES
    - XML_SetEndElementHandler
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_prefix_with_empty_uri_4)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6771,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6771,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6773,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:6774,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6776
      start: 6760
    functionDepth: 2
    functionLinenumber: 6760
    functionLinenumberEnd: 6776
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_GetErrorCode
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_unbound_prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetStartNamespaceDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6784,1
    - Dst: XML_SetEndNamespaceDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6786,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6787,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6787,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6790
      start: 6777
    functionDepth: 2
    functionLinenumber: 6777
    functionLinenumberEnd: 6790
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetEndNamespaceDeclHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetStartNamespaceDeclHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_default_with_empty_uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6800
      start: 6791
    functionDepth: 1
    functionLinenumber: 6791
    functionLinenumberEnd: 6800
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_duplicate_attrs_diff_prefixes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6822,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6822,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6825
      start: 6801
    functionDepth: 2
    functionLinenumber: 6801
    functionLinenumberEnd: 6825
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_duplicate_hashes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6833
      start: 6826
    functionDepth: 1
    functionLinenumber: 6826
    functionLinenumberEnd: 6833
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_unbound_prefix_on_attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6841
      start: 6834
    functionDepth: 1
    functionLinenumber: 6834
    functionLinenumberEnd: 6841
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_unbound_prefix_on_element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:6851,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6853,1
    - Dst: test_return_ns_triplet
      Src: /src/expat-2.4.1/tests/runtests.c:6854,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:6855,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6857,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:6858,1
    - Dst: XML_GetParsingStatus
      Src: /src/expat-2.4.1/tests/runtests.c:6859,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:6861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6862
      start: 6842
    functionDepth: 1
    functionLinenumber: 6842
    functionLinenumberEnd: 6862
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - test_return_ns_triplet
    - fail
    - XML_ParserReset
    - XML_GetParsingStatus
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_parser_reset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6873,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6874,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:6875,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:6877,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:6878,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:6879,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6880,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6880,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6883
      start: 6863
    functionDepth: 2
    functionLinenumber: 6863
    functionLinenumberEnd: 6883
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetReturnNSTriplet
    - _XML_Parse_SINGLE_BYTES
    - strlen
    - XML_SetElementHandler
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_long_element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6892,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6892,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6895
      start: 6884
    functionDepth: 2
    functionLinenumber: 6884
    functionLinenumberEnd: 6895
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_mixed_prefix_atts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6907,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6907,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6910
      start: 6896
    functionDepth: 2
    functionLinenumber: 6896
    functionLinenumberEnd: 6910
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_extend_uri_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6921,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:6923,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:6924,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:6924,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6927
      start: 6911
    functionDepth: 2
    functionLinenumber: 6911
    functionLinenumberEnd: 6927
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParserReset
    - _XML_Parse_SINGLE_BYTES
    - expect_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_reserved_attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6938,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:6940,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6941,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:6943,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:6944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6946
      start: 6928
    functionDepth: 1
    functionLinenumber: 6928
    functionLinenumberEnd: 6946
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    - XML_ParserReset
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_reserved_attributes_2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7030,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7030,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7032,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7033,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7033,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7036
      start: 6947
    functionDepth: 2
    functionLinenumber: 6947
    functionLinenumberEnd: 7036
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - xml_failure
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_extremely_long_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7044,1
    - Dst: run_character_check
      Src: /src/expat-2.4.1/tests/runtests.c:7045,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7046
      start: 7037
    functionDepth: 1
    functionLinenumber: 7037
    functionLinenumberEnd: 7046
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - XCS
    - run_character_check
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_unknown_encoding_success)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7053,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7053,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:7056,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7057,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7066
      start: 7047
    functionDepth: 2
    functionLinenumber: 7047
    functionLinenumberEnd: 7066
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_GetErrorCode
    - strlen
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_double_colon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7072,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7072,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:7075,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7076,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7085
      start: 7067
    functionDepth: 2
    functionLinenumber: 7067
    functionLinenumberEnd: 7085
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - _XML_Parse_SINGLE_BYTES
    - XML_GetErrorCode
    - strlen
    - fail
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_double_colon_element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7094
      start: 7086
    functionDepth: 1
    functionLinenumber: 7086
    functionLinenumberEnd: 7094
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_bad_attr_leafname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7102
      start: 7095
    functionDepth: 1
    functionLinenumber: 7095
    functionLinenumberEnd: 7102
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_bad_element_leafname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7113,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:7116,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7117,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7118,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7119,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7121,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:7122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7123
      start: 7103
    functionDepth: 2
    functionLinenumber: 7103
    functionLinenumberEnd: 7123
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_utf16_leafname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7133,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7135,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:7139,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7140,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7141,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7142,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7144,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:7145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7124
    functionDepth: 2
    functionLinenumber: 7124
    functionLinenumberEnd: 7146
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_utf16_element_leafname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7163,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7165,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:7169,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7170,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7171,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7172,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7173,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7175,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:7176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7177
      start: 7147
    functionDepth: 2
    functionLinenumber: 7147
    functionLinenumberEnd: 7177
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_SetUnknownEncodingHandler
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XCS
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_utf16_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7186
      start: 7178
    functionDepth: 1
    functionLinenumber: 7178
    functionLinenumberEnd: 7186
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_invalid_doctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7195
      start: 7187
    functionDepth: 1
    functionLinenumber: 7187
    functionLinenumberEnd: 7195
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - expect_failure
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_ns_double_colon_doctype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/runtests.c:7213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7214
      start: 7207
    functionDepth: 0
    functionLinenumber: 7207
    functionLinenumberEnd: 7214
    functionName: duff_allocator
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      duff_allocator(size_t size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/expat-2.4.1/tests/runtests.c:7223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7224
      start: 7217
    functionDepth: 0
    functionLinenumber: 7217
    functionLinenumberEnd: 7224
    functionName: duff_reallocator
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      duff_reallocator(void *ptr, size_t size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/tests/runtests.c:7235,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7240,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7243
      start: 7227
    functionDepth: 1
    functionLinenumber: 7227
    functionLinenumberEnd: 7243
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_misc_alloc_create_parser)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/tests/runtests.c:7255,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7255,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7260,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7263
      start: 7244
    functionDepth: 1
    functionLinenumber: 7244
    functionLinenumberEnd: 7263
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XCS
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_alloc_create_parser_with_encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7271
      start: 7264
    functionDepth: 1
    functionLinenumber: 7264
    functionLinenumberEnd: 7271
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParserFree
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_null_parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/runtests.c:7276,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7277,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/runtests.c:7278,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7280
      start: 7272
    functionDepth: 1
    functionLinenumber: 7272
    functionLinenumberEnd: 7280
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ErrorString
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_error_string)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - version_text
    - version_struct
    argTypes:
    - XML_LChar*
    - XML_Expat_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7330
      start: 7281
    functionDepth: 0
    functionLinenumber: 7281
    functionLinenumberEnd: 7330
    functionName: parse_version
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST parse_version(const XML_LChar *version_text,\n              XML_Expat_Version
      *version_struct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - XML_Expat_Version*
    - XML_Expat_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7337
      start: 7332
    functionDepth: 0
    functionLinenumber: 7332
    functionLinenumberEnd: 7337
    functionName: versions_equal
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int versions_equal(const XML_Expat_Version *first,\n               const
      XML_Expat_Version *second)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_ExpatVersionInfo
      Src: /src/expat-2.4.1/tests/runtests.c:7340,1
    - Dst: XML_ExpatVersion
      Src: /src/expat-2.4.1/tests/runtests.c:7343,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7346,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:7347,1
    - Dst: parse_version
      Src: /src/expat-2.4.1/tests/runtests.c:7348,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7349,1
    - Dst: versions_equal
      Src: /src/expat-2.4.1/tests/runtests.c:7350,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7351,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:7354,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7354,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7355,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:7360,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (version_text != NULL)
      pos:
        line_end: 7346
        line_start: 7346
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 7363
      start: 7339
    functionDepth: 1
    functionLinenumber: 7339
    functionLinenumberEnd: 7363
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - XCS
    - fail
    - versions_equal
    - assert
    - parse_version
    - XML_ExpatVersionInfo
    - xcstrcmp
    - XML_ExpatVersion
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_misc_version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetFeatureList
      Src: /src/expat-2.4.1/tests/runtests.c:7368,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7373,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7380,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7392
      start: 7364
    functionDepth: 1
    functionLinenumber: 7364
    functionLinenumberEnd: 7392
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_GetFeatureList
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_features)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/tests/runtests.c:7403,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7403,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7403,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7404,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7405,1
    - Dst: tracking_report
      Src: /src/expat-2.4.1/tests/runtests.c:7409,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7411
      start: 7393
    functionDepth: 1
    functionLinenumber: 7393
    functionLinenumberEnd: 7411
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - tracking_report
    - XML_ParserFree
    - fail
    - XML_ParserCreate_MM
    - expect_failure
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_attribute_leak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7421,1
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7424,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:7424,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7426,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:7428,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7429,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7430,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7431,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7433,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:7434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7435
      start: 7412
    functionDepth: 2
    functionLinenumber: 7412
    functionLinenumberEnd: 7435
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - fail
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - XML_ParserCreate
    - XML_SetCharacterDataHandler
    - CharData_CheckXMLChars
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_utf16le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7441
      start: 7436
    functionDepth: 0
    functionLinenumber: 7436
    functionLinenumberEnd: 7441
    functionName: typedef
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST typedef
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7447,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7450
      start: 7443
    functionDepth: 1
    functionLinenumber: 7443
    functionLinenumberEnd: 7450
    functionName: start_element_issue_240
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void start_element_issue_240(void *userData, const XML_Char *name,\n
      \                       const XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7456,1
    - Dst: XML_StopParser
      Src: /src/expat-2.4.1/tests/runtests.c:7459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7461
      start: 7452
    functionDepth: 1
    functionLinenumber: 7452
    functionLinenumberEnd: 7461
    functionName: end_element_issue_240
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_StopParser
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void end_element_issue_240(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7469,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7470,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/runtests.c:7471,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7474,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:7476,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7476,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7477,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/runtests.c:7478,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7481
      start: 7463
    functionDepth: 1
    functionLinenumber: 7463
    functionLinenumberEnd: 7481
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_ParserFree
    - free
    - fail
    - XML_Parse
    - malloc
    - XML_ParserCreate
    - strlen
    - XML_SetElementHandler
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_misc_stop_during_end_handler_issue_240_1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7490,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7491,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/runtests.c:7492,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7495,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:7497,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7497,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7498,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/runtests.c:7499,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7482
    functionDepth: 1
    functionLinenumber: 7482
    functionLinenumberEnd: 7502
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_ParserFree
    - free
    - fail
    - XML_Parse
    - malloc
    - XML_ParserCreate
    - strlen
    - XML_SetElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_stop_during_end_handler_issue_240_2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7536,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:7538,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7540,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:7542,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7542,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/runtests.c:7544,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7546,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:7550,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7551,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/runtests.c:7553,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7555,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/runtests.c:7557,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7559,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7503
    functionDepth: 1
    functionLinenumber: 7503
    functionLinenumberEnd: 7563
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_GetErrorCode
    - fail
    - XML_ParserFree
    - XML_Parse
    - XML_ParserCreate
    - XML_GetCurrentColumnNumber
    - strlen
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_misc_deny_internal_entity_closing_doctype_issue_317)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/tests/runtests.c:7573,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7576
      start: 7564
    functionDepth: 1
    functionLinenumber: 7564
    functionLinenumberEnd: 7576
    functionName: alloc_setup
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST alloc_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7581
      start: 7578
    functionDepth: 2
    functionLinenumber: 7578
    functionLinenumberEnd: 7581
    functionName: alloc_teardown
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - basic_teardown
    linkageType: ''
    returnType: void
    signature: void alloc_teardown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7592,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7593,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7593,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7601,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7602,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7605,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7608
      start: 7584
    functionDepth: 3
    functionLinenumber: 7584
    functionLinenumberEnd: 7608
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetXmlDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_parse_xdecl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7619,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - userData
    - encoding
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7627
      start: 7609
    functionDepth: 1
    functionLinenumber: 7609
    functionLinenumberEnd: 7627
    functionName: long_encoding_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST long_encoding_handler(void *userData, const XML_Char *encoding,\n
      \                     XML_Encoding *info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetXmlDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7656,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7657,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7658,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7658,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7662,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7663,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7666,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7669
      start: 7629
    functionDepth: 3
    functionLinenumber: 7629
    functionLinenumberEnd: 7669
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetXmlDeclHandler
    - XML_SetUnknownEncodingHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_parse_xdecl_2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7684,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7685,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7685,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7689,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7690,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7693,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7696
      start: 7670
    functionDepth: 3
    functionLinenumber: 7670
    functionLinenumberEnd: 7696
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetProcessingInstructionHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_pi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7710,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7711,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7711,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7715,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7716,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7719,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7697
    functionDepth: 3
    functionLinenumber: 7697
    functionLinenumberEnd: 7722
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetProcessingInstructionHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_pi_2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7751,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7752,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7752,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7756,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7757,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7760,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7763
      start: 7723
    functionDepth: 3
    functionLinenumber: 7723
    functionLinenumberEnd: 7763
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetProcessingInstructionHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_pi_3)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7775,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7776,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7776,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7780,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7781,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7784,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7787
      start: 7764
    functionDepth: 3
    functionLinenumber: 7764
    functionLinenumberEnd: 7787
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_comment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7801,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7802,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7802,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7806,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7807,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7810,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7813
      start: 7788
    functionDepth: 3
    functionLinenumber: 7788
    functionLinenumberEnd: 7813
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_comment_2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7824,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7825,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7826,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7830,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7832,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7837,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7846
      start: 7814
    functionDepth: 1
    functionLinenumber: 7814
    functionLinenumberEnd: 7846
    functionName: external_entity_duff_loader
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ParserFree
    - XML_ExternalEntityParserCreate
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_duff_loader(XML_Parser parser, const XML_Char
      *context,\n                            const XML_Char *base, const XML_Char
      *systemId,\n                            const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:7857,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7858,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7859,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7860,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7860,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7864
      start: 7851
    functionDepth: 2
    functionLinenumber: 7851
    functionLinenumberEnd: 7864
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_create_external_parser)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:7877,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7878,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7879,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7881,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7881,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:7885,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:7886,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7889,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7892
      start: 7865
    functionDepth: 3
    functionLinenumber: 7865
    functionLinenumberEnd: 7892
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_run_external_parser)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7899,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7905,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7906,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7907,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7914,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7916,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7920,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7927,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7932,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7933,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:7936,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7942,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7942,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7944,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:7947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7949
      start: 7893
    functionDepth: 2
    functionLinenumber: 7893
    functionLinenumberEnd: 7949
    functionName: external_entity_dbl_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_dbl_handler(XML_Parser parser, const XML_Char
      *context,\n                            const XML_Char *base, const XML_Char
      *systemId,\n                            const XML_Char *publicId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:7963,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:7964,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7965,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7966,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7966,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:7968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7969
      start: 7954
    functionDepth: 2
    functionLinenumber: 7954
    functionLinenumberEnd: 7969
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - xml_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_dtd_copy_default_atts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7976,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7981,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7982,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:7983,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:7989,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7990,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:7993,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:7993,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:7998,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8001,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8001,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:8003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8007
      start: 7970
    functionDepth: 2
    functionLinenumber: 7970
    functionLinenumberEnd: 8007
    functionName: external_entity_dbl_handler_2
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_dbl_handler_2(XML_Parser parser, const XML_Char
      *context,\n                              const XML_Char *base, const XML_Char
      *systemId,\n                              const XML_Char *publicId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8023,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8024,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8025,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8027,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8027,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8031,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8032,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8036,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8039
      start: 8010
    functionDepth: 3
    functionLinenumber: 8010
    functionLinenumberEnd: 8039
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_external_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8054,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8055,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8056,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:8057,1
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:8060,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:8060,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:8061,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8065,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8065,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:8066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8070
      start: 8040
    functionDepth: 2
    functionLinenumber: 8040
    functionLinenumberEnd: 8070
    functionName: external_entity_alloc_set_encoding
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetEncoding
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - strlen
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_alloc_set_encoding(XML_Parser parser, const
      XML_Char *context,\n                                   const XML_Char *base,\n
      \                                  const XML_Char *systemId,\n                                   const
      XML_Char *publicId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8081,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8084,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8084,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8089,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8090,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8093,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8096
      start: 8072
    functionDepth: 3
    functionLinenumber: 8072
    functionLinenumberEnd: 8096
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_ext_entity_set_encoding)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8102,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:8103,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:8103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - encoding
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8114
      start: 8097
    functionDepth: 1
    functionLinenumber: 8097
    functionLinenumberEnd: 8114
    functionName: unknown_released_encoding_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XCS
    - xcstrcmp
    - UNUSED_P
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST unknown_released_encoding_handler(void *data, const XML_Char
      *encoding,\n                                  XML_Encoding *info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8128,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8130,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8130,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8134,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8135,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8138,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8141
      start: 8119
    functionDepth: 3
    functionLinenumber: 8119
    functionLinenumberEnd: 8141
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUnknownEncodingHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_internal_entity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:8158,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8166,1
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8167,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8169,1
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8170,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8171,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8172,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8173,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8174,1
    - Dst: XML_SetCdataSectionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8175,1
    - Dst: XML_SetUnparsedEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8177,1
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:8179,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8180,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8181,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8182,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8182,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8186,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8187,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8190,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8192,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:8193,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8202
      start: 8142
    functionDepth: 3
    functionLinenumber: 8142
    functionLinenumberEnd: 8202
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_SetAttlistDeclHandler
    - XML_SetUnparsedEntityDeclHandler
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - XML_SetDoctypeDeclHandler
    - XML_SetCommentHandler
    - CharData_CheckXMLChars
    - XCS
    - XML_SetEntityDeclHandler
    - CharData_Init
    - XML_SetElementDeclHandler
    - XML_SetDefaultHandler
    - XML_SetCdataSectionHandler
    - XML_SetNotationDeclHandler
    - strlen
    - XML_SetCharacterDataHandler
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_dtd_default_handling)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetEncoding
      Src: /src/expat-2.4.1/tests/runtests.c:8212,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:8212,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8216,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8219
      start: 8203
    functionDepth: 1
    functionLinenumber: 8203
    functionLinenumberEnd: 8219
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_SetEncoding
    - XCS
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_explicit_encoding)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:8224,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/tests/runtests.c:8230,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8234,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8237
      start: 8220
    functionDepth: 1
    functionLinenumber: 8220
    functionLinenumberEnd: 8237
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XCS
    - XML_SetBase
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_set_base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:8250,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8252,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:8253,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:8254,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8254,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:8255,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8255,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8259,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8260,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8264,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 8252
        line_start: 8252
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 8267
      start: 8238
    functionDepth: 3
    functionLinenumber: 8238
    functionLinenumberEnd: 8267
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParseBuffer
    - fail
    - assert
    - alloc_setup
    - XML_GetBuffer
    - strlen
    - alloc_teardown
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8280,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8281,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8282,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:8283,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8285,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8287,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:8288,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8290,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:8291,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:8292,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8292,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:8293,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8293,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:8295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 8290
        line_start: 8290
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 8297
      start: 8268
    functionDepth: 1
    functionLinenumber: 8268
    functionLinenumberEnd: 8297
    functionName: external_entity_reallocator
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ParseBuffer
    - XML_ExternalEntityParserCreate
    - fail
    - XML_ParserFree
    - assert
    - UNUSED_P
    - XML_GetBuffer
    - XML_GetUserData
    - strlen
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_reallocator(XML_Parser parser, const XML_Char
      *context,\n                            const XML_Char *base, const XML_Char
      *systemId,\n                            const XML_Char *publicId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8308,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8309,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8310,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8310,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8314,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8315,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8318,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8321
      start: 8299
    functionDepth: 3
    functionLinenumber: 8299
    functionLinenumberEnd: 8321
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_ext_entity_realloc_buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8355,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8355,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8359,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8360,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8363,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8366
      start: 8322
    functionDepth: 3
    functionLinenumber: 8322
    functionLinenumberEnd: 8366
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_many_attributes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8402,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8403,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8404,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8406,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8407,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8407,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8411,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8412,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8415,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8417,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8420
      start: 8367
    functionDepth: 3
    functionLinenumber: 8367
    functionLinenumberEnd: 8420
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - XML_SetEntityDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_public_entity_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8468,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8469,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8470,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8471,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8471,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8475,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8476,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8479,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8482
      start: 8421
    functionDepth: 3
    functionLinenumber: 8421
    functionLinenumberEnd: 8482
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_subst_public_entity_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8514,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8516,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8516,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8520,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8521,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8524,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8526,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8531
      start: 8483
    functionDepth: 3
    functionLinenumber: 8483
    functionLinenumberEnd: 8531
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetDoctypeDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_public_doctype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8562,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8564,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8564,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8568,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8569,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8572,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8575
      start: 8532
    functionDepth: 3
    functionLinenumber: 8532
    functionLinenumberEnd: 8575
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetDoctypeDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_parse_public_doctype_long_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8582,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8586,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8587,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:8588,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:8589,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8593,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8593,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:8594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8596
      start: 8576
    functionDepth: 2
    functionLinenumber: 8576
    functionLinenumberEnd: 8596
    functionName: external_entity_alloc
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - _XML_Parse_SINGLE_BYTES
    - UNUSED_P
    - XML_GetUserData
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: "END_TEST external_entity_alloc(XML_Parser parser, const XML_Char *context,\n
      \                     const XML_Char *base, const XML_Char *systemId,\n                      const
      XML_Char *publicId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8608,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8609,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8610,1
    - Dst: XML_UseForeignDTD
      Src: /src/expat-2.4.1/tests/runtests.c:8611,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8612,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8613,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8613,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8617,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8618,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8621,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8624
      start: 8599
    functionDepth: 3
    functionLinenumber: 8599
    functionLinenumberEnd: 8624
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_UseForeignDTD
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_alloc_set_foreign_dtd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8640,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8641,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8642,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8644,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8645,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8645,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8649,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8650,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8653,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8656
      start: 8625
    functionDepth: 3
    functionLinenumber: 8625
    functionLinenumberEnd: 8656
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_SetAttlistDeclHandler
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_attribute_enum_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8696,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:8697,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:8698,1
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8700,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8701,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8701,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8705,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8706,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8709,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8712
      start: 8657
    functionDepth: 3
    functionLinenumber: 8657
    functionLinenumberEnd: 8712
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_SetAttlistDeclHandler
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_attribute_enum_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8750,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8751,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8751,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8755,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8756,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8759,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8762
      start: 8713
    functionDepth: 3
    functionLinenumber: 8713
    functionLinenumberEnd: 8762
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_SetAttlistDeclHandler
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_implied_attribute)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetAttlistDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8800,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8801,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8801,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8805,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8806,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8809,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8812
      start: 8763
    functionDepth: 3
    functionLinenumber: 8763
    functionLinenumberEnd: 8812
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - XML_SetAttlistDeclHandler
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_default_attribute)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8864,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8865,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8866,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8866,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8870,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8871,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8874,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8876,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8880
      start: 8813
    functionDepth: 3
    functionLinenumber: 8813
    functionLinenumberEnd: 8880
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetEntityDeclHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetNotationDeclHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_notation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8915,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8916,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8916,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8920,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8921,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8924,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8926,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8929
      start: 8881
    functionDepth: 3
    functionLinenumber: 8881
    functionLinenumberEnd: 8929
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetNotationDeclHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_public_notation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8964,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:8965,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:8965,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:8969,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:8970,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8973,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8975,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:8977,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8978
      start: 8930
    functionDepth: 3
    functionLinenumber: 8930
    functionLinenumberEnd: 8978
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetNotationDeclHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_system_notation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:8998,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:8999,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9000,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9001,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9003,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9003,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9007,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9008,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9012,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9014,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:9015,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9015,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9018
      start: 8979
    functionDepth: 3
    functionLinenumber: 8979
    functionLinenumberEnd: 9018
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - fail
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetElementDeclHandler
    - alloc_setup
    - strlen
    - XCS
    - alloc_teardown
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_nested_groups)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CharData_Init
      Src: /src/expat-2.4.1/tests/runtests.c:9038,1
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9039,1
    - Dst: XML_SetStartElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9040,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9041,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9043,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9043,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9047,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9048,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9052,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9054,1
    - Dst: CharData_CheckXMLChars
      Src: /src/expat-2.4.1/tests/runtests.c:9055,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9055,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9058
      start: 9019
    functionDepth: 3
    functionLinenumber: 9019
    functionLinenumberEnd: 9058
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - fail
    - CharData_Init
    - _XML_Parse_SINGLE_BYTES
    - CharData_CheckXMLChars
    - XML_SetElementDeclHandler
    - alloc_setup
    - strlen
    - XCS
    - alloc_teardown
    - XML_SetStartElementHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_nested_groups)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9079,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9081,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9081,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9085,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9086,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9089,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9091,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9094
      start: 9059
    functionDepth: 3
    functionLinenumber: 9059
    functionLinenumberEnd: 9094
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetElementDeclHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_large_group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetElementDeclHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9117,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9119,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9119,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9123,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9124,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9127,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9129,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9132
      start: 9095
    functionDepth: 3
    functionLinenumber: 9095
    functionLinenumberEnd: 9132
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetElementDeclHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_group_choice)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9143,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9145,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9145,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9149,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9150,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9153,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9155,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9158
      start: 9133
    functionDepth: 3
    functionLinenumber: 9133
    functionLinenumberEnd: 9158
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetProcessingInstructionHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_pi_in_epilog)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9169,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9171,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9171,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9175,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9176,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9179,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9181,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9159
    functionDepth: 3
    functionLinenumber: 9159
    functionLinenumberEnd: 9184
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - XML_SetCommentHandler
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_comment_in_epilog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9214,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9214,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9218,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9219,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9222,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9225
      start: 9185
    functionDepth: 3
    functionLinenumber: 9185
    functionLinenumberEnd: 9225
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_long_attribute_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9235,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9235,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9239,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9240,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9243,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9246
      start: 9226
    functionDepth: 3
    functionLinenumber: 9226
    functionLinenumberEnd: 9246
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_attribute_whitespace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9256,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9256,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9260,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9261,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9264,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9267
      start: 9247
    functionDepth: 3
    functionLinenumber: 9247
    functionLinenumberEnd: 9267
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_attribute_predefined_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9301,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9301,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9305,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9306,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9309,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9312
      start: 9268
    functionDepth: 3
    functionLinenumber: 9268
    functionLinenumberEnd: 9312
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_attr_default_with_char_ref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9345,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9345,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9349,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9350,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9353,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9356
      start: 9313
    functionDepth: 3
    functionLinenumber: 9313
    functionLinenumberEnd: 9356
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_attr_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9393,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9394,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9395,1
    - Dst: expect_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9398
      start: 9357
    functionDepth: 1
    functionLinenumber: 9357
    functionLinenumberEnd: 9398
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - expect_failure
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_nested_entities)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9430,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9431,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9432,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9433,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9433,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9437,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9438,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9441,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9444
      start: 9399
    functionDepth: 3
    functionLinenumber: 9399
    functionLinenumberEnd: 9444
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_param_entity_newline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9476,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9477,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9478,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9479,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9479,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9483,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9484,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9487,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9490
      start: 9445
    functionDepth: 3
    functionLinenumber: 9445
    functionLinenumberEnd: 9490
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_ce_extends_pe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9513,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9513,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9517,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9518,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9522,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9525
      start: 9491
    functionDepth: 3
    functionLinenumber: 9491
    functionLinenumberEnd: 9525
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_realloc_attributes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9553,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9553,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9557,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9558,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9561,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9564
      start: 9526
    functionDepth: 3
    functionLinenumber: 9526
    functionLinenumberEnd: 9564
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_doc_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9576,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9577,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9578,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9579,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9580,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9581,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9582,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9583,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9584,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9585,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9586,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9587,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9588,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9589,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9590,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9591,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9598,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9599,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9600,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/tests/runtests.c:9601,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:9602,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9605,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9605,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9609,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9610,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9613,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9565
    functionDepth: 3
    functionLinenumber: 9565
    functionLinenumberEnd: 9616
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_ParserReset
    - XML_SetExternalEntityRefHandler
    - fail
    - alloc_teardown
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - XCS
    - XML_SetBase
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9649,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9650,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9651,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9652,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9652,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9656,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9657,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9660,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9663
      start: 9617
    functionDepth: 3
    functionLinenumber: 9617
    functionLinenumberEnd: 9663
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_public_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9697,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9698,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9699,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9700,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9700,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9704,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9705,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9708,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9711
      start: 9664
    functionDepth: 3
    functionLinenumber: 9664
    functionLinenumberEnd: 9711
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_entity_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9759,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:9759,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:9765,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:9766,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9767,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9768,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9768,1
    - Dst: alloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9773,1
    - Dst: alloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9774,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9777,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9780
      start: 9712
    functionDepth: 3
    functionLinenumber: 9712
    functionLinenumberEnd: 9780
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - alloc_setup
    - strlen
    - XCS
    - alloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_alloc_long_notation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/tests/runtests.c:9791,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9794
      start: 9781
    functionDepth: 1
    functionLinenumber: 9781
    functionLinenumberEnd: 9794
    functionName: nsalloc_setup
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST nsalloc_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9799
      start: 9796
    functionDepth: 2
    functionLinenumber: 9796
    functionLinenumberEnd: 9799
    functionName: nsalloc_teardown
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - basic_teardown
    linkageType: ''
    returnType: void
    signature: void nsalloc_teardown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9814,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9815,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9815,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9823,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9824,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9827,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9830
      start: 9804
    functionDepth: 3
    functionLinenumber: 9804
    functionLinenumberEnd: 9830
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - XML_SetDefaultHandler
    - nsalloc_teardown
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_nsalloc_xmlns)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9840,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9841,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9842,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9843,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9845,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9847,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9850,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9851,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9852,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9853,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9857,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9858,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:9861,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9862,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9863,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9864,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9867,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9869,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9869,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9871,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:9872,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/runtests.c:9873,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9873,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9874,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9874,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9876,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9877,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9878,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9879,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9879,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9881,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9882,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9883,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9884,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9884,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9885,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/tests/runtests.c:9888,1
    - Dst: XML_ResumeParser
      Src: /src/expat-2.4.1/tests/runtests.c:9889,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9890,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9891,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9891,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9893,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/runtests.c:9894,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:9895,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/tests/runtests.c:9896,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9896,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9897,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 9871
        line_start: 9871
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 9898
      start: 9831
    functionDepth: 1
    functionLinenumber: 9831
    functionLinenumberEnd: 9898
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParseBuffer
    - XML_ResumeParser
    - XML_GetErrorCode
    - fail
    - assert
    - XML_GetBuffer
    - strlen
    - XML_SetCharacterDataHandler
    - memcpy
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_parse_buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:9963,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:9963,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:9967,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:9968,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9971,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:9973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9974
      start: 9899
    functionDepth: 3
    functionLinenumber: 9899
    functionLinenumberEnd: 9974
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10023,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10023,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10027,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10028,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10031,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10034
      start: 9975
    functionDepth: 3
    functionLinenumber: 9975
    functionLinenumberEnd: 10034
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_uri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10066,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10066,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10070,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10071,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10074,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10077
      start: 10035
    functionDepth: 3
    functionLinenumber: 10035
    functionLinenumberEnd: 10077
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_attr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10124,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10125,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10126,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10127,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10128,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10129,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10130,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10131,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10132,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10133,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10134,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10135,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10136,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10137,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10138,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10139,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10140,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10141,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:10149,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:10150,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:10151,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10152,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10152,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10156,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10157,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10160,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10163
      start: 10078
    functionDepth: 3
    functionLinenumber: 10078
    functionLinenumberEnd: 10163
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_SetReturnNSTriplet
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XML_SetElementHandler
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_attr_prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10176,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10176,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10180,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10181,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10184,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10187
      start: 10164
    functionDepth: 3
    functionLinenumber: 10164
    functionLinenumberEnd: 10187
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_attributes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10198,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10199,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10200,1
    - Dst: XML_SetReturnNSTriplet
      Src: /src/expat-2.4.1/tests/runtests.c:10206,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:10207,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/tests/runtests.c:10208,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10209,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10209,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10213,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10214,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10217,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10220
      start: 10188
    functionDepth: 3
    functionLinenumber: 10188
    functionLinenumberEnd: 10220
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetUserData
    - XML_SetReturnNSTriplet
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XML_SetElementHandler
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10245,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10245,1
    - Dst: xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:10247,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/runtests.c:10251,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10253,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10253,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10258,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10261
      start: 10221
    functionDepth: 2
    functionLinenumber: 10221
    functionLinenumberEnd: 10261
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - xml_failure
    - XML_ParserReset
    - fail
    - _XML_Parse_SINGLE_BYTES
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_binding_uri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10326,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10326,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10330,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10331,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10334,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10337
      start: 10262
    functionDepth: 3
    functionLinenumber: 10262
    functionLinenumberEnd: 10337
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10402,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10402,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10406,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10407,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10410,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10413
      start: 10338
    functionDepth: 3
    functionLinenumber: 10338
    functionLinenumberEnd: 10413
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_longer_prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10513,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10513,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10515,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10515,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10520,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10521,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10524,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10527
      start: 10414
    functionDepth: 3
    functionLinenumber: 10414
    functionLinenumberEnd: 10527
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_namespace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10589,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10589,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10593,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10594,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10597,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10600
      start: 10528
    functionDepth: 3
    functionLinenumber: 10528
    functionLinenumberEnd: 10600
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_less_long_namespace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10631,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10631,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:10637,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:10638,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:10639,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10640,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10640,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10645,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10646,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10649,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10652
      start: 10601
    functionDepth: 3
    functionLinenumber: 10601
    functionLinenumberEnd: 10652
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10661,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10661,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:10667,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:10668,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:10669,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10670,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10670,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10674,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10675,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10678,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10681
      start: 10653
    functionDepth: 3
    functionLinenumber: 10653
    functionLinenumberEnd: 10681
    functionName: context_realloc_test
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST context_realloc_test(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10711
      start: 10683
    functionDepth: 4
    functionLinenumber: 10683
    functionLinenumberEnd: 10711
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_nsalloc_realloc_long_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10742
      start: 10712
    functionDepth: 4
    functionLinenumber: 10712
    functionLinenumberEnd: 10742
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10773
      start: 10743
    functionDepth: 4
    functionLinenumber: 10743
    functionLinenumberEnd: 10773
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10804
      start: 10774
    functionDepth: 4
    functionLinenumber: 10774
    functionLinenumberEnd: 10804
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10835
      start: 10805
    functionDepth: 4
    functionLinenumber: 10805
    functionLinenumberEnd: 10835
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10865
      start: 10836
    functionDepth: 4
    functionLinenumber: 10836
    functionLinenumberEnd: 10865
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context_realloc_test
      Src: /src/expat-2.4.1/tests/runtests.c:10895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10896
      start: 10866
    functionDepth: 4
    functionLinenumber: 10866
    functionLinenumberEnd: 10896
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - context_realloc_test
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_7)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10944,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:10944,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:10950,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:10951,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:10952,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:10953,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:10953,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:10957,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:10958,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10961,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:10963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10964
      start: 10897
    functionDepth: 3
    functionLinenumber: 10897
    functionLinenumberEnd: 10964
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_ge_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11049,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11055,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:11056,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:11057,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:11058,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11058,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:11060,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11060,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:11065,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:11066,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11069,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11071,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11072
      start: 10965
    functionDepth: 3
    functionLinenumber: 10965
    functionLinenumberEnd: 11072
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_realloc_long_context_in_dtd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11100,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11106,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:11107,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:11108,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:11109,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11109,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:11114,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:11115,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11118,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11121
      start: 11073
    functionDepth: 3
    functionLinenumber: 11073
    functionLinenumberEnd: 11121
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_default_in_ext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11149,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11151,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11152,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11153,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11154,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11155,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11156,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11157,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11158,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11159,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11160,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11161,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11162,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11163,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11164,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11165,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11166,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11175,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:11176,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:11177,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:11178,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11178,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:11183,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:11184,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11187,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11190
      start: 11122
    functionDepth: 3
    functionLinenumber: 11122
    functionLinenumberEnd: 11190
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_long_systemid_in_ext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11205,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11205,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11211,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:11212,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:11213,1
    - Dst: _XML_Parse_SINGLE_BYTES
      Src: /src/expat-2.4.1/tests/runtests.c:11214,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11214,1
    - Dst: nsalloc_teardown
      Src: /src/expat-2.4.1/tests/runtests.c:11219,1
    - Dst: nsalloc_setup
      Src: /src/expat-2.4.1/tests/runtests.c:11220,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11223,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11226
      start: 11191
    functionDepth: 3
    functionLinenumber: 11191
    functionLinenumberEnd: 11226
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - fail
    - _XML_Parse_SINGLE_BYTES
    - nsalloc_setup
    - strlen
    - XCS
    - nsalloc_teardown
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_nsalloc_prefixed_element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:11246,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:11247,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/runtests.c:11248,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11251,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:11254,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11254,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/runtests.c:11256,1
    - Dst: XCS
      Src: /src/expat-2.4.1/tests/runtests.c:11256,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:11259,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:11261,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:11263,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/runtests.c:11264,1
    - Dst: xmlParseFunction
      Src: /src/expat-2.4.1/tests/runtests.c:11269,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11270,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:11272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts:
    - condition: (! "systemId is neither \"first.ent\" nor \"second.ent\"")
      pos:
        line_end: 11258
        line_start: 11258
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (externalText)
      pos:
        line_end: 11260
        line_start: 11260
        source_file: /src/expat-2.4.1/tests/runtests.c
    - condition: (entParser)
      pos:
        line_end: 11263
        line_start: 11263
        source_file: /src/expat-2.4.1/tests/runtests.c
    constantsTouched: []
    func_position:
      end: 11274
      start: 11240
    functionDepth: 1
    functionLinenumber: 11240
    functionLinenumberEnd: 11274
    functionName: accounting_external_entity_ref_handler
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - xmlParseFunction
    - XML_ParserFree
    - UNUSED_P
    - assert
    - XML_GetUserData
    - strlen
    - XCS
    - xcstrcmp
    linkageType: ''
    returnType: int
    signature: "int accounting_external_entity_ref_handler(XML_Parser parser,\n                                       const
      XML_Char *context,\n                                       const XML_Char *base,\n
      \                                      const XML_Char *systemId,\n                                       const
      XML_Char *publicId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11329,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11342,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11342,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11350,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11355,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11363,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11363,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11377,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11385,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11385,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11395,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11395,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11405,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11406,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11407,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11416,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11417,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11424,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11455,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11470,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11472,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11474,1
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:11478,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/tests/runtests.c:11479,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/tests/runtests.c:11481,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/tests/runtests.c:11483,1
    - Dst: xmlParseFunction
      Src: /src/expat-2.4.1/tests/runtests.c:11491,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11492,1
    - Dst: _xml_failure
      Src: /src/expat-2.4.1/tests/runtests.c:11494,1
    - Dst: testingAccountingGetCountBytesDirect
      Src: /src/expat-2.4.1/tests/runtests.c:11498,1
    - Dst: testingAccountingGetCountBytesIndirect
      Src: /src/expat-2.4.1/tests/runtests.c:11500,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:11502,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/runtests.c:11505,1
    - Dst: EXPAT_FMT_SIZE_T
      Src: /src/expat-2.4.1/tests/runtests.c:11507,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11511,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/runtests.c:11515,1
    - Dst: EXPAT_FMT_SIZE_T
      Src: /src/expat-2.4.1/tests/runtests.c:11517,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11525
      start: 11276
    functionDepth: 2
    functionLinenumber: 11276
    functionLinenumberEnd: 11525
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - EXPAT_FMT_SIZE_T
    - XML_SetParamEntityParsing
    - XML_SetUserData
    - XML_SetExternalEntityRefHandler
    - xmlParseFunction
    - fprintf
    - testingAccountingGetCountBytesIndirect
    - XML_ParserFree
    - fail
    - testingAccountingGetCountBytesDirect
    - XML_ParserCreate
    - _xml_failure
    - strlen
    linkageType: ''
    returnType: void
    signature: void START_TEST(test_accounting_precision)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:11529,1
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/tests/runtests.c:11531,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11533,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11535,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11538,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11540,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11541,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11544,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11545,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11548,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11549,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11552,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11553,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11556,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11559,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11562,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11563,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11566,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/tests/runtests.c:11567,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11570,1
    - Dst: XML_SetBillionLaughsAttackProtectionActivationThreshold
      Src: /src/expat-2.4.1/tests/runtests.c:11573,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11575,1
    - Dst: XML_SetBillionLaughsAttackProtectionActivationThreshold
      Src: /src/expat-2.4.1/tests/runtests.c:11576,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11579,1
    - Dst: XML_SetBillionLaughsAttackProtectionActivationThreshold
      Src: /src/expat-2.4.1/tests/runtests.c:11582,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11585,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:11587,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/runtests.c:11588,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11589
      start: 11526
    functionDepth: 1
    functionLinenumber: 11526
    functionLinenumberEnd: 11589
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - XML_SetBillionLaughsAttackProtectionActivationThreshold
    - XML_ExternalEntityParserCreate
    - fail
    - XML_SetBillionLaughsAttackProtectionMaximumAmplification
    - XML_ParserFree
    - XML_ParserCreate
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_billion_laughs_attack_protection_api)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/tests/runtests.c:11596,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11598,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/runtests.c:11599,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11600,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:11604,1
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/tests/runtests.c:11604,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11605,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:11606,1
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/tests/runtests.c:11606,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/runtests.c:11607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11608
      start: 11590
    functionDepth: 1
    functionLinenumber: 11590
    functionLinenumberEnd: 11608
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail
    - unsignedCharToPrintable
    - strlen
    linkageType: ''
    returnType: END_TEST
    signature: END_TEST START_TEST(test_helper_unsigned_char_to_printable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_create
      Src: /src/expat-2.4.1/tests/runtests.c:11614,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11615,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11616,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11617,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11618,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11619,1
    - Dst: tcase_create
      Src: /src/expat-2.4.1/tests/runtests.c:11621,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11624,1
    - Dst: tcase_add_checked_fixture
      Src: /src/expat-2.4.1/tests/runtests.c:11625,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11626,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11627,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11628,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11629,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11630,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11631,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11632,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11633,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11634,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11635,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11636,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11637,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11638,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11639,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11640,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11641,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11642,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11643,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11645,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11647,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11648,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11649,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11650,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11651,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11652,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11653,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11654,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11655,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11656,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11657,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11658,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11659,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11660,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11661,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11662,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11663,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11664,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11665,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11666,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11667,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11668,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11669,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11670,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11671,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11672,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11673,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11675,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11676,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11677,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11678,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11679,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11680,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11681,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11682,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11683,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11685,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11686,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11687,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11688,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11689,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11690,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11691,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11692,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11693,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11694,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11695,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11696,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11697,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11698,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11699,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11700,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11701,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11702,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11703,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11704,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11705,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11706,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11707,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11708,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11709,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11711,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11712,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11713,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11714,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11715,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11716,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11717,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11718,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11719,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11720,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11721,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11722,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11723,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11724,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11725,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11726,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11727,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11728,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11729,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11730,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11731,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11732,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11733,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11734,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11735,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11736,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11737,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11738,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11739,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11740,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11741,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11742,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11743,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11744,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11745,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11746,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11747,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11748,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11749,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11750,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11751,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11752,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11753,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11754,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11755,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11757,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11758,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11759,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11760,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11761,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11762,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11763,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11764,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11765,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11766,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11767,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11768,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11769,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11770,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11771,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11772,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11773,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11774,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11775,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11776,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11777,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11778,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11779,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11780,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11781,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11782,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11783,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11784,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11785,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11786,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11787,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11788,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11789,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11790,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11791,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11792,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11793,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11794,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11795,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11796,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11797,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11798,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11799,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11800,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11801,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11802,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11803,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11804,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11805,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11806,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11807,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11808,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11809,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11810,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11811,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11812,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11813,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11814,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11815,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11816,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11817,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11818,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11819,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11820,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11821,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11822,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11823,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11824,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11825,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11826,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11827,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11828,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11829,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11830,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11831,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11832,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11833,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11834,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11835,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11836,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11837,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11838,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11839,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11840,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11841,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11842,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11843,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11845,1
    - Dst: tcase_add_checked_fixture
      Src: /src/expat-2.4.1/tests/runtests.c:11846,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11847,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11848,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11849,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11850,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11851,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11853,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11854,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11855,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11856,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11857,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11858,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11859,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11860,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11861,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11862,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11863,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11864,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11865,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11866,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11867,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11868,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11869,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11870,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11871,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11872,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11873,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11874,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11875,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11876,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11877,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11878,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11879,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11881,1
    - Dst: tcase_add_checked_fixture
      Src: /src/expat-2.4.1/tests/runtests.c:11882,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11883,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11884,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11885,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11886,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11887,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11888,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11889,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11890,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11891,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11892,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11893,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11896,1
    - Dst: tcase_add_checked_fixture
      Src: /src/expat-2.4.1/tests/runtests.c:11897,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11898,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11899,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11900,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11901,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11902,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11903,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11904,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11905,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11906,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11907,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11908,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11909,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11910,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11911,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11912,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11913,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11914,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11915,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11916,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11917,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11918,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11920,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11921,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11922,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11923,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11924,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11926,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11927,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11928,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11929,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11930,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11931,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11932,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11933,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11934,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11935,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11936,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11937,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11939,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11940,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11941,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11942,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11943,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11944,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11946,1
    - Dst: tcase_add_test__ifdef_xml_dtd
      Src: /src/expat-2.4.1/tests/runtests.c:11947,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11948,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11949,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11950,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11951,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11952,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11954,1
    - Dst: tcase_add_checked_fixture
      Src: /src/expat-2.4.1/tests/runtests.c:11955,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11956,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11957,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11958,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11959,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11960,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11961,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11962,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11963,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11964,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11965,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11966,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11967,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11968,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11969,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11970,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11971,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11972,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11973,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11974,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11975,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11976,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11977,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11978,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11979,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11980,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11981,1
    - Dst: suite_add_tcase
      Src: /src/expat-2.4.1/tests/runtests.c:11984,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11985,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11986,1
    - Dst: tcase_add_test
      Src: /src/expat-2.4.1/tests/runtests.c:11987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 348
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11991
      start: 11612
    functionDepth: 2
    functionLinenumber: 11612
    functionLinenumberEnd: 11991
    functionName: make_suite
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 0
    functionsReached:
    - tcase_add_checked_fixture
    - tcase_create
    - suite_create
    - suite_add_tcase
    - tcase_add_test
    - tcase_add_test__ifdef_xml_dtd
    linkageType: ''
    returnType: Suite
    signature: 'Suite *

      make_suite(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_suite
      Src: /src/expat-2.4.1/tests/runtests.c:11997,1
    - Dst: srunner_create
      Src: /src/expat-2.4.1/tests/runtests.c:11998,1
    - Dst: testhelper_is_whitespace_normalized
      Src: /src/expat-2.4.1/tests/runtests.c:12001,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:12005,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:12005,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:12007,1
    - Dst: strcmp
      Src: /src/expat-2.4.1/tests/runtests.c:12007,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/runtests.c:12010,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/runtests.c:12015,1
    - Dst: XML_ExpatVersion
      Src: /src/expat-2.4.1/tests/runtests.c:12015,1
    - Dst: srunner_run_all
      Src: /src/expat-2.4.1/tests/runtests.c:12016,1
    - Dst: srunner_ntests_failed
      Src: /src/expat-2.4.1/tests/runtests.c:12017,1
    - Dst: srunner_free
      Src: /src/expat-2.4.1/tests/runtests.c:12018,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12021
      start: 11993
    functionDepth: 3
    functionLinenumber: 11993
    functionLinenumberEnd: 12021
    functionName: main
    functionSourceFile: /src/expat-2.4.1/tests/runtests.c
    functionUses: 17
    functionsReached:
    - strcmp
    - testhelper_is_whitespace_normalized
    - fprintf
    - srunner_run_all
    - srunner_create
    - make_suite
    - srunner_ntests_failed
    - printf
    - srunner_free
    - XML_ExpatVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/memcheck.c:57,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/memcheck.c:60,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/memcheck.c:64,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/memcheck.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: tracking_malloc
    functionSourceFile: /src/expat-2.4.1/tests/memcheck.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      tracking_malloc(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: find_allocation
    functionSourceFile: /src/expat-2.4.1/tests/memcheck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocationEntry
    signature: 'AllocationEntry *

      find_allocation(void *ptr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_allocation
      Src: /src/expat-2.4.1/tests/memcheck.c:106,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/memcheck.c:117,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/memcheck.c:119,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/memcheck.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: tracking_free
    functionSourceFile: /src/expat-2.4.1/tests/memcheck.c
    functionUses: 0
    functionsReached:
    - find_allocation
    - free
    - printf
    linkageType: ''
    returnType: void
    signature: void tracking_free(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tracking_malloc
      Src: /src/expat-2.4.1/tests/memcheck.c:131,1
    - Dst: tracking_free
      Src: /src/expat-2.4.1/tests/memcheck.c:135,1
    - Dst: find_allocation
      Src: /src/expat-2.4.1/tests/memcheck.c:140,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/memcheck.c:142,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/memcheck.c:143,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/memcheck.c:145,1
    - Dst: realloc
      Src: /src/expat-2.4.1/tests/memcheck.c:148,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/memcheck.c:150,1
    - Dst: realloc
      Src: /src/expat-2.4.1/tests/memcheck.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 175
    functionName: tracking_realloc
    functionSourceFile: /src/expat-2.4.1/tests/memcheck.c
    functionUses: 0
    functionsReached:
    - tracking_free
    - realloc
    - tracking_malloc
    - malloc
    - printf
    - find_allocation
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      tracking_realloc(void *ptr, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/expat-2.4.1/tests/memcheck.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: tracking_report
    functionSourceFile: /src/expat-2.4.1/tests/memcheck.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int tracking_report(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: xcstrlen
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: xcstrcmp
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrcmp(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: xcstrlen
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: xcstrcmp
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcstrcmp(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcstrlen
      Src: /src/expat-2.4.1/tests/structdata.c:58,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/structdata.c:59,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:61,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/tests/structdata.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - XML_Char*
    assertStmts:
    - condition: (dup != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/expat-2.4.1/tests/structdata.c
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: xmlstrdup
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 0
    functionsReached:
    - xcstrlen
    - assert
    - malloc
    - memcpy
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *

      xmlstrdup(const XML_Char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - storage
    argTypes:
    - StructData*
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/expat-2.4.1/tests/structdata.c
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: StructData_Init
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StructData_Init(StructData *storage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:79,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:80,1
    - Dst: realloc::realloc
      Src: /src/expat-2.4.1/tests/structdata.c:85,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:87,1
    - Dst: xmlstrdup
      Src: /src/expat-2.4.1/tests/structdata.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - storage
    - s
    - data0
    - data1
    - data2
    argTypes:
    - StructData*
    - XML_Char*
    - int
    - int
    - int
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/expat-2.4.1/tests/structdata.c
    - condition: (s != NULL)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/expat-2.4.1/tests/structdata.c
    - condition: (new != NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/expat-2.4.1/tests/structdata.c
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: StructData_AddItem
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 2
    functionsReached:
    - assert
    - realloc::realloc
    - xmlstrdup
    linkageType: ''
    returnType: void
    signature: "void StructData_AddItem(StructData *storage, const XML_Char *s, int
      data0, int data1,\n                   int data2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:108,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:109,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/structdata.c:111,1
    - Dst: StructData_Dispose
      Src: /src/expat-2.4.1/tests/structdata.c:113,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/structdata.c:114,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:120,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:121,1
    - Dst: xcstrcmp
      Src: /src/expat-2.4.1/tests/structdata.c:123,1
    - Dst: StructData_Dispose
      Src: /src/expat-2.4.1/tests/structdata.c:124,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/structdata.c:125,1
    - Dst: sprintf
      Src: /src/expat-2.4.1/tests/structdata.c:129,1
    - Dst: StructData_Dispose
      Src: /src/expat-2.4.1/tests/structdata.c:134,1
    - Dst: fail
      Src: /src/expat-2.4.1/tests/structdata.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - storage
    - expected
    - count
    argTypes:
    - StructData*
    - StructDataEntry*
    - int
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/expat-2.4.1/tests/structdata.c
    - condition: (expected != NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/expat-2.4.1/tests/structdata.c
    - condition: (got != NULL)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/expat-2.4.1/tests/structdata.c
    - condition: (want != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/expat-2.4.1/tests/structdata.c
    constantsTouched: []
    func_position:
      end: 140
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: StructData_CheckItems
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 1
    functionsReached:
    - sprintf
    - StructData_Dispose
    - fail
    - assert
    - xcstrcmp
    linkageType: ''
    returnType: void
    signature: "void StructData_CheckItems(StructData *storage, const StructDataEntry
      *expected,\n                      int count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/structdata.c:146,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/structdata.c:148,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/structdata.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - storage
    argTypes:
    - StructData*
    assertStmts:
    - condition: (storage != NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/expat-2.4.1/tests/structdata.c
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: StructData_Dispose
    functionSourceFile: /src/expat-2.4.1/tests/structdata.c
    functionUses: 2
    functionsReached:
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void StructData_Dispose(StructData *storage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/expat-2.4.1/tests/minicheck.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: suite_create
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: Suite
    signature: 'Suite *

      suite_create(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/expat-2.4.1/tests/minicheck.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: tcase_create
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: TCase
    signature: 'TCase *

      tcase_create(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:69,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:70,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - suite
    - tc
    argTypes:
    - Suite*
    - TCase*
    assertStmts:
    - condition: (suite != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/expat-2.4.1/tests/minicheck.c
    - condition: (tc != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/expat-2.4.1/tests/minicheck.c
    - condition: (tc->next_tcase == NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/expat-2.4.1/tests/minicheck.c
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: suite_add_tcase
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void suite_add_tcase(Suite *suite, TCase *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tc
    - setup
    - teardown
    argTypes:
    - TCase*
    - tcase_setup_function
    - tcase_teardown_function
    assertStmts:
    - condition: (tc != NULL)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/expat-2.4.1/tests/minicheck.c
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: tcase_add_checked_fixture
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void tcase_add_checked_fixture(TCase *tc, tcase_setup_function setup,\n
      \                         tcase_teardown_function teardown)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:87,1
    - Dst: realloc
      Src: /src/expat-2.4.1/tests/minicheck.c:91,1
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tc
    - test
    argTypes:
    - TCase*
    - tcase_test_function
    assertStmts:
    - condition: (tc != NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/expat-2.4.1/tests/minicheck.c
    - condition: (new_tests != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/expat-2.4.1/tests/minicheck.c
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: tcase_add_test
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - assert
    - realloc
    linkageType: ''
    returnType: void
    signature: void tcase_add_test(TCase *tc, tcase_test_function test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/expat-2.4.1/tests/minicheck.c:106,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/minicheck.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tc
    argTypes:
    - TCase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: tcase_free
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tcase_free(TCase *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcase_free
      Src: /src/expat-2.4.1/tests/minicheck.c:118,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/minicheck.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - suite
    argTypes:
    - Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: suite_free
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 0
    functionsReached:
    - tcase_free
    - free
    linkageType: ''
    returnType: void
    signature: void suite_free(Suite *suite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/expat-2.4.1/tests/minicheck.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: srunner_create
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: SRunner
    signature: 'SRunner *

      srunner_create(Suite *suite)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - function
    - filename
    - lineno
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: _check_set_test_info
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _check_set_test_info(char const *function, char const *filename,
      int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/expat-2.4.1/tests/minicheck.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - verbosity
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: handle_success
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void handle_success(int verbosity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/expat-2.4.1/tests/minicheck.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - runner
    - verbosity
    - phase_info
    argTypes:
    - SRunner*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: handle_failure
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void handle_failure(SRunner *runner, int verbosity, const char *phase_info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:166,1
    - Dst: setjmp
      Src: /src/expat-2.4.1/tests/minicheck.c:176,1
    - Dst: handle_failure
      Src: /src/expat-2.4.1/tests/minicheck.c:177,1
    - Dst: TCase*::setup
      Src: /src/expat-2.4.1/tests/minicheck.c:180,1
    - Dst: setjmp
      Src: /src/expat-2.4.1/tests/minicheck.c:183,1
    - Dst: handle_failure
      Src: /src/expat-2.4.1/tests/minicheck.c:184,1
    - Dst: setjmp
      Src: /src/expat-2.4.1/tests/minicheck.c:191,1
    - Dst: handle_failure
      Src: /src/expat-2.4.1/tests/minicheck.c:192,1
    - Dst: TCase*::teardown
      Src: /src/expat-2.4.1/tests/minicheck.c:195,1
    - Dst: handle_success
      Src: /src/expat-2.4.1/tests/minicheck.c:198,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/minicheck.c:206,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - runner
    - verbosity
    argTypes:
    - SRunner*
    - int
    assertStmts:
    - condition: (runner != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/expat-2.4.1/tests/minicheck.c
    constantsTouched: []
    func_position:
      end: 209
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 209
    functionName: srunner_run_all
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - setjmp
    - handle_failure
    - TCase*::setup
    - TCase*::teardown
    - handle_success
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void srunner_run_all(SRunner *runner, int verbosity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/tests/minicheck.c:217,1
    - Dst: strlen
      Src: /src/expat-2.4.1/tests/minicheck.c:221,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/minicheck.c:222,1
    - Dst: longjmp
      Src: /src/expat-2.4.1/tests/minicheck.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - condition
    - file
    - line
    - msg
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: _fail_unless
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - fprintf
    - strlen
    - longjmp
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void _fail_unless(int condition, const char *file, int line, const
      char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/tests/minicheck.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - runner
    argTypes:
    - SRunner*
    assertStmts:
    - condition: (runner != NULL)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/expat-2.4.1/tests/minicheck.c
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: srunner_ntests_failed
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int srunner_ntests_failed(SRunner *runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: suite_free
      Src: /src/expat-2.4.1/tests/minicheck.c:239,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/minicheck.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - runner
    argTypes:
    - SRunner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: srunner_free
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.c
    functionUses: 2
    functionsReached:
    - free
    - suite_free
    linkageType: ''
    returnType: void
    signature: void srunner_free(SRunner *runner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - testname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: START_TEST
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: START_TEST(testname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: fail
    functionSourceFile: /src/expat-2.4.1/tests/minicheck.h
    functionUses: 191
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:55,1
    - Dst: exit
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prog
    - rc
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: usage
    functionSourceFile: /src/expat-2.4.1/tests/benchmark/benchmark.c
    functionUses: 13
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *prog, int rc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:76,1
    - Dst: usage
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:81,1
    - Dst: stat
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:83,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:84,1
    - Dst: fopen
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:88,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:90,1
    - Dst: exit
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:91,1
    - Dst: atoi
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:94,1
    - Dst: atoi
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:95,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:97,1
    - Dst: exit
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:98,1
    - Dst: malloc
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:101,1
    - Dst: fread
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:102,1
    - Dst: fclose
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:103,1
    - Dst: XML_ParserCreateNS
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:106,1
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:108,1
    - Dst: clock
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:115,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:122,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:123,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:126,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:126,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:127,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:128,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:129,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:130,1
    - Dst: exit
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:131,1
    - Dst: clock
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:135,1
    - Dst: XML_ParserReset
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:137,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:141,1
    - Dst: free
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:142,1
    - Dst: printf
      Src: /src/expat-2.4.1/tests/benchmark/benchmark.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/expat-2.4.1/tests/benchmark/benchmark.c
    functionUses: 17
    functionsReached:
    - XML_ParserCreateNS
    - fprintf
    - atoi
    - clock
    - fread
    - fopen
    - stat
    - XML_ParserReset
    - XML_ParserFree
    - XML_Parse
    - XML_ErrorString
    - XML_GetErrorCode
    - usage
    - malloc
    - XML_ParserCreate
    - XML_GetCurrentColumnNumber
    - exit
    - free
    - XML_GetCurrentLineNumber
    - fclose
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: getTok
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlmime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getTok(const char **pp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - start
    - end
    - key
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: matchkey
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlmime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int matchkey(const char *start, const char *end, const char *key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:125,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:126,1
    - Dst: strcpy
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:127,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:128,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:130,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:133,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:136,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:140,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:143,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:144,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:145,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:147,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:174,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - buf
    - charset
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 176
    functionName: getXMLCharset
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlmime.c
    functionUses: 0
    functionsReached:
    - getTok
    - matchkey
    - strcpy
    linkageType: ''
    returnType: void
    signature: void getXMLCharset(const char *buf, char *charset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:187,1
    - Dst: getXMLCharset
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:188,1
    - Dst: printf
      Src: /src/expat-2.4.1/xmlwf/xmlmime.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlmime.c
    functionUses: 17
    functionsReached:
    - printf
    - getXMLCharset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: topen
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:68,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:70,1
    - Dst: fstat
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:73,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:74,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:75,1
    - Dst: S_ISREG
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:78,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:79,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:80,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:84,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:92,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:93,1
    - Dst: mmap
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:96,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:99,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:100,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:103,1
    - Dst: munmap
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:104,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/unixfilemap.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - tchar*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: filemap
    functionSourceFile: /src/expat-2.4.1/xmlwf/unixfilemap.c
    functionUses: 0
    functionsReached:
    - fprintf
    - S_ISREG
    - fstat
    - tperror
    - mmap
    - munmap
    - close
    - processor
    - topen
    linkageType: ''
    returnType: int
    signature: "int filemap(const tchar *name,\n        void (*processor)(const void
      *, size_t, const tchar *, void *arg),\n        void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetCPInfo
      Src: /src/expat-2.4.1/xmlwf/codepage.c:52,1
    - Dst: MultiByteToWideChar
      Src: /src/expat-2.4.1/xmlwf/codepage.c:70,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/codepage.c:78,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/codepage.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - cp
    - map
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 82
    functionName: codepageMap
    functionSourceFile: /src/expat-2.4.1/xmlwf/codepage.c
    functionUses: 0
    functionsReached:
    - GetCPInfo
    - MultiByteToWideChar
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int codepageMap(int cp, int *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/expat-2.4.1/xmlwf/codepage.c:88,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/codepage.c:94,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/codepage.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cp
    - p
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: codepageConvert
    functionSourceFile: /src/expat-2.4.1/xmlwf/codepage.c
    functionUses: 0
    functionsReached:
    - MultiByteToWideChar
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int codepageConvert(int cp, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: _PREPEND_BIG_L
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmltchar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PREPEND_BIG_L(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: T
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmltchar.h
    functionUses: 519
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: T
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmltchar.h
    functionUses: 519
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(x)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: getTok
    functionSourceFile: /src/expat-2.4.1/xmlwf/ct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getTok(const char **pp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - start
    - end
    - key
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: matchkey
    functionSourceFile: /src/expat-2.4.1/xmlwf/ct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int matchkey(const char *start, const char *end, const char *key)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:120,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/ct.c:121,1
    - Dst: strcpy
      Src: /src/expat-2.4.1/xmlwf/ct.c:122,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/ct.c:123,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:125,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:128,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/ct.c:129,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:131,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:134,1
    - Dst: matchkey
      Src: /src/expat-2.4.1/xmlwf/ct.c:135,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:136,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:138,1
    - Dst: getTok
      Src: /src/expat-2.4.1/xmlwf/ct.c:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - charset
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 166
    functionName: getXMLCharset
    functionSourceFile: /src/expat-2.4.1/xmlwf/ct.c
    functionUses: 1
    functionsReached:
    - getTok
    - matchkey
    - strcpy
    linkageType: ''
    returnType: void
    signature: void getXMLCharset(const char *buf, char *charset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getXMLCharset
      Src: /src/expat-2.4.1/xmlwf/ct.c:171,1
    - Dst: printf
      Src: /src/expat-2.4.1/xmlwf/ct.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: main
    functionSourceFile: /src/expat-2.4.1/xmlwf/ct.c
    functionUses: 17
    functionsReached:
    - printf
    - getXMLCharset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:65,1
    - Dst: win32perror
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:68,1
    - Dst: GetFileSize
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:71,1
    - Dst: win32perror
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:73,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:74,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:78,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:84,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:85,1
    - Dst: CreateFileMapping
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:88,1
    - Dst: win32perror
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:90,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:91,1
    - Dst: MapViewOfFile
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:94,1
    - Dst: win32perror
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:96,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:97,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:98,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:101,1
    - Dst: UnmapViewOfFile
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:102,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:103,1
    - Dst: CloseHandle
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - TCHAR*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 106
    functionName: filemap
    functionSourceFile: /src/expat-2.4.1/xmlwf/win32filemap.c
    functionUses: 0
    functionsReached:
    - CreateFileMapping
    - CloseHandle
    - CreateFile
    - UnmapViewOfFile
    - GetFileSize
    - win32perror
    - MapViewOfFile
    - processor
    linkageType: ''
    returnType: int
    signature: "int filemap(const TCHAR *name,\n        void (*processor)(const void
      *, size_t, const TCHAR *, void *arg),\n        void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:111,1
    - Dst: GetLastError
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:112,1
    - Dst: MAKELANGID
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:113,1
    - Dst: _ftprintf
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:115,1
    - Dst: _T
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:115,1
    - Dst: fflush
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:116,1
    - Dst: LocalFree
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:117,1
    - Dst: _ftprintf
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:119,1
    - Dst: _T
      Src: /src/expat-2.4.1/xmlwf/win32filemap.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: win32perror
    functionSourceFile: /src/expat-2.4.1/xmlwf/win32filemap.c
    functionUses: 1
    functionsReached:
    - fflush
    - MAKELANGID
    - _ftprintf
    - LocalFree
    - _T
    - FormatMessage
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void win32perror(const TCHAR *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: S_ISREG
    functionSourceFile: /src/expat-2.4.1/xmlwf/readfilemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: topen
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:94,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:96,1
    - Dst: fstat
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:99,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:100,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:101,1
    - Dst: S_ISREG
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:104,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:105,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:105,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:106,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:110,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:118,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:119,1
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:122,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:124,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:124,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:125,1
    - Dst: _EXPAT_read
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:128,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:130,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:131,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:132,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:136,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:136,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:137,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:138,1
    - Dst: processor
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:141,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:142,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/readfilemap.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - tchar*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 145
    functionName: filemap
    functionSourceFile: /src/expat-2.4.1/xmlwf/readfilemap.c
    functionUses: 0
    functionsReached:
    - _EXPAT_read
    - T
    - S_ISREG
    - fstat
    - ftprintf
    - tperror
    - malloc
    - close
    - free
    - processor
    - topen
    linkageType: ''
    returnType: int
    signature: "int filemap(const tchar *name,\n        void (*processor)(const void
      *, size_t, const tchar *, void *arg),\n        void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:88,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:89,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:91,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:92,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:92,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:92,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:92,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:92,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:93,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:93,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:93,1
    - Dst: XML_GetErrorLineNumber
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:94,1
    - Dst: XML_GetErrorColumnNumber
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:95,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:97,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - filename
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: reportError
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - XML_ErrorString
    - XML_GetErrorCode
    - T
    - ftprintf
    - XML_GetErrorLineNumber
    - XML_GetErrorColumnNumber
    linkageType: ''
    returnType: void
    signature: void reportError(XML_Parser parser, const XML_Char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:106,1
    - Dst: reportError
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - size
    - filename
    - args
    argTypes:
    - void*
    - size_t
    - XML_Char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: processFile
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - XML_Parse
    - reportError
    linkageType: ''
    returnType: void
    signature: "void processFile(const void *data, size_t size, const XML_Char *filename,\n
      \           void *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:117,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:117,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:117,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - XML_Char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: isAsciiLetter
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: int
    signature: int isAsciiLetter(XML_Char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:157,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:160,1
    - Dst: resolveSystemId
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:163,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:164,1
    - Dst: filemap
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:165,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:171,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:172,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:173,1
    - Dst: processStream
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:175,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:178,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: externalEntityRefFilemap
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - filemap
    - processStream
    - T
    - XML_ParserFree
    - ftprintf
    - resolveSystemId
    - UNUSED_P
    - free
    - XML_SetBase
    linkageType: ''
    returnType: int
    signature: "int externalEntityRefFilemap(XML_Parser parser, const XML_Char *context,\n
      \                        const XML_Char *base, const XML_Char *systemId,\n                         const
      XML_Char *publicId)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: topen
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:189,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:191,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:197,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:200,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:201,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:201,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:202,1
    - Dst: read
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:205,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:207,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:207,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:209,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:212,1
    - Dst: reportError
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:213,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:213,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:215,1
    - Dst: close
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - filename
    - parser
    argTypes:
    - XML_Char*
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 226
    functionName: processStream
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 1
    functionsReached:
    - XML_ParseBuffer
    - read
    - T
    - ftprintf
    - reportError
    - tperror
    - XML_GetBuffer
    - close
    - topen
    linkageType: ''
    returnType: int
    signature: int processStream(const XML_Char *filename, XML_Parser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_ExternalEntityParserCreate
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:235,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:236,1
    - Dst: resolveSystemId
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:237,1
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:238,1
    - Dst: processStream
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:239,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:240,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - parser
    - context
    - base
    - systemId
    - publicId
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: externalEntityRefStream
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - XML_ExternalEntityParserCreate
    - XML_ParserFree
    - resolveSystemId
    - XML_SetBase
    - UNUSED_P
    - free
    - processStream
    linkageType: ''
    returnType: int
    signature: "int externalEntityRefStream(XML_Parser parser, const XML_Char *context,\n
      \                       const XML_Char *base, const XML_Char *systemId,\n                        const
      XML_Char *publicId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetBase
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:249,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:250,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:250,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:251,1
    - Dst: XML_SetExternalEntityRefHandler
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:255,1
    - Dst: filemap
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:263,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:269,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:270,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:271,1
    - Dst: processStream
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:273,1
    - Dst: processStream
      Src: /src/expat-2.4.1/xmlwf/xmlfile.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - parser
    - filename
    - flags
    argTypes:
    - XML_Parser
    - XML_Char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 279
    functionName: XML_ProcessFile
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlfile.c
    functionUses: 0
    functionsReached:
    - XML_SetExternalEntityRefHandler
    - filemap
    - processStream
    - T
    - ftprintf
    - exit
    - XML_SetBase
    linkageType: ''
    returnType: int
    signature: int XML_ProcessFile(XML_Parser parser, const XML_Char *filename, unsigned
      flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:97,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:98,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:98,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:100,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:101,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:101,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:103,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:104,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:104,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:108,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:108,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:111,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:112,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:112,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:117,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:117,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: characterData
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - puttc
    - ftprintf
    linkageType: ''
    returnType: void
    signature: void characterData(void *userData, const XML_Char *s, int len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:129,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:129,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:130,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:130,1
    - Dst: assert
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:131,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:136,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:136,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:138,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:139,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:139,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:141,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:142,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:142,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:144,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:145,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:145,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:149,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:149,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:152,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:152,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:155,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:155,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:158,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:159,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:159,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:164,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:164,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - fp
    - s
    argTypes:
    - FILE*
    - XML_Char*
    assertStmts:
    - condition: (s)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: attributeValue
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - ftprintf
    - fputts
    - assert
    - puttc
    linkageType: ''
    returnType: void
    signature: void attributeValue(FILE *fp, const XML_Char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcscmp
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - att1
    - att2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: attcmp
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - tcscmp
    linkageType: ''
    returnType: int
    signature: int attcmp(const void *att1, const void *att2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:188,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:188,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:189,1
    - Dst: qsort
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:196,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:198,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:198,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:199,1
    - Dst: attributeValue
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:200,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:203,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: startElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - attributeValue
    - T
    - qsort
    - fputts
    - puttc
    linkageType: ''
    returnType: void
    signature: void startElement(void *userData, const XML_Char *name, const XML_Char
      **atts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:209,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:209,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:210,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:210,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:211,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:212,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: endElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - puttc
    linkageType: ''
    returnType: void
    signature: void endElement(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:219,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:220,1
    - Dst: tcscmp
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: nsattcmp
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - tcscmp
    - tcsrchr
    linkageType: ''
    returnType: int
    signature: int nsattcmp(const void *p1, const void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:233,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:233,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:235,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:237,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:237,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:238,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:239,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:239,1
    - Dst: attributeValue
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:240,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:243,1
    - Dst: qsort
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:252,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:255,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:256,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:256,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:258,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:258,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:259,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:261,1
    - Dst: attributeValue
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:262,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:264,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:264,1
    - Dst: attributeValue
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:265,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:269,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 270
    functionName: startElementNS
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - attributeValue
    - T
    - ftprintf
    - qsort
    - fputts
    - puttc
    - tcsrchr
    linkageType: ''
    returnType: void
    signature: void startElementNS(void *userData, const XML_Char *name, const XML_Char
      **atts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:276,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:276,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:277,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:277,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:278,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:280,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:280,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:281,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:283,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:284,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: endElementNS
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - puttc
    - tcsrchr
    linkageType: ''
    returnType: void
    signature: void endElementNS(void *userData, const XML_Char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:293,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:293,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:294,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:294,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:295,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:296,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:296,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:297,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:298,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:298,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:299,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: processingInstruction
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - puttc
    linkageType: ''
    returnType: void
    signature: "void processingInstruction(void *userData, const XML_Char *target,\n
      \                     const XML_Char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:313,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: xcsdup
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *

      xcsdup(const XML_Char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:325,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:326,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:327,1
    - Dst: xcsdup
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - userData
    - doctypeName
    - sysid
    - publid
    - has_internal_subset
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: startDoctypeDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - xcsdup
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void startDoctypeDecl(void *userData, const XML_Char *doctypeName,\n
      \                const XML_Char *sysid, const XML_Char *publid,\n                 int
      has_internal_subset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:337,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:338,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:339,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - XmlwfUserData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: freeNotations
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeNotations(XmlwfUserData *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:348,1
    - Dst: freeNotations
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userData
    argTypes:
    - XmlwfUserData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: cleanupUserData
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - freeNotations
    - free
    linkageType: ''
    returnType: void
    signature: void cleanupUserData(XmlwfUserData *userData)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - xs
    - xt
    argTypes:
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: xcscmp
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xcscmp(const XML_Char *xs, const XML_Char *xt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcscmp
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: notationCmp
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - xcscmp
    linkageType: ''
    returnType: int
    signature: int notationCmp(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:391,1
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:396,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:398,1
    - Dst: freeNotations
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:399,1
    - Dst: qsort
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:406,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:409,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:409,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:410,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:411,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:411,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:415,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:415,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:416,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:418,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:418,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:419,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:420,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:420,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:422,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:422,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:423,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:423,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:424,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:425,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:425,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:428,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:428,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:429,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:430,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:430,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:432,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:432,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:433,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:433,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:437,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:437,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:439,1
    - Dst: freeNotations
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:440,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 443
    functionName: endDoctypeDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - T
    - qsort
    - fputts
    - malloc
    - puttc
    - freeNotations
    - free
    linkageType: ''
    returnType: void
    signature: void endDoctypeDecl(void *userData)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:449,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:452,1
    - Dst: fputs
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:454,1
    - Dst: xcsdup
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:457,1
    - Dst: fputs
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:459,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:460,1
    - Dst: xcsdup
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:464,1
    - Dst: fputs
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:466,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:467,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:468,1
    - Dst: xcsdup
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:475,1
    - Dst: fputs
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:477,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:478,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:479,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 5
    argNames:
    - userData
    - notationName
    - base
    - systemId
    - publicId
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 489
    functionName: notationDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - xcsdup
    - malloc
    - UNUSED_P
    - free
    - fputs
    linkageType: ''
    returnType: void
    signature: "void notationDecl(void *userData, const XML_Char *notationName, const
      XML_Char *base,\n             const XML_Char *systemId, const XML_Char *publicId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:495,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:496,1
    - Dst: XML_DefaultCurrent
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: defaultCharacterData
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_DefaultCurrent
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void defaultCharacterData(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:503,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:504,1
    - Dst: XML_DefaultCurrent
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: defaultStartElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_DefaultCurrent
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void defaultStartElement(void *userData, const XML_Char *name,\n                    const
      XML_Char **atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:510,1
    - Dst: XML_DefaultCurrent
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: defaultEndElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_DefaultCurrent
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void defaultEndElement(void *userData, const XML_Char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:517,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:518,1
    - Dst: XML_DefaultCurrent
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: defaultProcessingInstruction
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_DefaultCurrent
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void defaultProcessingInstruction(void *userData, const XML_Char *target,\n
      \                            const XML_Char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:524,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:525,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: nopCharacterData
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void nopCharacterData(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:531,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:532,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: nopStartElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void nopStartElement(void *userData, const XML_Char *name, const XML_Char
      **atts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:538,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: nopEndElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: void nopEndElement(void *userData, const XML_Char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:545,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:546,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: nopProcessingInstruction
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void nopProcessingInstruction(void *userData, const XML_Char *target,\n
      \                        const XML_Char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:552,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: markup
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: void markup(void *userData, const XML_Char *s, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetBase
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:559,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:560,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:562,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:562,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:563,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:564,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:564,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:564,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:564,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:565,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:565,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:565,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:565,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:566,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:566,1
    - Dst: XML_GetCurrentByteIndex
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:567,1
    - Dst: XML_GetCurrentByteCount
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:567,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:568,1
    - Dst: XML_GetCurrentColumnNumber
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: metaLocation
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetCurrentByteIndex
    - T
    - ftprintf
    - XML_GetCurrentByteCount
    - XML_GetCurrentColumnNumber
    - XML_GetUserData
    - XML_GetCurrentLineNumber
    - XML_GetBase
    linkageType: ''
    returnType: void
    signature: void metaLocation(XML_Parser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:574,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:574,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: metaStartDocument
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: void metaStartDocument(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:580,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:580,1
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: metaEndDocument
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - fputts
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: void metaEndDocument(void *userData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:587,1
    - Dst: XML_GetSpecifiedAttributeCount
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:590,1
    - Dst: XML_GetIdAttributeIndex
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:592,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:598,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:598,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:599,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:601,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:601,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:603,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:603,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:604,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:604,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:606,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:606,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:608,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:608,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:610,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:610,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:612,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:612,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:614,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 615
    functionName: metaStartElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - XML_GetSpecifiedAttributeCount
    - ftprintf
    - fputts
    - characterData
    - tcslen
    - XML_GetIdAttributeIndex
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: void metaStartElement(void *userData, const XML_Char *name, const XML_Char
      **atts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:620,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:622,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:622,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:623,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:624,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 625
    functionName: metaEndElement
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - ftprintf
    - fputts
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: void metaEndElement(void *userData, const XML_Char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:631,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:633,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:633,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:634,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:634,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:635,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:635,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:636,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:637,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - userData
    - target
    - data
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 638
    functionName: metaProcessingInstruction
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - ftprintf
    - fputts
    - characterData
    - tcslen
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: "void metaProcessingInstruction(void *userData, const XML_Char *target,\n
      \                         const XML_Char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:643,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:645,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:645,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:646,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:646,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:647,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:647,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:648,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:649,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - userData
    - data
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: metaComment
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - fputts
    - characterData
    - tcslen
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: void metaComment(void *userData, const XML_Char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:655,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:657,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:657,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:658,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:659,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: metaStartCdataSection
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - fputts
    - metaLocation
    - T
    linkageType: ''
    returnType: void
    signature: void metaStartCdataSection(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:665,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:667,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:667,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:668,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:669,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: metaEndCdataSection
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - fputts
    - metaLocation
    - T
    linkageType: ''
    returnType: void
    signature: void metaEndCdataSection(void *userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:675,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:677,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:677,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:678,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:679,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:679,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:680,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:681,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: metaCharacterData
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - fputts
    - characterData
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: void metaCharacterData(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:689,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:691,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:692,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:693,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:694,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:694,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:695,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:696,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - userData
    - doctypeName
    - sysid
    - pubid
    - has_internal_subset
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 697
    functionName: metaStartDoctypeDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - ftprintf
    - fputts
    - UNUSED_P
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: "void metaStartDoctypeDecl(void *userData, const XML_Char *doctypeName,\n
      \                    const XML_Char *sysid, const XML_Char *pubid,\n                     int
      has_internal_subset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:702,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:704,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:704,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:705,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:706,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: metaEndDoctypeDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - fputts
    - metaLocation
    - T
    linkageType: ''
    returnType: void
    signature: void metaEndDoctypeDecl(void *userData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:714,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:716,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:717,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:717,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:719,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:719,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:721,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:721,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:722,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:722,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:723,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:723,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:725,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:726,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - userData
    - notationName
    - base
    - systemId
    - publicId
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: metaNotationDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - ftprintf
    - fputts
    - characterData
    - tcslen
    - UNUSED_P
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: "void metaNotationDecl(void *userData, const XML_Char *notationName,\n
      \                const XML_Char *base, const XML_Char *systemId,\n                 const
      XML_Char *publicId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:735,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:738,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:739,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:741,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:741,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:742,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:743,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:743,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:744,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:745,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:745,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:747,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:747,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:749,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:749,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:750,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:750,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:751,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:751,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:752,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:752,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:753,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:753,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:754,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:755,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:755,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:757,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:757,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:759,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:759,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:760,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:760,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:761,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:761,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:762,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:762,1
    - Dst: metaLocation
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:763,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:764,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 9
    argNames:
    - userData
    - entityName
    - is_param
    - value
    - value_length
    - base
    - systemId
    - publicId
    - notationName
    argTypes:
    - void*
    - XML_Char*
    - int
    - XML_Char*
    - int
    - XML_Char*
    - XML_Char*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 766
    functionName: metaEntityDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - metaLocation
    - ftprintf
    - fputts
    - characterData
    - tcslen
    - UNUSED_P
    - XML_GetUserData
    - puttc
    linkageType: ''
    returnType: void
    signature: "void metaEntityDecl(void *userData, const XML_Char *entityName, int
      is_param,\n               const XML_Char *value, int value_length, const XML_Char
      *base,\n               const XML_Char *systemId, const XML_Char *publicId,\n
      \              const XML_Char *notationName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:772,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:774,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:774,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:776,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:776,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:778,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:778,1
    - Dst: characterData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:779,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:779,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:780,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:780,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:782,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - userData
    - prefix
    - uri
    argTypes:
    - void*
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 783
    functionName: metaStartNamespaceDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - ftprintf
    - fputts
    - characterData
    - tcslen
    - XML_GetUserData
    linkageType: ''
    returnType: void
    signature: "void metaStartNamespaceDecl(void *userData, const XML_Char *prefix,\n
      \                      const XML_Char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:788,1
    - Dst: fputts
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:791,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:791,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:793,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - userData
    - prefix
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 794
    functionName: metaEndNamespaceDecl
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_GetUserData
    - fputts
    - ftprintf
    - T
    linkageType: ''
    returnType: void
    signature: void metaEndNamespaceDecl(void *userData, const XML_Char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: codepageConvert
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - p
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: unknownEncodingConvert
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - codepageConvert
    linkageType: ''
    returnType: int
    signature: int unknownEncodingConvert(void *data, const char *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:804,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:805,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:808,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:815,1
    - Dst: tcschr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:816,1
    - Dst: codepageMap
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:824,1
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - userData
    - name
    - info
    argTypes:
    - void*
    - XML_Char*
    - XML_Encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 835
    functionName: unknownEncoding
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - tcschr
    - T
    - UNUSED_P
    - malloc
    - codepageMap
    linkageType: ''
    returnType: int
    signature: int unknownEncoding(void *userData, const XML_Char *name, XML_Encoding
      *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: notStandalone
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int notStandalone(void *userData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetFeatureList
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:847,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:857,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:857,1
    - Dst: XML_ExpatVersion
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:857,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:860,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:860,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:862,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:862,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:864,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:864,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:866,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:866,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:869,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - prog
    argTypes:
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: showVersion
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - T
    - ftprintf
    - XML_ExpatVersion
    - XML_GetFeatureList
    linkageType: ''
    returnType: void
    signature: void showVersion(XML_Char *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:875,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:883,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:884,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:885,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:886,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:887,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:888,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:889,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:890,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:891,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:892,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:893,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:894,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:895,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:896,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:897,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:898,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:899,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:900,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:901,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:902,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:903,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:904,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:905,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:906,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:907,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:908,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:909,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:910,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:911,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:912,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:913,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:914,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:915,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:916,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:917,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:918,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:919,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:920,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:921,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:922,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:923,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:924,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:925,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:926,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:927,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:928,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prog
    - rc
    argTypes:
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 932
    functionName: usage
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 14
    functionsReached:
    - exit
    - T
    - ftprintf
    linkageType: ''
    returnType: void
    signature: void usage(const XML_Char *prog, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - constCharStarTarget
    - ','
    - argc
    - ','
    - argv
    - ','
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 951
    functionName: XMLWF_SHIFT_ARG_INTO
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XMLWF_SHIFT_ARG_INTO(constCharStarTarget, argc, argv, i, j)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: _CrtSetDbgFlag
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:976,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:983,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:985,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:985,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:992,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:996,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1000,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1004,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1007,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1011,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1015,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1019,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1024,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1028,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1032,1
    - Dst: XMLWF_SHIFT_ARG_INTO
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1033,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1035,1
    - Dst: XMLWF_SHIFT_ARG_INTO
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1036,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1038,1
    - Dst: usage
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1039,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1041,1
    - Dst: showVersion
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1042,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1044,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1048,1
    - Dst: XMLWF_SHIFT_ARG_INTO
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1050,1
    - Dst: tcstof
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1054,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1055,1
    - Dst: isnan
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1056,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1060,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1060,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1060,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1062,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1065,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1065,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1065,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1070,1
    - Dst: XMLWF_SHIFT_ARG_INTO
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1072,1
    - Dst: tcstoull
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1076,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1077,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1080,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1080,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1081,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1082,1
    - Dst: ftprintf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1086,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1086,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1086,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1091,1
    - Dst: usage
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1099,1
    - Dst: XML_ParserCreateNS
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1112,1
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1114,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1117,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1117,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1118,1
    - Dst: XML_SetBillionLaughsAttackProtectionMaximumAmplification
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1123,1
    - Dst: XML_SetBillionLaughsAttackProtectionActivationThreshold
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1129,1
    - Dst: XML_SetNotStandaloneHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1135,1
    - Dst: XML_SetParamEntityParsing
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1136,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1141,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1142,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1143,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1145,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1146,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1149,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1154,1
    - Dst: tcsrchr
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1155,1
    - Dst: malloc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1163,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1163,1
    - Dst: tcslen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1163,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1166,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1166,1
    - Dst: exit
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1167,1
    - Dst: tcscpy
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1169,1
    - Dst: tcscat
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1170,1
    - Dst: tcscat
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1171,1
    - Dst: tfopen
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1172,1
    - Dst: T
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1172,1
    - Dst: tperror
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1174,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1177,1
    - Dst: cleanupUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1178,1
    - Dst: setvbuf
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1184,1
    - Dst: puttc
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1186,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1188,1
    - Dst: XML_UseParserAsHandlerArg
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1191,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1192,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1193,1
    - Dst: XML_SetCommentHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1194,1
    - Dst: XML_SetCdataSectionHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1195,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1197,1
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1198,1
    - Dst: XML_SetEntityDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1200,1
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1201,1
    - Dst: XML_SetNamespaceDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1202,1
    - Dst: metaStartDocument
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1204,1
    - Dst: XML_UseParserAsHandlerArg
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1207,1
    - Dst: XML_SetDefaultHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1208,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1209,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1210,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1211,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1216,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1218,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1219,1
    - Dst: XML_SetProcessingInstructionHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1221,1
    - Dst: XML_SetDoctypeDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1223,1
    - Dst: XML_SetNotationDeclHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1224,1
    - Dst: XML_SetUnknownEncodingHandler
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1231,1
    - Dst: XML_ProcessFile
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1232,1
    - Dst: metaEndDocument
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1235,1
    - Dst: fclose
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1236,1
    - Dst: tremove
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1238,1
    - Dst: free
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1240,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1242,1
    - Dst: cleanupUserData
      Src: /src/expat-2.4.1/xmlwf/xmlwf.c:1245,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 222
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 1252
    functionName: tmain
    functionSourceFile: /src/expat-2.4.1/xmlwf/xmlwf.c
    functionUses: 0
    functionsReached:
    - XML_ParserCreateNS
    - XML_SetBillionLaughsAttackProtectionActivationThreshold
    - fclose
    - tcstoull
    - showVersion
    - XML_SetBillionLaughsAttackProtectionMaximumAmplification
    - tfopen
    - XML_SetNamespaceDeclHandler
    - XML_SetUserData
    - XML_SetProcessingInstructionHandler
    - XML_SetUnknownEncodingHandler
    - XML_SetDoctypeDeclHandler
    - XML_ParserFree
    - ftprintf
    - tcstof
    - tperror
    - XML_SetCommentHandler
    - XML_ProcessFile
    - XMLWF_SHIFT_ARG_INTO
    - tcscpy
    - cleanupUserData
    - metaEndDocument
    - XML_SetEntityDeclHandler
    - _CrtSetDbgFlag
    - usage
    - tremove
    - malloc
    - XML_ParserCreate
    - exit
    - free
    - tcsrchr
    - isnan
    - XML_SetParamEntityParsing
    - XML_SetElementHandler
    - T
    - metaStartDocument
    - XML_SetCdataSectionHandler
    - tcscat
    - XML_SetNotationDeclHandler
    - XML_SetNotStandaloneHandler
    - tcslen
    - setvbuf
    - puttc
    - XML_SetDefaultHandler
    - XML_SetCharacterDataHandler
    - XML_UseParserAsHandlerArg
    linkageType: ''
    returnType: int
    signature: int tmain(int argc, XML_Char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 3
    functionsReached:
    - ns
    linkageType: ''
    returnType: ENCODING
    signature: 'ENCODING *

      NS(XmlGetUtf8InternalEncoding)(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:47,1
    - Dst: ns
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:49,1
    - Dst: ns
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:52,1
    - Dst: ns
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 3
    functionsReached:
    - ns
    linkageType: ''
    returnType: ENCODING
    signature: 'ENCODING *

      NS(XmlGetUtf16InternalEncoding)(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScan
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:67,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 4
    functionsReached:
    - initScan
    - NS
    linkageType: ''
    returnType: int
    signature: "int NS(initScanProlog)(const ENCODING *enc, const char *ptr, const
      char *end,\n                   const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScan
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:74,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 5
    functionsReached:
    - initScan
    - NS
    linkageType: ''
    returnType: int
    signature: "int NS(initScanContent)(const ENCODING *enc, const char *ptr, const
      char *end,\n                    const char **nextTokPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEncodingIndex
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:81,1
    - Dst: SET_INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:84,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:85,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p
    - encPtr
    - name
    argTypes:
    - INIT_ENCODING*
    - ENCODING**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 6
    functionsReached:
    - SET_INIT_ENC_INDEX
    - NS
    - getEncodingIndex
    linkageType: ''
    returnType: int
    signature: "int NS(XmlInitEncoding)(INIT_ENCODING *p, const ENCODING **encPtr,\n
      \                   const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XmlUtf8Convert
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:99,1
    - Dst: streqci
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:103,1
    - Dst: getEncodingIndex
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:105,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - enc
    - ptr
    - end
    argTypes:
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 7
    functionsReached:
    - streqci
    - NS
    - XmlUtf8Convert
    - getEncodingIndex
    linkageType: ''
    returnType: ENCODING
    signature: 'ENCODING *

      NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doParseXmlDecl
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:117,1
    - Dst: NS
      Src: /src/expat-2.4.1/lib/xmltok_ns.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - isGeneralTextEntity
    - enc
    - ptr
    - end
    - badPtr
    - versionPtr
    - versionEndPtr
    - encodingName
    - encoding
    - standalone
    argTypes:
    - int
    - ENCODING*
    - char*
    - char*
    - char**
    - char**
    - char**
    - char**
    - ENCODING**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_ns.c
    functionUses: 8
    functionsReached:
    - NS
    - doParseXmlDecl
    linkageType: ''
    returnType: int
    signature: "int NS(XmlParseXmlDecl)(int isGeneralTextEntity, const ENCODING *enc,\n
      \                   const char *ptr, const char *end, const char **badPtr,\n
      \                   const char **versionPtr, const char **versionEndPtr,\n                    const
      char **encodingName, const ENCODING **encoding,\n                    int *standalone)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - state
    - ','
    - tok
    - ','
    - ptr
    - ','
    - end
    - ','
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: XmlTokenRole
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlTokenRole(state, tok, ptr, end, enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pages
    - ','
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: UCS2_GET_NAMING
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCS2_GET_NAMING(pages, hi, lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pages
    - ','
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: UTF8_GET_NAMING2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_GET_NAMING2(pages, byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pages
    - ','
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: UTF8_GET_NAMING3
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_GET_NAMING3(pages, byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pages
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: UTF8_GET_NAMING
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_GET_NAMING(pages, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: UTF8_INVALID2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_INVALID2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: UTF8_INVALID3
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_INVALID3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: UTF8_INVALID4
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_INVALID4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:137,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: PTRFASTCALL::isNever
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      isNever(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:144,1
    - Dst: UTF8_GET_NAMING2
      Src: /src/expat-2.4.1/lib/xmltok.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: PTRFASTCALL::utf8_isName2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_GET_NAMING2
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isName2(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:150,1
    - Dst: UTF8_GET_NAMING3
      Src: /src/expat-2.4.1/lib/xmltok.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: PTRFASTCALL::utf8_isName3
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_GET_NAMING3
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isName3(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:158,1
    - Dst: UTF8_GET_NAMING2
      Src: /src/expat-2.4.1/lib/xmltok.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: PTRFASTCALL::utf8_isNmstrt2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_GET_NAMING2
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isNmstrt2(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:164,1
    - Dst: UTF8_GET_NAMING3
      Src: /src/expat-2.4.1/lib/xmltok.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: PTRFASTCALL::utf8_isNmstrt3
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_GET_NAMING3
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isNmstrt3(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:172,1
    - Dst: UTF8_INVALID2
      Src: /src/expat-2.4.1/lib/xmltok.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: PTRFASTCALL::utf8_isInvalid2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_INVALID2
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isInvalid2(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:178,1
    - Dst: UTF8_INVALID3
      Src: /src/expat-2.4.1/lib/xmltok.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: PTRFASTCALL::utf8_isInvalid3
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_INVALID3
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isInvalid3(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:184,1
    - Dst: UTF8_INVALID4
      Src: /src/expat-2.4.1/lib/xmltok.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: PTRFASTCALL::utf8_isInvalid4
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UTF8_INVALID4
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      utf8_isInvalid4(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: AS_NORMAL_ENCODING
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AS_NORMAL_ENCODING(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: STANDARD_VTABLE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STANDARD_VTABLE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: NORMAL_VTABLE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMAL_VTABLE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - int
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: checkCharRefNumber
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkCharRefNumber(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MINBPC(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MINBPC(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: SB_BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SB_BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SB_BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: PTRFASTCALL::sb_byteType
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - SB_BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      sb_byteType(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TO_ASCII(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: PTRFASTCALL::sb_byteToAscii
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      sb_byteToAscii(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TO_ASCII(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: IS_NAME_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: IS_NMSTRT_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: IS_INVALID_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: IS_INVALID_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_MATCHES(enc, p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - enc
    - p
    - c
    argTypes:
    - ENCODING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: sb_charMatches
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int sb_charMatches(const ENCODING *enc, const char *p, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_MATCHES(enc, p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ident
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(ident)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - from
    - fromLimRef
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 365
    functionName: _INTERNAL_trim_to_complete_utf8_characters
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _INTERNAL_trim_to_complete_utf8_characters(const char *from,\n
      \                                          const char **fromLimRef)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:376,1
    - Dst: _INTERNAL_trim_to_complete_utf8_characters
      Src: /src/expat-2.4.1/lib/xmltok.c:385,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmltok.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: utf8_toUtf8
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - _INTERNAL_trim_to_complete_utf8_characters
    - memcpy
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result utf8_toUtf8(const ENCODING *enc, const char
      **fromP, const char *fromLim,\n            char **toP, const char *toLim)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - unsigned short**
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 460
    functionName: utf8_toUtf16
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result utf8_toUtf16(const ENCODING *enc, const char
      **fromP, const char *fromLim,\n             unsigned short **toP, const unsigned
      short *toLim)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 525
    functionName: latin1_toUtf8
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result latin1_toUtf8(const ENCODING *enc, const char
      **fromP, const char *fromLim,\n              char **toP, const char *toLim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - unsigned short**
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: latin1_toUtf16
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result latin1_toUtf16(const ENCODING *enc, const
      char **fromP, const char *fromLim,\n               unsigned short **toP, const
      unsigned short *toLim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: ascii_toUtf8
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result ascii_toUtf8(const ENCODING *enc, const char
      **fromP, const char *fromLim,\n             char **toP, const char *toLim)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 621
    functionName: PTRFASTCALL::unicode_byte_type
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      unicode_byte_type(char hi, char lo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: DEFINE_UTF16_TO_UTF8
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_UTF16_TO_UTF8(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: DEFINE_UTF16_TO_UTF16
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_UTF16_TO_UTF16(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: SET2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET2(ptr, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: GET_LO
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LO(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 724
    functionName: GET_HI
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HI(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    functionName: SET2
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET2(ptr, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: GET_LO
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LO(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: GET_HI
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HI(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: LITTLE2_BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITTLE2_BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: LITTLE2_BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITTLE2_BYTE_TO_ASCII(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: LITTLE2_CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITTLE2_CHAR_MATCHES(p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: LITTLE2_IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITTLE2_IS_NAME_CHAR_MINBPC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: LITTLE2_IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITTLE2_IS_NMSTRT_CHAR_MINBPC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LITTLE2_BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: PTRFASTCALL::little2_byteType
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - LITTLE2_BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      little2_byteType(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:762,1
    - Dst: LITTLE2_BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: PTRFASTCALL::little2_byteToAscii
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - LITTLE2_BYTE_TO_ASCII
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      little2_byteToAscii(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:768,1
    - Dst: LITTLE2_CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - enc
    - p
    - c
    argTypes:
    - ENCODING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: little2_charMatches
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - LITTLE2_CHAR_MATCHES
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int little2_charMatches(const ENCODING *enc, const char *p, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:774,1
    - Dst: LITTLE2_IS_NAME_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: PTRFASTCALL::little2_isNameMin
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - LITTLE2_IS_NAME_CHAR_MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      little2_isNameMin(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:780,1
    - Dst: LITTLE2_IS_NMSTRT_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: PTRFASTCALL::little2_isNmstrtMin
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - LITTLE2_IS_NMSTRT_CHAR_MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      little2_isNmstrtMin(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ident
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 792
    functionName: MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MINBPC(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 794
    functionName: BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 795
    functionName: BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TO_ASCII(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_MATCHES(enc, p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 797
    functionName: IS_NAME_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 798
    functionName: IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 799
    functionName: IS_NMSTRT_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    functionName: IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: BIG2_BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG2_BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: BIG2_BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG2_BYTE_TO_ASCII(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: BIG2_CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG2_CHAR_MATCHES(p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 885
    functionName: BIG2_IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG2_IS_NAME_CHAR_MINBPC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 887
    functionName: BIG2_IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG2_IS_NMSTRT_CHAR_MINBPC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIG2_BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: PTRFASTCALL::big2_byteType
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - BIG2_BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      big2_byteType(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:897,1
    - Dst: BIG2_BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: PTRFASTCALL::big2_byteToAscii
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - BIG2_BYTE_TO_ASCII
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      big2_byteToAscii(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:903,1
    - Dst: BIG2_CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - enc
    - p
    - c
    argTypes:
    - ENCODING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: big2_charMatches
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - BIG2_CHAR_MATCHES
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int big2_charMatches(const ENCODING *enc, const char *p, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:909,1
    - Dst: BIG2_IS_NAME_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: PTRFASTCALL::big2_isNameMin
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - BIG2_IS_NAME_CHAR_MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      big2_isNameMin(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:915,1
    - Dst: BIG2_IS_NMSTRT_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: PTRFASTCALL::big2_isNmstrtMin
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - BIG2_IS_NMSTRT_CHAR_MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      big2_isNmstrtMin(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ident
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MINBPC(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: BYTE_TYPE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TYPE(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 930
    functionName: BYTE_TO_ASCII
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE_TO_ASCII(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: CHAR_MATCHES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_MATCHES(enc, p, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: IS_NAME_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 933
    functionName: IS_NAME_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NAME_CHAR_MINBPC(enc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 934
    functionName: IS_NMSTRT_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR(enc, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 935
    functionName: IS_NMSTRT_CHAR_MINBPC
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NMSTRT_CHAR_MINBPC(enc, p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1033
    functionName: streqci
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int streqci(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok.c:1038,1
    - Dst: normal_updatePosition
      Src: /src/expat-2.4.1/lib/xmltok.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - pos
    argTypes:
    - ENCODING*
    - char*
    - char*
    - POSITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1040
    functionName: initUpdatePosition
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - normal_updatePosition
    - UNUSED_P
    linkageType: ''
    returnType: void
    signature: "void initUpdatePosition(const ENCODING *enc, const char *ptr, const
      char *end,\n                   POSITION *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XmlUtf8Convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - enc
    - ptr
    - end
    argTypes:
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1051
    functionName: toAscii
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - XmlUtf8Convert
    linkageType: ''
    returnType: int
    signature: int toAscii(const ENCODING *enc, const char *ptr, const char *end)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1063
    functionName: isSpace
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isSpace(int c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1078,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1078,1
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1084,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1084,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1091,1
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1100,1
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1104,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1104,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1118,1
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1119,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1121,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1131,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 7
    argNames:
    - enc
    - ptr
    - end
    - namePtr
    - nameEndPtr
    - valPtr
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1143
    functionName: parsePseudoAttribute
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - isSpace
    - toAscii
    linkageType: ''
    returnType: int
    signature: "int parsePseudoAttribute(const ENCODING *enc, const char *ptr, const
      char *end,\n                     const char **namePtr, const char **nameEndPtr,\n
      \                    const char **valPtr, const char **nextTokPtr)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: parsePseudoAttribute
      Src: /src/expat-2.4.1/lib/xmltok.c:1171,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1176,1
    - Dst: parsePseudoAttribute
      Src: /src/expat-2.4.1/lib/xmltok.c:1186,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1199,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1200,1
    - Dst: encodingFinder
      Src: /src/expat-2.4.1/lib/xmltok.c:1208,1
    - Dst: parsePseudoAttribute
      Src: /src/expat-2.4.1/lib/xmltok.c:1209,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1216,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1221,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1224,1
    - Dst: isSpace
      Src: /src/expat-2.4.1/lib/xmltok.c:1231,1
    - Dst: toAscii
      Src: /src/expat-2.4.1/lib/xmltok.c:1231,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 11
    argNames:
    - "(*encodingFinder)(const ENCODING *, const char *,\n                                                 const
      char *)"
    - isGeneralTextEntity
    - enc
    - ptr
    - end
    - badPtr
    - versionPtr
    - versionEndPtr
    - encodingName
    - encoding
    - standalone
    argTypes:
    - ENCODING*
    - int
    - ENCODING*
    - char*
    - char*
    - char**
    - char**
    - char**
    - char**
    - ENCODING**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1238
    functionName: doParseXmlDecl
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached:
    - isSpace
    - toAscii
    - XmlNameMatchesAscii
    - encodingFinder
    - parsePseudoAttribute
    linkageType: ''
    returnType: int
    signature: "int doParseXmlDecl(const ENCODING *(*encodingFinder)(const ENCODING
      *, const char *,\n                                                 const char
      *),\n               int isGeneralTextEntity, const ENCODING *enc, const char
      *ptr,\n               const char *end, const char **badPtr, const char **versionPtr,\n
      \              const char **versionEndPtr, const char **encodingName,\n               const
      ENCODING **encoding, int *standalone)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - result
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1262
    functionName: checkCharRefNumber
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkCharRefNumber(int result)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - c
    - buf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1298
    functionName: XmlUtf8Encode
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XmlUtf8Encode(int c, char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - charNum
    - buf
    argTypes:
    - int
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1315
    functionName: XmlUtf16Encode
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XmlUtf16Encode(int charNum, unsigned short *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1326
    functionName: AS_UNKNOWN_ENCODING
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AS_UNKNOWN_ENCODING(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: XmlSizeOfUnknownEncoding
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XmlSizeOfUnknownEncoding(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AS_UNKNOWN_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1334,1
    - Dst: struct unknown_encoding*::convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1335,1
    - Dst: UCS2_GET_NAMING
      Src: /src/expat-2.4.1/lib/xmltok.c:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: PTRFASTCALL::unknown_isName
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - struct unknown_encoding*::convert
    - UCS2_GET_NAMING
    - AS_UNKNOWN_ENCODING
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      unknown_isName(const ENCODING *enc, const char *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AS_UNKNOWN_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1343,1
    - Dst: struct unknown_encoding*::convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1344,1
    - Dst: UCS2_GET_NAMING
      Src: /src/expat-2.4.1/lib/xmltok.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1348
    functionName: PTRFASTCALL::unknown_isNmstrt
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - struct unknown_encoding*::convert
    - UCS2_GET_NAMING
    - AS_UNKNOWN_ENCODING
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      unknown_isNmstrt(const ENCODING *enc, const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AS_UNKNOWN_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1352,1
    - Dst: struct unknown_encoding*::convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1353,1
    - Dst: checkCharRefNumber
      Src: /src/expat-2.4.1/lib/xmltok.c:1354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1355
    functionName: PTRFASTCALL::unknown_isInvalid
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - struct unknown_encoding*::convert
    - checkCharRefNumber
    - AS_UNKNOWN_ENCODING
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      unknown_isInvalid(const ENCODING *enc, const char *p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AS_UNKNOWN_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1360,1
    - Dst: struct unknown_encoding*::convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1370,1
    - Dst: XmlUtf8Encode
      Src: /src/expat-2.4.1/lib/xmltok.c:1371,1
    - Dst: AS_NORMAL_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1375,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmltok.c:1382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1385
    functionName: unknown_toUtf8
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - struct unknown_encoding*::convert
    - XmlUtf8Encode
    - AS_UNKNOWN_ENCODING
    - AS_NORMAL_ENCODING
    - memcpy
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result unknown_toUtf8(const ENCODING *enc, const
      char **fromP, const char *fromLim,\n               char **toP, const char *toLim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AS_UNKNOWN_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1390,1
    - Dst: struct unknown_encoding*::convert
      Src: /src/expat-2.4.1/lib/xmltok.c:1394,1
    - Dst: AS_NORMAL_ENCODING
      Src: /src/expat-2.4.1/lib/xmltok.c:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - enc
    - fromP
    - fromLim
    - toP
    - toLim
    argTypes:
    - ENCODING*
    - char**
    - char*
    - unsigned short**
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1406
    functionName: unknown_toUtf16
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - struct unknown_encoding*::convert
    - AS_NORMAL_ENCODING
    - AS_UNKNOWN_ENCODING
    linkageType: ''
    returnType: enum XML_Convert_Result
    signature: "enum XML_Convert_Result unknown_toUtf16(const ENCODING *enc, const
      char **fromP, const char *fromLim,\n                unsigned short **toP, const
      unsigned short *toLim)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmltok.c:1413,1
    - Dst: checkCharRefNumber
      Src: /src/expat-2.4.1/lib/xmltok.c:1443,1
    - Dst: UCS2_GET_NAMING
      Src: /src/expat-2.4.1/lib/xmltok.c:1452,1
    - Dst: UCS2_GET_NAMING
      Src: /src/expat-2.4.1/lib/xmltok.c:1454,1
    - Dst: XmlUtf8Encode
      Src: /src/expat-2.4.1/lib/xmltok.c:1458,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - mem
    - table
    - convert
    - userData
    argTypes:
    - void*
    - int*
    - CONVERTER
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1478
    functionName: XmlInitUnknownEncoding
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - XmlUtf8Encode
    - checkCharRefNumber
    - UCS2_GET_NAMING
    - memcpy
    linkageType: ''
    returnType: ENCODING
    signature: "ENCODING *\nXmlInitUnknownEncoding(void *mem, int *table, CONVERTER
      convert,\n                       void *userData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streqci
      Src: /src/expat-2.4.1/lib/xmltok.c:1520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1523
    functionName: getEncodingIndex
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached:
    - streqci
    linkageType: ''
    returnType: int
    signature: int getEncodingIndex(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1530
    functionName: INIT_ENC_INDEX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_ENC_INDEX(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1531
    functionName: SET_INIT_ENC_INDEX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_INIT_ENC_INDEX(enc, i)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1556,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1566,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1576,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1583,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1584,1
    - Dst: XmlTok
      Src: /src/expat-2.4.1/lib/xmltok.c:1588,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1590,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1604,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1625,1
    - Dst: XmlTok
      Src: /src/expat-2.4.1/lib/xmltok.c:1628,1
    - Dst: XmlTok
      Src: /src/expat-2.4.1/lib/xmltok.c:1642,1
    - Dst: INIT_ENC_INDEX
      Src: /src/expat-2.4.1/lib/xmltok.c:1647,1
    - Dst: XmlTok
      Src: /src/expat-2.4.1/lib/xmltok.c:1648,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 73
    argCount: 6
    argNames:
    - encodingTable
    - enc
    - state
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING**
    - INIT_ENCODING*
    - int
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1649
    functionName: initScan
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 2
    functionsReached:
    - INIT_ENC_INDEX
    - XmlTok
    linkageType: ''
    returnType: int
    signature: "int initScan(const ENCODING *const *encodingTable, const INIT_ENCODING
      *enc,\n         int state, const char *ptr, const char *end, const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1652
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1653
    functionName: ns
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ns(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1662
    functionName: NS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1663
    functionName: ns
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ns(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XmlInitUnknownEncoding
      Src: /src/expat-2.4.1/lib/xmltok.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - mem
    - table
    - convert
    - userData
    argTypes:
    - void*
    - int*
    - CONVERTER
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1678
    functionName: XmlInitUnknownEncodingNS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.c
    functionUses: 0
    functionsReached:
    - XmlInitUnknownEncoding
    linkageType: ''
    returnType: ENCODING
    signature: "ENCODING *\nXmlInitUnknownEncodingNS(void *mem, int *table, CONVERTER
      convert,\n                         void *userData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: EXPAT_FMT_ULL
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_ULL(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: EXPAT_FMT_PTRDIFF_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_PTRDIFF_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: EXPAT_FMT_SIZE_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_SIZE_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: EXPAT_FMT_PTRDIFF_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_PTRDIFF_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: EXPAT_FMT_SIZE_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_SIZE_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: EXPAT_FMT_ULL
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_ULL(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: EXPAT_FMT_PTRDIFF_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_PTRDIFF_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: EXPAT_FMT_SIZE_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_SIZE_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: EXPAT_FMT_PTRDIFF_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_PTRDIFF_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midpart
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: EXPAT_FMT_SIZE_T
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_FMT_SIZE_T(midpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: UNUSED_P
    functionSourceFile: /src/expat-2.4.1/lib/internal.h
    functionUses: 135
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_P(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: IS_INVALID_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_CHAR(enc, ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - ptr
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: INVALID_LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVALID_LEAD_CASE(n, ptr, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: INVALID_CASES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVALID_CASES(ptr, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: CHECK_NAME_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NAME_CASE(n, enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: CHECK_NAME_CASES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: CHECK_NMSTRT_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NMSTRT_CASE(n, enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: CHECK_NMSTRT_CASES
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ident
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: HAS_CHARS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CHARS(enc, ptr, end, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: HAS_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CHAR(enc, ptr, end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: REQUIRE_CHARS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_CHARS(enc, ptr, end, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: REQUIRE_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_CHAR(enc, ptr, end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:145,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:146,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:150,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:151,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:152,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:153,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:155,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:156,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:157,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:158,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:159,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:160,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:164,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - INVALID_CASES
    - HAS_CHAR
    - CHAR_MATCHES
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanComment)(const ENCODING *enc, const char *ptr, const
      char *end,\n                    const char **nextTokPtr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:182,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:183,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:185,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:185,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:187,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:191,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:197,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:198,1
    - Dst: REQUIRE_CHARS
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:200,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:202,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:202,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 226
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 1
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - REQUIRE_CHARS
    - PREFIX
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanDecl)(const ENCODING *enc, const char *ptr, const char
      *end,\n                 const char **nextTokPtr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:232,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:234,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:236,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:245,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:246,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:255,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - tokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 269
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 1
    functionsReached:
    - BYTE_TO_ASCII
    - MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int PREFIX(checkPiTarget)(const ENCODING *enc, const char *ptr, const
      char *end,\n                      int *tokPtr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:278,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:279,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:280,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:285,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:286,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:287,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:291,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:295,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:296,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:297,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:298,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:300,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:301,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:302,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:303,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:308,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:314,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:318,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:319,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:320,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 331
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - INVALID_CASES
    - CHAR_MATCHES
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - PREFIX
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanPi)(const ENCODING *enc, const char *ptr, const char
      *end,\n               const char **nextTokPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:339,1
    - Dst: REQUIRE_CHARS
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:341,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:342,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached:
    - REQUIRE_CHARS
    - CHAR_MATCHES
    - MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanCdataSection)(const ENCODING *enc, const char *ptr,
      const char *end,\n                         const char **nextTokPtr)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:357,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:359,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:360,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:366,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:368,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:369,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:370,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:372,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:373,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:374,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:375,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:378,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:381,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:382,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:383,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:384,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:388,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:390,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:392,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:395,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:396,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:405,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:406,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:407,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:418,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 424
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - INVALID_CASES
    - HAS_CHAR
    - CHAR_MATCHES
    - REQUIRE_CHAR
    - LEAD_CASE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(cdataSectionTok)(const ENCODING *enc, const char *ptr,
      const char *end,\n                        const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:431,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:432,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:433,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:438,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:439,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:440,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:444,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:444,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:444,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:445,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:451,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:463,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 475
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanEndTag)(const ENCODING *enc, const char *ptr, const
      char *end,\n                   const char **nextTokPtr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:482,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:483,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:491,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:491,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:491,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:492,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 506
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached:
    - HAS_CHAR
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanHexCharRef)(const ENCODING *enc, const char *ptr, const
      char *end,\n                       const char **nextTokPtr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:513,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:514,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:515,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:515,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:516,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:523,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:523,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:523,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:524,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 537
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 3
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - PREFIX
    - HAS_CHAR
    - CHAR_MATCHES
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanCharRef)(const ENCODING *enc, const char *ptr, const
      char *end,\n                    const char **nextTokPtr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:544,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:545,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:546,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:548,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:548,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:553,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:554,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:555,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 565
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 4
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - PREFIX
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanRef)(const ENCODING *enc, const char *ptr, const char
      *end,\n                const char **nextTokPtr)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:575,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:576,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:577,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:585,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:586,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:587,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:588,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:601,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:602,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:603,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:623,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:624,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:625,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:638,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:642,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:643,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:647,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:649,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:649,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:661,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:665,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:666,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:667,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:682,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:683,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:684,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:685,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:692,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:696,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:697,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:698,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:702,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 136
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 718
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 5
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - INVALID_CASES
    - CHAR_MATCHES
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - PREFIX
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanAtts)(const ENCODING *enc, const char *ptr, const char
      *end,\n                 const char **nextTokPtr)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:728,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:729,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:730,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:732,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:733,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:734,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:736,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:736,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:738,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:738,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:743,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:743,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:745,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:745,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:754,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:755,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:756,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:764,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:765,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:766,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:767,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:777,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:778,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:779,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:780,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:788,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:794,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:800,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:804,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:805,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:806,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 818
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 6
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - CHAR_MATCHES
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - PREFIX
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char
      *end,\n               const char **nextTokPtr)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:825,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:827,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:828,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:834,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:836,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:836,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:838,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:838,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:840,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:841,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:843,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:844,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:848,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:851,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:852,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:854,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:856,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:857,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:859,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:860,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:865,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:867,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:870,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:871,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:880,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:881,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:882,1
    - Dst: HAS_CHARS
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:885,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:886,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:886,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:887,1
    - Dst: HAS_CHARS
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:890,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:891,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:891,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:892,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:895,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:910,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 916
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 7
    functionsReached:
    - HAS_CHARS
    - MINBPC
    - BYTE_TYPE
    - CHAR_MATCHES
    - INVALID_CASES
    - HAS_CHAR
    - PREFIX
    - LEAD_CASE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(contentTok)(const ENCODING *enc, const char *ptr, const
      char *end,\n                   const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 880
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:923,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:924,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:925,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:936,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:937,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:938,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 948
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 7
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanPercent)(const ENCODING *enc, const char *ptr, const
      char *end,\n                    const char **nextTokPtr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:953,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:954,1
    - Dst: CHECK_NMSTRT_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:955,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:960,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:961,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 978
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 7
    functionsReached:
    - BYTE_TYPE
    - HAS_CHAR
    - CHECK_NMSTRT_CASES
    - CHECK_NAME_CASES
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanPoundName)(const ENCODING *enc, const char *ptr, const
      char *end,\n                      const char **nextTokPtr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:983,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:984,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:986,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:989,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:992,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:995,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - open
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - int
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1012
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 7
    functionsReached:
    - HAS_CHAR
    - INVALID_CASES
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(scanLit)(int open, const ENCODING *enc, const char *ptr,
      const char *end,\n                const char **nextTokPtr)"
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1020,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1022,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1023,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1029,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1031,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1031,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1033,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1033,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1035,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1036,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1037,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1039,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1039,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1041,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1041,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1048,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1055,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1064,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1065,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1067,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1073,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1084,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1084,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1086,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1089,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1092,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1093,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1095,1
    - Dst: REQUIRE_CHARS
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1096,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1097,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1097,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1098,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1105,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1108,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1109,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1111,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1113,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1116,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1119,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1134,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1137,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1140,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1140,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1157,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1158,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1159,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1164,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1173,1
    - Dst: IS_NMSTRT_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1176,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1177,1
    - Dst: IS_NAME_CHAR_MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1181,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1182,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1191,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1192,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1193,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1207,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1210,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1212,1
    - Dst: CHECK_NAME_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1213,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1230,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1237,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1244,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 208
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1252
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 8
    functionsReached:
    - IS_NMSTRT_CHAR_MINBPC
    - MINBPC
    - BYTE_TYPE
    - CHAR_MATCHES
    - IS_NAME_CHAR_MINBPC
    - HAS_CHAR
    - CHECK_NAME_CASES
    - REQUIRE_CHARS
    - PREFIX
    - REQUIRE_CHAR
    - LEAD_CASE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const
      char *end,\n                  const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1157
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1260,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1269,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1270,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1275,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1276,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1277,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1281,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1281,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1290,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1297,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1298,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1300,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1301,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1309,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1321
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 9
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - PREFIX
    - LEAD_CASE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(attributeValueTok)(const ENCODING *enc, const char *ptr,
      const char *end,\n                          const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1275
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1329,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1338,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1339,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1344,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1345,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1346,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1350,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1350,1
    - Dst: PREFIX
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1355,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1355,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1362,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1369,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1370,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1372,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1373,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1386
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - PREFIX
    - LEAD_CASE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(entityValueTok)(const ENCODING *enc, const char *ptr, const
      char *end,\n                       const char **nextTokPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1394,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1396,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1397,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1401,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1402,1
    - Dst: INVALID_CASES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1403,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1405,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1406,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1407,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1408,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1409,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1410,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1412,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1417,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1418,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1419,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1420,1
    - Dst: REQUIRE_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1421,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1422,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1423,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1433,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - nextTokPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1438
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    - INVALID_CASES
    - HAS_CHAR
    - CHAR_MATCHES
    - REQUIRE_CHAR
    linkageType: ''
    returnType: int
    signature: "int PREFIX(ignoreSectionTok)(const ENCODING *enc, const char *ptr,
      const char *end,\n                         const char **nextTokPtr)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1445,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1446,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1447,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1447,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1448,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1472,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1479,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1483,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - badPtr
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1495
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - BYTE_TO_ASCII
    - MINBPC
    - BYTE_TYPE
    - HAS_CHAR
    - CHAR_MATCHES
    linkageType: ''
    returnType: int
    signature: "int PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const
      char *end,\n                   const char **badPtr)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1510,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1510,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1511,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1524,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1525,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1526,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1537,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1550,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1569,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1570,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1570,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1571,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1571,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 4
    argNames:
    - enc
    - ptr
    - attsMax
    - atts
    argTypes:
    - ENCODING*
    - char*
    - int
    - ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1593
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - LEAD_CASE
    - BYTE_TO_ASCII
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: "int PREFIX(getAtts)(const ENCODING *enc, const char *ptr, int attsMax,\n
      \               ATTRIBUTE *atts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1524
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1599,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1600,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1601,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1602,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1602,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1603,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1604,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1642,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1642,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1643,1
    - Dst: checkCharRefNumber
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - enc
    - ptr
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1651
    functionName: PTRFASTCALL::PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached:
    - BYTE_TO_ASCII
    - checkCharRefNumber
    - MINBPC
    - UNUSED_P
    - CHAR_MATCHES
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      PREFIX(charRefNumber)(const ENCODING *enc, const char *ptr)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1656,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1657,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1659,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1659,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1660,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1669,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1670,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1671,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1672,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1673,1
    - Dst: BYTE_TO_ASCII
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1679,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1681,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1682,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1683,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1684,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1685,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1686,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1692,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1693,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1694,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1695,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1696,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1697,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - enc
    - ptr
    - end
    argTypes:
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1705
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - BYTE_TO_ASCII
    - CHAR_MATCHES
    - MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int PREFIX(predefinedEntityName)(const ENCODING *enc, const char *ptr,\n
      \                            const char *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1710,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1711,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1712,1
    - Dst: CHAR_MATCHES
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - enc
    - ptr1
    - end1
    - ptr2
    argTypes:
    - ENCODING*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1724
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - CHAR_MATCHES
    - MINBPC
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int PREFIX(nameMatchesAscii)(const ENCODING *enc, const char *ptr1,\n
      \                        const char *end1, const char *ptr2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1730,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1735,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1736,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1737,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - enc
    - ptr
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1754
    functionName: PTRFASTCALL::PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached:
    - LEAD_CASE
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: int
    signature: 'int PTRFASTCALL

      PREFIX(nameLength)(const ENCODING *enc, const char *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1735
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1759,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - enc
    - ptr
    argTypes:
    - ENCODING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1769
    functionName: PTRFASTCALL::PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 0
    functionsReached:
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: char
    signature: 'char *PTRFASTCALL

      PREFIX(skipS)(const ENCODING *enc, const char *ptr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1774,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1775,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1781,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1782,1
    - Dst: LEAD_CASE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1783,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1788,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1792,1
    - Dst: HAS_CHAR
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1793,1
    - Dst: BYTE_TYPE
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1793,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1794,1
    - Dst: MINBPC
      Src: /src/expat-2.4.1/lib/xmltok_impl.c:1798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - enc
    - ptr
    - end
    - pos
    argTypes:
    - ENCODING*
    - char*
    - char*
    - POSITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1803
    functionName: PREFIX
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 10
    functionsReached:
    - HAS_CHAR
    - LEAD_CASE
    - MINBPC
    - BYTE_TYPE
    linkageType: ''
    returnType: void
    signature: "void PREFIX(updatePosition)(const ENCODING *enc, const char *ptr,
      const char *end,\n                       POSITION *pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1781
    functionName: LEAD_CASE
    functionSourceFile: /src/expat-2.4.1/lib/xmltok_impl.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAD_CASE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: MIN_BYTES_PER_CHAR
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN_BYTES_PER_CHAR(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: setTopLevel
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setTopLevel(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: setTopLevel
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setTopLevel(state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:158,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:158,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 168
    functionName: prolog0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - MIN_BYTES_PER_CHAR
    - common
    linkageType: ''
    returnType: int
    signature: "int prolog0(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:190,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:190,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 200
    functionName: prolog1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - MIN_BYTES_PER_CHAR
    - common
    linkageType: ''
    returnType: int
    signature: "int prolog1(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:205,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:206,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:207,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: prolog2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int prolog2(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:225,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:226,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:227,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: doctype0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int doctype0(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:252,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:256,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: doctype1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int doctype1(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:268,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:269,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:270,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: doctype2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int doctype2(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:284,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:285,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:286,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: doctype3
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int doctype3(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:300,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:301,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:302,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: doctype4
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int doctype4(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:319,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:320,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:321,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: doctype5
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int doctype5(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:339,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:339,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:344,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:344,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:349,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:349,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:354,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:354,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 373
    functionName: internalSubset
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - MIN_BYTES_PER_CHAR
    - common
    linkageType: ''
    returnType: int
    signature: "int internalSubset(PROLOG_STATE *state, int tok, const char *ptr,
      const char *end,\n               const ENCODING *enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: externalSubset1
      Src: /src/expat-2.4.1/lib/xmlrole.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: externalSubset0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - externalSubset1
    linkageType: ''
    returnType: int
    signature: "int externalSubset0(PROLOG_STATE *state, int tok, const char *ptr,
      const char *end,\n                const ENCODING *enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: internalSubset
      Src: /src/expat-2.4.1/lib/xmlrole.c:407,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 410
    functionName: externalSubset1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 1
    functionsReached:
    - common
    - internalSubset
    linkageType: ''
    returnType: int
    signature: "int externalSubset1(PROLOG_STATE *state, int tok, const char *ptr,
      const char *end,\n                const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:417,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:418,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:419,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: entity0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity0(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:436,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:437,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:438,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 447
    functionName: entity1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity1(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:456,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:460,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 471
    functionName: entity2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int entity2(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:476,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:477,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:478,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 487
    functionName: entity3
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity3(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:492,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:493,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:494,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: entity4
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity4(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setTopLevel
      Src: /src/expat-2.4.1/lib/xmlrole.c:512,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:515,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: entity5
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - setTopLevel
    - common
    linkageType: ''
    returnType: int
    signature: "int entity5(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:527,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:528,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:529,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 539
    functionName: entity6
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity6(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:548,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:552,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 563
    functionName: entity7
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int entity7(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:568,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:569,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:570,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 579
    functionName: entity8
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity8(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:584,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:585,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:586,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: entity9
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity9(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n        const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:600,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:601,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:602,1
    - Dst: setTopLevel
      Src: /src/expat-2.4.1/lib/xmlrole.c:607,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: entity10
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - setTopLevel
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int entity10(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:616,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:617,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:618,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 627
    functionName: notation0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int notation0(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:636,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:640,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 647
    functionName: notation1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int notation1(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:652,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:653,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:654,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 663
    functionName: notation2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int notation2(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:668,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:669,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:670,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 680
    functionName: notation3
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int notation3(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:685,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:686,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:687,1
    - Dst: setTopLevel
      Src: /src/expat-2.4.1/lib/xmlrole.c:696,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 700
    functionName: notation4
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - setTopLevel
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int notation4(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:705,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:706,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:707,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 717
    functionName: attlist0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist0(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:722,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:723,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:724,1
    - Dst: setTopLevel
      Src: /src/expat-2.4.1/lib/xmlrole.c:729,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 737
    functionName: attlist1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - setTopLevel
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist1(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:752,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:757,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 767
    functionName: attlist2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int attlist2(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:772,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:773,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:774,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 785
    functionName: attlist3
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist3(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:790,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:791,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:792,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 804
    functionName: attlist4
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist4(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:809,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:810,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:811,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: attlist5
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist5(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:825,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:826,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:827,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 836
    functionName: attlist6
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist6(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:841,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:842,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:843,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 855
    functionName: attlist7
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist7(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:865,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:865,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:870,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:870,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:875,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:875,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 886
    functionName: attlist8
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - MIN_BYTES_PER_CHAR
    - common
    linkageType: ''
    returnType: int
    signature: "int attlist8(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:891,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:892,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:893,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: attlist9
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int attlist9(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:907,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:908,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:909,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 919
    functionName: element0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element0(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:928,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:933,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 945
    functionName: element1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int element1(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:954,1
    - Dst: MIN_BYTES_PER_CHAR
      Src: /src/expat-2.4.1/lib/xmlrole.c:954,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 979
    functionName: element2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - MIN_BYTES_PER_CHAR
    - common
    linkageType: ''
    returnType: int
    signature: "int element2(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:984,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:985,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:986,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1003
    functionName: element3
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element3(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1008,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1009,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1010,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1020
    functionName: element4
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element4(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1025,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1026,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1027,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1040
    functionName: element5
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element5(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1045,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1046,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1047,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1069
    functionName: element6
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element6(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1074,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1075,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1076,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1116
    functionName: element7
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int element7(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n         const ENCODING *enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:1127,1
    - Dst: XmlNameMatchesAscii
      Src: /src/expat-2.4.1/lib/xmlrole.c:1131,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1138
    functionName: condSect0
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - XmlNameMatchesAscii
    - common
    linkageType: ''
    returnType: int
    signature: "int condSect0(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1143,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1144,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1145,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1155
    functionName: condSect1
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int condSect1(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1160,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1161,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1162,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1171
    functionName: condSect2
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int condSect2(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1178,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1179,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1180,1
    - Dst: setTopLevel
      Src: /src/expat-2.4.1/lib/xmlrole.c:1185,1
    - Dst: common
      Src: /src/expat-2.4.1/lib/xmlrole.c:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1189
    functionName: declClose
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached:
    - setTopLevel
    - common
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int declClose(PROLOG_STATE *state, int tok, const char *ptr, const
      char *end,\n          const ENCODING *enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1214,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1215,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1216,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1217,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - state
    - tok
    - ptr
    - end
    - enc
    argTypes:
    - PROLOG_STATE*
    - int
    - char*
    - char*
    - ENCODING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1220
    functionName: error
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 1681
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: "int error(PROLOG_STATE *state, int tok, const char *ptr, const char
      *end,\n      const ENCODING *enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlrole.c:1229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - state
    - tok
    argTypes:
    - PROLOG_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1233
    functionName: common
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 57
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: int
    signature: int common(PROLOG_STATE *state, int tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - PROLOG_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1243
    functionName: XmlPrologStateInit
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlPrologStateInit(PROLOG_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - PROLOG_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1252
    functionName: XmlPrologStateInitExternalEntity
    functionSourceFile: /src/expat-2.4.1/lib/xmlrole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlPrologStateInitExternalEntity(PROLOG_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - high
    - ','
    - low
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: _SIP_ULL
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SIP_ULL(high, low)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: SIP_ROTL
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIP_ROTL(x, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: SIP_U32TO8_LE
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIP_U32TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: SIP_U64TO8_LE
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIP_U64TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: SIP_U8TO64_LE
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIP_U8TO64_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: sip_keyof
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sip_keyof(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIP_U8TO64_LE
      Src: /src/expat-2.4.1/lib/siphash.h:149,1
    - Dst: SIP_U8TO64_LE
      Src: /src/expat-2.4.1/lib/siphash.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - src
    argTypes:
    - struct sipkey*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: sip_tokey
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached:
    - SIP_U8TO64_LE
    linkageType: ''
    returnType: struct sipkey
    signature: 'struct sipkey *

      sip_tokey(struct sipkey *key, const void *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: sip_binof
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sip_binof(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIP_U64TO8_LE
      Src: /src/expat-2.4.1/lib/siphash.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - u64
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: sip_tobin
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached:
    - SIP_U64TO8_LE
    linkageType: ''
    returnType: void
    signature: 'void *

      sip_tobin(void *dst, uint64_t u64)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:172,1
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:174,1
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:177,1
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:181,1
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:185,1
    - Dst: SIP_ROTL
      Src: /src/expat-2.4.1/lib/siphash.h:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - H
    - rounds
    argTypes:
    - struct siphash*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: sip_round
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached:
    - SIP_ROTL
    linkageType: ''
    returnType: void
    signature: void sip_round(struct siphash *H, const int rounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _SIP_ULL
      Src: /src/expat-2.4.1/lib/siphash.h:193,1
    - Dst: _SIP_ULL
      Src: /src/expat-2.4.1/lib/siphash.h:194,1
    - Dst: _SIP_ULL
      Src: /src/expat-2.4.1/lib/siphash.h:195,1
    - Dst: _SIP_ULL
      Src: /src/expat-2.4.1/lib/siphash.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - H
    - key
    argTypes:
    - struct siphash*
    - struct sipkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: sip24_init
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached:
    - _SIP_ULL
    linkageType: ''
    returnType: struct siphash
    signature: 'struct siphash *

      sip24_init(struct siphash *H, const struct sipkey *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: sip_endof
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sip_endof(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_endof
      Src: /src/expat-2.4.1/lib/siphash.h:212,1
    - Dst: sip_endof
      Src: /src/expat-2.4.1/lib/siphash.h:215,1
    - Dst: SIP_U8TO64_LE
      Src: /src/expat-2.4.1/lib/siphash.h:218,1
    - Dst: sip_round
      Src: /src/expat-2.4.1/lib/siphash.h:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - H
    - src
    - len
    argTypes:
    - struct siphash*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: sip24_update
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached:
    - sip_round
    - SIP_U8TO64_LE
    - sip_endof
    linkageType: ''
    returnType: struct siphash
    signature: 'struct siphash *

      sip24_update(struct siphash *H, const void *src, size_t len)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sip_round
      Src: /src/expat-2.4.1/lib/siphash.h:262,1
    - Dst: sip_round
      Src: /src/expat-2.4.1/lib/siphash.h:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - H
    argTypes:
    - struct siphash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: sip24_final
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached:
    - sip_round
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sip24_final(struct siphash *H)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip24_final
      Src: /src/expat-2.4.1/lib/siphash.h:273,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/lib/siphash.h:273,1
    - Dst: sip24_init
      Src: /src/expat-2.4.1/lib/siphash.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - key
    argTypes:
    - void*
    - size_t
    - struct sipkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: siphash24
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 2
    functionsReached:
    - sip24_init
    - sip24_final
    - sip24_update
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t siphash24(const void *src, size_t len, const struct sipkey
      *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_tokey
      Src: /src/expat-2.4.1/lib/siphash.h:362,1
    - Dst: siphash24
      Src: /src/expat-2.4.1/lib/siphash.h:368,1
    - Dst: SIP_U8TO64_LE
      Src: /src/expat-2.4.1/lib/siphash.h:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 373
    functionName: sip24_valid
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 1
    functionsReached:
    - SIP_U8TO64_LE
    - siphash24
    - sip_tokey
    linkageType: ''
    returnType: int
    signature: int sip24_valid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip24_valid
      Src: /src/expat-2.4.1/lib/siphash.h:381,1
    - Dst: puts
      Src: /src/expat-2.4.1/lib/siphash.h:384,1
    - Dst: puts
      Src: /src/expat-2.4.1/lib/siphash.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: main
    functionSourceFile: /src/expat-2.4.1/lib/siphash.h
    functionUses: 17
    functionsReached:
    - sip24_valid
    - puts
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - enc
    - ','
    - state
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: XmlTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlTok(enc, state, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: XmlPrologTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlPrologTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: XmlContentTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlContentTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: XmlCdataSectionTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlCdataSectionTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: XmlIgnoreSectionTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlIgnoreSectionTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - enc
    - ','
    - literalType
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: XmlLiteralTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlLiteralTok(enc, literalType, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: XmlAttributeValueTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlAttributeValueTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - nextTokPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: XmlEntityValueTok
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlEntityValueTok(enc, ptr, end, nextTokPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr1
    - ','
    - end1
    - ','
    - ptr2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: XmlNameMatchesAscii
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlNameMatchesAscii(enc, ptr1, end1, ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: XmlNameLength
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlNameLength(enc, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: XmlSkipS
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlSkipS(enc, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - attsMax
    - ','
    - atts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: XmlGetAttributes
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlGetAttributes(enc, ptr, attsMax, atts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: XmlCharRefNumber
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlCharRefNumber(enc, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: XmlPredefinedEntityName
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlPredefinedEntityName(enc, ptr, end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: XmlUpdatePosition
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlUpdatePosition(enc, ptr, end, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - enc
    - ','
    - ptr
    - ','
    - end
    - ','
    - badPtr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: XmlIsPublicId
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlIsPublicId(enc, ptr, end, badPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - enc
    - ','
    - fromP
    - ','
    - fromLim
    - ','
    - toP
    - ','
    - toLim
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: XmlUtf8Convert
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlUtf8Convert(enc, fromP, fromLim, toP, toLim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - enc
    - ','
    - fromP
    - ','
    - fromLim
    - ','
    - toP
    - ','
    - toLim
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: XmlUtf16Convert
    functionSourceFile: /src/expat-2.4.1/lib/xmltok.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XmlUtf16Convert(enc, fromP, fromLim, toP, toLim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: MUST_CONVERT
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUST_CONVERT(enc, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enc
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: MUST_CONVERT
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUST_CONVERT(enc, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: XML_T
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_T(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: XML_L
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_L(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: XML_T
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_T(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: XML_L
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_L(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: XML_T
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_T(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: XML_L
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_L(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: ROUND_UP
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_UP(n, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: EXPAT_SAFE_PTR_DIFF
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAT_SAFE_PTR_DIFF(p, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hash
    - ','
    - mask
    - ','
    - power
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: SECOND_HASH
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECOND_HASH(hash, mask, power)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hash
    - ','
    - mask
    - ','
    - power
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: PROBE_STEP
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROBE_STEP(hash, mask, power)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: poolStart
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolStart(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: poolEnd
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolEnd(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: poolLength
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolLength(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: poolChop
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolChop(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: poolLastChar
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolLastChar(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: poolDiscard
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolDiscard(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pool
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: poolFinish
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolFinish(pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pool
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: poolAppendChar
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poolAppendChar(pool, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parser
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: MALLOC
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MALLOC(parser, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - parser
    - ','
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: REALLOC
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REALLOC(parser, p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parser
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: FREE
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(parser, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/lib/xmlparse.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encodingName
    argTypes:
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: XML_ParserCreate
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached:
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: XML_Parser
    signature: XML_Parser XML_ParserCreate(const XML_Char *encodingName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate_MM
      Src: /src/expat-2.4.1/lib/xmlparse.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - encodingName
    - nsSep
    argTypes:
    - XML_Char*
    - XML_Char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: XML_ParserCreateNS
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - XML_ParserCreate_MM
    linkageType: ''
    returnType: XML_Parser
    signature: XML_Parser XML_ParserCreateNS(const XML_Char *encodingName, XML_Char
      nsSep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/expat-2.4.1/lib/xmlparse.c:753,1
    - Dst: syscall
      Src: /src/expat-2.4.1/lib/xmlparse.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 766
    functionName: writeRandomBytes_getrandom_nonblock
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - syscall
    - getrandom
    linkageType: ''
    returnType: int
    signature: int writeRandomBytes_getrandom_nonblock(void *target, size_t count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/expat-2.4.1/lib/xmlparse.c:778,1
    - Dst: read
      Src: /src/expat-2.4.1/lib/xmlparse.c:787,1
    - Dst: close
      Src: /src/expat-2.4.1/lib/xmlparse.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - target
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 798
    functionName: writeRandomBytes_dev_urandom
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - read
    linkageType: ''
    returnType: int
    signature: int writeRandomBytes_dev_urandom(void *target, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4random
      Src: /src/expat-2.4.1/lib/xmlparse.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - target
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: writeRandomBytes_arc4random
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - arc4random
    linkageType: ''
    returnType: void
    signature: void writeRandomBytes_arc4random(void *target, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_s
      Src: /src/expat-2.4.1/lib/xmlparse.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - target
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: writeRandomBytes_rand_s
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - rand_s
    linkageType: ''
    returnType: int
    signature: int writeRandomBytes_rand_s(void *target, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/expat-2.4.1/lib/xmlparse.c:867,1
    - Dst: gettimeofday
      Src: /src/expat-2.4.1/lib/xmlparse.c:873,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (gettimeofday_res == 0)
      pos:
        line_end: 877
        line_start: 877
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 884
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 884
    functionName: gather_time_entropy
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - assert
    - gettimeofday
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long gather_time_entropy(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDebugLevel
      Src: /src/expat-2.4.1/lib/xmlparse.c:890,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - label
    - entropy
    argTypes:
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: ENTROPY_DEBUG
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getDebugLevel
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ENTROPY_DEBUG(const char *label, unsigned long entropy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: arc4random_buf
      Src: /src/expat-2.4.1/lib/xmlparse.c:904,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:905,1
    - Dst: writeRandomBytes_arc4random
      Src: /src/expat-2.4.1/lib/xmlparse.c:907,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:908,1
    - Dst: writeRandomBytes_rand_s
      Src: /src/expat-2.4.1/lib/xmlparse.c:912,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:913,1
    - Dst: writeRandomBytes_getrandom_nonblock
      Src: /src/expat-2.4.1/lib/xmlparse.c:916,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:917,1
    - Dst: writeRandomBytes_dev_urandom
      Src: /src/expat-2.4.1/lib/xmlparse.c:921,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:922,1
    - Dst: gather_time_entropy
      Src: /src/expat-2.4.1/lib/xmlparse.c:928,1
    - Dst: getpid
      Src: /src/expat-2.4.1/lib/xmlparse.c:928,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:932,1
    - Dst: ENTROPY_DEBUG
      Src: /src/expat-2.4.1/lib/xmlparse.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 938
    functionName: generate_hash_secret_salt
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - arc4random_buf
    - writeRandomBytes_dev_urandom
    - writeRandomBytes_arc4random
    - getpid
    - writeRandomBytes_getrandom_nonblock
    - ENTROPY_DEBUG
    - gather_time_entropy
    - writeRandomBytes_rand_s
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long generate_hash_secret_salt(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_hash_secret_salt
      Src: /src/expat-2.4.1/lib/xmlparse.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: get_hash_secret_salt
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - get_hash_secret_salt
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_hash_secret_salt(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_hash_secret_salt
      Src: /src/expat-2.4.1/lib/xmlparse.c:951,1
    - Dst: setContext
      Src: /src/expat-2.4.1/lib/xmlparse.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 959
    functionName: startParsing
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - generate_hash_secret_salt
    - setContext
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool startParsing(XML_Parser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parserCreate
      Src: /src/expat-2.4.1/lib/xmlparse.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - encodingName
    - memsuite
    - nameSep
    argTypes:
    - XML_Char*
    - XML_Memory_Handling_Suite*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 966
    functionName: XML_ParserCreate_MM
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 7
    functionsReached:
    - parserCreate
    linkageType: ''
    returnType: XML_Parser
    signature: "XML_Parser XML_ParserCreate_MM(const XML_Char *encodingName,\n                    const
      XML_Memory_Handling_Suite *memsuite,\n                    const XML_Char *nameSep)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: XML_Memory_Handling_Suite*::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:976,1
    - Dst: malloc
      Src: /src/expat-2.4.1/lib/xmlparse.c:985,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:1002,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1004,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:1008,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1011,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1012,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:1017,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1019,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1021,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1023,1
    - Dst: dtdCreate
      Src: /src/expat-2.4.1/lib/xmlparse.c:1031,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1033,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1034,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1036,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1038,1
    - Dst: poolInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:1063,1
    - Dst: poolInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:1064,1
    - Dst: parserInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:1065,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/lib/xmlparse.c:1068,1
    - Dst: XmlGetInternalEncodingNS
      Src: /src/expat-2.4.1/lib/xmlparse.c:1074,1
    - Dst: XmlGetInternalEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:1077,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    argCount: 4
    argNames:
    - encodingName
    - memsuite
    - nameSep
    - dtd
    argTypes:
    - XML_Char*
    - XML_Memory_Handling_Suite*
    - XML_Char*
    - DTD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1081
    functionName: parserCreate
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - parserInit
    - XML_ParserFree
    - XmlGetInternalEncodingNS
    - MALLOC
    - XML_Memory_Handling_Suite*::malloc_fcn
    - poolInit
    - malloc
    - XmlGetInternalEncoding
    - FREE
    - dtdCreate
    linkageType: ''
    returnType: XML_Parser
    signature: "XML_Parser parserCreate(const XML_Char *encodingName,\n             const
      XML_Memory_Handling_Suite *memsuite, const XML_Char *nameSep,\n             DTD
      *dtd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologStateInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:1086,1
    - Dst: copyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:1088,1
    - Dst: XmlInitEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:1091,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:1131,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:1155,1
    - Dst: getDebugLevel
      Src: /src/expat-2.4.1/lib/xmlparse.c:1156,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:1162,1
    - Dst: getDebugLevel
      Src: /src/expat-2.4.1/lib/xmlparse.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 2
    argNames:
    - parser
    - encodingName
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1165
    functionName: parserInit
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - getDebugLevel
    - memset
    - XmlInitEncoding
    - XmlPrologStateInit
    - copyString
    linkageType: ''
    returnType: void
    signature: void parserInit(XML_Parser parser, const XML_Char *encodingName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - bindings
    argTypes:
    - XML_Parser
    - BINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1176
    functionName: moveToFreeBindingList
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void moveToFreeBindingList(XML_Parser parser, BINDING *bindings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: moveToFreeBindingList
      Src: /src/expat-2.4.1/lib/xmlparse.c:1194,1
    - Dst: moveToFreeBindingList
      Src: /src/expat-2.4.1/lib/xmlparse.c:1206,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1207,1
    - Dst: XML_Parser::m_unknownEncodingRelease
      Src: /src/expat-2.4.1/lib/xmlparse.c:1209,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:1210,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:1211,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1212,1
    - Dst: parserInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:1214,1
    - Dst: dtdReset
      Src: /src/expat-2.4.1/lib/xmlparse.c:1215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - parser
    - encodingName
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1217
    functionName: XML_ParserReset
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 30
    functionsReached:
    - moveToFreeBindingList
    - parserInit
    - poolClear
    - dtdReset
    - XML_Parser::m_unknownEncodingRelease
    - FREE
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool XML_ParserReset(XML_Parser parser, const XML_Char *encodingName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1232,1
    - Dst: copyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:1239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - parser
    - encodingName
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1244
    functionName: XML_SetEncoding
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 8
    functionsReached:
    - copyString
    - FREE
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_SetEncoding(XML_Parser parser, const XML_Char *encodingName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parserCreate
      Src: /src/expat-2.4.1/lib/xmlparse.c:1347,1
    - Dst: parserCreate
      Src: /src/expat-2.4.1/lib/xmlparse.c:1349,1
    - Dst: dtdCopy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1392,1
    - Dst: setContext
      Src: /src/expat-2.4.1/lib/xmlparse.c:1393,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/lib/xmlparse.c:1394,1
    - Dst: XmlPrologStateInitExternalEntity
      Src: /src/expat-2.4.1/lib/xmlparse.c:1408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 88
    argCount: 3
    argNames:
    - oldParser
    - context
    - encodingName
    argTypes:
    - XML_Parser
    - XML_Char*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1413
    functionName: XML_ExternalEntityParserCreate
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 36
    functionsReached:
    - XML_ParserFree
    - dtdCopy
    - parserCreate
    - setContext
    - XmlPrologStateInitExternalEntity
    linkageType: ''
    returnType: XML_Parser
    signature: "XML_Parser XML_ExternalEntityParserCreate(XML_Parser oldParser, const
      XML_Char *context,\n                               const XML_Char *encodingName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1422,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - bindings
    - parser
    argTypes:
    - BINDING*
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1425
    functionName: destroyBindings
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: void destroyBindings(BINDING *bindings, XML_Parser parser)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1445,1
    - Dst: destroyBindings
      Src: /src/expat-2.4.1/lib/xmlparse.c:1446,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1447,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1461,1
    - Dst: destroyBindings
      Src: /src/expat-2.4.1/lib/xmlparse.c:1464,1
    - Dst: destroyBindings
      Src: /src/expat-2.4.1/lib/xmlparse.c:1465,1
    - Dst: poolDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1466,1
    - Dst: poolDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1467,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1468,1
    - Dst: dtdDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1477,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1479,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1481,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1483,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1484,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1485,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1486,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1487,1
    - Dst: XML_Parser::m_unknownEncodingRelease
      Src: /src/expat-2.4.1/lib/xmlparse.c:1489,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:1490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1427
    functionDepth: 2
    functionLinenumber: 1427
    functionLinenumberEnd: 1491
    functionName: XML_ParserFree
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 47
    functionsReached:
    - destroyBindings
    - poolDestroy
    - XML_Parser::m_unknownEncodingRelease
    - dtdDestroy
    - FREE
    linkageType: ''
    returnType: void
    signature: void XML_ParserFree(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1497
    functionName: XML_UseParserAsHandlerArg
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_UseParserAsHandlerArg(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:1511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - useDTD
    argTypes:
    - XML_Parser
    - XML_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1514
    functionName: XML_UseForeignDTD
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 7
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Error
    signature: enum XML_Error XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - do_nst
    argTypes:
    - XML_Parser
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1525
    functionName: XML_SetReturnNSTriplet
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetReturnNSTriplet(XML_Parser parser, int do_nst)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - p
    argTypes:
    - XML_Parser
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: XML_SetUserData
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 134
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetUserData(XML_Parser parser, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - parser
    - p
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1549
    functionName: XML_SetBase
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 6
    functionsReached:
    - poolCopyString
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_SetBase(XML_Parser parser, const XML_Char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1556
    functionName: XML_GetBase
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *XMLCALL

      XML_GetBase(XML_Parser parser)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1563
    functionName: XML_GetSpecifiedAttributeCount
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XML_GetSpecifiedAttributeCount(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1570
    functionName: XML_GetIdAttributeIndex
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XML_GetIdAttributeIndex(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1578
    functionName: XML_GetAttributeInfo
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XML_AttrInfo
    signature: 'XML_AttrInfo *XMLCALL

      XML_GetAttributeInfo(XML_Parser parser)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - start
    - end
    argTypes:
    - XML_Parser
    - XML_StartElementHandler
    - XML_EndElementHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1588
    functionName: XML_SetElementHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetElementHandler(XML_Parser parser, XML_StartElementHandler
      start,\n                      XML_EndElementHandler end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - start
    argTypes:
    - XML_Parser
    - XML_StartElementHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1594
    functionName: XML_SetStartElementHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetStartElementHandler(XML_Parser parser, XML_StartElementHandler
      start)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - end
    argTypes:
    - XML_Parser
    - XML_EndElementHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1600
    functionName: XML_SetEndElementHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetEndElementHandler(XML_Parser parser, XML_EndElementHandler
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_CharacterDataHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1607
    functionName: XML_SetCharacterDataHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetCharacterDataHandler(XML_Parser parser,\n                            XML_CharacterDataHandler
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_ProcessingInstructionHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1614
    functionName: XML_SetProcessingInstructionHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetProcessingInstructionHandler(XML_Parser parser,\n                                    XML_ProcessingInstructionHandler
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_CommentHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1620
    functionName: XML_SetCommentHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetCommentHandler(XML_Parser parser, XML_CommentHandler handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - start
    - end
    argTypes:
    - XML_Parser
    - XML_StartCdataSectionHandler
    - XML_EndCdataSectionHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1630
    functionName: XML_SetCdataSectionHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetCdataSectionHandler(XML_Parser parser,\n                           XML_StartCdataSectionHandler
      start,\n                           XML_EndCdataSectionHandler end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - start
    argTypes:
    - XML_Parser
    - XML_StartCdataSectionHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1637
    functionName: XML_SetStartCdataSectionHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetStartCdataSectionHandler(XML_Parser parser,\n                                XML_StartCdataSectionHandler
      start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - end
    argTypes:
    - XML_Parser
    - XML_EndCdataSectionHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1644
    functionName: XML_SetEndCdataSectionHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetEndCdataSectionHandler(XML_Parser parser,\n                              XML_EndCdataSectionHandler
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_DefaultHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1652
    functionName: XML_SetDefaultHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetDefaultHandler(XML_Parser parser, XML_DefaultHandler handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_DefaultHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1660
    functionName: XML_SetDefaultHandlerExpand
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetDefaultHandlerExpand(XML_Parser parser, XML_DefaultHandler
      handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - start
    - end
    argTypes:
    - XML_Parser
    - XML_StartDoctypeDeclHandler
    - XML_EndDoctypeDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1669
    functionName: XML_SetDoctypeDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetDoctypeDeclHandler(XML_Parser parser, XML_StartDoctypeDeclHandler
      start,\n                          XML_EndDoctypeDeclHandler end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - start
    argTypes:
    - XML_Parser
    - XML_StartDoctypeDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1676
    functionName: XML_SetStartDoctypeDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetStartDoctypeDeclHandler(XML_Parser parser,\n                               XML_StartDoctypeDeclHandler
      start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - end
    argTypes:
    - XML_Parser
    - XML_EndDoctypeDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: XML_SetEndDoctypeDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetEndDoctypeDeclHandler(XML_Parser parser, XML_EndDoctypeDeclHandler
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_UnparsedEntityDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: XML_SetUnparsedEntityDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetUnparsedEntityDeclHandler(XML_Parser parser,\n                                 XML_UnparsedEntityDeclHandler
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_NotationDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1695
    functionName: XML_SetNotationDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetNotationDeclHandler(XML_Parser parser, XML_NotationDeclHandler
      handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - start
    - end
    argTypes:
    - XML_Parser
    - XML_StartNamespaceDeclHandler
    - XML_EndNamespaceDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1705
    functionName: XML_SetNamespaceDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetNamespaceDeclHandler(XML_Parser parser,\n                            XML_StartNamespaceDeclHandler
      start,\n                            XML_EndNamespaceDeclHandler end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - start
    argTypes:
    - XML_Parser
    - XML_StartNamespaceDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1712
    functionName: XML_SetStartNamespaceDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetStartNamespaceDeclHandler(XML_Parser parser,\n                                 XML_StartNamespaceDeclHandler
      start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - end
    argTypes:
    - XML_Parser
    - XML_EndNamespaceDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1719
    functionName: XML_SetEndNamespaceDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetEndNamespaceDeclHandler(XML_Parser parser,\n                               XML_EndNamespaceDeclHandler
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_NotStandaloneHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1726
    functionName: XML_SetNotStandaloneHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetNotStandaloneHandler(XML_Parser parser,\n                            XML_NotStandaloneHandler
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_ExternalEntityRefHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1733
    functionName: XML_SetExternalEntityRefHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetExternalEntityRefHandler(XML_Parser parser,\n                                XML_ExternalEntityRefHandler
      handler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - arg
    argTypes:
    - XML_Parser
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1743
    functionName: XML_SetExternalEntityRefHandlerArg
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetExternalEntityRefHandlerArg(XML_Parser parser, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_SkippedEntityHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1750
    functionName: XML_SetSkippedEntityHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetSkippedEntityHandler(XML_Parser parser,\n                            XML_SkippedEntityHandler
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - handler
    - data
    argTypes:
    - XML_Parser
    - XML_UnknownEncodingHandler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1759
    functionName: XML_SetUnknownEncodingHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XML_SetUnknownEncodingHandler(XML_Parser parser,\n                              XML_UnknownEncodingHandler
      handler, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - eldecl
    argTypes:
    - XML_Parser
    - XML_ElementDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1765
    functionName: XML_SetElementDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetElementDeclHandler(XML_Parser parser, XML_ElementDeclHandler
      eldecl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - attdecl
    argTypes:
    - XML_Parser
    - XML_AttlistDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1771
    functionName: XML_SetAttlistDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetAttlistDeclHandler(XML_Parser parser, XML_AttlistDeclHandler
      attdecl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_EntityDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1777
    functionName: XML_SetEntityDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetEntityDeclHandler(XML_Parser parser, XML_EntityDeclHandler
      handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - XML_Parser
    - XML_XmlDeclHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1783
    functionName: XML_SetXmlDeclHandler
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XML_SetXmlDeclHandler(XML_Parser parser, XML_XmlDeclHandler handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - parser
    - peParsing
    argTypes:
    - XML_Parser
    - enum XML_ParamEntityParsing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1800
    functionName: XML_SetParamEntityParsing
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int XML_SetParamEntityParsing(XML_Parser parser,\n                          enum
      XML_ParamEntityParsing peParsing)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XML_SetHashSalt
      Src: /src/expat-2.4.1/lib/xmlparse.c:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - hash_salt
    argTypes:
    - XML_Parser
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1814
    functionName: XML_SetHashSalt
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - XML_SetHashSalt
    linkageType: ''
    returnType: int
    signature: int XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: startParsing
      Src: /src/expat-2.4.1/lib/xmlparse.c:1831,1
    - Dst: XML_Parser::m_processor
      Src: /src/expat-2.4.1/lib/xmlparse.c:1852,1
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:1870,1
    - Dst: XML_Parser::m_processor
      Src: /src/expat-2.4.1/lib/xmlparse.c:1904,1
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:1927,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:1937,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1948,1
    - Dst: XML_GetBuffer
      Src: /src/expat-2.4.1/lib/xmlparse.c:1960,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:1964,1
    - Dst: XML_ParseBuffer
      Src: /src/expat-2.4.1/lib/xmlparse.c:1965,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 106
    argCount: 4
    argNames:
    - parser
    - s
    - len
    - isFinal
    argTypes:
    - XML_Parser
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1816
    functionDepth: 4
    functionLinenumber: 1816
    functionLinenumberEnd: 1967
    functionName: XML_Parse
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 22
    functionsReached:
    - XML_ParseBuffer
    - REALLOC
    - XML_Parser::m_processor
    - XmlUpdatePosition
    - XML_GetBuffer
    - startParsing
    - memcpy
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_Parse(XML_Parser parser, const char *s, int len,
      int isFinal)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: startParsing
      Src: /src/expat-2.4.1/lib/xmlparse.c:1991,1
    - Dst: XML_Parser::m_processor
      Src: /src/expat-2.4.1/lib/xmlparse.c:2007,1
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:2029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - parser
    - len
    - isFinal
    argTypes:
    - XML_Parser
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1970
    functionDepth: 4
    functionLinenumber: 1970
    functionLinenumberEnd: 2033
    functionName: XML_ParseBuffer
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 11
    functionsReached:
    - XML_Parser::m_processor
    - XmlUpdatePosition
    - startParsing
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2053,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2059,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2066,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2072,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2074,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2076,1
    - Dst: memmove
      Src: /src/expat-2.4.1/lib/xmlparse.c:2080,1
    - Dst: memmove
      Src: /src/expat-2.4.1/lib/xmlparse.c:2087,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2088,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2091,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2098,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2109,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:2117,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2118,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:2120,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2124,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:2134,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2135,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:2136,1
    - Dst: EXPAT_SAFE_PTR_DIFF
      Src: /src/expat-2.4.1/lib/xmlparse.c:2139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - parser
    - len
    argTypes:
    - XML_Parser
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2151
    functionName: XML_GetBuffer
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 10
    functionsReached:
    - MALLOC
    - EXPAT_SAFE_PTR_DIFF
    - memmove
    - FREE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *XMLCALL

      XML_GetBuffer(XML_Parser parser, int len)'
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - parser
    - resumable
    argTypes:
    - XML_Parser
    - XML_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2181
    functionName: XML_StopParser
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_StopParser(XML_Parser parser, XML_Bool resumable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parser::m_processor
      Src: /src/expat-2.4.1/lib/xmlparse.c:2195,1
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:2217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2221
    functionName: XML_ResumeParser
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 8
    functionsReached:
    - XML_Parser::m_processor
    - XmlUpdatePosition
    linkageType: ''
    returnType: enum XML_Status
    signature: enum XML_Status XML_ResumeParser(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:2227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - status
    argTypes:
    - XML_Parser
    - XML_ParsingStatus*
    assertStmts:
    - condition: (status != NULL)
      pos:
        line_end: 2226
        line_start: 2226
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 2229
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2229
    functionName: XML_GetParsingStatus
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2236
    functionName: XML_GetErrorCode
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: enum XML_Error
    signature: enum XML_Error XML_GetErrorCode(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2246
    functionName: XML_GetCurrentByteIndex
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: XML_Index
    signature: XML_Index XML_GetCurrentByteIndex(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2255
    functionName: XML_GetCurrentByteCount
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XML_GetCurrentByteCount(XML_Parser parser)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - parser
    - offset
    - size
    argTypes:
    - XML_Parser
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2275
    functionName: XML_GetInputContext
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *XMLCALL

      XML_GetInputContext(XML_Parser parser, int *offset, int *size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:2282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2287
    functionName: XML_GetCurrentLineNumber
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 8
    functionsReached:
    - XmlUpdatePosition
    linkageType: ''
    returnType: XML_Size
    signature: XML_Size XML_GetCurrentLineNumber(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XmlUpdatePosition
      Src: /src/expat-2.4.1/lib/xmlparse.c:2294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2289
    functionDepth: 1
    functionLinenumber: 2289
    functionLinenumberEnd: 2299
    functionName: XML_GetCurrentColumnNumber
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 8
    functionsReached:
    - XmlUpdatePosition
    linkageType: ''
    returnType: XML_Size
    signature: XML_Size XML_GetCurrentColumnNumber(XML_Parser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:2304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - model
    argTypes:
    - XML_Parser
    - XML_Content*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2305
    functionName: XML_FreeContentModel
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: void XML_FreeContentModel(XML_Parser parser, XML_Content *model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - size
    argTypes:
    - XML_Parser
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2307
    functionDepth: 1
    functionLinenumber: 2307
    functionLinenumberEnd: 2312
    functionName: XML_MemMalloc
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - MALLOC
    linkageType: ''
    returnType: void
    signature: 'void *XMLCALL

      XML_MemMalloc(XML_Parser parser, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - parser
    - ptr
    - size
    argTypes:
    - XML_Parser
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2319
    functionName: XML_MemRealloc
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - REALLOC
    linkageType: ''
    returnType: void
    signature: 'void *XMLCALL

      XML_MemRealloc(XML_Parser parser, void *ptr, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:2324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - ptr
    argTypes:
    - XML_Parser
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2325
    functionName: XML_MemFree
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - FREE
    linkageType: ''
    returnType: void
    signature: void XML_MemFree(XML_Parser parser, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2333,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2340
    functionName: XML_DefaultCurrent
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached:
    - reportDefault
    linkageType: ''
    returnType: void
    signature: void XML_DefaultCurrent(XML_Parser parser)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2348,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2350,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2352,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2354,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2356,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2358,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2360,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2362,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2364,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2366,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2368,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2370,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2372,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2374,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2376,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2378,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2380,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2382,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2384,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2386,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2388,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2390,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2392,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2394,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2396,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2398,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2401,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2404,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2406,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2408,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2410,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2412,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2414,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2416,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2418,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2420,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2422,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2425,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2428,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2430,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2434,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2437,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 92
    argCount: 1
    argNames:
    - code
    argTypes:
    - enum XML_Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2342
    functionDepth: 1
    functionLinenumber: 2342
    functionLinenumberEnd: 2445
    functionName: XML_ErrorString
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached:
    - XML_L
    linkageType: ''
    returnType: XML_LChar
    signature: 'XML_LChar *XMLCALL

      XML_ErrorString(enum XML_Error code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V2
      Src: /src/expat-2.4.1/lib/xmlparse.c:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2464
    functionName: XML_ExpatVersion
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - V2
    linkageType: ''
    returnType: XML_LChar
    signature: 'XML_LChar *XMLCALL

      XML_ExpatVersion(void)'
  - 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: 2458
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2458
    functionName: V1
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V1(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: 2459
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2459
    functionName: V2
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V2(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2475
    functionName: XML_ExpatVersionInfo
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: XML_Expat_Version
    signature: XML_Expat_Version XML_ExpatVersionInfo(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2480,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2482,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2485,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2488,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2491,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2494,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2498,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2501,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2504,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2507,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2512,1
    - Dst: XML_L
      Src: /src/expat-2.4.1/lib/xmlparse.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2522
    functionName: XML_GetFeatureList
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - XML_L
    linkageType: ''
    returnType: XML_Feature
    signature: 'XML_Feature *XMLCALL

      XML_GetFeatureList(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/expat-2.4.1/lib/xmlparse.c:2529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - maximumAmplificationFactor
    argTypes:
    - XML_Parser
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2535
    functionName: XML_SetBillionLaughsAttackProtectionMaximumAmplification
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - isnan
    linkageType: ''
    returnType: XML_Bool
    signature: "XML_Bool XML_SetBillionLaughsAttackProtectionMaximumAmplification(\n
      \   XML_Parser parser, float maximumAmplificationFactor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - activationThresholdBytes
    argTypes:
    - XML_Parser
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2545
    functionName: XML_SetBillionLaughsAttackProtectionActivationThreshold
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XML_Bool
    signature: "XML_Bool XML_SetBillionLaughsAttackProtectionActivationThreshold(\n
      \   XML_Parser parser, unsigned long long activationThresholdBytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/expat-2.4.1/lib/xmlparse.c:2570,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2572,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:2590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2595
    functionName: storeRawNames
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - ROUND_UP
    - REALLOC
    - memcpy
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool storeRawNames(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doContent
      Src: /src/expat-2.4.1/lib/xmlparse.c:2600,1
    - Dst: storeRawNames
      Src: /src/expat-2.4.1/lib/xmlparse.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2597
    functionDepth: 2
    functionLinenumber: 2597
    functionLinenumberEnd: 2608
    functionName: contentProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - doContent
    - storeRawNames
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error contentProcessor(XML_Parser parser, const char *start,
      const char *end,\n                 const char **endPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:2613,1
    - Dst: externalEntityInitProcessor2
      Src: /src/expat-2.4.1/lib/xmlparse.c:2617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2618
    functionName: externalEntityInitProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - initializeEncoding
    - externalEntityInitProcessor2
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalEntityInitProcessor(XML_Parser parser, const
      char *start,\n                            const char *end, const char **endPtr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XmlContentTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:2624,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:2628,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:2630,1
    - Dst: externalEntityInitProcessor3
      Src: /src/expat-2.4.1/lib/xmlparse.c:2662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2620
    functionDepth: 1
    functionLinenumber: 2620
    functionLinenumberEnd: 2663
    functionName: externalEntityInitProcessor2
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - accountingOnAbort
    - XmlContentTok
    - accountingDiffTolerated
    - externalEntityInitProcessor3
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalEntityInitProcessor2(XML_Parser parser, const
      char *start,\n                             const char *end, const char **endPtr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XmlContentTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:2671,1
    - Dst: processXmlDecl
      Src: /src/expat-2.4.1/lib/xmlparse.c:2681,1
    - Dst: externalEntityContentProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:2709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2710
    functionName: externalEntityInitProcessor3
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - processXmlDecl
    - XmlContentTok
    - externalEntityContentProcessor
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalEntityInitProcessor3(XML_Parser parser, const
      char *start,\n                             const char *end, const char **endPtr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doContent
      Src: /src/expat-2.4.1/lib/xmlparse.c:2716,1
    - Dst: storeRawNames
      Src: /src/expat-2.4.1/lib/xmlparse.c:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2712
    functionDepth: 2
    functionLinenumber: 2712
    functionLinenumberEnd: 2724
    functionName: externalEntityContentProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - doContent
    - storeRawNames
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalEntityContentProcessor(XML_Parser parser, const
      char *start,\n                               const char *end, const char **endPtr)"
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: XmlContentTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:2746,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:2752,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:2754,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2768,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2770,1
    - Dst: XmlPredefinedEntityName
      Src: /src/expat-2.4.1/lib/xmlparse.c:2810,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:2817,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2822,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2824,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:2827,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:2831,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:2832,1
    - Dst: XML_Parser::m_skippedEntityHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2844,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2846,1
    - Dst: XML_Parser::m_skippedEntityHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2857,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2860,1
    - Dst: processInternalEntity
      Src: /src/expat-2.4.1/lib/xmlparse.c:2863,1
    - Dst: getContext
      Src: /src/expat-2.4.1/lib/xmlparse.c:2869,1
    - Dst: XML_Parser::m_externalEntityRefHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2873,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:2877,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2879,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2892,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2895,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:2897,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:2908,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:2918,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:2928,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:2938,1
    - Dst: storeAtts
      Src: /src/expat-2.4.1/lib/xmlparse.c:2940,1
    - Dst: XML_Parser::m_startElementHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2944,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2947,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:2948,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:2959,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:2960,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:2963,1
    - Dst: storeAtts
      Src: /src/expat-2.4.1/lib/xmlparse.c:2964,1
    - Dst: freeBindings
      Src: /src/expat-2.4.1/lib/xmlparse.c:2967,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:2970,1
    - Dst: XML_Parser::m_startElementHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2972,1
    - Dst: XML_Parser::m_endElementHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:2979,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:2983,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:2984,1
    - Dst: freeBindings
      Src: /src/expat-2.4.1/lib/xmlparse.c:2985,1
    - Dst: epilogProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:2992,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:3006,1
    - Dst: memcmp
      Src: /src/expat-2.4.1/lib/xmlparse.c:3008,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3033,1
    - Dst: XML_Parser::m_endElementHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3035,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3037,1
    - Dst: XML_Parser::m_endNamespaceDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3041,1
    - Dst: epilogProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:3053,1
    - Dst: XmlCharRefNumber
      Src: /src/expat-2.4.1/lib/xmlparse.c:3058,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3063,1
    - Dst: XmlEncode
      Src: /src/expat-2.4.1/lib/xmlparse.c:3064,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3066,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3073,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3075,1
    - Dst: XML_Parser::m_startCdataSectionHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3080,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3095,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3099,1
    - Dst: doCdataSection
      Src: /src/expat-2.4.1/lib/xmlparse.c:3101,1
    - Dst: MUST_CONVERT
      Src: /src/expat-2.4.1/lib/xmlparse.c:3115,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:3117,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3118,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3122,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3126,1
    - Dst: MUST_CONVERT
      Src: /src/expat-2.4.1/lib/xmlparse.c:3143,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:3146,1
    - Dst: charDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3149,1
    - Dst: charDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3157,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3160,1
    - Dst: reportProcessingInstruction
      Src: /src/expat-2.4.1/lib/xmlparse.c:3163,1
    - Dst: reportComment
      Src: /src/expat-2.4.1/lib/xmlparse.c:3167,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3179,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 348
    argCount: 8
    argNames:
    - parser
    - startTagLevel
    - enc
    - s
    - end
    - nextPtr
    - haveMore
    - account
    argTypes:
    - XML_Parser
    - int
    - ENCODING*
    - char*
    - char*
    - char**
    - XML_Bool
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 3194
    functionName: doContent
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_Parser::m_externalEntityRefHandler
    - XmlContentTok
    - epilogProcessor
    - XML_Parser::m_startElementHandler
    - processInternalEntity
    - poolStoreString
    - XML_Parser::m_endElementHandler
    - XmlNameLength
    - MALLOC
    - doCdataSection
    - lookup
    - charDataHandler
    - accountingDiffTolerated
    - freeBindings
    - memcmp
    - XmlPredefinedEntityName
    - XML_Parser::m_skippedEntityHandler
    - poolFinish
    - XML_Parser::m_startCdataSectionHandler
    - XML_Parser::m_endNamespaceDeclHandler
    - FREE
    - XmlConvert
    - accountingOnAbort
    - reportComment
    - XML_T
    - REALLOC
    - reportProcessingInstruction
    - poolClear
    - poolDiscard
    - XmlCharRefNumber
    - reportDefault
    - XmlEncode
    - getContext
    - XML_Parser::m_characterDataHandler
    - MUST_CONVERT
    - storeAtts
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error doContent(XML_Parser parser, int startTagLevel, const
      ENCODING *enc,\n          const char *s, const char *end, const char **nextPtr,\n
      \         XML_Bool haveMore, enum XML_Account account)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parser::m_endNamespaceDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - bindings
    argTypes:
    - XML_Parser
    - BINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3216
    functionName: freeBindings
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XML_Parser::m_endNamespaceDeclHandler
    linkageType: ''
    returnType: void
    signature: void freeBindings(XML_Parser parser, BINDING *bindings)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:3247,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:3249,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:3252,1
    - Dst: setElementTypePrefix
      Src: /src/expat-2.4.1/lib/xmlparse.c:3256,1
    - Dst: XmlGetAttributes
      Src: /src/expat-2.4.1/lib/xmlparse.c:3262,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3270,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3278,1
    - Dst: XmlGetAttributes
      Src: /src/expat-2.4.1/lib/xmlparse.c:3287,1
    - Dst: getAttributeId
      Src: /src/expat-2.4.1/lib/xmlparse.c:3298,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:3299,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:3306,1
    - Dst: storeAttributeValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:3339,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:3344,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:3345,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:3348,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:3353,1
    - Dst: addBinding
      Src: /src/expat-2.4.1/lib/xmlparse.c:3359,1
    - Dst: addBinding
      Src: /src/expat-2.4.1/lib/xmlparse.c:3391,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3428,1
    - Dst: copy_salt_to_sipkey
      Src: /src/expat-2.4.1/lib/xmlparse.c:3456,1
    - Dst: sip24_init
      Src: /src/expat-2.4.1/lib/xmlparse.c:3457,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:3460,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:3484,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/lib/xmlparse.c:3488,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3490,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/lib/xmlparse.c:3493,1
    - Dst: keylen
      Src: /src/expat-2.4.1/lib/xmlparse.c:3493,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:3496,1
    - Dst: sip24_final
      Src: /src/expat-2.4.1/lib/xmlparse.c:3500,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:3511,1
    - Dst: PROBE_STEP
      Src: /src/expat-2.4.1/lib/xmlparse.c:3520,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:3529,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:3535,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:3536,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3567,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3588,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:3592,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:3596,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:3601,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:3606,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 241
    argCount: 6
    argNames:
    - parser
    - enc
    - attStr
    - tagNamePtr
    - bindingsPtr
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - TAG_NAME*
    - BINDING**
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3228
    functionDepth: 3
    functionLinenumber: 3228
    functionLinenumberEnd: 3610
    functionName: storeAtts
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolStoreString
    - setElementTypePrefix
    - PROBE_STEP
    - XmlNameLength
    - poolAppendChar
    - MALLOC
    - lookup
    - addBinding
    - poolCopyString
    - poolStart
    - storeAttributeValue
    - FREE
    - copy_salt_to_sipkey
    - memcpy
    - XML_T
    - REALLOC
    - keylen
    - sip24_init
    - sip24_update
    - getAttributeId
    - XmlGetAttributes
    - sip24_final
    - poolFinish
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error storeAtts(XML_Parser parser, const ENCODING *enc, const
      char *attStr,\n          TAG_NAME *tagNamePtr, BINDING **bindingsPtr,\n          enum
      XML_Account account)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3645,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3648,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3649,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3650,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3652,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3652,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3653,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3656,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3683,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3692,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:3696,1
    - Dst: FREE
      Src: /src/expat-2.4.1/lib/xmlparse.c:3698,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:3704,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:3711,1
    - Dst: XML_Parser::m_startNamespaceDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3719,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 58
    argCount: 5
    argNames:
    - parser
    - prefix
    - attId
    - uri
    - bindingsPtr
    argTypes:
    - XML_Parser
    - PREFIX*
    - ATTRIBUTE_ID*
    - XML_Char*
    - BINDING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3615
    functionDepth: 1
    functionLinenumber: 3615
    functionLinenumberEnd: 3722
    functionName: addBinding
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XML_T
    - REALLOC
    - XML_Parser::m_startNamespaceDeclHandler
    - MALLOC
    - FREE
    - memcpy
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error addBinding(XML_Parser parser, PREFIX *prefix, const
      ATTRIBUTE_ID *attId,\n           const XML_Char *uri, BINDING **bindingsPtr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doCdataSection
      Src: /src/expat-2.4.1/lib/xmlparse.c:3730,1
    - Dst: externalEntityContentProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:3738,1
    - Dst: contentProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:3741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3745
      start: 3727
    functionDepth: 3
    functionLinenumber: 3727
    functionLinenumberEnd: 3745
    functionName: cdataSectionProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - contentProcessor
    - doCdataSection
    - externalEntityContentProcessor
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error cdataSectionProcessor(XML_Parser parser, const char
      *start, const char *end,\n                      const char **endPtr)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: XmlCdataSectionTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:3770,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:3772,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:3773,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:3777,1
    - Dst: XML_Parser::m_endCdataSectionHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3783,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3787,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3791,1
    - Dst: XML_Parser::m_characterDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3801,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3803,1
    - Dst: MUST_CONVERT
      Src: /src/expat-2.4.1/lib/xmlparse.c:3808,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:3811,1
    - Dst: charDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3814,1
    - Dst: charDataHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:3822,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3825,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 7
    argNames:
    - parser
    - enc
    - startPtr
    - end
    - nextPtr
    - haveMore
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - char**
    - char*
    - char**
    - XML_Bool
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3750
    functionDepth: 1
    functionLinenumber: 3750
    functionLinenumberEnd: 3867
    functionName: doCdataSection
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XmlConvert
    - accountingOnAbort
    - XML_Parser::m_characterDataHandler
    - XmlCdataSectionTok
    - reportDefault
    - UNUSED_P
    - charDataHandler
    - XML_Parser::m_endCdataSectionHandler
    - MUST_CONVERT
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error doCdataSection(XML_Parser parser, const ENCODING *enc,
      const char **startPtr,\n               const char *end, const char **nextPtr,
      XML_Bool haveMore,\n               enum XML_Account account)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doIgnoreSection
      Src: /src/expat-2.4.1/lib/xmlparse.c:3878,1
    - Dst: prologProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:3884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - endPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3887
      start: 3874
    functionDepth: 1
    functionLinenumber: 3874
    functionLinenumberEnd: 3887
    functionName: ignoreSectionProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - doIgnoreSection
    - prologProcessor
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error ignoreSectionProcessor(XML_Parser parser, const char
      *start, const char *end,\n                       const char **endPtr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XmlIgnoreSectionTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:3922,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:3924,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:3926,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:3934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 6
    argNames:
    - parser
    - enc
    - startPtr
    - end
    - nextPtr
    - haveMore
    argTypes:
    - XML_Parser
    - ENCODING*
    - char**
    - char*
    - char**
    - XML_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3970
    functionName: doIgnoreSection
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XmlIgnoreSectionTok
    - accountingOnAbort
    - reportDefault
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error doIgnoreSection(XML_Parser parser, const ENCODING *enc,
      const char **startPtr,\n                const char *end, const char **nextPtr,
      XML_Bool haveMore)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: handleUnknownEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:4001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3974
    functionDepth: 1
    functionLinenumber: 3974
    functionLinenumberEnd: 4002
    functionName: initializeEncoding
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - handleUnknownEncoding
    linkageType: ''
    returnType: enum XML_Error
    signature: enum XML_Error initializeEncoding(XML_Parser parser)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:4016,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:4018,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4041,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:4043,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4046,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4050,1
    - Dst: XML_Parser::m_xmlDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4055,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:4058,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4076,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:4078,1
    - Dst: handleUnknownEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:4082,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4083,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4091,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 4
    argNames:
    - parser
    - isGeneralTextEntity
    - s
    - next
    argTypes:
    - XML_Parser
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4004
    functionDepth: 1
    functionLinenumber: 4004
    functionLinenumberEnd: 4094
    functionName: processXmlDecl
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - handleUnknownEncoding
    - poolStoreString
    - poolClear
    - accountingOnAbort
    - XML_Parser::m_xmlDeclHandler
    - XmlNameLength
    - reportDefault
    - poolFinish
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
      const char *s,\n               const char *next)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_Parser::m_unknownEncodingHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4106,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:4109,1
    - Dst: XmlSizeOfUnknownEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:4109,1
    - Dst: XML_Encoding::release
      Src: /src/expat-2.4.1/lib/xmlparse.c:4112,1
    - Dst: XML_Encoding::release
      Src: /src/expat-2.4.1/lib/xmlparse.c:4125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - parser
    - encodingName
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4096
    functionDepth: 1
    functionLinenumber: 4096
    functionLinenumberEnd: 4128
    functionName: handleUnknownEncoding
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_Encoding::release
    - XmlSizeOfUnknownEncoding
    - MALLOC
    - XML_Parser::m_unknownEncodingHandler
    linkageType: ''
    returnType: enum XML_Error
    signature: enum XML_Error handleUnknownEncoding(XML_Parser parser, const XML_Char
      *encodingName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:4133,1
    - Dst: prologProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:4137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4130
    functionDepth: 2
    functionLinenumber: 4130
    functionLinenumberEnd: 4138
    functionName: prologInitProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - initializeEncoding
    - prologProcessor
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error prologInitProcessor(XML_Parser parser, const char *s,
      const char *end,\n                    const char **nextPtr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initializeEncoding
      Src: /src/expat-2.4.1/lib/xmlparse.c:4145,1
    - Dst: entityValueInitProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:4155,1
    - Dst: externalParEntProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:4158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4160
      start: 4142
    functionDepth: 2
    functionLinenumber: 4142
    functionLinenumberEnd: 4160
    functionName: externalParEntInitProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - initializeEncoding
    - externalParEntProcessor
    - entityValueInitProcessor
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalParEntInitProcessor(XML_Parser parser, const
      char *s, const char *end,\n                            const char **nextPtr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:4171,1
    - Dst: storeEntityValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:4194,1
    - Dst: processXmlDecl
      Src: /src/expat-2.4.1/lib/xmlparse.c:4198,1
    - Dst: entityValueProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:4211,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:4223,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:4225,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4162
    functionDepth: 2
    functionLinenumber: 4162
    functionLinenumberEnd: 4244
    functionName: entityValueInitProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - processXmlDecl
    - accountingOnAbort
    - storeEntityValue
    - entityValueProcessor
    - XmlPrologTok
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error entityValueInitProcessor(XML_Parser parser, const char
      *s, const char *end,\n                         const char **nextPtr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:4252,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:4276,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:4278,1
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:4283,1
    - Dst: doProlog
      Src: /src/expat-2.4.1/lib/xmlparse.c:4287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4246
    functionDepth: 1
    functionLinenumber: 4246
    functionLinenumberEnd: 4290
    functionName: externalParEntProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - accountingOnAbort
    - doProlog
    - XmlPrologTok
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error externalParEntProcessor(XML_Parser parser, const char
      *s, const char *end,\n                        const char **nextPtr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:4301,1
    - Dst: storeEntityValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:4322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4292
    functionDepth: 1
    functionLinenumber: 4292
    functionLinenumberEnd: 4326
    functionName: entityValueProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XmlPrologTok
    - storeEntityValue
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error entityValueProcessor(XML_Parser parser, const char
      *s, const char *end,\n                     const char **nextPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:4334,1
    - Dst: doProlog
      Src: /src/expat-2.4.1/lib/xmlparse.c:4335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4338
    functionName: prologProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - doProlog
    - XmlPrologTok
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error prologProcessor(XML_Parser parser, const char *s, const
      char *end,\n                const char **nextPtr)"
  - BBCount: 226
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:4371,1
    - Dst: XmlTokenRole
      Src: /src/expat-2.4.1/lib/xmlparse.c:4423,1
    - Dst: XmlTokenRole
      Src: /src/expat-2.4.1/lib/xmlparse.c:4437,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:4445,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:4446,1
    - Dst: processXmlDecl
      Src: /src/expat-2.4.1/lib/xmlparse.c:4453,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4462,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4465,1
    - Dst: XML_Parser::m_startDoctypeDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4473,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4477,1
    - Dst: processXmlDecl
      Src: /src/expat-2.4.1/lib/xmlparse.c:4483,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4493,1
    - Dst: XmlIsPublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4501,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4503,1
    - Dst: normalizePublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4508,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4509,1
    - Dst: XmlIsPublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4516,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4521,1
    - Dst: normalizePublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4525,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4527,1
    - Dst: XML_Parser::m_startDoctypeDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4542,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4545,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4558,1
    - Dst: XML_Parser::m_externalEntityRefHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4571,1
    - Dst: XML_Parser::m_notStandaloneHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4577,1
    - Dst: XML_Parser::m_endDoctypeDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4591,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4605,1
    - Dst: XML_Parser::m_externalEntityRefHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4611,1
    - Dst: XML_Parser::m_notStandaloneHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4617,1
    - Dst: contentProcessor
      Src: /src/expat-2.4.1/lib/xmlparse.c:4630,1
    - Dst: getElementType
      Src: /src/expat-2.4.1/lib/xmlparse.c:4632,1
    - Dst: getAttributeId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4637,1
    - Dst: poolAppendString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4683,1
    - Dst: poolAppend
      Src: /src/expat-2.4.1/lib/xmlparse.c:4685,1
    - Dst: defineAttribute
      Src: /src/expat-2.4.1/lib/xmlparse.c:4694,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4700,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4701,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4702,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:4704,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4704,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:4705,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4705,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4708,1
    - Dst: XML_Parser::m_attlistDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4711,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4715,1
    - Dst: storeAttributeValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:4724,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:4730,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4731,1
    - Dst: defineAttribute
      Src: /src/expat-2.4.1/lib/xmlparse.c:4733,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4738,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4739,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4740,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:4742,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4742,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:4743,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:4743,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4746,1
    - Dst: XML_Parser::m_attlistDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4749,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4753,1
    - Dst: storeEntityValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:4761,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:4764,1
    - Dst: poolLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:4766,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4767,1
    - Dst: XML_Parser::m_entityDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4770,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:4777,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4788,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4793,1
    - Dst: XML_Parser::m_notStandaloneHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4807,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4813,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4824,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4829,1
    - Dst: XML_Parser::m_entityDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4841,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4851,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4854,1
    - Dst: XML_Parser::m_unparsedEntityDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4857,1
    - Dst: XML_Parser::m_entityDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4864,1
    - Dst: XmlPredefinedEntityName
      Src: /src/expat-2.4.1/lib/xmlparse.c:4873,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4878,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4881,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:4886,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4889,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:4901,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4908,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:4911,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:4916,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4919,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:4931,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4943,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4946,1
    - Dst: XmlIsPublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4951,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4955,1
    - Dst: normalizePublicId
      Src: /src/expat-2.4.1/lib/xmlparse.c:4960,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:4962,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:4968,1
    - Dst: XML_Parser::m_notationDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4974,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4979,1
    - Dst: XML_Parser::m_notationDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:4984,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:4989,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:5006,1
    - Dst: doIgnoreSection
      Src: /src/expat-2.4.1/lib/xmlparse.c:5008,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:5021,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:5031,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:5039,1
    - Dst: nextScaffoldPart
      Src: /src/expat-2.4.1/lib/xmlparse.c:5048,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:5051,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:5089,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:5093,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:5094,1
    - Dst: XML_Parser::m_skippedEntityHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5132,1
    - Dst: processInternalEntity
      Src: /src/expat-2.4.1/lib/xmlparse.c:5143,1
    - Dst: entityTrackingOnOpen
      Src: /src/expat-2.4.1/lib/xmlparse.c:5152,1
    - Dst: XML_Parser::m_externalEntityRefHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5153,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5156,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5160,1
    - Dst: XML_Parser::m_notStandaloneHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5174,1
    - Dst: getElementType
      Src: /src/expat-2.4.1/lib/xmlparse.c:5182,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:5197,1
    - Dst: XML_Parser::m_elementDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5207,1
    - Dst: nextScaffoldPart
      Src: /src/expat-2.4.1/lib/xmlparse.c:5242,1
    - Dst: getElementType
      Src: /src/expat-2.4.1/lib/xmlparse.c:5247,1
    - Dst: build_model
      Src: /src/expat-2.4.1/lib/xmlparse.c:5280,1
    - Dst: XML_Parser::m_elementDeclHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5284,1
    - Dst: reportProcessingInstruction
      Src: /src/expat-2.4.1/lib/xmlparse.c:5295,1
    - Dst: reportComment
      Src: /src/expat-2.4.1/lib/xmlparse.c:5300,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:5334,1
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5344,1
    CyclomaticComplexity: 262
    EdgeCount: 262
    ICount: 739
    argCount: 10
    argNames:
    - parser
    - enc
    - s
    - end
    - tok
    - next
    - nextPtr
    - haveMore
    - allowClosingDoctype
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    - int
    - char*
    - char**
    - XML_Bool
    - XML_Bool
    - enum XML_Account
    assertStmts:
    - condition: (dtd->scaffIndex != NULL)
      pos:
        line_end: 5050
        line_start: 5050
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 5348
      start: 4340
    functionDepth: 3
    functionLinenumber: 4340
    functionLinenumberEnd: 5348
    functionName: doProlog
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_Parser::m_externalEntityRefHandler
    - processInternalEntity
    - processXmlDecl
    - poolStoreString
    - XML_Parser::m_notStandaloneHandler
    - poolLength
    - poolAppendChar
    - MALLOC
    - lookup
    - poolAppend
    - entityTrackingOnClose
    - XmlIsPublicId
    - XML_Parser::m_elementDeclHandler
    - accountingDiffTolerated
    - XmlPredefinedEntityName
    - XML_Parser::m_skippedEntityHandler
    - nextScaffoldPart
    - XmlTokenRole
    - defineAttribute
    - doIgnoreSection
    - XML_Parser::m_notationDeclHandler
    - getElementType
    - storeEntityValue
    - poolStart
    - storeAttributeValue
    - entityTrackingOnOpen
    - XML_Parser::m_entityDeclHandler
    - XML_Parser::m_attlistDeclHandler
    - contentProcessor
    - XML_Parser::m_unparsedEntityDeclHandler
    - accountingOnAbort
    - UNUSED_P
    - assert
    - reportComment
    - build_model
    - XML_T
    - REALLOC
    - poolAppendString
    - reportProcessingInstruction
    - poolClear
    - normalizePublicId
    - XML_Parser::m_startDoctypeDeclHandler
    - poolDiscard
    - reportDefault
    - getAttributeId
    - XML_Parser::m_endDoctypeDeclHandler
    - XmlPrologTok
    - poolFinish
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error doProlog(XML_Parser parser, const ENCODING *enc, const
      char *s, const char *end,\n         int tok, const char *next, const char **nextPtr,
      XML_Bool haveMore,\n         XML_Bool allowClosingDoctype, enum XML_Account
      account)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5357,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:5359,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:5361,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:5370,1
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:5381,1
    - Dst: reportProcessingInstruction
      Src: /src/expat-2.4.1/lib/xmlparse.c:5384,1
    - Dst: reportComment
      Src: /src/expat-2.4.1/lib/xmlparse.c:5388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5350
    functionDepth: 1
    functionLinenumber: 5350
    functionLinenumberEnd: 5419
    functionName: epilogProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - reportProcessingInstruction
    - accountingOnAbort
    - reportDefault
    - reportComment
    - XmlPrologTok
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error epilogProcessor(XML_Parser parser, const char *s, const
      char *end,\n                const char **nextPtr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:5433,1
    - Dst: entityTrackingOnOpen
      Src: /src/expat-2.4.1/lib/xmlparse.c:5439,1
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5457,1
    - Dst: doProlog
      Src: /src/expat-2.4.1/lib/xmlparse.c:5458,1
    - Dst: doContent
      Src: /src/expat-2.4.1/lib/xmlparse.c:5463,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - parser
    - entity
    - betweenDecl
    argTypes:
    - XML_Parser
    - ENTITY*
    - XML_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5483
      start: 5421
    functionDepth: 4
    functionLinenumber: 5421
    functionLinenumberEnd: 5483
    functionName: processInternalEntity
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - doContent
    - MALLOC
    - entityTrackingOnClose
    - doProlog
    - XmlPrologTok
    - entityTrackingOnOpen
    linkageType: ''
    returnType: enum XML_Error
    signature: enum XML_Error processInternalEntity(XML_Parser parser, ENTITY *entity,
      XML_Bool betweenDecl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5505,1
    - Dst: doProlog
      Src: /src/expat-2.4.1/lib/xmlparse.c:5506,1
    - Dst: doContent
      Src: /src/expat-2.4.1/lib/xmlparse.c:5511,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5523,1
    - Dst: XmlPrologTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5536,1
    - Dst: doProlog
      Src: /src/expat-2.4.1/lib/xmlparse.c:5537,1
    - Dst: doContent
      Src: /src/expat-2.4.1/lib/xmlparse.c:5545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5485
    functionDepth: 4
    functionLinenumber: 5485
    functionLinenumberEnd: 5550
    functionName: internalEntityProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - doProlog
    - XmlPrologTok
    - doContent
    - entityTrackingOnClose
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error internalEntityProcessor(XML_Parser parser, const char
      *s, const char *end,\n                        const char **nextPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:5555,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:5556,1
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:5557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - parser
    - s
    - end
    - nextPtr
    argTypes:
    - XML_Parser
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5559
      start: 5552
    functionDepth: 1
    functionLinenumber: 5552
    functionLinenumberEnd: 5559
    functionName: errorProcessor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - UNUSED_P
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error errorProcessor(XML_Parser parser, const char *s, const
      char *end,\n               const char **nextPtr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: appendAttributeValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:5566,1
    - Dst: poolLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:5569,1
    - Dst: poolLastChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5569,1
    - Dst: poolChop
      Src: /src/expat-2.4.1/lib/xmlparse.c:5570,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5571,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:5571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - parser
    - enc
    - isCdata
    - ptr
    - end
    - pool
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - XML_Bool
    - char*
    - char*
    - STRING_POOL*
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5561
    functionDepth: 1
    functionLinenumber: 5561
    functionLinenumberEnd: 5574
    functionName: storeAttributeValue
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_T
    - poolLength
    - poolAppendChar
    - poolChop
    - poolLastChar
    - appendAttributeValue
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error storeAttributeValue(XML_Parser parser, const ENCODING
      *enc, XML_Bool isCdata,\n                    const char *ptr, const char *end,
      STRING_POOL *pool,\n                    enum XML_Account account)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:5582,1
    - Dst: XmlAttributeValueTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5588,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:5590,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:5591,1
    - Dst: XmlCharRefNumber
      Src: /src/expat-2.4.1/lib/xmlparse.c:5609,1
    - Dst: poolLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:5616,1
    - Dst: poolLastChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5616,1
    - Dst: XmlEncode
      Src: /src/expat-2.4.1/lib/xmlparse.c:5618,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5629,1
    - Dst: poolAppend
      Src: /src/expat-2.4.1/lib/xmlparse.c:5634,1
    - Dst: poolLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:5642,1
    - Dst: poolLastChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5642,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5644,1
    - Dst: XmlPredefinedEntityName
      Src: /src/expat-2.4.1/lib/xmlparse.c:5651,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:5658,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:5662,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:5666,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:5671,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:5672,1
    - Dst: entityTrackingOnOpen
      Src: /src/expat-2.4.1/lib/xmlparse.c:5740,1
    - Dst: appendAttributeValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:5742,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5747,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 103
    argCount: 7
    argNames:
    - parser
    - enc
    - isCdata
    - ptr
    - end
    - pool
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - XML_Bool
    - char*
    - char*
    - STRING_POOL*
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5774
      start: 5576
    functionDepth: 1
    functionLinenumber: 5576
    functionLinenumberEnd: 5774
    functionName: appendAttributeValue
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XmlPredefinedEntityName
    - poolStoreString
    - entityTrackingOnOpen
    - accountingOnAbort
    - poolLength
    - poolDiscard
    - XmlCharRefNumber
    - poolAppendChar
    - XmlEncode
    - entityTrackingOnClose
    - UNUSED_P
    - lookup
    - poolAppend
    - XmlAttributeValueTok
    - poolLastChar
    - accountingDiffTolerated
    - appendAttributeValue
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error appendAttributeValue(XML_Parser parser, const ENCODING
      *enc, XML_Bool isCdata,\n                     const char *ptr, const char *end,
      STRING_POOL *pool,\n                     enum XML_Account account)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_P
      Src: /src/expat-2.4.1/lib/xmlparse.c:5787,1
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:5793,1
    - Dst: XmlEntityValueTok
      Src: /src/expat-2.4.1/lib/xmlparse.c:5800,1
    - Dst: accountingDiffTolerated
      Src: /src/expat-2.4.1/lib/xmlparse.c:5803,1
    - Dst: accountingOnAbort
      Src: /src/expat-2.4.1/lib/xmlparse.c:5805,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:5817,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:5824,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:5825,1
    - Dst: entityTrackingOnOpen
      Src: /src/expat-2.4.1/lib/xmlparse.c:5846,1
    - Dst: XML_Parser::m_externalEntityRefHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:5847,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5850,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5855,1
    - Dst: entityTrackingOnOpen
      Src: /src/expat-2.4.1/lib/xmlparse.c:5863,1
    - Dst: storeEntityValue
      Src: /src/expat-2.4.1/lib/xmlparse.c:5864,1
    - Dst: entityTrackingOnClose
      Src: /src/expat-2.4.1/lib/xmlparse.c:5868,1
    - Dst: poolAppend
      Src: /src/expat-2.4.1/lib/xmlparse.c:5886,1
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:5895,1
    - Dst: XmlCharRefNumber
      Src: /src/expat-2.4.1/lib/xmlparse.c:5904,1
    - Dst: XmlEncode
      Src: /src/expat-2.4.1/lib/xmlparse.c:5911,1
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:5922,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 138
    argCount: 5
    argNames:
    - parser
    - enc
    - entityTextPtr
    - entityTextEnd
    - account
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    - enum XML_Account
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5960
      start: 5776
    functionDepth: 1
    functionLinenumber: 5776
    functionLinenumberEnd: 5960
    functionName: storeEntityValue
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - XML_Parser::m_externalEntityRefHandler
    - XmlEntityValueTok
    - poolStoreString
    - entityTrackingOnOpen
    - accountingOnAbort
    - poolDiscard
    - XmlCharRefNumber
    - poolGrow
    - poolAppend
    - XmlEncode
    - UNUSED_P
    - lookup
    - entityTrackingOnClose
    - storeEntityValue
    - accountingDiffTolerated
    linkageType: ''
    returnType: enum XML_Error
    signature: "enum XML_Error storeEntityValue(XML_Parser parser, const ENCODING
      *enc,\n                 const char *entityTextPtr, const char *entityTextEnd,\n
      \                enum XML_Account account)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:5966,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:5980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5981
      start: 5962
    functionDepth: 1
    functionLinenumber: 5962
    functionLinenumberEnd: 5981
    functionName: normalizeLines
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - XML_T
    linkageType: ''
    returnType: void
    signature: void normalizeLines(XML_Char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:5991,1
    - Dst: XmlNameLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:5995,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:5996,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:5999,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6000,1
    - Dst: XmlSkipS
      Src: /src/expat-2.4.1/lib/xmlparse.c:6000,1
    - Dst: normalizeLines
      Src: /src/expat-2.4.1/lib/xmlparse.c:6004,1
    - Dst: XML_Parser::m_processingInstructionHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:6005,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - parser
    - enc
    - start
    - end
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 5983
    functionDepth: 2
    functionLinenumber: 5983
    functionLinenumberEnd: 6008
    functionName: reportProcessingInstruction
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - XmlSkipS
    - poolStoreString
    - poolClear
    - XmlNameLength
    - reportDefault
    - XML_Parser::m_processingInstructionHandler
    - poolFinish
    - normalizeLines
    linkageType: ''
    returnType: int
    signature: "int reportProcessingInstruction(XML_Parser parser, const ENCODING
      *enc,\n                            const char *start, const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reportDefault
      Src: /src/expat-2.4.1/lib/xmlparse.c:6016,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6019,1
    - Dst: normalizeLines
      Src: /src/expat-2.4.1/lib/xmlparse.c:6024,1
    - Dst: XML_Parser::m_commentHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:6025,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - parser
    - enc
    - start
    - end
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 6010
    functionDepth: 2
    functionLinenumber: 6010
    functionLinenumberEnd: 6028
    functionName: reportComment
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - poolClear
    - poolStoreString
    - XML_Parser::m_commentHandler
    - reportDefault
    - normalizeLines
    linkageType: ''
    returnType: int
    signature: "int reportComment(XML_Parser parser, const ENCODING *enc, const char
      *start,\n              const char *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MUST_CONVERT
      Src: /src/expat-2.4.1/lib/xmlparse.c:6033,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:6064,1
    - Dst: XML_Parser::m_defaultHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:6066,1
    - Dst: XML_Parser::m_defaultHandler
      Src: /src/expat-2.4.1/lib/xmlparse.c:6072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - parser
    - enc
    - s
    - end
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6074
      start: 6030
    functionDepth: 1
    functionLinenumber: 6030
    functionLinenumberEnd: 6074
    functionName: reportDefault
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached:
    - XmlConvert
    - MUST_CONVERT
    - XML_Parser::m_defaultHandler
    linkageType: ''
    returnType: void
    signature: "void reportDefault(XML_Parser parser, const ENCODING *enc, const char
      *s,\n              const char *end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:6093,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:6102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - type
    - attId
    - isCdata
    - isId
    - value
    - parser
    argTypes:
    - ELEMENT_TYPE*
    - ATTRIBUTE_ID*
    - XML_Bool
    - XML_Bool
    - XML_Char*
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6118
      start: 6076
    functionDepth: 1
    functionLinenumber: 6076
    functionLinenumberEnd: 6118
    functionName: defineAttribute
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - MALLOC
    - REALLOC
    linkageType: ''
    returnType: int
    signature: "int defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool
      isCdata,\n                XML_Bool isId, const XML_Char *value, XML_Parser parser)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6125,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6129,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6132,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6132,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6134,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6134,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6138,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:6139,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - elementType
    argTypes:
    - XML_Parser
    - ELEMENT_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6147
      start: 6120
    functionDepth: 1
    functionLinenumber: 6120
    functionLinenumberEnd: 6147
    functionName: setElementTypePrefix
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XML_T
    - poolDiscard
    - poolAppendChar
    - lookup
    - poolStart
    - poolFinish
    linkageType: ''
    returnType: int
    signature: int setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6155,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6155,1
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6157,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6162,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6167,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:6169,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6172,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6172,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6173,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6173,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6174,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6175,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6175,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6176,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6179,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6186,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6189,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6192,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6192,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6194,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6195,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6198,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:6199,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6201,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - parser
    - enc
    - start
    - end
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6208
      start: 6149
    functionDepth: 1
    functionLinenumber: 6149
    functionLinenumberEnd: 6208
    functionName: getAttributeId
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_T
    - poolStoreString
    - poolDiscard
    - poolAppendChar
    - lookup
    - poolStart
    - poolFinish
    linkageType: ''
    returnType: ATTRIBUTE_ID
    signature: "ATTRIBUTE_ID *\ngetAttributeId(XML_Parser parser, const ENCODING *enc,
      const char *start,\n               const char *end)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6221,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6221,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6227,1
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6254,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6259,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6271,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6274,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6276,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6276,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6282,1
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6287,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6290,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6295,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6298,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6303,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6303,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6306
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6306
    functionName: getContext
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - hashTableIterInit
    - hashTableIterNext
    - poolAppendChar
    - XML_T
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *

      getContext(XML_Parser parser)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6313,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6314,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6316,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6316,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6318,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6319,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6322,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6325,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6326,1
    - Dst: poolLength
      Src: /src/expat-2.4.1/lib/xmlparse.c:6328,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6331,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6331,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6334,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6335,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6338,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6339,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6343,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6345,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6347,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6349,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6349,1
    - Dst: addBinding
      Src: /src/expat-2.4.1/lib/xmlparse.c:6351,1
    - Dst: poolStart
      Src: /src/expat-2.4.1/lib/xmlparse.c:6351,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:6355,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6356,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6360,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - parser
    - context
    argTypes:
    - XML_Parser
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6308
    functionDepth: 2
    functionLinenumber: 6308
    functionLinenumberEnd: 6366
    functionName: setContext
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_T
    - addBinding
    - poolLength
    - poolDiscard
    - poolAppendChar
    - poolCopyString
    - lookup
    - poolStart
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool setContext(XML_Parser parser, const XML_Char *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - publicId
    argTypes:
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6387
      start: 6368
    functionDepth: 1
    functionLinenumber: 6368
    functionLinenumberEnd: 6387
    functionName: normalizePublicId
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XML_T
    linkageType: ''
    returnType: void
    signature: void normalizePublicId(XML_Char *publicId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_Memory_Handling_Suite*::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6391,1
    - Dst: poolInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6394,1
    - Dst: poolInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6395,1
    - Dst: hashTableInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6396,1
    - Dst: hashTableInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6397,1
    - Dst: hashTableInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6398,1
    - Dst: hashTableInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6399,1
    - Dst: hashTableInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ms
    argTypes:
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6419
      start: 6389
    functionDepth: 1
    functionLinenumber: 6389
    functionLinenumberEnd: 6419
    functionName: dtdCreate
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolInit
    - XML_Memory_Handling_Suite*::malloc_fcn
    - hashTableInit
    linkageType: ''
    returnType: DTD
    signature: 'DTD *

      dtdCreate(const XML_Memory_Handling_Suite *ms)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6424,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6426,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6430,1
    - Dst: hashTableClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6432,1
    - Dst: hashTableClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6435,1
    - Dst: hashTableClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6437,1
    - Dst: hashTableClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6438,1
    - Dst: hashTableClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6439,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6440,1
    - Dst: poolClear
      Src: /src/expat-2.4.1/lib/xmlparse.c:6441,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6447,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - p
    - ms
    argTypes:
    - DTD*
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6460
      start: 6421
    functionDepth: 1
    functionLinenumber: 6421
    functionLinenumberEnd: 6460
    functionName: dtdReset
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - hashTableIterInit
    - XML_Memory_Handling_Suite*::free_fcn
    - poolClear
    - hashTableClear
    - hashTableIterNext
    linkageType: ''
    returnType: void
    signature: void dtdReset(DTD *p, const XML_Memory_Handling_Suite *ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6465,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6467,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6471,1
    - Dst: hashTableDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6473,1
    - Dst: hashTableDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6475,1
    - Dst: hashTableDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6477,1
    - Dst: hashTableDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6478,1
    - Dst: hashTableDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6479,1
    - Dst: poolDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6480,1
    - Dst: poolDestroy
      Src: /src/expat-2.4.1/lib/xmlparse.c:6481,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6483,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6484,1
    - Dst: XML_Memory_Handling_Suite*::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - p
    - isDocEntity
    - ms
    argTypes:
    - DTD*
    - XML_Bool
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6487
      start: 6462
    functionDepth: 1
    functionLinenumber: 6462
    functionLinenumberEnd: 6487
    functionName: dtdDestroy
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolDestroy
    - hashTableIterInit
    - XML_Memory_Handling_Suite*::free_fcn
    - hashTableIterNext
    - hashTableDestroy
    linkageType: ''
    returnType: void
    signature: void dtdDestroy(DTD *p, XML_Bool isDocEntity, const XML_Memory_Handling_Suite
      *ms)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6499,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6502,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6505,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6508,1
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6512,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6519,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6524,1
    - Dst: XML_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:6524,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6526,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6530,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6540,1
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6547,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6553,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6556,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6559,1
    - Dst: XML_Memory_Handling_Suite*::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6564,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6571,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6575,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6578,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6583,1
    - Dst: copyEntityTable
      Src: /src/expat-2.4.1/lib/xmlparse.c:6592,1
    - Dst: copyEntityTable
      Src: /src/expat-2.4.1/lib/xmlparse.c:6597,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 4
    argNames:
    - oldParser
    - newDtd
    - oldDtd
    - ms
    argTypes:
    - XML_Parser
    - DTD*
    - DTD*
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6492
    functionDepth: 1
    functionLinenumber: 6492
    functionLinenumberEnd: 6616
    functionName: dtdCopy
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - XML_T
    - copyEntityTable
    - hashTableIterInit
    - hashTableIterNext
    - poolCopyString
    - poolAppendChar
    - XML_Memory_Handling_Suite*::malloc_fcn
    - lookup
    linkageType: ''
    returnType: int
    signature: "int dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd,\n
      \       const XML_Memory_Handling_Suite *ms)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hashTableIterInit
      Src: /src/expat-2.4.1/lib/xmlparse.c:6625,1
    - Dst: hashTableIterNext
      Src: /src/expat-2.4.1/lib/xmlparse.c:6630,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6633,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:6636,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6640,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6649,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6656,1
    - Dst: poolCopyStringN
      Src: /src/expat-2.4.1/lib/xmlparse.c:6663,1
    - Dst: poolCopyString
      Src: /src/expat-2.4.1/lib/xmlparse.c:6670,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - oldParser
    - newTable
    - newPool
    - oldTable
    argTypes:
    - XML_Parser
    - HASH_TABLE*
    - STRING_POOL*
    - HASH_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6679
      start: 6618
    functionDepth: 1
    functionLinenumber: 6618
    functionLinenumberEnd: 6679
    functionName: copyEntityTable
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - hashTableIterInit
    - hashTableIterNext
    - poolCopyString
    - lookup
    - poolCopyStringN
    linkageType: ''
    returnType: int
    signature: "int copyEntityTable(XML_Parser oldParser, HASH_TABLE *newTable,\n
      \               STRING_POOL *newPool, const HASH_TABLE *oldTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - KEY
    - KEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6689
      start: 6683
    functionDepth: 0
    functionLinenumber: 6683
    functionLinenumberEnd: 6689
    functionName: keyeq
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool keyeq(KEY s1, KEY s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - KEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6697
      start: 6691
    functionDepth: 0
    functionLinenumber: 6691
    functionLinenumberEnd: 6697
    functionName: keylen
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t keylen(KEY s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_hash_secret_salt
      Src: /src/expat-2.4.1/lib/xmlparse.c:6702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - key
    argTypes:
    - XML_Parser
    - struct sipkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6703
      start: 6699
    functionDepth: 2
    functionLinenumber: 6699
    functionLinenumberEnd: 6703
    functionName: copy_salt_to_sipkey
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - get_hash_secret_salt
    linkageType: ''
    returnType: void
    signature: void copy_salt_to_sipkey(XML_Parser parser, struct sipkey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_salt_to_sipkey
      Src: /src/expat-2.4.1/lib/xmlparse.c:6710,1
    - Dst: sip24_init
      Src: /src/expat-2.4.1/lib/xmlparse.c:6711,1
    - Dst: sip24_update
      Src: /src/expat-2.4.1/lib/xmlparse.c:6712,1
    - Dst: keylen
      Src: /src/expat-2.4.1/lib/xmlparse.c:6712,1
    - Dst: sip24_final
      Src: /src/expat-2.4.1/lib/xmlparse.c:6713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - s
    argTypes:
    - XML_Parser
    - KEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6705
    functionDepth: 3
    functionLinenumber: 6705
    functionLinenumberEnd: 6714
    functionName: hash
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 16
    functionsReached:
    - copy_salt_to_sipkey
    - keylen
    - sip24_init
    - sip24_update
    - sip24_final
    linkageType: ''
    returnType: unsigned long FASTCALL
    signature: unsigned long FASTCALL hash(XML_Parser parser, KEY s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HASH_TABLE*::mem::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6727,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:6732,1
    - Dst: hash
      Src: /src/expat-2.4.1/lib/xmlparse.c:6733,1
    - Dst: hash
      Src: /src/expat-2.4.1/lib/xmlparse.c:6735,1
    - Dst: keyeq
      Src: /src/expat-2.4.1/lib/xmlparse.c:6740,1
    - Dst: PROBE_STEP
      Src: /src/expat-2.4.1/lib/xmlparse.c:6743,1
    - Dst: HASH_TABLE*::mem::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6755,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:6758,1
    - Dst: hash
      Src: /src/expat-2.4.1/lib/xmlparse.c:6761,1
    - Dst: PROBE_STEP
      Src: /src/expat-2.4.1/lib/xmlparse.c:6766,1
    - Dst: HASH_TABLE*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6771,1
    - Dst: PROBE_STEP
      Src: /src/expat-2.4.1/lib/xmlparse.c:6779,1
    - Dst: HASH_TABLE*::mem::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6784,1
    - Dst: memset
      Src: /src/expat-2.4.1/lib/xmlparse.c:6787,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - parser
    - table
    - name
    - createSize
    argTypes:
    - XML_Parser
    - HASH_TABLE*
    - KEY
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6791
      start: 6716
    functionDepth: 4
    functionLinenumber: 6716
    functionLinenumberEnd: 6791
    functionName: lookup
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 48
    functionsReached:
    - memset
    - hash
    - PROBE_STEP
    - keyeq
    - HASH_TABLE*::mem::malloc_fcn
    - HASH_TABLE*::mem::free_fcn
    linkageType: ''
    returnType: NAMED
    signature: 'NAMED *

      lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_TABLE*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - table
    argTypes:
    - HASH_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6801
      start: 6793
    functionDepth: 0
    functionLinenumber: 6793
    functionLinenumberEnd: 6801
    functionName: hashTableClear
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - HASH_TABLE*::mem::free_fcn
    linkageType: ''
    returnType: void
    signature: void hashTableClear(HASH_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_TABLE*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6807,1
    - Dst: HASH_TABLE*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - table
    argTypes:
    - HASH_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6809
      start: 6803
    functionDepth: 0
    functionLinenumber: 6803
    functionLinenumberEnd: 6809
    functionName: hashTableDestroy
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - HASH_TABLE*::mem::free_fcn
    linkageType: ''
    returnType: void
    signature: void hashTableDestroy(HASH_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - ms
    argTypes:
    - HASH_TABLE*
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6818
      start: 6811
    functionDepth: 0
    functionLinenumber: 6811
    functionLinenumberEnd: 6818
    functionName: hashTableInit
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hashTableInit(HASH_TABLE *p, const XML_Memory_Handling_Suite *ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - table
    argTypes:
    - HASH_TABLE_ITER*
    - HASH_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6824
      start: 6820
    functionDepth: 0
    functionLinenumber: 6820
    functionLinenumberEnd: 6824
    functionName: hashTableIterInit
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - HASH_TABLE_ITER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6826
    functionDepth: 0
    functionLinenumber: 6826
    functionLinenumberEnd: 6834
    functionName: hashTableIterNext
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: NAMED
    signature: 'NAMED *FASTCALL

      hashTableIterNext(HASH_TABLE_ITER *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - ms
    argTypes:
    - STRING_POOL*
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6844
      start: 6836
    functionDepth: 0
    functionLinenumber: 6836
    functionLinenumberEnd: 6844
    functionName: poolInit
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poolInit(STRING_POOL *pool, const XML_Memory_Handling_Suite *ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - STRING_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6863
      start: 6846
    functionDepth: 0
    functionLinenumber: 6846
    functionLinenumberEnd: 6863
    functionName: poolClear
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poolClear(STRING_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRING_POOL*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6870,1
    - Dst: STRING_POOL*::mem::free_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:6876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - STRING_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6879
      start: 6865
    functionDepth: 0
    functionLinenumber: 6865
    functionLinenumberEnd: 6879
    functionName: poolDestroy
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - STRING_POOL*::mem::free_fcn
    linkageType: ''
    returnType: void
    signature: void poolDestroy(STRING_POOL *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:6884,1
    - Dst: XmlConvert
      Src: /src/expat-2.4.1/lib/xmlparse.c:6887,1
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:6892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pool
    - enc
    - ptr
    - end
    argTypes:
    - STRING_POOL*
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6881
    functionDepth: 1
    functionLinenumber: 6881
    functionLinenumberEnd: 6896
    functionName: poolAppend
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 3
    functionsReached:
    - XmlConvert
    - poolGrow
    linkageType: ''
    returnType: XML_Char
    signature: "XML_Char *\npoolAppend(STRING_POOL *pool, const ENCODING *enc, const
      char *ptr,\n           const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6901,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:6905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - STRING_POOL*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6907
      start: 6898
    functionDepth: 1
    functionLinenumber: 6898
    functionLinenumberEnd: 6907
    functionName: poolCopyString
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached:
    - poolAppendChar
    - poolFinish
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *FASTCALL

      poolCopyString(STRING_POOL *pool, const XML_Char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:6911,1
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6926,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:6930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pool
    - s
    - n
    argTypes:
    - STRING_POOL*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6932
      start: 6909
    functionDepth: 1
    functionLinenumber: 6909
    functionLinenumberEnd: 6932
    functionName: poolCopyStringN
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolGrow
    - poolAppendChar
    - poolFinish
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *

      poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poolAppendChar
      Src: /src/expat-2.4.1/lib/xmlparse.c:6937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - s
    argTypes:
    - STRING_POOL*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6942
      start: 6934
    functionDepth: 1
    functionLinenumber: 6934
    functionLinenumberEnd: 6942
    functionName: poolAppendString
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolAppendChar
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *FASTCALL

      poolAppendString(STRING_POOL *pool, const XML_Char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poolAppend
      Src: /src/expat-2.4.1/lib/xmlparse.c:6947,1
    - Dst: poolGrow
      Src: /src/expat-2.4.1/lib/xmlparse.c:6949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pool
    - enc
    - ptr
    - end
    argTypes:
    - STRING_POOL*
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6953
      start: 6944
    functionDepth: 2
    functionLinenumber: 6944
    functionLinenumberEnd: 6953
    functionName: poolStoreString
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 9
    functionsReached:
    - poolAppend
    - poolGrow
    linkageType: ''
    returnType: XML_Char
    signature: "XML_Char *\npoolStoreString(STRING_POOL *pool, const ENCODING *enc,
      const char *ptr,\n                const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blockSize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6981
      start: 6955
    functionDepth: 0
    functionLinenumber: 6955
    functionLinenumberEnd: 6981
    functionName: poolBytesToAllocateFor
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t poolBytesToAllocateFor(int blockSize)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:7000,1
    - Dst: poolBytesToAllocateFor
      Src: /src/expat-2.4.1/lib/xmlparse.c:7027,1
    - Dst: STRING_POOL*::mem::realloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:7031,1
    - Dst: poolBytesToAllocateFor
      Src: /src/expat-2.4.1/lib/xmlparse.c:7068,1
    - Dst: STRING_POOL*::mem::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:7072,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:7079,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - pool
    argTypes:
    - STRING_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7085
      start: 6983
    functionDepth: 1
    functionLinenumber: 6983
    functionLinenumberEnd: 7085
    functionName: poolGrow
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - poolBytesToAllocateFor
    - STRING_POOL*::mem::malloc_fcn
    - STRING_POOL*::mem::realloc_fcn
    - memcpy
    linkageType: ''
    returnType: XML_Bool
    signature: XML_Bool poolGrow(STRING_POOL *pool)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:7094,1
    - Dst: REALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:7103,1
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:7109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7132
      start: 7087
    functionDepth: 1
    functionLinenumber: 7087
    functionLinenumberEnd: 7132
    functionName: nextScaffoldPart
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - MALLOC
    - REALLOC
    linkageType: ''
    returnType: int
    signature: int nextScaffoldPart(XML_Parser parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_node
      Src: /src/expat-2.4.1/lib/xmlparse.c:7160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - parser
    - src_node
    - dest
    - contpos
    - strpos
    argTypes:
    - XML_Parser
    - int
    - XML_Content*
    - XML_Content**
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7164
      start: 7134
    functionDepth: 1
    functionLinenumber: 7134
    functionLinenumberEnd: 7164
    functionName: build_node
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - build_node
    linkageType: ''
    returnType: void
    signature: "void build_node(XML_Parser parser, int src_node, XML_Content *dest,\n
      \          XML_Content **contpos, XML_Char **strpos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/expat-2.4.1/lib/xmlparse.c:7175,1
    - Dst: build_node
      Src: /src/expat-2.4.1/lib/xmlparse.c:7182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7166
    functionDepth: 2
    functionLinenumber: 7166
    functionLinenumberEnd: 7184
    functionName: build_model
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - MALLOC
    - build_node
    linkageType: ''
    returnType: XML_Content
    signature: 'XML_Content *

      build_model(XML_Parser parser)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: poolStoreString
      Src: /src/expat-2.4.1/lib/xmlparse.c:7190,1
    - Dst: lookup
      Src: /src/expat-2.4.1/lib/xmlparse.c:7195,1
    - Dst: poolDiscard
      Src: /src/expat-2.4.1/lib/xmlparse.c:7200,1
    - Dst: poolFinish
      Src: /src/expat-2.4.1/lib/xmlparse.c:7202,1
    - Dst: setElementTypePrefix
      Src: /src/expat-2.4.1/lib/xmlparse.c:7203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - parser
    - enc
    - ptr
    - end
    argTypes:
    - XML_Parser
    - ENCODING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7207
      start: 7186
    functionDepth: 5
    functionLinenumber: 7186
    functionLinenumberEnd: 7207
    functionName: getElementType
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached:
    - poolStoreString
    - poolDiscard
    - setElementTypePrefix
    - lookup
    - poolFinish
    linkageType: ''
    returnType: ELEMENT_TYPE
    signature: "ELEMENT_TYPE *\ngetElementType(XML_Parser parser, const ENCODING *enc,
      const char *ptr,\n               const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_Memory_Handling_Suite*::malloc_fcn
      Src: /src/expat-2.4.1/lib/xmlparse.c:7222,1
    - Dst: memcpy
      Src: /src/expat-2.4.1/lib/xmlparse.c:7226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - memsuite
    argTypes:
    - XML_Char*
    - XML_Memory_Handling_Suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7228
      start: 7209
    functionDepth: 0
    functionLinenumber: 7209
    functionLinenumberEnd: 7228
    functionName: copyString
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - XML_Memory_Handling_Suite*::malloc_fcn
    - memcpy
    linkageType: ''
    returnType: XML_Char
    signature: 'XML_Char *

      copyString(const XML_Char *s, const XML_Memory_Handling_Suite *memsuite)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rootParser
    argTypes:
    - XML_Parser
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7241
        line_start: 7241
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7244
      start: 7232
    functionDepth: 0
    functionLinenumber: 7232
    functionLinenumberEnd: 7244
    functionName: accountingGetCurrentAmplification
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: float
    signature: float accountingGetCurrentAmplification(XML_Parser rootParser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRootParserOf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7248,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7249,1
    - Dst: accountingGetCurrentAmplification
      Src: /src/expat-2.4.1/lib/xmlparse.c:7256,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7257,1
    - Dst: EXPAT_FMT_ULL
      Src: /src/expat-2.4.1/lib/xmlparse.c:7258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - originParser
    - epilog
    argTypes:
    - XML_Parser
    - char*
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7248
        line_start: 7248
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7263
      start: 7246
    functionDepth: 1
    functionLinenumber: 7246
    functionLinenumberEnd: 7263
    functionName: accountingReportStats
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - accountingGetCurrentAmplification
    - fprintf
    - assert
    - getRootParserOf
    - EXPAT_FMT_ULL
    linkageType: ''
    returnType: void
    signature: void accountingReportStats(XML_Parser originParser, const char *epilog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accountingReportStats
      Src: /src/expat-2.4.1/lib/xmlparse.c:7267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - originParser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7268
      start: 7265
    functionDepth: 2
    functionLinenumber: 7265
    functionLinenumberEnd: 7268
    functionName: accountingOnAbort
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 11
    functionsReached:
    - accountingReportStats
    linkageType: ''
    returnType: void
    signature: void accountingOnAbort(XML_Parser originParser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7275,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7277,1
    - Dst: EXPAT_FMT_PTRDIFF_T
      Src: /src/expat-2.4.1/lib/xmlparse.c:7278,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7292,1
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/lib/xmlparse.c:7292,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7296,1
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/lib/xmlparse.c:7296,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7298,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7301,1
    - Dst: unsignedCharToPrintable
      Src: /src/expat-2.4.1/lib/xmlparse.c:7301,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - rootParser
    - levelsAwayFromRootParser
    - before
    - after
    - bytesMore
    - source_line
    - account
    argTypes:
    - XML_Parser
    - unsigned int
    - char*
    - char*
    - ptrdiff_t
    - int
    - enum XML_Account
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7274
        line_start: 7274
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7305
      start: 7270
    functionDepth: 1
    functionLinenumber: 7270
    functionLinenumberEnd: 7305
    functionName: accountingReportDiff
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    - unsignedCharToPrintable
    - EXPAT_FMT_PTRDIFF_T
    linkageType: ''
    returnType: void
    signature: "void accountingReportDiff(XML_Parser rootParser,\n                     unsigned
      int levelsAwayFromRootParser, const char *before,\n                     const
      char *after, ptrdiff_t bytesMore, int source_line,\n                     enum
      XML_Account account)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getRootParserOf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7327,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7328,1
    - Dst: accountingGetCurrentAmplification
      Src: /src/expat-2.4.1/lib/xmlparse.c:7347,1
    - Dst: accountingReportStats
      Src: /src/expat-2.4.1/lib/xmlparse.c:7354,1
    - Dst: accountingReportDiff
      Src: /src/expat-2.4.1/lib/xmlparse.c:7355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - originParser
    - tok
    - before
    - after
    - source_line
    - account
    argTypes:
    - XML_Parser
    - int
    - char*
    - char*
    - int
    - enum XML_Account
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7327
        line_start: 7327
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7360
      start: 7307
    functionDepth: 2
    functionLinenumber: 7307
    functionLinenumberEnd: 7360
    functionName: accountingDiffTolerated
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 11
    functionsReached:
    - accountingGetCurrentAmplification
    - accountingReportDiff
    - assert
    - getRootParserOf
    - accountingReportStats
    linkageType: ''
    returnType: XML_Bool
    signature: "XML_Bool accountingDiffTolerated(XML_Parser originParser, int tok,
      const char *before,\n                        const char *after, int source_line,\n
      \                       enum XML_Account account)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7367
      start: 7362
    functionDepth: 0
    functionLinenumber: 7362
    functionLinenumberEnd: 7367
    functionName: testingAccountingGetCountBytesDirect
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long testingAccountingGetCountBytesDirect(XML_Parser
      parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - XML_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7374
      start: 7369
    functionDepth: 0
    functionLinenumber: 7369
    functionLinenumberEnd: 7374
    functionName: testingAccountingGetCountBytesIndirect
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser
      parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7379,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rootParser
    - entity
    - action
    - sourceLine
    argTypes:
    - XML_Parser
    - ENTITY*
    - char*
    - int
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7378
        line_start: 7378
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7398
      start: 7376
    functionDepth: 0
    functionLinenumber: 7376
    functionLinenumberEnd: 7398
    functionName: entityTrackingReportStats
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,\n
      \                         const char *action, int sourceLine)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRootParserOf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7402,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7403,1
    - Dst: entityTrackingReportStats
      Src: /src/expat-2.4.1/lib/xmlparse.c:7412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - originParser
    - entity
    - sourceLine
    argTypes:
    - XML_Parser
    - ENTITY*
    - int
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7402
        line_start: 7402
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7413
      start: 7400
    functionDepth: 1
    functionLinenumber: 7400
    functionLinenumberEnd: 7413
    functionName: entityTrackingOnOpen
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - assert
    - getRootParserOf
    - entityTrackingReportStats
    linkageType: ''
    returnType: void
    signature: void entityTrackingOnOpen(XML_Parser originParser, ENTITY *entity,
      int sourceLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRootParserOf
      Src: /src/expat-2.4.1/lib/xmlparse.c:7417,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7418,1
    - Dst: entityTrackingReportStats
      Src: /src/expat-2.4.1/lib/xmlparse.c:7420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - originParser
    - entity
    - sourceLine
    argTypes:
    - XML_Parser
    - ENTITY*
    - int
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7417
        line_start: 7417
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7422
      start: 7415
    functionDepth: 1
    functionLinenumber: 7415
    functionLinenumberEnd: 7422
    functionName: entityTrackingOnClose
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 5
    functionsReached:
    - assert
    - getRootParserOf
    - entityTrackingReportStats
    linkageType: ''
    returnType: void
    signature: void entityTrackingOnClose(XML_Parser originParser, ENTITY *entity,
      int sourceLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - parser
    - outLevelDiff
    argTypes:
    - XML_Parser
    - unsigned int*
    assertStmts:
    - condition: (! rootParser->m_parentParser)
      pos:
        line_end: 7431
        line_start: 7431
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7437
      start: 7424
    functionDepth: 0
    functionLinenumber: 7424
    functionLinenumberEnd: 7437
    functionName: getRootParserOf
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: XML_Parser
    signature: XML_Parser getRootParserOf(XML_Parser parser, unsigned int *outLevelDiff)
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7955,1
    - Dst: assert
      Src: /src/expat-2.4.1/lib/xmlparse.c:7958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 519
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts:
    - condition: (0)
      pos:
        line_end: 7954
        line_start: 7954
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - condition: (0)
      pos:
        line_end: 7957
        line_start: 7957
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    constantsTouched: []
    func_position:
      end: 7959
      start: 7439
    functionDepth: 0
    functionLinenumber: 7439
    functionLinenumberEnd: 7959
    functionName: unsignedCharToPrintable
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      unsignedCharToPrintable(unsigned char c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/expat-2.4.1/lib/xmlparse.c:7965,1
    - Dst: strtoul
      Src: /src/expat-2.4.1/lib/xmlparse.c:7973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - variableName
    - defaultDebugLevel
    argTypes:
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7963
    functionDepth: 0
    functionLinenumber: 7963
    functionLinenumberEnd: 7980
    functionName: getDebugLevel
    functionSourceFile: /src/expat-2.4.1/lib/xmlparse.c
    functionUses: 2
    functionsReached:
    - getenv
    - strtoul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getDebugLevel(const char *variableName, unsigned long
      defaultDebugLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - parser
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: XML_GetUserData
    functionSourceFile: /src/expat-2.4.1/lib/expat.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_GetUserData(parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: XML_ATTR_ALLOC_SIZE
    functionSourceFile: /src/expat-2.4.1/lib/expat_external.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XML_ATTR_ALLOC_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: XMLPARSEAPI
    functionSourceFile: /src/expat-2.4.1/lib/expat_external.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XMLPARSEAPI(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/expat-2.4.1/examples/elements.c:65,1
    - Dst: printf
      Src: /src/expat-2.4.1/examples/elements.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: startElement
    functionSourceFile: /src/expat-2.4.1/examples/elements.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void startElement(void *userData, const XML_Char *name, const XML_Char
      **atts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: endElement
    functionSourceFile: /src/expat-2.4.1/examples/elements.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void endElement(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/examples/elements.c:81,1
    - Dst: XML_SetUserData
      Src: /src/expat-2.4.1/examples/elements.c:87,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/examples/elements.c:88,1
    - Dst: fread
      Src: /src/expat-2.4.1/examples/elements.c:90,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/examples/elements.c:92,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/examples/elements.c:93,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/examples/elements.c:94,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/examples/elements.c:94,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/examples/elements.c:95,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/examples/elements.c:96,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/examples/elements.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/expat-2.4.1/examples/elements.c
    functionUses: 17
    functionsReached:
    - XML_SetUserData
    - XML_ErrorString
    - fprintf
    - XML_GetErrorCode
    - XML_ParserFree
    - XML_Parse
    - XML_ParserCreate
    - fread
    - XML_SetElementHandler
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/expat-2.4.1/examples/outline.c:66,1
    - Dst: printf
      Src: /src/expat-2.4.1/examples/outline.c:68,1
    - Dst: printf
      Src: /src/expat-2.4.1/examples/outline.c:71,1
    - Dst: printf
      Src: /src/expat-2.4.1/examples/outline.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - el
    - attr
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: start
    functionSourceFile: /src/expat-2.4.1/examples/outline.c
    functionUses: 95
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void start(void *data, const XML_Char *el, const XML_Char **attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - el
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: end
    functionSourceFile: /src/expat-2.4.1/examples/outline.c
    functionUses: 213
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void end(void *data, const XML_Char *el)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XML_ParserCreate
      Src: /src/expat-2.4.1/examples/outline.c:88,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/examples/outline.c:93,1
    - Dst: exit
      Src: /src/expat-2.4.1/examples/outline.c:94,1
    - Dst: XML_SetElementHandler
      Src: /src/expat-2.4.1/examples/outline.c:97,1
    - Dst: fread
      Src: /src/expat-2.4.1/examples/outline.c:103,1
    - Dst: ferror
      Src: /src/expat-2.4.1/examples/outline.c:104,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/examples/outline.c:105,1
    - Dst: exit
      Src: /src/expat-2.4.1/examples/outline.c:106,1
    - Dst: feof
      Src: /src/expat-2.4.1/examples/outline.c:108,1
    - Dst: XML_Parse
      Src: /src/expat-2.4.1/examples/outline.c:110,1
    - Dst: fprintf
      Src: /src/expat-2.4.1/examples/outline.c:111,1
    - Dst: XML_GetCurrentLineNumber
      Src: /src/expat-2.4.1/examples/outline.c:113,1
    - Dst: XML_ErrorString
      Src: /src/expat-2.4.1/examples/outline.c:114,1
    - Dst: XML_GetErrorCode
      Src: /src/expat-2.4.1/examples/outline.c:114,1
    - Dst: exit
      Src: /src/expat-2.4.1/examples/outline.c:115,1
    - Dst: XML_ParserFree
      Src: /src/expat-2.4.1/examples/outline.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/expat-2.4.1/examples/outline.c
    functionUses: 17
    functionsReached:
    - XML_ErrorString
    - fprintf
    - XML_GetErrorCode
    - XML_ParserFree
    - XML_Parse
    - feof
    - XML_ParserCreate
    - fread
    - exit
    - ferror
    - XML_SetElementHandler
    - XML_GetCurrentLineNumber
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: af_gb_init
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void af_gb_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: af_gb_cleanup
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void af_gb_cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:39,1
    - Dst: memcpy
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: af_get_null_terminated
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *af_get_null_terminated(const uint8_t **data, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:53,1
    - Dst: memcpy
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - to_get
    argTypes:
    - uint8_t**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: af_gb_get_random_data
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_random_data(const uint8_t **data, size_t *size, size_t
      to_get)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_get_null_terminated
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: af_gb_get_null_terminated
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 4
    functionsReached:
    - af_get_null_terminated
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_null_terminated(const uint8_t **data, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: af_gb_alloc_data
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: char
    signature: char *af_gb_alloc_data(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: af_gb_get_fixed_string
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_fixed_string()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: af_get_short
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short af_get_short(const uint8_t **data, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: af_get_int
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int af_get_int(const uint8_t **data, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: af_safe_gb_init
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - af_gb_init
    linkageType: ''
    returnType: void
    signature: void af_safe_gb_init(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_get_int
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: ada_safe_get_int
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - af_get_int
    linkageType: ''
    returnType: int
    signature: int ada_safe_get_int()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:126,1
    - Dst: af_gb_get_fixed_string
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ada_safe_get_char_p
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - af_gb_get_null_terminated
    - af_gb_get_fixed_string
    linkageType: ''
    returnType: char
    signature: char *ada_safe_get_char_p()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:136,1
    - Dst: fopen
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:149,1
    - Dst: ada_safe_get_char_p
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:150,1
    - Dst: fwrite
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:151,1
    - Dst: strlen
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:151,1
    - Dst: fclose
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: af_safe_write_random_file
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - fwrite
    - ada_safe_get_char_p
    - malloc
    - fopen
    - fclose
    - strlen
    linkageType: ''
    returnType: char
    signature: char *af_safe_write_random_file()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_cleanup
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:158,1
    - Dst: unlink
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:161,1
    - Dst: free
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: af_safe_gb_cleanup
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - af_gb_cleanup
    - free
    - unlink
    linkageType: ''
    returnType: void
    signature: void af_safe_gb_cleanup()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_newline.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 5
    argNames:
    - ptr
    - type
    - endptr
    - lenptr
    - utf
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - PCRE2_SPTR
    - uint32_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 141
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_newline.c
    functionUses: 0
    functionsReached:
    - GETCHAR
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(is_newline)(PCRE2_SPTR ptr, uint32_t type, PCRE2_SPTR endptr,\n
      \ uint32_t *lenptr, BOOL utf)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_newline.c:174,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_newline.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 5
    argNames:
    - ptr
    - type
    - startptr
    - lenptr
    - utf
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - PCRE2_SPTR
    - uint32_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 237
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_newline.c
    functionUses: 0
    functionsReached:
    - GETCHAR
    - BACKCHAR
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(was_newline)(PCRE2_SPTR ptr, uint32_t type, PCRE2_SPTR startptr,\n
      \ uint32_t *lenptr, BOOL utf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: max_fast_forward_char_pair_offset
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE max_fast_forward_char_pair_offset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: max_fast_forward_char_pair_offset
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE max_fast_forward_char_pair_offset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:93,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:94,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:96,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - compiler
    - reg
    argTypes:
    - struct sljit_compiler*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: jump_if_utf_char_start
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - CMP
    linkageType: ''
    returnType: struct sljit_jump
    signature: struct sljit_jump *jump_if_utf_char_start(struct sljit_compiler *compiler,
      sljit_s32 reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chr
    argTypes:
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: character_to_int32
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sljit_s32
    signature: sljit_s32 character_to_int32(PCRE2_UCHAR chr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:142,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:157,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:172,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:191,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:197,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:208,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:216,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 8
    argNames:
    - compiler
    - compare_type
    - reg_type
    - step
    - dst_ind
    - cmp1_ind
    - cmp2_ind
    - tmp_ind
    argTypes:
    - struct sljit_compiler*
    - vector_compare_type
    - sljit_s32
    - int
    - sljit_s32
    - sljit_s32
    - sljit_s32
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 230
    functionName: fast_forward_char_pair_sse2_compare
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - sljit_emit_op_custom
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_sse2_compare(struct sljit_compiler *compiler,
      vector_compare_type compare_type,\n  sljit_s32 reg_type, int step, sljit_s32
      dst_ind, sljit_s32 cmp1_ind, sljit_s32 cmp2_ind, sljit_s32 tmp_ind)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:256,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:257,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:258,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:259,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:260,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:264,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:271,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:278,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:280,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:284,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:284,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:287,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:287,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:289,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:291,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:294,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:297,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:301,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:302,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:305,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:305,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:308,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:310,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:311,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:312,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:314,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:316,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:319,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:322,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:324,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:326,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:329,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:329,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:331,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:333,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:334,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:336,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:338,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:343,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:345,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:349,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:350,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:351,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:352,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:355,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:355,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:360,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:362,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:362,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:362,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:364,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:366,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:366,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:367,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:367,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:368,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:369,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 4
    argNames:
    - common
    - char1
    - char2
    - offset
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 374
    functionName: fast_forward_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - sljit_emit_simd_mov
    - sljit_emit_simd_sign
    - sljit_emit_simd_lane_replicate
    - SLJIT_ASSERT
    - CMP
    - IN_UCHARS
    - jump_if_utf_char_start
    - OP1
    - OP2U
    - JUMPHERE
    - is_powerof2
    - JUMPTO
    - fast_forward_char_pair_sse2_compare
    - SLJIT_UNUSED_ARG
    - LABEL
    - character_to_int32
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    - sljit_emit_simd_lane_mov
    linkageType: ''
    returnType: void
    signature: void fast_forward_char_simd(compiler_common *common, PCRE2_UCHAR char1,
      PCRE2_UCHAR char2, sljit_s32 offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:397,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:398,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:399,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:400,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:401,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:410,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:417,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:417,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:418,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:419,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:424,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:424,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:427,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:427,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:429,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:431,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:434,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:437,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:438,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:441,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:441,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:444,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:446,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:447,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:448,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:450,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:452,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:455,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:458,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:460,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:460,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:463,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:463,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:466,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:468,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:469,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:471,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:473,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:478,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:480,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:481,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:481,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 3
    argNames:
    - common
    - char1
    - char2
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 485
    functionName: fast_requested_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - sljit_emit_simd_lane_replicate
    - JUMPHERE
    - SLJIT_ASSERT
    - CMP
    - add_jump
    - character_to_int32
    - is_powerof2
    - OP2
    - sljit_emit_op_custom
    - sljit_get_register_index
    - fast_forward_char_pair_sse2_compare
    - sljit_emit_simd_sign
    - CMPTO
    - sljit_emit_simd_mov
    - SLJIT_MEM1
    - OP1
    - LABEL
    - sljit_emit_simd_lane_mov
    linkageType: ''
    returnType: jump_list
    signature: jump_list *fast_requested_char_simd(compiler_common *common, PCRE2_UCHAR
      char1, PCRE2_UCHAR char2)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:511,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:512,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:513,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:514,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:515,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:516,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:517,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:518,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:519,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:520,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:528,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:529,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:529,1
    - Dst: max_fast_forward_char_pair_offset
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:529,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:534,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:534,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:535,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:536,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:536,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:538,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:539,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:542,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:542,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:543,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:543,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:546,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:546,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:550,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:553,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:553,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:554,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:554,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:560,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:560,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:561,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:561,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:566,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:569,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:572,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:572,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:576,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:579,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:579,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:580,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:580,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:586,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:586,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:587,1
    - Dst: character_to_int32
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:587,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:591,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:594,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:596,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:598,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:600,1
    - Dst: sljit_emit_simd_lane_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:602,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:605,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:608,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:609,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:611,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:614,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:614,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:616,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:618,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:618,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:619,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:621,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:633,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:645,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:645,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:646,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:649,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:661,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:671,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:679,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:682,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:685,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:689,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:690,1
    - Dst: sljit_emit_simd_op2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:693,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:694,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:697,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:698,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:700,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:702,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:705,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:708,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:709,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:709,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:712,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:712,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:713,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:713,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:717,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:718,1
    - Dst: sljit_emit_simd_op2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:721,1
    - Dst: sljit_emit_simd_sign
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:722,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:724,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:726,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:728,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:733,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:735,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:737,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:737,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:742,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:742,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:742,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:744,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:746,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:746,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:747,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:749,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:749,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:751,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:755,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:755,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:758,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 149
    argCount: 7
    argNames:
    - common
    - offs1
    - char1a
    - char1b
    - offs2
    - char2a
    - char2b
    argTypes:
    - compiler_common*
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 759
    functionName: fast_forward_char_pair_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - sljit_emit_simd_mov
    - sljit_emit_simd_sign
    - sljit_emit_simd_op2
    - SLJIT_ASSERT
    - sljit_emit_simd_lane_replicate
    - JUMP
    - CMP
    - IN_UCHARS
    - max_fast_forward_char_pair_offset
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - JUMPHERE
    - is_powerof2
    - fast_forward_char_pair_sse2_compare
    - LABEL
    - character_to_int32
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    - sljit_emit_simd_lane_mov
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_simd(compiler_common *common, sljit_s32
      offs1,\n  PCRE2_UCHAR char1a, PCRE2_UCHAR char1b, sljit_s32 offs2, PCRE2_UCHAR
      char2a, PCRE2_UCHAR char2b)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:795,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:801,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:811,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:821,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - compiler
    - compare_type
    - step
    - dst_ind
    - cmp1_ind
    - cmp2_ind
    - tmp_ind
    argTypes:
    - struct sljit_compiler*
    - vector_compare_type
    - int
    - sljit_u32
    - sljit_u32
    - sljit_u32
    - sljit_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 830
    functionName: fast_forward_char_pair_sse2_compare
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 3
    functionsReached:
    - SLJIT_ASSERT
    - sljit_emit_op_custom
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_sse2_compare(struct sljit_compiler *compiler,
      vector_compare_type compare_type,\n  int step, sljit_u32 dst_ind, sljit_u32
      cmp1_ind, sljit_u32 cmp2_ind, sljit_u32 tmp_ind)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:843,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:844,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:845,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:846,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:850,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:857,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:864,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:866,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:870,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:871,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:874,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:875,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:877,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:880,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:883,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:884,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:886,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:886,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:889,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:893,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:895,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:897,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:898,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:899,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:901,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:904,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:906,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:908,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:910,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:912,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:912,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:914,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:918,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:920,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:921,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:923,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:925,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:926,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:927,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:931,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:932,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:933,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:934,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:937,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:937,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:942,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:944,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:944,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:944,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:946,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:948,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:948,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:949,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:949,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:950,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:951,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:953,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 4
    argNames:
    - common
    - char1
    - char2
    - offset
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 956
    functionName: fast_forward_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - sljit_emit_simd_mov
    - SLJIT_ASSERT
    - CMP
    - sljit_emit_simd_replicate
    - IN_UCHARS
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - sljit_emit_op1
    - JUMPHERE
    - is_powerof2
    - JUMPTO
    - fast_forward_char_pair_sse2_compare
    - SLJIT_UNUSED_ARG
    - LABEL
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    - sljit_emit_simd_lane_mov
    linkageType: ''
    returnType: void
    signature: void fast_forward_char_simd(compiler_common *common, PCRE2_UCHAR char1,
      PCRE2_UCHAR char2, sljit_s32 offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:968,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:969,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:970,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:971,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:980,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:987,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:987,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:992,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:993,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:996,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:997,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:999,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1000,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1002,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1002,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1005,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1009,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1011,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1013,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1014,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1015,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1017,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1020,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1022,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1024,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1024,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1026,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1026,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1029,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1033,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1035,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1036,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1038,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1040,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1041,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1042,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1043,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 3
    argNames:
    - common
    - char1
    - char2
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1046
    functionName: fast_requested_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - sljit_emit_op1
    - JUMPHERE
    - CMP
    - add_jump
    - sljit_emit_op_custom
    - is_powerof2
    - OP2
    - sljit_emit_simd_lane_mov
    - sljit_get_register_index
    - fast_forward_char_pair_sse2_compare
    - CMPTO
    - sljit_emit_simd_mov
    - SLJIT_MEM1
    - LABEL
    - sljit_emit_simd_replicate
    linkageType: ''
    returnType: jump_list
    signature: jump_list *fast_requested_char_simd(compiler_common *common, PCRE2_UCHAR
      char1, PCRE2_UCHAR char2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1059,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1060,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1061,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1062,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1063,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1064,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1065,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1066,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1067,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1075,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1076,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1076,1
    - Dst: max_fast_forward_char_pair_offset
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1076,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1083,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1095,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1105,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1105,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1106,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1107,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1107,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1109,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1110,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1113,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1113,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1114,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1114,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1116,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1117,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1118,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1119,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1122,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1125,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1128,1
    - Dst: sljit_emit_simd_replicate
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1131,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1134,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1137,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1138,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1139,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1141,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1141,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1143,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1145,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1145,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1146,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1148,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1154,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1160,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1167,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1171,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1175,1
    - Dst: sljit_emit_simd_op2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1177,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1180,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1182,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1186,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1187,1
    - Dst: sljit_emit_simd_op2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1190,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1194,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1196,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1199,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1200,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1201,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1203,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1206,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1208,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1209,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1209,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1211,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1211,1
    - Dst: sljit_emit_simd_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1212,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1212,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1216,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1217,1
    - Dst: sljit_emit_simd_op2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1220,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1224,1
    - Dst: sljit_emit_simd_lane_mov
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1226,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1228,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1230,1
    - Dst: sljit_emit_op1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1232,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1233,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1234,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1236,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1236,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1241,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1241,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1241,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1243,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1245,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1245,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1246,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1248,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1248,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1250,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1254,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1254,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1257,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 110
    argCount: 7
    argNames:
    - common
    - offs1
    - char1a
    - char1b
    - offs2
    - char2a
    - char2b
    argTypes:
    - compiler_common*
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1258
    functionName: fast_forward_char_pair_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - sljit_emit_simd_lane_mov
    - sljit_emit_simd_mov
    - sljit_emit_simd_op2
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - IN_UCHARS
    - max_fast_forward_char_pair_offset
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - sljit_emit_op1
    - JUMPHERE
    - is_powerof2
    - fast_forward_char_pair_sse2_compare
    - LABEL
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    - sljit_emit_simd_replicate
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_simd(compiler_common *common, sljit_s32
      offs1,\n  PCRE2_UCHAR char1a, PCRE2_UCHAR char1b, sljit_s32 offs2, PCRE2_UCHAR
      char2a, PCRE2_UCHAR char2b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - compiler
    - vlbb
    - dst_vreg
    - base_reg
    - index_reg
    argTypes:
    - struct sljit_compiler*
    - BOOL
    - sljit_s32
    - sljit_s32
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1286
    functionName: load_from_mem_vector
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - sljit_emit_op_custom
    linkageType: ''
    returnType: void
    signature: "void load_from_mem_vector(struct sljit_compiler *compiler, BOOL vlbb,
      sljit_s32 dst_vreg,\n  sljit_s32 base_reg, sljit_s32 index_reg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1295,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1306,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1312,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1315,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1318,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - compiler
    - step
    - dst_vreg
    - chr
    - tmp_general_reg
    argTypes:
    - struct sljit_compiler*
    - int
    - sljit_s32
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1327
    functionName: replicate_imm_vector
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - OP1
    - sljit_get_register_index
    - sljit_emit_op_custom
    linkageType: ''
    returnType: void
    signature: "void replicate_imm_vector(struct sljit_compiler *compiler, int step,
      sljit_s32 dst_vreg,\n  PCRE2_UCHAR chr, sljit_s32 tmp_general_reg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1336,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1344,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1356,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1368,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 7
    argNames:
    - compiler
    - compare_type
    - step
    - dst_ind
    - cmp1_ind
    - cmp2_ind
    - tmp_ind
    argTypes:
    - struct sljit_compiler*
    - vector_compare_type
    - int
    - sljit_s32
    - sljit_s32
    - sljit_s32
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1379
    functionName: fast_forward_char_pair_sse2_compare
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 6
    functionsReached:
    - SLJIT_ASSERT
    - sljit_emit_op_custom
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_sse2_compare(struct sljit_compiler *compiler,
      vector_compare_type compare_type,\n  int step, sljit_s32 dst_ind, sljit_s32
      cmp1_ind, sljit_s32 cmp2_ind, sljit_s32 tmp_ind)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1394,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1395,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1404,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1411,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1418,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1420,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1424,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1432,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1440,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1447,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1450,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1461,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1465,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1468,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1469,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1474,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1480,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1485,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1491,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1498,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1500,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1501,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1503,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1506,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1508,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1510,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1512,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1514,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1519,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1525,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1530,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1536,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1539,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1540,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1546,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1548,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1550,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1554,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1555,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1556,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1557,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1560,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1560,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1565,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1567,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1567,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1567,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1569,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1571,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1571,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1572,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1572,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1574,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1575,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1577,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 4
    argNames:
    - common
    - char1
    - char2
    - offset
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1580
    functionName: fast_forward_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - load_from_mem_vector
    - SLJIT_ASSERT
    - CMP
    - replicate_imm_vector
    - IN_UCHARS
    - jump_if_utf_char_start
    - OP1
    - OP2U
    - JUMPHERE
    - is_powerof2
    - JUMPTO
    - fast_forward_char_pair_sse2_compare
    - SLJIT_UNUSED_ARG
    - LABEL
    - sljit_set_current_flags
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void fast_forward_char_simd(compiler_common *common, PCRE2_UCHAR char1,
      PCRE2_UCHAR char2, sljit_s32 offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1592,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1593,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1607,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1614,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1614,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1618,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1626,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1634,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1641,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1644,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1655,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1658,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1659,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1664,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1670,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1675,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1681,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1688,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1690,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1691,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1693,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1696,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1698,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1700,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1700,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1702,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1707,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1713,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1718,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1724,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1727,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1728,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1734,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1736,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1738,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1739,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 3
    argNames:
    - common
    - char1
    - char2
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1584
    functionDepth: 2
    functionLinenumber: 1584
    functionLinenumberEnd: 1742
    functionName: fast_requested_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - add_jump
    - sljit_emit_op_custom
    - is_powerof2
    - OP2
    - JUMPTO
    - sljit_get_register_index
    - replicate_imm_vector
    - fast_forward_char_pair_sse2_compare
    - load_from_mem_vector
    - LABEL
    - sljit_set_current_flags
    linkageType: ''
    returnType: jump_list
    signature: jump_list *fast_requested_char_simd(compiler_common *common, PCRE2_UCHAR
      char1, PCRE2_UCHAR char2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1761,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1762,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1763,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1764,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1776,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1777,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1777,1
    - Dst: max_fast_forward_char_pair_offset
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1777,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1778,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1785,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1797,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1807,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1807,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1808,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1809,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1809,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1811,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1812,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1815,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1815,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1816,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1816,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1817,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1821,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1827,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1835,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1842,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1850,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1857,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1860,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1862,1
    - Dst: replicate_imm_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1865,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1868,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1876,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1879,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1882,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1883,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1884,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1885,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1886,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1887,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1889,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1890,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1894,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1895,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1902,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1908,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1914,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1916,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1917,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1919,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1920,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1923,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1925,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1926,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1926,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1928,1
    - Dst: load_from_mem_vector
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1929,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1933,1
    - Dst: fast_forward_char_pair_sse2_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1934,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1941,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1947,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1949,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1950,1
    - Dst: sljit_emit_op_custom
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1956,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1958,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1960,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1962,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1962,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1967,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1969,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1969,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1969,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1971,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1973,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1973,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1974,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1974,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1977,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1978,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1979,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1981,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1985,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1985,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:1988,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 131
    argCount: 7
    argNames:
    - common
    - offs1
    - char1a
    - char1b
    - offs2
    - char2a
    - char2b
    argTypes:
    - compiler_common*
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1746
    functionDepth: 2
    functionLinenumber: 1746
    functionLinenumberEnd: 1989
    functionName: fast_forward_char_pair_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - load_from_mem_vector
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - replicate_imm_vector
    - IN_UCHARS
    - max_fast_forward_char_pair_offset
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - JUMPHERE
    - is_powerof2
    - JUMPTO
    - fast_forward_char_pair_sse2_compare
    - LABEL
    - sljit_set_current_flags
    - add_jump
    - sljit_emit_op_custom
    - SELECT
    - sljit_get_register_index
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_simd(compiler_common *common, sljit_s32
      offs1,\n  PCRE2_UCHAR char1a, PCRE2_UCHAR char1b, sljit_s32 offs2, PCRE2_UCHAR
      char2a, PCRE2_UCHAR char2b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2011
    functionName: VD
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VD(vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2012
    functionName: VJ
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJ(vj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2013
    functionName: VK
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VK(vk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2014
    functionName: RD_V
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_V(rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2015
    functionName: RJ_V
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RJ_V(rj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2017
    functionName: IMM_SI12
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMM_SI12(imm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2018
    functionName: IMM_UI5
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMM_UI5(imm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2019
    functionName: IMM_UI2
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMM_UI2(imm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2044,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2044,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2044,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2044,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2048,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2048,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2048,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2048,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2053,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2053,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2053,1
    - Dst: IMM_UI5
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2053,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2056,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2056,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2056,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2056,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2059,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2059,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2059,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2059,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2062,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2062,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2062,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - compiler
    - compare_type
    - dst_ind
    - cmp1_ind
    - cmp2_ind
    - tmp_ind
    argTypes:
    - struct sljit_compiler*
    - vector_compare_type
    - sljit_s32
    - sljit_s32
    - sljit_s32
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2064
    functionName: fast_forward_char_pair_lsx_compare
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - VK
    - push_inst
    - VD
    - IMM_UI5
    - VJ
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_lsx_compare(struct sljit_compiler *compiler,
      vector_compare_type compare_type,\n  sljit_s32 dst_ind, sljit_s32 cmp1_ind,
      sljit_s32 cmp2_ind, sljit_s32 tmp_ind)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2078,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2079,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2086,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2093,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2100,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2102,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2106,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2109,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2109,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2109,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2113,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2116,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2116,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2116,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2119,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2122,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2125,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2126,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2129,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2129,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2129,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2129,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2130,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2133,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2133,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2133,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2136,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2136,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2136,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2136,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2138,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2139,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2141,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2143,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2146,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2148,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2150,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2152,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2155,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2155,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2155,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2155,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2156,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2159,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2159,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2159,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2162,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2162,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2162,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2162,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2164,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2166,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2169,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2169,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2169,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2171,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2175,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2176,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2177,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2178,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2181,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2181,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2186,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2188,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2188,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2188,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2190,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2192,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2192,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2193,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2193,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2194,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2195,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 4
    argNames:
    - common
    - char1
    - char2
    - offset
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2200
    functionName: fast_forward_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - RD_V
    - IMM_UI2
    - fast_forward_char_pair_lsx_compare
    - SLJIT_ASSERT
    - CMP
    - IMM_SI12
    - push_inst
    - IN_UCHARS
    - VD
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - JUMPHERE
    - is_powerof2
    - JUMPTO
    - SLJIT_UNUSED_ARG
    - VJ
    - LABEL
    - RJ_V
    - add_jump
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void fast_forward_char_simd(compiler_common *common, PCRE2_UCHAR char1,
      PCRE2_UCHAR char2, sljit_s32 offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2211,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2212,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2224,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2231,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2231,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2232,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2233,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2237,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2240,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2240,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2240,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2244,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2246,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2246,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2246,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2249,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2250,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2251,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2254,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2254,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2254,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2254,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2255,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2258,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2258,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2258,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2261,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2261,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2261,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2261,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2263,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2264,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2266,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2268,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2271,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2273,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2275,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2275,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2278,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2278,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2278,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2278,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2279,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2282,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2282,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2282,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2285,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2285,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2285,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2285,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2287,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2289,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2292,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2292,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2292,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2294,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2295,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2295,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 3
    argNames:
    - common
    - char1
    - char2
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2204
    functionDepth: 2
    functionLinenumber: 2204
    functionLinenumberEnd: 2299
    functionName: fast_requested_char_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - fast_forward_char_pair_lsx_compare
    - VJ
    - JUMPHERE
    - CMP
    - add_jump
    - is_powerof2
    - OP2
    - sljit_get_register_index
    - RD_V
    - IMM_SI12
    - IMM_UI2
    - push_inst
    - CMPTO
    - VD
    - OP1
    - LABEL
    - RJ_V
    linkageType: ''
    returnType: jump_list
    signature: jump_list *fast_requested_char_simd(compiler_common *common, PCRE2_UCHAR
      char1, PCRE2_UCHAR char2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2311,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2312,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2313,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2314,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2329,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2330,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2330,1
    - Dst: max_fast_forward_char_pair_offset
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2330,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2335,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2335,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2336,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2336,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2337,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2339,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2340,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2343,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2343,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2344,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2344,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2347,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2351,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2354,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2355,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2361,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2362,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2367,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2367,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2367,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2372,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2372,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2372,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2376,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2380,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2383,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2384,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2390,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2391,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2396,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2396,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2396,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2401,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2401,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2401,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2405,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2408,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2409,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2410,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2411,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2414,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2414,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2414,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2414,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2416,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2419,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2419,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2419,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2419,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2420,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2422,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2425,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2425,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2425,1
    - Dst: IMM_UI5
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2425,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2427,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2429,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2430,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2433,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2433,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2433,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2433,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2436,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2436,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2436,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2439,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2439,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2439,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2439,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2442,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2443,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2445,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2447,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2450,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2452,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2453,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2453,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2456,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2456,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2456,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2456,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2457,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2457,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2457,1
    - Dst: IMM_SI12
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2457,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2459,1
    - Dst: fast_forward_char_pair_lsx_compare
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2460,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2463,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2463,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2463,1
    - Dst: VK
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2463,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2466,1
    - Dst: VD
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2466,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2466,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2469,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2469,1
    - Dst: VJ
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2469,1
    - Dst: IMM_UI2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2469,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2471,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2473,1
    - Dst: push_inst
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2476,1
    - Dst: RD_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2476,1
    - Dst: RJ_V
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2476,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2478,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2480,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2480,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2485,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2485,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2485,1
    - Dst: jump_if_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2487,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2489,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2489,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2490,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2492,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2492,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2494,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2498,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2498,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_simd_inc.h:2501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 96
    argCount: 7
    argNames:
    - common
    - offs1
    - char1a
    - char1b
    - offs2
    - char2a
    - char2b
    argTypes:
    - compiler_common*
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2303
    functionDepth: 2
    functionLinenumber: 2303
    functionLinenumberEnd: 2502
    functionName: fast_forward_char_pair_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_simd_inc.h
    functionUses: 0
    functionsReached:
    - OP2
    - RD_V
    - IMM_UI2
    - SLJIT_ASSERT
    - fast_forward_char_pair_lsx_compare
    - JUMP
    - CMP
    - IMM_SI12
    - VK
    - push_inst
    - IN_UCHARS
    - VD
    - IMM_UI5
    - max_fast_forward_char_pair_offset
    - jump_if_utf_char_start
    - OP2U
    - OP1
    - JUMPHERE
    - is_powerof2
    - VJ
    - LABEL
    - RJ_V
    - add_jump
    - SELECT
    - sljit_get_register_index
    - CMPTO
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: "void fast_forward_char_pair_simd(compiler_common *common, sljit_s32
      offs1,\n  PCRE2_UCHAR char1a, PCRE2_UCHAR char1b, sljit_s32 offs2, PCRE2_UCHAR
      char2a, PCRE2_UCHAR char2b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: PUTCHARS
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTCHARS(string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ISLOWER
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: ISLOWER
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWER(c)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:172,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_convert.c:194,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:208,1
    - Dst: ISLOWER
      Src: /src/pcre2/src/pcre2_convert.c:219,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:224,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:241,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_convert.c:243,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_convert.c:243,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:253,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_convert.c:270,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_convert.c:270,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:291,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:297,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2_convert.c:306,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:308,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2_convert.c:364,1
    - Dst: PUTCHARS
      Src: /src/pcre2/src/pcre2_convert.c:367,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_convert.c:371,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_convert.c:371,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 153
    argCount: 9
    argNames:
    - pattype
    - pattern
    - plength
    - utf
    - use_buffer
    - use_length
    - bufflenptr
    - dummyrun
    - ccontext
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - PCRE2_SIZE
    - BOOL
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - PCRE2_SIZE*
    - BOOL
    - pcre2_convert_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 384
    functionName: convert_posix
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - PUTCHARS
    - ISLOWER
    - strchr
    - GETCHARLENTEST
    - CU2BYTES
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int convert_posix(uint32_t pattype, PCRE2_SPTR pattern, PCRE2_SIZE
      plength,\n  BOOL utf, PCRE2_UCHAR *use_buffer, PCRE2_SIZE use_length,\n  PCRE2_SIZE
      *bufflenptr, BOOL dummyrun, pcre2_convert_context *ccontext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - chr
    argTypes:
    - pcre2_output_context*
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: convert_glob_write
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convert_glob_write(pcre2_output_context *out, PCRE2_UCHAR chr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - pcre2_output_context*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: convert_glob_write_str
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convert_glob_write_str(pcre2_output_context *out, PCRE2_SIZE length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:460,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - separator
    - with_escape
    argTypes:
    - pcre2_output_context*
    - PCRE2_UCHAR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: convert_glob_print_separator
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    linkageType: ''
    returnType: void
    signature: "void convert_glob_print_separator(pcre2_output_context *out,\n  PCRE2_UCHAR
      separator, BOOL with_escape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:480,1
    - Dst: convert_glob_print_separator
      Src: /src/pcre2/src/pcre2_convert.c:482,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - separator
    - with_escape
    argTypes:
    - pcre2_output_context*
    - PCRE2_UCHAR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: convert_glob_print_wildcard
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    - convert_glob_print_separator
    - convert_glob_write_str
    linkageType: ''
    returnType: void
    signature: "void convert_glob_print_wildcard(pcre2_output_context *out,\n  PCRE2_UCHAR
      separator, BOOL with_escape)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:538,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - from
    - pattern_end
    - out
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - pcre2_output_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 551
    functionName: convert_glob_parse_class
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    linkageType: ''
    returnType: int
    signature: "int convert_glob_parse_class(PCRE2_SPTR *from, PCRE2_SPTR pattern_end,\n
      \ pcre2_output_context *out)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_convert.c:566,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - class_index
    - c
    argTypes:
    - int
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 621
    functionName: convert_glob_char_in_class
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: BOOL
    signature: BOOL convert_glob_char_in_class(int class_index, PCRE2_UCHAR c)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:684,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:687,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:696,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_convert.c:705,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:709,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:717,1
    - Dst: convert_glob_print_separator
      Src: /src/pcre2/src/pcre2_convert.c:719,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:720,1
    - Dst: convert_glob_parse_class
      Src: /src/pcre2/src/pcre2_convert.c:732,1
    - Dst: convert_glob_char_in_class
      Src: /src/pcre2/src/pcre2_convert.c:742,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:750,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_convert.c:753,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_convert.c:760,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_convert.c:784,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:795,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:799,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 108
    argCount: 8
    argNames:
    - from
    - pattern_end
    - out
    - utf
    - separator
    - with_escape
    - escape
    - no_wildsep
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - pcre2_output_context*
    - BOOL
    - PCRE2_UCHAR
    - BOOL
    - PCRE2_UCHAR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 804
    functionName: convert_glob_parse_range
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    - GETCHARINCTEST
    - convert_glob_write_str
    - convert_glob_print_separator
    - convert_glob_parse_class
    - convert_glob_char_in_class
    linkageType: ''
    returnType: int
    signature: "int convert_glob_parse_range(PCRE2_SPTR *from, PCRE2_SPTR pattern_end,\n
      \ pcre2_output_context *out, BOOL utf, PCRE2_UCHAR separator,\n  BOOL with_escape,
      PCRE2_UCHAR escape, BOOL no_wildsep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:824,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - pcre2_output_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 826
    functionName: convert_glob_print_commit
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    - convert_glob_write_str
    linkageType: ''
    returnType: void
    signature: void convert_glob_print_commit(pcre2_output_context *out)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/pcre2/src/pcre2_convert.c:876,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:887,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:904,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:917,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:950,1
    - Dst: convert_glob_print_separator
      Src: /src/pcre2/src/pcre2_convert.c:952,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:953,1
    - Dst: convert_glob_print_commit
      Src: /src/pcre2/src/pcre2_convert.c:959,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:966,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:977,1
    - Dst: convert_glob_print_separator
      Src: /src/pcre2/src/pcre2_convert.c:979,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:984,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:1015,1
    - Dst: convert_glob_print_commit
      Src: /src/pcre2/src/pcre2_convert.c:1019,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1023,1
    - Dst: convert_glob_print_wildcard
      Src: /src/pcre2/src/pcre2_convert.c:1025,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:1031,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1038,1
    - Dst: convert_glob_print_wildcard
      Src: /src/pcre2/src/pcre2_convert.c:1040,1
    - Dst: convert_glob_parse_range
      Src: /src/pcre2/src/pcre2_convert.c:1046,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2_convert.c:1062,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1063,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1065,1
    - Dst: convert_glob_write_str
      Src: /src/pcre2/src/pcre2_convert.c:1074,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1078,1
    - Dst: convert_glob_write
      Src: /src/pcre2/src/pcre2_convert.c:1080,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 157
    argCount: 9
    argNames:
    - options
    - pattern
    - plength
    - utf
    - use_buffer
    - use_length
    - bufflenptr
    - dummyrun
    - ccontext
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - PCRE2_SIZE
    - BOOL
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - PCRE2_SIZE*
    - BOOL
    - pcre2_convert_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 1094
    functionName: convert_glob
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_glob_write
    - strchr
    - convert_glob_write_str
    - convert_glob_print_separator
    - convert_glob_print_commit
    - convert_glob_print_wildcard
    - convert_glob_parse_range
    linkageType: ''
    returnType: int
    signature: "int convert_glob(uint32_t options, PCRE2_SPTR pattern, PCRE2_SIZE
      plength,\n  BOOL utf, PCRE2_UCHAR *use_buffer, PCRE2_SIZE use_length,\n  PCRE2_SIZE
      *bufflenptr, BOOL dummyrun, pcre2_convert_context *ccontext)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_convert.c:1146,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_convert.c:1148,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_convert.c:1162,1
    - Dst: convert_glob
      Src: /src/pcre2/src/pcre2_convert.c:1191,1
    - Dst: convert_posix
      Src: /src/pcre2/src/pcre2_convert.c:1197,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_convert.c:1204,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_convert.c:1218,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_convert.c:1233,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 6
    argNames:
    - pattern
    - plength
    - options
    - buffptr
    - bufflenptr
    - ccontext
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - uint32_t
    - PCRE2_UCHAR**
    - PCRE2_SIZE*
    - pcre2_convert_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1116
    functionDepth: 4
    functionLinenumber: 1116
    functionLinenumberEnd: 1237
    functionName: pcre2_pattern_convert
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - convert_posix
    - convert_glob
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_pattern_convert(PCRE2_SPTR pattern, PCRE2_SIZE
      plength, uint32_t options,\n  PCRE2_UCHAR **buffptr, PCRE2_SIZE *bufflenptr,\n
      \ pcre2_convert_context *ccontext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_convert.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - converted
    argTypes:
    - PCRE2_UCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1259
    functionName: pcre2_converted_pattern_free
    functionSourceFile: /src/pcre2/src/pcre2_convert.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_converted_pattern_free(PCRE2_UCHAR *converted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: STRING
    functionSourceFile: /src/pcre2/src/pcre2_error.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: XSTRING
    functionSourceFile: /src/pcre2/src/pcre2_error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTRING(s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_maketables.c:84,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_maketables.c:85,1
    - Dst: charfn_from
      Src: /src/pcre2/src/pcre2_maketables.c:101,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2_maketables.c:101,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:101,1
    - Dst: charfn_from
      Src: /src/pcre2/src/pcre2_maketables.c:109,1
    - Dst: islower
      Src: /src/pcre2/src/pcre2_maketables.c:109,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:109,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2_maketables.c:109,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:109,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2_maketables.c:110,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:110,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_maketables.c:127,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2_maketables.c:130,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:130,1
    - Dst: isupper
      Src: /src/pcre2/src/pcre2_maketables.c:131,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:131,1
    - Dst: islower
      Src: /src/pcre2/src/pcre2_maketables.c:132,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:132,1
    - Dst: isalnum
      Src: /src/pcre2/src/pcre2_maketables.c:133,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:133,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2_maketables.c:135,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:135,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2_maketables.c:136,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:136,1
    - Dst: isgraph
      Src: /src/pcre2/src/pcre2_maketables.c:137,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:137,1
    - Dst: isprint
      Src: /src/pcre2/src/pcre2_maketables.c:138,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:138,1
    - Dst: ispunct
      Src: /src/pcre2/src/pcre2_maketables.c:139,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:139,1
    - Dst: iscntrl
      Src: /src/pcre2/src/pcre2_maketables.c:140,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:140,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2_maketables.c:152,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:152,1
    - Dst: isalpha
      Src: /src/pcre2/src/pcre2_maketables.c:153,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:153,1
    - Dst: islower
      Src: /src/pcre2/src/pcre2_maketables.c:154,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:154,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2_maketables.c:155,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:155,1
    - Dst: isalnum
      Src: /src/pcre2/src/pcre2_maketables.c:156,1
    - Dst: charfn_to
      Src: /src/pcre2/src/pcre2_maketables.c:156,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 161
    functionName: PCRE2_CALL_CONVENTION::pcre2_maketables
    functionSourceFile: /src/pcre2/src/pcre2_maketables.c
    functionUses: 0
    functionsReached:
    - pcre2_general_context*::memctl::malloc
    - isalpha
    - memset
    - islower
    - isalnum
    - toupper
    - ispunct
    - isdigit
    - iscntrl
    - isprint
    - charfn_from
    - isgraph
    - isxdigit
    - tolower
    - malloc
    - isspace
    - charfn_to
    - isupper
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: 'PCRE2_EXP_DEFN * PCRE2_CALL_CONVENTION

      pcre2_maketables(pcre2_general_context *gcontext)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: charfn_to
    functionSourceFile: /src/pcre2/src/pcre2_maketables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charfn_to(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: charfn_from
    functionSourceFile: /src/pcre2/src/pcre2_maketables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charfn_from(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context*::memctl::free
      Src: /src/pcre2/src/pcre2_maketables.c:171,1
    - Dst: free
      Src: /src/pcre2/src/pcre2_maketables.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - gcontext
    - tables
    argTypes:
    - pcre2_general_context*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: pcre2_maketables_free
    functionSourceFile: /src/pcre2/src/pcre2_maketables.c
    functionUses: 0
    functionsReached:
    - pcre2_general_context*::memctl::free
    - free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_maketables_free(pcre2_general_context *gcontext,
      const uint8_t *tables)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:189,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 135
    argCount: 3
    argNames:
    - code
    - what
    - where
    argTypes:
    - pcre2_code*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 246
    functionName: pcre2_pattern_info
    functionSourceFile: /src/pcre2/src/pcre2_pattern_info.c
    functionUses: 2
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_pattern_info(const pcre2_code *code, uint32_t
      what, void *where)
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:358,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_pattern_info.c:360,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_pattern_info.c:360,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:377,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:386,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:395,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:399,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:400,1
    - Dst: callback
      Src: /src/pcre2/src/pcre2_pattern_info.c:405,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:407,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:411,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:412,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:414,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:416,1
    - Dst: callback
      Src: /src/pcre2/src/pcre2_pattern_info.c:418,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_pattern_info.c:420,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_pattern_info.c:424,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 131
    argCount: 2
    argNames:
    - code
    - callout_data
    argTypes:
    - pcre2_code*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 428
    functionName: pcre2_callout_enumerate
    functionSourceFile: /src/pcre2/src/pcre2_pattern_info.c
    functionUses: 0
    functionsReached:
    - callback
    - GET_EXTRALEN
    - PRIV
    - GET
    - HAS_EXTRALEN
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_callout_enumerate(const pcre2_code *code,\n  int
      (*callback)(pcre2_callout_enumerate_block *, void *), void *callout_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match_data.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - oveccount
    - gcontext
    argTypes:
    - uint32_t
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: pcre2_match_data_create
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 1
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: void
    signature: void pcre2_match_data_create(uint32_t oveccount, pcre2_general_context
      *gcontext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2_match_data.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - code
    - gcontext
    argTypes:
    - pcre2_code*
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: pcre2_match_data_create_from_pattern
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached:
    - pcre2_match_data_create
    linkageType: ''
    returnType: void
    signature: "void pcre2_match_data_create_from_pattern(const pcre2_code *code,\n
      \ pcre2_general_context *gcontext)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data*::memctl::free
      Src: /src/pcre2/src/pcre2_match_data.c:102,1
    - Dst: pcre2_match_data*::memctl::free
      Src: /src/pcre2/src/pcre2_match_data.c:105,1
    - Dst: pcre2_match_data*::memctl::free
      Src: /src/pcre2/src/pcre2_match_data.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: pcre2_match_data_free
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 1
    functionsReached:
    - pcre2_match_data*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_match_data_free(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: pcre2_get_mark
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_get_mark(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcre2_get_ovector_pointer
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcre2_get_ovector_pointer(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: pcre2_get_ovector_count
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_get_ovector_count(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: pcre2_get_startchar
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_get_startchar(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: pcre2_get_match_data_size
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_get_match_data_size(pcre2_match_data *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: pcre2_get_match_data_heapframes_size
    functionSourceFile: /src/pcre2/src/pcre2_match_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_get_match_data_heapframes_size(pcre2_match_data
      *match_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: STRING
    functionSourceFile: /src/pcre2/src/pcre2_config.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: XSTRING
    functionSourceFile: /src/pcre2/src/pcre2_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTRING(s)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_config.c:155,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_config.c:157,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_config.c:157,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_config.c:201,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_config.c:206,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_config.c:206,1
    - Dst: XSTRING
      Src: /src/pcre2/src/pcre2_config.c:239,1
    - Dst: XSTRING
      Src: /src/pcre2/src/pcre2_config.c:240,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_config.c:242,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_config.c:242,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 91
    argCount: 2
    argNames:
    - what
    - where
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 248
    functionName: pcre2_config
    functionSourceFile: /src/pcre2/src/pcre2_config.c
    functionUses: 1
    functionsReached:
    - strlen
    - XSTRING
    - PRIV
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_config(uint32_t what, void *where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: SET_CHAR_OFFSET
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CHAR_OFFSET(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - destination
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: READ_FROM_CHAR_LIST
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_FROM_CHAR_LIST(destination)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:110,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:111,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:116,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:124,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:129,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:139,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:184,1
    - Dst: sljit_set_compiler_memory_error
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:189,1
    - Dst: READ_FROM_CHAR_LIST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:210,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:211,1
    - Dst: READ_FROM_CHAR_LIST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:216,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:278,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:279,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 110
    argCount: 3
    argNames:
    - common
    - cc
    - ranges
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - xclass_ranges*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 281
    functionName: xclass_compute_ranges
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - GETCHARINCTEST
    - READ_FROM_CHAR_LIST
    - sljit_set_compiler_memory_error
    - SLJIT_MALLOC
    - GET
    linkageType: ''
    returnType: void
    signature: void xclass_compute_ranges(compiler_common *common, PCRE2_SPTR cc,
      xclass_ranges *ranges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:288,1
    - Dst: optimize_class
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:289,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:291,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:292,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:293,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:293,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:294,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:295,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:296,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:296,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:299,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:299,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - common
    - bitset
    - found
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u8*
    - jump_list**
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: xclass_check_bitset
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - OP2
    - OP2U
    - optimize_class
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void xclass_check_bitset(compiler_common *common, const sljit_u8 *bitset,
      jump_list **found, jump_list **backtracks)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:315,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:322,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:323,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:330,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:338,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:344,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:354,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:357,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:369,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:443,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:477,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 4
    argNames:
    - common
    - cc
    - min_ptr
    - max_ptr
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - sljit_u32*
    - sljit_u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 480
    functionName: xclass_update_min_max
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - GET
    - SLJIT_ASSERT
    - GETCHARINCTEST
    linkageType: ''
    returnType: void
    signature: void xclass_update_min_max(compiler_common *common, PCRE2_SPTR cc,
      sljit_u32 *min_ptr, sljit_u32 *max_ptr)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:526,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:526,1
    - Dst: UCPCAT3
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:546,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:550,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:550,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:550,1
    - Dst: UCPCAT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:554,1
    - Dst: UCPCAT2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:558,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:601,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:623,1
    - Dst: compile_char1_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:627,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:629,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:629,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:642,1
    - Dst: xclass_update_min_max
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:645,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:655,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:657,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:665,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:669,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:671,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:678,1
    - Dst: xclass_check_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:679,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:687,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:692,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:693,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:697,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:698,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:699,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:699,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:699,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:700,1
    - Dst: sljit_emit_op2_shift
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:701,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:702,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:702,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:703,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:703,1
    - Dst: sljit_emit_op2_shift
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:704,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:705,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:711,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:711,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:711,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:711,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:712,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:724,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:725,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:735,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:735,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:735,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:735,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:736,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:737,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:749,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:749,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:749,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:750,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:750,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:760,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:760,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:760,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:760,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:779,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:779,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:789,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:789,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:789,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:789,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:790,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:791,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:799,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:799,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:804,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:808,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:808,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:808,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:808,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:823,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:826,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:832,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:832,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:832,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:833,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:833,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:836,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:842,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:842,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:844,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:849,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:856,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:856,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:856,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:856,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:857,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:863,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:864,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:864,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:900,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:901,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:902,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:904,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:905,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:907,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:908,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:910,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:910,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:911,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:912,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:916,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:917,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:918,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:919,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:920,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:921,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:923,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:924,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:925,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:926,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:927,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:928,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:929,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:933,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:933,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:933,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:934,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:936,1
    - Dst: UCPCAT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:936,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:937,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:941,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:942,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:943,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:945,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:946,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:948,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:949,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:952,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:954,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:955,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:959,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:959,1
    - Dst: UCPCAT2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:959,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:960,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:962,1
    - Dst: UCPCAT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:962,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:963,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:967,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:968,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:969,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:971,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:972,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:975,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:977,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:978,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:982,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:982,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:983,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:985,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:986,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:987,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:989,1
    - Dst: UCPCAT_RANGE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:989,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:990,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:991,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:995,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:996,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:997,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:998,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1000,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1001,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1002,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1004,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1005,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1007,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1008,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1010,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1011,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1012,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1014,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1015,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1016,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1018,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1020,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1021,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1022,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1026,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1033,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1039,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1039,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1042,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1047,1
    - Dst: xclass_compute_ranges
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1052,1
    - Dst: xclass_update_min_max
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1064,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1065,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1078,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1079,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1082,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1084,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1086,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1088,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1088,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1091,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1096,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1101,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1102,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1108,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1113,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1119,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1124,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1125,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1126,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1130,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1136,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1153,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1154,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1155,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1159,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1160,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1165,1
    - Dst: SET_CHAR_OFFSET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1174,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1175,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1178,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1180,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1184,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1187,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1189,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1198,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1198,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1205,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1209,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1209,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1212,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1215,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1216,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1219,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1222,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1222,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1225,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1228,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 477
    argCount: 4
    argNames:
    - common
    - cc
    - backtracks
    - status
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - jump_list**
    - sljit_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 1229
    functionName: compile_xclass_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - UCPCAT_RANGE
    - sljit_emit_op2_shift
    - xclass_update_min_max
    - xclass_compute_ranges
    - OP2
    - compile_char1_matchingpath
    - SLJIT_FREE
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - PRIV
    - OP2U
    - OP1
    - UCPCAT
    - read_char
    - JUMPHERE
    - sljit_has_cpu_feature
    - SLJIT_OFFSETOF
    - SSIZE_OF
    - OP_FLAGS
    - xclass_check_bitset
    - LABEL
    - sljit_set_current_flags
    - SLJIT_MEM2
    - add_jump
    - UCPCAT2
    - SET_CHAR_OFFSET
    - UCPCAT3
    - SELECT
    - SLJIT_UNREACHABLE
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void compile_xclass_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, jump_list **backtracks, sljit_u32 status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1234,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1242,1
    - Dst: xclass_check_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1246,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1252,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1252,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1253,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1253,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1254,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1255,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1258,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1266,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1267,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1268,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1273,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1274,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1275,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1280,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1281,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1282,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1287,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1291,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1294,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1295,1
    - Dst: compile_xclass_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1299,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1300,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1300,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1302,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1307,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1308,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1308,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1309,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1309,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1310,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1310,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1311,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 3
    argNames:
    - common
    - cc
    - backtracks
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1231
    functionDepth: 3
    functionLinenumber: 1231
    functionLinenumberEnd: 1313
    functionName: compile_eclass_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - read_char
    - JUMP
    - add_jump
    - OP2
    - OP2U
    - xclass_check_bitset
    - compile_xclass_matchingpath
    - set_jumps
    - GET
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_eclass_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, jump_list **backtracks)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1499,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1500,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1510,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1531,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1532,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1534,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - args
    - cc
    argTypes:
    - jit_arguments*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1560
    functionName: do_extuni_utf
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - GETCHAR
    - BACKCHAR
    - GETCHARINC
    - UCD_GRAPHBREAK
    - PRIV
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR do_extuni_utf(jit_arguments *args, PCRE2_SPTR cc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINC_INVALID
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1582,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1583,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1593,1
    - Dst: GETCHARBACK_INVALID
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1613,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1615,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - args
    - cc
    argTypes:
    - jit_arguments*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1642
    functionName: do_extuni_utf_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - GETCHARINC_INVALID
    - UCD_GRAPHBREAK
    - PRIV
    - GETCHARBACK_INVALID
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR do_extuni_utf_invalid(jit_arguments *args, PCRE2_SPTR cc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1665,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1674,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1676,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1703,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 2
    argNames:
    - args
    - cc
    argTypes:
    - jit_arguments*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1727
    functionName: do_extuni_no_utf
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - UCD_GRAPHBREAK
    - PRIV
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR do_extuni_no_utf(jit_arguments *args, PCRE2_SPTR cc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1735,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1737,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1741,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1754,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1755,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1757,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1759,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1766,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1768,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1769,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1770,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1773,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1775,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1777,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1778,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1779,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1781,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1784,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1786,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1792,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1793,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1798,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1801,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1803,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1807,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1809,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - common
    - cc
    - backtracks
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1812
    functionName: compile_clist
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - read_char
    - JUMP
    - sljit_has_cpu_feature
    - CMP
    - add_jump
    - is_powerof2
    - OP2
    - SELECT
    - OP_FLAGS
    - PRIV
    - OP2U
    linkageType: ''
    returnType: void
    signature: void compile_clist(compiler_common *common, PCRE2_SPTR cc, jump_list
      **backtracks)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1834,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1836,1
    - Dst: read_char7_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1837,1
    - Dst: read_char8_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1840,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1842,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1843,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1843,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1849,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1851,1
    - Dst: read_char7_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1852,1
    - Dst: read_char8_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1855,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1856,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1857,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1857,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1863,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1865,1
    - Dst: read_char7_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1866,1
    - Dst: read_char8_type
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1869,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1870,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1871,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1871,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1876,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1877,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1880,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1883,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1883,1
    - Dst: check_str_end
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1885,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1887,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1887,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1888,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1888,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1889,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1889,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1890,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1893,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1898,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1902,1
    - Dst: skip_valid_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1907,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1912,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1913,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1913,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1920,1
    - Dst: compile_clist
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1923,1
    - Dst: compile_xclass_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1932,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1938,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1939,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1940,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1944,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1944,1
    - Dst: check_str_end
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1946,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1947,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1947,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1948,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1949,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1951,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1953,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1954,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1955,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1956,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1957,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1957,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1958,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1964,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1967,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1969,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1971,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1971,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1972,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1973,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1973,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1979,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1982,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1984,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1986,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1986,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1987,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1988,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1988,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1994,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1996,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:1997,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2000,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2000,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2001,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2001,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2001,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2003,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2003,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2005,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2005,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2006,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2006,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2008,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2008,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2011,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2015,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2017,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2018,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2027,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2027,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2031,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2033,1
    - Dst: char_get_othercase_bit
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2033,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2035,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2035,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2037,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2037,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2039,1
    - Dst: byte_sequence_compare
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2044,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2050,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2056,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2056,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2059,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2059,1
    - Dst: char_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2061,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2062,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2064,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2064,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2066,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2068,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2069,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2070,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2070,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2074,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2075,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2075,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2076,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2083,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2093,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2093,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2094,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2095,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2095,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2099,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2100,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2100,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2103,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2103,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2104,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2105,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2105,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2105,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2106,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2107,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2113,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2120,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2122,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2123,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2123,1
    - Dst: char_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2127,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2128,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2130,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2132,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2133,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2133,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2137,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2137,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2138,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2138,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2146,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2149,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2151,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2153,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2156,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2158,1
    - Dst: optimize_class
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2161,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2168,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2171,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2176,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2179,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2184,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2185,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2186,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2186,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2187,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2188,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2189,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2189,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2193,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2200,1
    - Dst: compile_xclass_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2201,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2202,1
    - Dst: detect_partial_match
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2206,1
    - Dst: compile_eclass_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2207,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2210,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 263
    argCount: 5
    argNames:
    - common
    - type
    - cc
    - backtracks
    - check_str_ptr
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_SPTR
    - jump_list**
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 1816
    functionDepth: 4
    functionLinenumber: 1816
    functionLinenumberEnd: 2212
    functionName: compile_char1_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 1
    functionsReached:
    - detect_partial_match
    - check_newlinechar
    - compile_eclass_matchingpath
    - read_char8_type
    - OP2
    - SLJIT_ARGS2
    - optimize_class
    - GET
    - read_char7_type
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - byte_sequence_compare
    - check_partial
    - PRIV
    - IN_UCHARS
    - char_othercase
    - OP1
    - OP2U
    - read_char
    - JUMPHERE
    - char_has_othercase
    - GETCHAR
    - sljit_has_cpu_feature
    - is_powerof2
    - char_get_othercase_bit
    - OP_FLAGS
    - compile_clist
    - SLJIT_FUNC_ADDR
    - GETCHARLEN
    - sljit_emit_icall
    - LABEL
    - skip_valid_char
    - sljit_set_current_flags
    - add_jump
    - check_str_end
    - SELECT
    - is_char7_bitset
    - set_jumps
    - GET_EXTRALEN
    - SLJIT_UNREACHABLE
    - SLJIT_MEM1
    - HAS_EXTRALEN
    - compile_xclass_matchingpath
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_char1_matchingpath(compiler_common *common, PCRE2_UCHAR
      type, PCRE2_SPTR cc, jump_list **backtracks, BOOL check_str_ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2233,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2234,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2243,1
    - Dst: char_get_othercase_bit
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2243,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2245,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2246,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2250,1
    - Dst: char_get_othercase_bit
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2250,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2257,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2265,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2266,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2266,1
    - Dst: byte_sequence_compare
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2272,1
    - Dst: compile_char1_matchingpath
      Src: /src/pcre2/src/pcre2_jit_char_inc.h:2277,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - common
    - cc
    - ccend
    - backtracks
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2214
    functionDepth: 5
    functionLinenumber: 2214
    functionLinenumberEnd: 2278
    functionName: compile_charn_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_char_inc.h
    functionUses: 0
    functionsReached:
    - char_has_othercase
    - add_jump
    - CMP
    - OP2
    - char_get_othercase_bit
    - byte_sequence_compare
    - compile_char1_matchingpath
    - GET_EXTRALEN
    - IN_UCHARS
    - HAS_EXTRALEN
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_charn_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, PCRE2_SPTR ccend, jump_list **backtracks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ARR_SIZE
    functionSourceFile: /src/pcre2/src/pcre2_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARR_SIZE(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: 880
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 880
    functionName: PCRE2_JOIN
    functionSourceFile: /src/pcre2/src/pcre2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_JOIN(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: 881
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 881
    functionName: PCRE2_GLUE
    functionSourceFile: /src/pcre2/src/pcre2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_GLUE(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1065
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: SET_BIT
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BIT(c)
  - BBCount: 226
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:115,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:158,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:186,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:190,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:203,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:207,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:212,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:239,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:254,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:280,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:284,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:293,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:294,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:319,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:319,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:337,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:340,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:340,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:345,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:404,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:412,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:425,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:428,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:450,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:481,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:484,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:493,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:499,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:501,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:504,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:523,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:541,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:549,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:559,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:561,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:563,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:581,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:594,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:621,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:644,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:645,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:652,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:665,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:724,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:726,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_study.c:726,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:737,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:749,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:757,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:764,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 443
    argCount: 7
    argNames:
    - re
    - code
    - startcode
    - utf
    - recurses
    - countptr
    - backref_cache
    argTypes:
    - pcre2_real_code*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - recurse_check*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 767
    functionName: find_minlength
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 1
    functionsReached:
    - find_minlength
    - PCRE2_DEBUG_UNREACHABLE
    - GET2
    - PRIV
    - GET_EXTRALEN
    - GET
    - HAS_EXTRALEN
    linkageType: ''
    returnType: int
    signature: "int find_minlength(const pcre2_real_code *re, PCRE2_SPTR code,\n  PCRE2_SPTR
      startcode, BOOL utf, recurse_check *recurses, int *countptr,\n  int *backref_cache)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:801,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:804,1
    - Dst: GETUTF8INC
      Src: /src/pcre2/src/pcre2_study.c:813,1
    - Dst: GETUTF16INC
      Src: /src/pcre2/src/pcre2_study.c:815,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_study.c:827,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:832,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:833,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:835,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:837,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:837,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_study.c:846,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:846,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - re
    - p
    - caseless
    - utf
    - ucp
    argTypes:
    - pcre2_real_code*
    - PCRE2_SPTR
    - BOOL
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 850
    functionName: set_table_bit
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 0
    functionsReached:
    - GETUTF8INC
    - SET_BIT
    - UCD_OTHERCASE
    - GETUTF16INC
    - PRIV
    - MAX_255
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: "PCRE2_SPTR set_table_bit(pcre2_real_code *re, PCRE2_SPTR p, BOOL caseless,
      BOOL utf,\n  BOOL ucp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:886,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - re
    - cbit_type
    - table_limit
    argTypes:
    - pcre2_real_code*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 891
    functionName: set_type_bits
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 0
    functionsReached:
    - SET_BIT
    - PRIV
    linkageType: ''
    returnType: void
    signature: void set_type_bits(pcre2_real_code *re, int cbit_type, unsigned int
      table_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - re
    - cbit_type
    - table_limit
    argTypes:
    - pcre2_real_code*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 923
    functionName: set_nottype_bits
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_nottype_bits(pcre2_real_code *re, int cbit_type, unsigned
      int table_limit)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:958,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1000,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1005,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1034,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1041,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 3
    argNames:
    - code
    - start_bitmap
    - char_lists_end
    argTypes:
    - PCRE2_SPTR
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 1054
    functionName: study_char_list
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 0
    functionsReached:
    - GET
    - PRIV
    linkageType: ''
    returnType: void
    signature: "void study_char_list(PCRE2_SPTR code, uint8_t *start_bitmap,\n  const
      uint8_t *char_lists_end)"
  - BBCount: 229
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1214,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1225,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1232,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1236,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1236,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1258,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1259,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1275,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1276,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1288,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1292,1
    - Dst: set_start_bits
      Src: /src/pcre2/src/pcre2_study.c:1352,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1359,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_study.c:1386,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1390,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1401,1
    - Dst: set_start_bits
      Src: /src/pcre2/src/pcre2_study.c:1410,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1412,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1420,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1432,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1441,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1449,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1455,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1467,1
    - Dst: set_table_bit
      Src: /src/pcre2/src/pcre2_study.c:1478,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1489,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1490,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1496,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1497,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1505,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1506,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1507,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1508,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1514,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1523,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1524,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1525,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1526,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1532,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1533,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1541,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1542,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1548,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1561,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1566,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1571,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1576,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1581,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1586,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1626,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1627,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1633,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1634,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1642,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1643,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1644,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1645,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1651,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1658,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1659,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1660,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1661,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1667,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1668,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1676,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1677,1
    - Dst: SET_BIT
      Src: /src/pcre2/src/pcre2_study.c:1683,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1689,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1693,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1697,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1701,1
    - Dst: set_nottype_bits
      Src: /src/pcre2/src/pcre2_study.c:1705,1
    - Dst: set_type_bits
      Src: /src/pcre2/src/pcre2_study.c:1709,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1751,1
    - Dst: study_char_list
      Src: /src/pcre2/src/pcre2_study.c:1755,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:1782,1
    - Dst: if
      Src: /src/pcre2/src/pcre2_study.c:1803,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_study.c:1806,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_study.c:1819,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_study.c:1877,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 480
    argCount: 5
    argNames:
    - re
    - code
    - utf
    - ucp
    - depthptr
    argTypes:
    - pcre2_real_code*
    - PCRE2_SPTR
    - BOOL
    - BOOL
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1894
    functionName: set_start_bits
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 1
    functionsReached:
    - set_start_bits
    - memset
    - PCRE2_DEBUG_UNREACHABLE
    - GET2
    - set_type_bits
    - study_char_list
    - SET_BIT
    - if
    - PRIV
    - set_table_bit
    - set_nottype_bits
    - GET
    linkageType: ''
    returnType: int
    signature: "int set_start_bits(pcre2_real_code *re, PCRE2_SPTR code, BOOL utf,
      BOOL ucp,\n  int *depthptr)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: set_start_bits
      Src: /src/pcre2/src/pcre2_study.c:1933,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:1937,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_study.c:1996,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/src/pcre2_study.c:2001,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_study.c:2002,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_study.c:2012,1
    - Dst: find_minlength
      Src: /src/pcre2/src/pcre2_study.c:2059,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:2067,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_study.c:2073,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 101
    argCount: 1
    argNames:
    - re
    argTypes:
    - pcre2_real_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 1914
    functionDepth: 3
    functionLinenumber: 1914
    functionLinenumberEnd: 2084
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_study.c
    functionUses: 17
    functionsReached:
    - set_start_bits
    - find_minlength
    - UCD_CASESET
    - TABLE_GET
    - UCD_OTHERCASE
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int PRIV(study)(pcre2_real_code *re)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_nametable_scan
      Src: /src/pcre2/src/pcre2_substring.c:76,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_substring.c:82,1
    - Dst: pcre2_substring_copy_bynumber
      Src: /src/pcre2/src/pcre2_substring.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - match_data
    - stringname
    - buffer
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - PCRE2_SPTR
    - PCRE2_UCHAR*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: pcre2_substring_copy_byname
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_substring_nametable_scan
    - GET2
    - pcre2_substring_copy_bynumber
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_copy_byname(pcre2_match_data *match_data,
      PCRE2_SPTR stringname,\n  PCRE2_UCHAR *buffer, PCRE2_SIZE *sizeptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2_substring.c:122,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substring.c:125,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substring.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - match_data
    - stringnumber
    - buffer
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - uint32_t
    - PCRE2_UCHAR*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: pcre2_substring_copy_bynumber
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 1
    functionsReached:
    - CU2BYTES
    - memcpy
    - pcre2_substring_length_bynumber
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_copy_bynumber(pcre2_match_data *match_data,\n
      \ uint32_t stringnumber, PCRE2_UCHAR *buffer, PCRE2_SIZE *sizeptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_nametable_scan
      Src: /src/pcre2/src/pcre2_substring.c:164,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_substring.c:170,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2_substring.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - match_data
    - stringname
    - stringptr
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - PCRE2_SPTR
    - PCRE2_UCHAR**
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: pcre2_substring_get_byname
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_substring_nametable_scan
    - GET2
    - pcre2_substring_get_bynumber
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_get_byname(pcre2_match_data *match_data,\n
      \ PCRE2_SPTR stringname, PCRE2_UCHAR **stringptr, PCRE2_SIZE *sizeptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2_substring.c:211,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substring.c:213,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substring.c:217,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substring.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - match_data
    - stringnumber
    - stringptr
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - uint32_t
    - PCRE2_UCHAR**
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: pcre2_substring_get_bynumber
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 1
    functionsReached:
    - CU2BYTES
    - PRIV
    - memcpy
    - pcre2_substring_length_bynumber
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_get_bynumber(pcre2_match_data *match_data,\n
      \ uint32_t stringnumber, PCRE2_UCHAR **stringptr, PCRE2_SIZE *sizeptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_substring.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - PCRE2_UCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: pcre2_substring_free
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_substring_free(PCRE2_UCHAR *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_nametable_scan
      Src: /src/pcre2/src/pcre2_substring.c:271,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_substring.c:277,1
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2_substring.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - match_data
    - stringname
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - PCRE2_SPTR
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: pcre2_substring_length_byname
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_substring_nametable_scan
    - GET2
    - pcre2_substring_length_bynumber
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_length_byname(pcre2_match_data *match_data,\n
      \ PCRE2_SPTR stringname, PCRE2_SIZE *sizeptr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_substring.c:346,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - match_data
    - stringnumber
    - sizeptr
    argTypes:
    - pcre2_match_data*
    - uint32_t
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 352
    functionName: pcre2_substring_length_bynumber
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 3
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_length_bynumber(pcre2_match_data *match_data,\n
      \ uint32_t stringnumber, PCRE2_SIZE *sizeptr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substring.c:399,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substring.c:400,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substring.c:403,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substring.c:428,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substring.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - match_data
    - listptr
    - lengthsptr
    argTypes:
    - pcre2_match_data*
    - PCRE2_UCHAR***
    - PCRE2_SIZE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 437
    functionName: pcre2_substring_list_get
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - CU2BYTES
    - PRIV
    - memcpy
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_list_get(pcre2_match_data *match_data,
      PCRE2_UCHAR ***listptr,\n  PCRE2_SIZE **lengthsptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_substring.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - PCRE2_UCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: pcre2_substring_list_free
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_substring_list_free(PCRE2_UCHAR **list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substring.c:498,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substring.c:508,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substring.c:513,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_substring.c:517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - code
    - stringname
    - firstptr
    - lastptr
    argTypes:
    - pcre2_code*
    - PCRE2_SPTR
    - PCRE2_SPTR*
    - PCRE2_SPTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 526
    functionName: pcre2_substring_nametable_scan
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 3
    functionsReached:
    - GET2
    - PRIV
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_nametable_scan(const pcre2_code *code,
      PCRE2_SPTR stringname,\n  PCRE2_SPTR *firstptr, PCRE2_SPTR *lastptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_nametable_scan
      Src: /src/pcre2/src/pcre2_substring.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - stringname
    argTypes:
    - pcre2_code*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 551
    functionName: pcre2_substring_number_from_name
    functionSourceFile: /src/pcre2/src/pcre2_substring.c
    functionUses: 0
    functionsReached:
    - pcre2_substring_nametable_scan
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_substring_number_from_name(const pcre2_code *code,\n
      \ PCRE2_SPTR stringname)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_serialize.c:83,1
    - Dst: pcre2_memctl*::malloc
      Src: /src/pcre2/src/pcre2_serialize.c:107,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:111,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:122,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:128,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_serialize.c:140,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_serialize.c:142,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_serialize.c:144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - codes
    - number_of_codes
    - serialized_bytes
    - serialized_size
    - gcontext
    argTypes:
    - pcre2_code**
    - int32_t
    - uint8_t**
    - PCRE2_SIZE*
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 153
    functionName: pcre2_serialize_encode
    functionSourceFile: /src/pcre2/src/pcre2_serialize.c
    functionUses: 0
    functionsReached:
    - memset
    - pcre2_memctl*::malloc
    - PRIV
    - memcpy
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_serialize_encode(const pcre2_code **codes, int32_t
      number_of_codes,\n   uint8_t **serialized_bytes, PCRE2_SIZE *serialized_size,\n
      \  pcre2_general_context *gcontext)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_serialize.c:166,1
    - Dst: pcre2_memctl*::malloc
      Src: /src/pcre2/src/pcre2_serialize.c:191,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:194,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:207,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_serialize.c:217,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_serialize.c:227,1
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_serialize.c:252,1
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_serialize.c:253,1
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_serialize.c:256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - codes
    - number_of_codes
    - bytes
    - gcontext
    argTypes:
    - pcre2_code**
    - int32_t
    - uint8_t*
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 260
    functionName: pcre2_serialize_decode
    functionSourceFile: /src/pcre2/src/pcre2_serialize.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::malloc
    - pcre2_memctl*::free
    - PRIV
    - memcpy
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_serialize_decode(pcre2_code **codes, int32_t
      number_of_codes,\n   const uint8_t *bytes, pcre2_general_context *gcontext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: pcre2_serialize_get_number_of_codes
    functionSourceFile: /src/pcre2/src/pcre2_serialize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_serialize_get_number_of_codes(const uint8_t *bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_serialize.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: pcre2_serialize_free
    functionSourceFile: /src/pcre2/src/pcre2_serialize.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_serialize_free(uint8_t *bytes)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_xclass.c:96,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:113,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_xclass.c:127,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:127,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_xclass.c:127,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:133,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:134,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:152,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:160,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:161,1
    - Dst: UCD_BIDICLASS_PROP
      Src: /src/pcre2/src/pcre2_xclass.c:181,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_xclass.c:186,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:186,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_xclass.c:187,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:205,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:206,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:220,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:233,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:234,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_xclass.c:255,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_xclass.c:278,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:292,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_xclass.c:296,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_xclass.c:319,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:323,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:331,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:348,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:382,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:390,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:400,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 205
    argCount: 4
    argNames:
    - c
    - data
    - char_lists_end
    - utf
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - uint8_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 441
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_xclass.c
    functionUses: 23
    functionsReached:
    - UCD_BPROPS_PROP
    - PCRE2_DEBUG_UNREACHABLE
    - GET_UCD
    - PCRE2_ASSERT
    - GETCHARINC
    - GET
    - UCD_BIDICLASS_PROP
    - PRIV
    - MAPBIT
    - UCD_SCRIPTX_PROP
    linkageType: ''
    returnType: BOOL
    signature: BOOL PRIV(xclass)(uint32_t c, PCRE2_SPTR data, const uint8_t *char_lists_end,
      BOOL utf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:470,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:472,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:495,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:502,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:509,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:516,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_xclass.c:521,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_xclass.c:523,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_xclass.c:534,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_xclass.c:540,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 5
    argNames:
    - c
    - data_start
    - data_end
    - char_lists_end
    - utf
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - PCRE2_SPTR
    - uint8_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 545
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_xclass.c
    functionUses: 24
    functionsReached:
    - GET
    - PCRE2_ASSERT
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(eclass)(uint32_t c, PCRE2_SPTR data_start, PCRE2_SPTR data_end,\n
      \ const uint8_t *char_lists_end, BOOL utf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: executable_func
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - arguments
    - executable_func
    argTypes:
    - jit_arguments*
    - jit_function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: jit_machine_stack_exec
    functionSourceFile: /src/pcre2/src/pcre2_jit_match_inc.h
    functionUses: 0
    functionsReached:
    - executable_func
    linkageType: ''
    returnType: SLJIT_NOINLINE
    signature: SLJIT_NOINLINE jit_machine_stack_exec(jit_arguments *arguments, jit_function
      executable_func)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_context*::jit_callback
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:145,1
    - Dst: "union {\n   void *executable_func;\n   jit_function call_executable_func;\n}::call_executable_func"
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:170,1
    - Dst: jit_machine_stack_exec
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:173,1
    - Dst: __has_feature
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:191,1
    - Dst: __msan_unpoison
      Src: /src/pcre2/src/pcre2_jit_match_inc.h:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 7
    argNames:
    - code
    - subject
    - length
    - start_offset
    - options
    - match_data
    - mcontext
    argTypes:
    - pcre2_code*
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_SIZE
    - uint32_t
    - pcre2_match_data*
    - pcre2_match_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 200
    functionName: pcre2_jit_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_match_inc.h
    functionUses: 0
    functionsReached:
    - pcre2_match_context*::jit_callback
    - __has_feature
    - __msan_unpoison
    - "union {\n   void *executable_func;\n   jit_function call_executable_func;\n}::call_executable_func"
    - jit_machine_stack_exec
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_jit_match(const pcre2_code *code, PCRE2_SPTR
      subject, PCRE2_SIZE length,\n  PCRE2_SIZE start_offset, uint32_t options, pcre2_match_data
      *match_data,\n  pcre2_match_context *mcontext)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_mul_overflow
      Src: /src/pcre2/src/pcre2_chkdint.c:71,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_chkdint.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - PCRE2_SIZE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_chkdint.c
    functionUses: 24
    functionsReached:
    - __builtin_mul_overflow
    - PCRE2_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: BOOL PRIV(ckd_smul)(PCRE2_SIZE *r, int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cvalue
    - buffer
    argTypes:
    - uint32_t
    - PCRE2_UCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_ord2utf.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int PRIV(ord2utf)(uint32_t cvalue, PCRE2_UCHAR *buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_ord2utf.c:85,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_ord2utf.c:86,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_ord2utf.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - cvalue
    - buffer
    argTypes:
    - uint32_t
    - PCRE2_UCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 115
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_ord2utf.c
    functionUses: 25
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int PRIV(ord2utf)(uint32_t cvalue, PCRE2_UCHAR *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_context.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: default_malloc
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *default_malloc(size_t size, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/pcre2/src/pcre2_context.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - block
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: default_free
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void default_free(void *block, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_context.c:85,1
    - Dst: pcre2_memctl*::malloc
      Src: /src/pcre2/src/pcre2_context.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - size
    - memctl
    argTypes:
    - size_t
    - pcre2_memctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 25
    functionsReached:
    - pcre2_memctl*::malloc
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      PRIV(memctl_malloc)(size_t size, pcre2_memctl *memctl)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: private_malloc
      Src: /src/pcre2/src/pcre2_context.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - (*private_malloc)(size_t, void *)
    - memory_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: pcre2_general_context_create
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 1
    functionsReached:
    - private_malloc
    linkageType: ''
    returnType: void
    signature: "void pcre2_general_context_create(void *(*private_malloc)(size_t,
      void *),\n  void (*private_free)(void *, void *), void *memory_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:150,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: pcre2_compile_context_create
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: void
    signature: void pcre2_compile_context_create(pcre2_general_context *gcontext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:186,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: pcre2_match_context_create
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: void
    signature: void pcre2_match_context_create(pcre2_general_context *gcontext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:216,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_context.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: pcre2_convert_context_create
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: void
    signature: void pcre2_convert_context_create(pcre2_general_context *gcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_context.c:234,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_context.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: pcre2_general_context_copy
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_general_context*::memctl::malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void pcre2_general_context_copy(pcre2_general_context *gcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_context.c:246,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_context.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ccontext
    argTypes:
    - pcre2_compile_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: pcre2_compile_context_copy
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_compile_context*::memctl::malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void pcre2_compile_context_copy(pcre2_compile_context *ccontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_context.c:258,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_context.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mcontext
    argTypes:
    - pcre2_match_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: pcre2_match_context_copy
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcre2_match_context*::memctl::malloc
    linkageType: ''
    returnType: void
    signature: void pcre2_match_context_copy(pcre2_match_context *mcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_convert_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_context.c:270,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_context.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ccontext
    argTypes:
    - pcre2_convert_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: pcre2_convert_context_copy
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_convert_context*::memctl::malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void pcre2_convert_context_copy(pcre2_convert_context *ccontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context*::memctl::free
      Src: /src/pcre2/src/pcre2_context.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: pcre2_general_context_free
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 2
    functionsReached:
    - pcre2_general_context*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_general_context_free(pcre2_general_context *gcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile_context*::memctl::free
      Src: /src/pcre2/src/pcre2_context.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ccontext
    argTypes:
    - pcre2_compile_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: pcre2_compile_context_free
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_compile_context*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_compile_context_free(pcre2_compile_context *ccontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_context*::memctl::free
      Src: /src/pcre2/src/pcre2_context.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mcontext
    argTypes:
    - pcre2_match_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: pcre2_match_context_free
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_match_context*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_match_context_free(pcre2_match_context *mcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_convert_context*::memctl::free
      Src: /src/pcre2/src/pcre2_context.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ccontext
    argTypes:
    - pcre2_convert_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: pcre2_convert_context_free
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_convert_context*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_convert_context_free(pcre2_convert_context *ccontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - tables
    argTypes:
    - pcre2_compile_context*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: pcre2_set_character_tables
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_character_tables(pcre2_compile_context *ccontext,\n
      \ const uint8_t *tables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ccontext
    - value
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: pcre2_set_bsr
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_bsr(pcre2_compile_context *ccontext, uint32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - length
    argTypes:
    - pcre2_compile_context*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: pcre2_set_max_pattern_length
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_max_pattern_length(pcre2_compile_context *ccontext,
      PCRE2_SIZE length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - length
    argTypes:
    - pcre2_compile_context*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: pcre2_set_max_pattern_compiled_length
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_max_pattern_compiled_length(pcre2_compile_context
      *ccontext, PCRE2_SIZE length)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ccontext
    - newline
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: pcre2_set_newline
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_newline(pcre2_compile_context *ccontext, uint32_t
      newline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - limit
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: pcre2_set_max_varlookbehind
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_max_varlookbehind(pcre2_compile_context *ccontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - limit
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: pcre2_set_parens_nest_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_parens_nest_limit(pcre2_compile_context *ccontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccontext
    - options
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: pcre2_set_compile_extra_options
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_compile_extra_options(pcre2_compile_context
      *ccontext, uint32_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ccontext
    - user_data
    argTypes:
    - pcre2_compile_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: pcre2_set_compile_recursion_guard
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_compile_recursion_guard(pcre2_compile_context
      *ccontext,\n  int (*guard)(uint32_t, void *), void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ccontext
    - directive
    argTypes:
    - pcre2_compile_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 442
    functionName: pcre2_set_optimize
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_optimize(pcre2_compile_context *ccontext,
      uint32_t directive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcontext
    - callout_data
    argTypes:
    - pcre2_match_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 453
    functionName: pcre2_set_callout
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_callout(pcre2_match_context *mcontext,\n
      \ int (*callout)(pcre2_callout_block *, void *), void *callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcontext
    - substitute_callout_data
    argTypes:
    - pcre2_match_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: pcre2_set_substitute_callout
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_substitute_callout(pcre2_match_context *mcontext,\n
      \ int (*substitute_callout)(pcre2_substitute_callout_block *, void *),\n  void
      *substitute_callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcontext
    - substitute_case_callout_data
    argTypes:
    - pcre2_match_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: pcre2_set_substitute_case_callout
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_substitute_case_callout(pcre2_match_context
      *mcontext,\n  PCRE2_SIZE (*substitute_case_callout)(PCRE2_SPTR, PCRE2_SIZE,
      PCRE2_UCHAR *,\n                                        PCRE2_SIZE, int, void
      *),\n  void *substitute_case_callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcontext
    - limit
    argTypes:
    - pcre2_match_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: pcre2_set_heap_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_heap_limit(pcre2_match_context *mcontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcontext
    - limit
    argTypes:
    - pcre2_match_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: pcre2_set_match_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_match_limit(pcre2_match_context *mcontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcontext
    - limit
    argTypes:
    - pcre2_match_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: pcre2_set_depth_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_depth_limit(pcre2_match_context *mcontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcontext
    - limit
    argTypes:
    - pcre2_match_context*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: pcre2_set_offset_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_offset_limit(pcre2_match_context *mcontext,
      PCRE2_SIZE limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_set_depth_limit
      Src: /src/pcre2/src/pcre2_context.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mcontext
    - limit
    argTypes:
    - pcre2_match_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: pcre2_set_recursion_limit
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - pcre2_set_depth_limit
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_recursion_limit(pcre2_match_context *mcontext,
      uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mcontext
    - (*mymalloc)(size_t, void *)
    - mydata
    argTypes:
    - pcre2_match_context*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: pcre2_set_recursion_memory_management
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_set_recursion_memory_management(pcre2_match_context
      *mcontext,\n  void *(*mymalloc)(size_t, void *), void (*myfree)(void *, void
      *),\n  void *mydata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ccontext
    - separator
    argTypes:
    - pcre2_convert_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: pcre2_set_glob_separator
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_glob_separator(pcre2_convert_context *ccontext,
      uint32_t separator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/pcre2/src/pcre2_context.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ccontext
    - escape
    argTypes:
    - pcre2_convert_context*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: pcre2_set_glob_escape
    functionSourceFile: /src/pcre2/src/pcre2_context.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_set_glob_escape(pcre2_convert_context *ccontext,
      uint32_t escape)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_script_run.c:100,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_script_run.c:126,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_script_run.c:138,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_script_run.c:148,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_script_run.c:148,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_script_run.c:148,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_script_run.c:149,1
    - Dst: MAPSET
      Src: /src/pcre2/src/pcre2_script_run.c:150,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_script_run.c:180,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:208,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:209,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:210,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:211,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:229,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:229,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:230,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:234,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:234,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:238,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_script_run.c:238,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_script_run.c:306,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_script_run.c:310,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_script_run.c:319,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_script_run.c:332,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 128
    argCount: 3
    argNames:
    - ptr
    - endptr
    - utf
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 341
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_script_run.c
    functionUses: 29
    functionsReached:
    - GETCHARINCTEST
    - memset
    - GET_UCD
    - MAPSET
    - PRIV
    - MAPBIT
    - UCD_SCRIPTX_PROP
    - memcpy
    linkageType: ''
    returnType: BOOL
    signature: BOOL PRIV(script_run)(PCRE2_SPTR ptr, PCRE2_SPTR endptr, BOOL utf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: FWRITE_IGNORE
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FWRITE_IGNORE(a,b,c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 560
    functionName: ord2utf8
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ord2utf8(uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/pcre2/src/pcre2grep.c:574,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2grep.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: strcmpic
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int strcmpic(const char *str1, const char *str2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/pcre2/src/pcre2grep.c:599,1
    - Dst: strstr
      Src: /src/pcre2/src/pcre2grep.c:600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - gc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: parse_grep_colors
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_grep_colors(const char *gc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/pcre2/src/pcre2grep.c:631,1
    - Dst: $DESCRIPTOR
      Src: /src/pcre2/src/pcre2grep.c:632,1
    - Dst: sprintf
      Src: /src/pcre2/src/pcre2grep.c:633,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:634,1
    - Dst: lib$set_symbol
      Src: /src/pcre2/src/pcre2grep.c:635,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:640,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:643,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2grep.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 646
    functionName: pcre2grep_exit
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fprintf
    - $DESCRIPTOR
    - lib$set_symbol
    - exit
    - strlen
    linkageType: ''
    returnType: void
    signature: void pcre2grep_exit(int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:667,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:673,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:674,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:678,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - s
    - patlen
    - after
    argTypes:
    - char*
    - PCRE2_SIZE
    - patstr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 697
    functionName: add_pattern
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcre2grep_exit
    - free
    - malloc
    linkageType: ''
    returnType: patstr
    signature: 'patstr *

      add_pattern(char *s, PCRE2_SIZE patlen, patstr *after)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2grep.c:717,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - patstr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: free_pattern_chain
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - free
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void free_pattern_chain(patstr *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fn
    argTypes:
    - fnstr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 741
    functionName: free_file_chain
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_file_chain(fnstr *fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 763
    functionName: iswild
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iswild(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: BGR_RGB
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BGR_RGB(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2grep.c:777,1
    - Dst: atoi
      Src: /src/pcre2/src/pcre2grep.c:779,1
    - Dst: BGR_RGB
      Src: /src/pcre2/src/pcre2grep.c:783,1
    - Dst: BGR_RGB
      Src: /src/pcre2/src/pcre2grep.c:785,1
    - Dst: BGR_RGB
      Src: /src/pcre2/src/pcre2grep.c:788,1
    - Dst: BGR_RGB
      Src: /src/pcre2/src/pcre2grep.c:789,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2grep.c:791,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 1
    argNames:
    - cs
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 796
    functionName: decode_ANSI_colour
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - BGR_RGB
    - isdigit
    - atoi
    linkageType: ''
    returnType: WORD
    signature: WORD decode_ANSI_colour(const char *cs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/pcre2/src/pcre2grep.c:804,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/pcre2/src/pcre2grep.c:806,1
    - Dst: CreateFile
      Src: /src/pcre2/src/pcre2grep.c:808,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/pcre2/src/pcre2grep.c:810,1
    - Dst: CloseHandle
      Src: /src/pcre2/src/pcre2grep.c:811,1
    - Dst: decode_ANSI_colour
      Src: /src/pcre2/src/pcre2grep.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: init_colour_output
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - GetConsoleScreenBufferInfo
    - GetStdHandle
    - CreateFile
    - decode_ANSI_colour
    linkageType: ''
    returnType: void
    signature: void init_colour_output(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/pcre2/src/pcre2grep.c:854,1
    - Dst: S_ISDIR
      Src: /src/pcre2/src/pcre2grep.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 857
    functionName: isdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: int isdirectory(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/pcre2/src/pcre2grep.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: opendirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - opendir
    linkageType: ''
    returnType: directory_type
    signature: 'directory_type *

      opendirectory(char *filename)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readdir
      Src: /src/pcre2/src/pcre2grep.c:870,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:872,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 877
    functionName: readdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - readdir
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      readdirectory(directory_type *dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/pcre2/src/pcre2grep.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: closedirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - closedir
    linkageType: ''
    returnType: void
    signature: void closedirectory(directory_type *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/pcre2/src/pcre2grep.c:892,1
    - Dst: S_ISREG
      Src: /src/pcre2/src/pcre2grep.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: isregfile
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: int isregfile(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: is_stdout_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_stdout_tty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: is_file_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_file_tty(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/pcre2/src/pcre2grep.c:921,1
    - Dst: fileno
      Src: /src/pcre2/src/pcre2grep.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: is_stdout_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - isatty
    - fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_stdout_tty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/pcre2/src/pcre2grep.c:927,1
    - Dst: fileno
      Src: /src/pcre2/src/pcre2grep.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: is_file_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - isatty
    - fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_file_tty(FILE *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:938,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:939,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: print_match
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - FWRITE_IGNORE
    linkageType: ''
    returnType: void
    signature: void print_match(const void *buf, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetFileAttributes
      Src: /src/pcre2/src/pcre2grep.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: isdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - GetFileAttributes
    linkageType: ''
    returnType: int
    signature: int isdirectory(char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:985,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:986,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:987,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:990,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:991,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:993,1
    - Dst: iswild
      Src: /src/pcre2/src/pcre2grep.c:994,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:997,1
    - Dst: FindFirstFile
      Src: /src/pcre2/src/pcre2grep.c:998,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:1001,1
    - Dst: GetLastError
      Src: /src/pcre2/src/pcre2grep.c:1005,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:1006,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:1007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1010
    functionName: opendirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - FindFirstFile
    - fprintf
    - pcre2grep_exit
    - iswild
    - malloc
    - GetLastError
    - strlen
    - free
    - memcpy
    linkageType: ''
    returnType: directory_type
    signature: 'directory_type *

      opendirectory(char *filename)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFile
      Src: /src/pcre2/src/pcre2grep.c:1019,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:1026,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1032
    functionName: readdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - strcmp
    - FindNextFile
    linkageType: ''
    returnType: char
    signature: 'char *

      readdirectory(directory_type *dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/pcre2/src/pcre2grep.c:1037,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: closedirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - free
    - FindClose
    linkageType: ''
    returnType: void
    signature: void closedirectory(directory_type *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isdirectory
      Src: /src/pcre2/src/pcre2grep.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: isregfile
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - isdirectory
    linkageType: ''
    returnType: int
    signature: int isregfile(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/pcre2/src/pcre2grep.c:1058,1
    - Dst: _fileno
      Src: /src/pcre2/src/pcre2grep.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1059
    functionName: is_stdout_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - _isatty
    - _fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_stdout_tty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/pcre2/src/pcre2grep.c:1064,1
    - Dst: _fileno
      Src: /src/pcre2/src/pcre2grep.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: is_file_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - _isatty
    - _fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_file_tty(FILE *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1076,1
    - Dst: SetConsoleTextAttribute
      Src: /src/pcre2/src/pcre2grep.c:1077,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:1079,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1082,1
    - Dst: SetConsoleTextAttribute
      Src: /src/pcre2/src/pcre2grep.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1085
    functionName: print_match
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - FWRITE_IGNORE
    - SetConsoleTextAttribute
    linkageType: ''
    returnType: void
    signature: void print_match(const void *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    functionName: isdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isdirectory(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: opendirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: directory_type
    signature: directory_type * opendirectory(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1101
    functionName: readdirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *readdirectory(directory_type *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dir
    argTypes:
    - directory_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: closedirectory
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void closedirectory(directory_type *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1109
    functionName: isregfile
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isregfile(char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1118
    functionName: is_stdout_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_stdout_tty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    functionName: is_file_tty
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_file_tty(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: print_match
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - FWRITE_IGNORE
    linkageType: ''
    returnType: void
    signature: void print_match(const void *buf, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1148,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1151,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1153,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1157
    functionName: usage
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 15
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int usage(int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1170,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1171,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1172,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1176,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1178,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1181,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1184,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1187,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1191,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1195,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1197,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1200,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1201,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1209,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:1212,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:1213,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1214,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1218,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1221,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1222,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1223,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1224,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1225,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1226,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1228,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2grep.c:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1230
    functionName: help
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 1
    functionsReached:
    - printf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void help(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:1252,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2grep.c:1256,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2grep.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - path
    - ip
    - ep
    argTypes:
    - char*
    - patstr*
    - patstr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: test_incexc
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - pcre2_match
    - strlen
    linkageType: ''
    returnType: BOOL
    signature: BOOL test_incexc(char *path, patstr *ip, patstr *ep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/pcre2/src/pcre2grep.c:1294,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2grep.c:1295,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2grep.c:1297,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2grep.c:1302,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2grep.c:1312,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:1313,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1315,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1319,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:1321,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:1321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - option_data
    - op
    - longop
    argTypes:
    - char*
    - option_item*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1325
    functionName: decode_number
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - strchr
    - toupper
    - fprintf
    - isdigit
    - pcre2grep_exit
    - usage
    - isspace
    - strlen
    linkageType: ''
    returnType: long int
    signature: long int decode_number(char *option_data, option_item *op, BOOL longop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:1346,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1352,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:1353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - n
    - after
    argTypes:
    - int
    - omstr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1367
    functionName: add_number
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcre2grep_exit
    - malloc
    linkageType: ''
    returnType: omstr
    signature: 'omstr *

      add_number(int n, omstr *after)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/pcre2/src/pcre2grep.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - length
    - f
    argTypes:
    - char*
    - PCRE2_SIZE
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1403
    functionName: read_one_line
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: PCRE2_SIZE read_one_line(char *buffer, PCRE2_SIZE length, FILE *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_one_line
      Src: /src/pcre2/src/pcre2grep.c:1424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - length
    - f
    argTypes:
    - char*
    - PCRE2_SIZE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1432
    functionName: read_pattern
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - read_one_line
    linkageType: ''
    returnType: BOOL
    signature: BOOL read_pattern(char *buffer, PCRE2_SIZE *length, FILE *f)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 3
    argNames:
    - p
    - endptr
    - lenptr
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1593
    functionName: end_of_line
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      end_of_line(char *p, char *endptr, int *lenptr)'
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 85
    argCount: 2
    argNames:
    - p
    - startptr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1712
    functionName: previous_line
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      previous_line(char *p, char *startptr)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1736,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1740,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1744,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1751
    functionName: write_final_newline
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_final_newline(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:1781,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1783,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1784,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:1785,1
    - Dst: write_final_newline
      Src: /src/pcre2/src/pcre2grep.c:1798,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - lastmatchnumber
    - lastmatchrestart
    - endptr
    - printname
    argTypes:
    - unsigned long int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1801
    functionName: do_after_lines
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - write_final_newline
    - fprintf
    - FWRITE_IGNORE
    - end_of_line
    linkageType: ''
    returnType: void
    signature: "void do_after_lines(unsigned long int lastmatchnumber, char *lastmatchrestart,\n
      \ char *endptr, const char *printname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2grep.c:1844,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1874,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1875,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1876,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:1877,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1878,1
    - Dst: pcre2_get_startchar
      Src: /src/pcre2/src/pcre2grep.c:1883,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2grep.c:1884,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1885,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1892,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:1893,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 5
    argNames:
    - matchptr
    - length
    - options
    - startoffset
    - mrc
    argTypes:
    - char*
    - PCRE2_SIZE
    - unsigned int
    - PCRE2_SIZE
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1910
    functionName: match_patterns
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcre2_match
    - pcre2grep_exit
    - FWRITE_IGNORE
    - pcre2_get_error_message
    - pcre2_get_startchar
    linkageType: ''
    returnType: BOOL
    signature: "BOOL match_patterns(char *matchptr, PCRE2_SIZE length, unsigned int
      options,\n  PCRE2_SIZE startoffset, int *mrc)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1969,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2grep.c:1989,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:1992,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2grep.c:2065,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2grep.c:2100,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2102,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2108,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2124,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 135
    argCount: 5
    argNames:
    - begin
    - string
    - callout
    - value
    - last
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - uint32_t*
    - PCRE2_SPTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 2132
    functionName: decode_dollar_escape
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isdigit
    - isxdigit
    linkageType: ''
    returnType: int
    signature: "int decode_dollar_escape(PCRE2_SPTR begin, PCRE2_SPTR string, BOOL
      callout,\n  uint32_t *value, PCRE2_SPTR *last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_dollar_escape
      Src: /src/pcre2/src/pcre2grep.c:2159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - string
    - callout
    argTypes:
    - PCRE2_SPTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2164
    functionName: syntax_check_output_text
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - decode_dollar_escape
    linkageType: ''
    returnType: BOOL
    signature: BOOL syntax_check_output_text(PCRE2_SPTR string, BOOL callout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_dollar_escape
      Src: /src/pcre2/src/pcre2grep.c:2197,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2202,1
    - Dst: print_match
      Src: /src/pcre2/src/pcre2grep.c:2216,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2231,1
    - Dst: ord2utf8
      Src: /src/pcre2/src/pcre2grep.c:2233,1
    - Dst: fputc
      Src: /src/pcre2/src/pcre2grep.c:2234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - string
    - callout
    - subject
    - ovector
    - capture_top
    argTypes:
    - PCRE2_SPTR
    - BOOL
    - PCRE2_SPTR
    - PCRE2_SIZE*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2185
    functionDepth: 2
    functionLinenumber: 2185
    functionLinenumberEnd: 2241
    functionName: display_output_text
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - decode_dollar_escape
    - fprintf
    - fputc
    - ord2utf8
    - print_match
    linkageType: ''
    returnType: BOOL
    signature: "BOOL display_output_text(PCRE2_SPTR string, BOOL callout, PCRE2_SPTR
      subject,\n  PCRE2_SIZE *ovector, PCRE2_SIZE capture_top)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: syntax_check_output_text
      Src: /src/pcre2/src/pcre2grep.c:2325,1
    - Dst: display_output_text
      Src: /src/pcre2/src/pcre2grep.c:2326,1
    - Dst: decode_dollar_escape
      Src: /src/pcre2/src/pcre2grep.c:2350,1
    - Dst: ord2utf8
      Src: /src/pcre2/src/pcre2grep.c:2363,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:2383,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:2386,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2390,1
    - Dst: decode_dollar_escape
      Src: /src/pcre2/src/pcre2grep.c:2417,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:2425,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:2433,1
    - Dst: ord2utf8
      Src: /src/pcre2/src/pcre2grep.c:2438,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:2439,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2453,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2454,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2grep.c:2455,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2grep.c:2478,1
    - Dst: _spawnvp
      Src: /src/pcre2/src/pcre2grep.c:2479,1
    - Dst: $DESCRIPTOR
      Src: /src/pcre2/src/pcre2grep.c:2486,1
    - Dst: strcat
      Src: /src/pcre2/src/pcre2grep.c:2491,1
    - Dst: strcat
      Src: /src/pcre2/src/pcre2grep.c:2492,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:2495,1
    - Dst: lib$spawn
      Src: /src/pcre2/src/pcre2grep.c:2496,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2grep.c:2502,1
    - Dst: fork
      Src: /src/pcre2/src/pcre2grep.c:2503,1
    - Dst: execv
      Src: /src/pcre2/src/pcre2grep.c:2506,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2grep.c:2508,1
    - Dst: waitpid
      Src: /src/pcre2/src/pcre2grep.c:2512,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2516,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2517,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 125
    argCount: 2
    argNames:
    - calloutptr
    - unused
    argTypes:
    - pcre2_callout_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2292
    functionDepth: 3
    functionLinenumber: 2292
    functionLinenumberEnd: 2524
    functionName: pcre2grep_callout
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - _spawnvp
    - strcat
    - execv
    - decode_dollar_escape
    - waitpid
    - free
    - exit
    - fflush
    - $DESCRIPTOR
    - display_output_text
    - syntax_check_output_text
    - abort
    - malloc
    - fork
    - lib$spawn
    - strlen
    - ord2utf8
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pcre2grep_callout(pcre2_callout_block *calloutptr, void *unused)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gzread
      Src: /src/pcre2/src/pcre2grep.c:2542,1
    - Dst: BZ2_bzread
      Src: /src/pcre2/src/pcre2grep.c:2549,1
    - Dst: read_one_line
      Src: /src/pcre2/src/pcre2grep.c:2555,1
    - Dst: fread
      Src: /src/pcre2/src/pcre2grep.c:2556,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE
      Src: /src/pcre2/src/pcre2grep.c:2559,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2grep.c:2560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - handle
    - frtype
    - buffer
    - length
    - input_line_buffered
    argTypes:
    - void*
    - int
    - char*
    - PCRE2_SIZE
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2533
    functionDepth: 1
    functionLinenumber: 2533
    functionLinenumberEnd: 2564
    functionName: fill_buffer
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - read_one_line
    - BZ2_bzread
    - gzread
    - VALGRIND_MAKE_MEM_UNDEFINED
    - fread
    - VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t fill_buffer(void *handle, int frtype, char *buffer, PCRE2_SIZE
      length,\n  BOOL input_line_buffered)"
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/pcre2/src/pcre2grep.c:2624,1
    - Dst: is_file_tty
      Src: /src/pcre2/src/pcre2grep.c:2625,1
    - Dst: ftell
      Src: /src/pcre2/src/pcre2grep.c:2629,1
    - Dst: fill_buffer
      Src: /src/pcre2/src/pcre2grep.c:2634,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2grep.c:2654,1
    - Dst: fseek
      Src: /src/pcre2/src/pcre2grep.c:2682,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:2695,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:2712,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2717,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2grep.c:2731,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:2736,1
    - Dst: fill_buffer
      Src: /src/pcre2/src/pcre2grep.c:2742,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2758,1
    - Dst: match_patterns
      Src: /src/pcre2/src/pcre2grep.c:2782,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2816,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2825,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2826,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2827,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2846,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2848,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2853,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2859,1
    - Dst: display_output_text
      Src: /src/pcre2/src/pcre2grep.c:2867,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2869,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2888,1
    - Dst: print_match
      Src: /src/pcre2/src/pcre2grep.c:2889,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2895,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2grep.c:2901,1
    - Dst: pcre2_get_startchar
      Src: /src/pcre2/src/pcre2grep.c:2910,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:2928,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:2956,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2967,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2969,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:2970,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:2971,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:2985,1
    - Dst: previous_line
      Src: /src/pcre2/src/pcre2grep.c:3003,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3008,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3015,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3017,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:3018,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:3019,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3030,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3041,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3043,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:3066,1
    - Dst: print_match
      Src: /src/pcre2/src/pcre2grep.c:3067,1
    - Dst: pcre2_get_startchar
      Src: /src/pcre2/src/pcre2grep.c:3071,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:3100,1
    - Dst: match_patterns
      Src: /src/pcre2/src/pcre2grep.c:3114,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:3126,1
    - Dst: print_match
      Src: /src/pcre2/src/pcre2grep.c:3127,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:3135,1
    - Dst: FWRITE_IGNORE
      Src: /src/pcre2/src/pcre2grep.c:3140,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2grep.c:3146,1
    - Dst: write_final_newline
      Src: /src/pcre2/src/pcre2grep.c:3159,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:3173,1
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:3176,1
    - Dst: read_one_line
      Src: /src/pcre2/src/pcre2grep.c:3198,1
    - Dst: do_after_lines
      Src: /src/pcre2/src/pcre2grep.c:3214,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2grep.c:3220,1
    - Dst: fill_buffer
      Src: /src/pcre2/src/pcre2grep.c:3223,1
    - Dst: do_after_lines
      Src: /src/pcre2/src/pcre2grep.c:3247,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3256,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3257,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3258,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3269,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3270,1
    CyclomaticComplexity: 137
    EdgeCount: 137
    ICount: 306
    argCount: 4
    argNames:
    - handle
    - frtype
    - filename
    - printname
    argTypes:
    - void*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3277
      start: 2595
    functionDepth: 3
    functionLinenumber: 2595
    functionLinenumberEnd: 3277
    functionName: pcre2grep
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - fprintf
    - write_final_newline
    - do_after_lines
    - match_patterns
    - is_file_tty
    - FWRITE_IGNORE
    - fill_buffer
    - feof
    - malloc
    - fseek
    - pcre2_get_startchar
    - memmove
    - free
    - ftell
    - print_match
    - memcpy
    - read_one_line
    - memchr
    - previous_line
    - fflush
    - display_output_text
    - end_of_line
    linkageType: ''
    returnType: int
    signature: int pcre2grep(void *handle, int frtype, const char *filename, const
      char *printname)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: help
      Src: /src/pcre2/src/pcre2grep.c:3663,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:3663,1
    - Dst: add_number
      Src: /src/pcre2/src/pcre2grep.c:3685,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2grep.c:3702,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3703,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:3705,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3714,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:3715,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:3715,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 120
    argCount: 2
    argNames:
    - letter
    - options
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3657
    functionDepth: 2
    functionLinenumber: 3657
    functionLinenumberEnd: 3720
    functionName: handle_option
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - add_number
    - pcre2_config
    - fprintf
    - pcre2grep_exit
    - usage
    - help
    linkageType: ''
    returnType: int
    signature: int handle_option(int letter, int options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:3735,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:3741,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:3742,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:3743,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:3744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3747
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3747
    functionName: ordin
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ordin(int n)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: end_of_line
      Src: /src/pcre2/src/pcre2grep.c:3792,1
    - Dst: add_pattern
      Src: /src/pcre2/src/pcre2grep.c:3797,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2grep.c:3801,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2grep.c:3811,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2grep.c:3819,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3823,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3829,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3832,1
    - Dst: ordin
      Src: /src/pcre2/src/pcre2grep.c:3833,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - p
    - options
    - fromfile
    - fromtext
    - count
    argTypes:
    - patstr*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3775
    functionDepth: 2
    functionLinenumber: 3775
    functionLinenumberEnd: 3837
    functionName: compile_pattern
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_compile
    - fprintf
    - ordin
    - pcre2_compile
    - pcre2_get_error_message
    - add_pattern
    - end_of_line
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_pattern(patstr *p, int options, int fromfile, const char
      *fromtext,\n  int count)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:3864,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2grep.c:3871,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:3874,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2grep.c:3874,1
    - Dst: read_pattern
      Src: /src/pcre2/src/pcre2grep.c:3883,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2grep.c:3888,1
    - Dst: add_pattern
      Src: /src/pcre2/src/pcre2grep.c:3899,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2grep.c:3903,1
    - Dst: compile_pattern
      Src: /src/pcre2/src/pcre2grep.c:3917,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2grep.c:3920,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2grep.c:3929,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - name
    - patptr
    - patlastptr
    argTypes:
    - char*
    - patstr**
    - patstr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3855
    functionDepth: 3
    functionLinenumber: 3855
    functionLinenumberEnd: 3931
    functionName: read_pattern_file
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 0
    functionsReached:
    - strcmp
    - read_pattern
    - fprintf
    - strerror
    - compile_pattern
    - fopen
    - isspace
    - fclose
    - add_pattern
    linkageType: ''
    returnType: BOOL
    signature: BOOL read_pattern_file(char *name, patstr **patptr, patstr **patlastptr)
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/pcre2/src/pcre2grep.c:3963,1
    - Dst: _fileno
      Src: /src/pcre2/src/pcre2grep.c:3963,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:3983,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:3983,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2grep.c:3991,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2grep.c:4010,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2grep.c:4011,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4019,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4025,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2grep.c:4026,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2grep.c:4048,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4050,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:4052,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2grep.c:4054,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4059,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4061,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2grep.c:4065,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2grep.c:4066,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4084,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4085,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4085,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4105,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4107,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4107,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2grep.c:4124,1
    - Dst: handle_option
      Src: /src/pcre2/src/pcre2grep.c:4134,1
    - Dst: handle_option
      Src: /src/pcre2/src/pcre2grep.c:4144,1
    - Dst: add_number
      Src: /src/pcre2/src/pcre2grep.c:4164,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4177,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4178,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4178,1
    - Dst: decode_number
      Src: /src/pcre2/src/pcre2grep.c:4188,1
    - Dst: add_number
      Src: /src/pcre2/src/pcre2grep.c:4190,1
    - Dst: add_pattern
      Src: /src/pcre2/src/pcre2grep.c:4201,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4201,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:4213,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4217,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4234,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4236,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4238,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4242,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4244,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4244,1
    - Dst: decode_number
      Src: /src/pcre2/src/pcre2grep.c:4257,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4282,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4284,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4284,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4294,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4295,1
    - Dst: syntax_check_output_text
      Src: /src/pcre2/src/pcre2grep.c:4303,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2grep.c:4309,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2grep.c:4310,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2grep.c:4311,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2grep.c:4312,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/pcre2/src/pcre2grep.c:4313,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/pcre2/src/pcre2grep.c:4314,1
    - Dst: pcre2_set_callout
      Src: /src/pcre2/src/pcre2grep.c:4323,1
    - Dst: pcre2_set_heap_limit
      Src: /src/pcre2/src/pcre2grep.c:4330,1
    - Dst: pcre2_set_match_limit
      Src: /src/pcre2/src/pcre2grep.c:4331,1
    - Dst: pcre2_set_depth_limit
      Src: /src/pcre2/src/pcre2grep.c:4332,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4339,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4345,1
    - Dst: setlocale
      Src: /src/pcre2/src/pcre2grep.c:4354,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4356,1
    - Dst: pcre2_maketables
      Src: /src/pcre2/src/pcre2grep.c:4360,1
    - Dst: pcre2_set_character_tables
      Src: /src/pcre2/src/pcre2grep.c:4361,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4366,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4368,1
    - Dst: is_stdout_tty
      Src: /src/pcre2/src/pcre2grep.c:4370,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4373,1
    - Dst: is_stdout_tty
      Src: /src/pcre2/src/pcre2grep.c:4373,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4376,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4382,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4383,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4384,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4385,1
    - Dst: parse_grep_colors
      Src: /src/pcre2/src/pcre2grep.c:4386,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4386,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2grep.c:4387,1
    - Dst: strspn
      Src: /src/pcre2/src/pcre2grep.c:4390,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4390,1
    - Dst: init_colour_output
      Src: /src/pcre2/src/pcre2grep.c:4393,1
    - Dst: strcmpic
      Src: /src/pcre2/src/pcre2grep.c:4410,1
    - Dst: pcre2_set_newline
      Src: /src/pcre2/src/pcre2grep.c:4413,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4416,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2grep.c:4426,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4433,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4434,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4435,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4438,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4445,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4446,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4449,1
    - Dst: pcre2_set_compile_extra_options
      Src: /src/pcre2/src/pcre2grep.c:4468,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2grep.c:4476,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4484,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2grep.c:4489,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4494,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2grep.c:4504,1
    - Dst: add_pattern
      Src: /src/pcre2/src/pcre2grep.c:4505,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4505,1
    - Dst: compile_pattern
      Src: /src/pcre2/src/pcre2grep.c:4519,1
    - Dst: read_pattern_file
      Src: /src/pcre2/src/pcre2grep.c:4528,1
    - Dst: pcre2_jit_stack_create
      Src: /src/pcre2/src/pcre2grep.c:4536,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/pcre2/src/pcre2grep.c:4538,1
    - Dst: pcre2_set_compile_extra_options
      Src: /src/pcre2/src/pcre2grep.c:4546,1
    - Dst: compile_pattern
      Src: /src/pcre2/src/pcre2grep.c:4556,1
    - Dst: read_pattern_file
      Src: /src/pcre2/src/pcre2grep.c:4566,1
    - Dst: read_pattern_file
      Src: /src/pcre2/src/pcre2grep.c:4572,1
    - Dst: setbuf
      Src: /src/pcre2/src/pcre2grep.c:4585,1
    - Dst: pcre2grep
      Src: /src/pcre2/src/pcre2grep.c:4586,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2grep.c:4598,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2grep.c:4600,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4603,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2grep.c:4604,1
    - Dst: fgets
      Src: /src/pcre2/src/pcre2grep.c:4608,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2grep.c:4611,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2grep.c:4612,1
    - Dst: grep_or_recurse
      Src: /src/pcre2/src/pcre2grep.c:4616,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2grep.c:4621,1
    - Dst: grep_or_recurse
      Src: /src/pcre2/src/pcre2grep.c:4632,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4644,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2grep.c:4645,1
    - Dst: pcre2_jit_stack_free
      Src: /src/pcre2/src/pcre2grep.c:4651,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:4654,1
    - Dst: pcre2_maketables_free
      Src: /src/pcre2/src/pcre2grep.c:4655,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2grep.c:4657,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2grep.c:4658,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2grep.c:4659,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2grep.c:4660,1
    - Dst: free_pattern_chain
      Src: /src/pcre2/src/pcre2grep.c:4662,1
    - Dst: free_pattern_chain
      Src: /src/pcre2/src/pcre2grep.c:4663,1
    - Dst: free_pattern_chain
      Src: /src/pcre2/src/pcre2grep.c:4664,1
    - Dst: free_pattern_chain
      Src: /src/pcre2/src/pcre2grep.c:4665,1
    - Dst: free_pattern_chain
      Src: /src/pcre2/src/pcre2grep.c:4666,1
    - Dst: free_file_chain
      Src: /src/pcre2/src/pcre2grep.c:4668,1
    - Dst: free_file_chain
      Src: /src/pcre2/src/pcre2grep.c:4669,1
    - Dst: free_file_chain
      Src: /src/pcre2/src/pcre2grep.c:4670,1
    - Dst: free_file_chain
      Src: /src/pcre2/src/pcre2grep.c:4671,1
    - Dst: free
      Src: /src/pcre2/src/pcre2grep.c:4677,1
    - Dst: pcre2grep_exit
      Src: /src/pcre2/src/pcre2grep.c:4680,1
    CyclomaticComplexity: 189
    EdgeCount: 189
    ICount: 411
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4685
      start: 3941
    functionDepth: 4
    functionLinenumber: 3941
    functionLinenumberEnd: 4685
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2grep.c
    functionUses: 17
    functionsReached:
    - setlocale
    - init_colour_output
    - pcre2grep
    - fprintf
    - pcre2_match_data_create
    - strcmpic
    - strerror
    - pcre2_jit_stack_free
    - fopen
    - add_pattern
    - strspn
    - strncmp
    - strchr
    - _setmode
    - pcre2_get_ovector_pointer
    - pcre2grep_exit
    - is_stdout_tty
    - pcre2_compile_context_free
    - pcre2_match_context_free
    - free_pattern_chain
    - pcre2_set_character_tables
    - getenv
    - pcre2_maketables
    - compile_pattern
    - pcre2_match_data_free
    - free_file_chain
    - _fileno
    - strcmp
    - pcre2_match_context_create
    - decode_number
    - pcre2_set_match_limit
    - handle_option
    - usage
    - setbuf
    - syntax_check_output_text
    - malloc
    - pcre2_set_newline
    - fgets
    - isspace
    - free
    - pcre2_set_compile_extra_options
    - pcre2_jit_stack_assign
    - pcre2_compile_context_create
    - add_number
    - pcre2_config
    - parse_grep_colors
    - isdigit
    - grep_or_recurse
    - snprintf
    - read_pattern_file
    - pcre2_jit_stack_create
    - pcre2_set_callout
    - pcre2_set_heap_limit
    - pcre2_maketables_free
    - fclose
    - strlen
    - pcre2_set_depth_limit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2_printint_inc.h:122,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:123,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:123,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:126,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:127,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:128,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:148,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:154,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:156,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:161,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:167,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:178,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:182,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - f
    - ptr
    - utf
    argTypes:
    - FILE*
    - PCRE2_SPTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 195
    functionName: print_char
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - CHAR_OUTPUT_HEX
    - CHAR_OUTPUT
    - PRIV
    - PRINTABLE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int print_char(FILE *f, PCRE2_SPTR ptr, BOOL utf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2_printint_inc.h:221,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:221,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:221,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:222,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - f
    - ptr
    argTypes:
    - FILE*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: print_custring
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - PRINTABLE
    - fprintf
    - CHAR_OUTPUT_HEX
    - CHAR_OUTPUT
    linkageType: ''
    returnType: void
    signature: void print_custring(FILE *f, PCRE2_SPTR ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2_printint_inc.h:232,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:232,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:232,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:233,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - f
    - ptr
    - len
    argTypes:
    - FILE*
    - PCRE2_SPTR
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: print_custring_bylen
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - PRINTABLE
    - fprintf
    - CHAR_OUTPUT_HEX
    - CHAR_OUTPUT
    linkageType: ''
    returnType: void
    signature: void print_custring_bylen(FILE *f, PCRE2_SPTR ptr, PCRE2_UCHAR len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:261,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:263,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:267,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_printint_inc.h:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - ptype
    - pvalue
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 293
    functionName: get_ucpname
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - strlen
    - PRIV
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ucpname(unsigned int ptype, unsigned int pvalue)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ucpname
      Src: /src/pcre2/src/pcre2_printint_inc.h:320,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:321,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2_printint_inc.h:321,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:325,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:326,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:327,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - f
    - code
    - before
    - after
    argTypes:
    - FILE*
    - PCRE2_SPTR
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: print_prop
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - toupper
    - fprintf
    - get_ucpname
    - PRIV
    linkageType: ''
    returnType: void
    signature: void print_prop(FILE *f, PCRE2_SPTR code, const char *before, const
      char *after)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:362,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:405,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:407,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:433,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:440,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 3
    argNames:
    - f
    - code
    - char_lists_end
    argTypes:
    - FILE*
    - PCRE2_SPTR
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 450
    functionName: print_char_list
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - GET
    - fprintf
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR print_char_list(FILE *f, PCRE2_SPTR code, const uint8_t
      *char_lists_end)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:484,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:490,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:493,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:497,1
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2_printint_inc.h:498,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:498,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:498,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:499,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:499,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:503,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:506,1
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2_printint_inc.h:507,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:507,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:507,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:508,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2_printint_inc.h:508,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 3
    argNames:
    - f
    - map
    - negated
    argTypes:
    - FILE*
    - uint8_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 513
    functionName: print_map
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - CHAR_INPUT_HEX
    - fprintf
    - CHAR_OUTPUT_HEX
    - CHAR_OUTPUT
    - PRINTABLE
    linkageType: ''
    returnType: void
    signature: void print_map(FILE *f, const uint8_t *map, BOOL negated)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:558,1
    - Dst: print_map
      Src: /src/pcre2/src/pcre2_printint_inc.h:563,1
    - Dst: print_char_list
      Src: /src/pcre2/src/pcre2_printint_inc.h:578,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:595,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:598,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:601,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:604,1
    - Dst: get_ucpname
      Src: /src/pcre2/src/pcre2_printint_inc.h:607,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:608,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2_printint_inc.h:609,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:616,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:619,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:620,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_printint_inc.h:626,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:626,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 7
    argNames:
    - f
    - type
    - code
    - char_lists_end
    - utf
    - before
    - after
    argTypes:
    - FILE*
    - int
    - PCRE2_SPTR
    - uint8_t*
    - BOOL
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 627
    functionName: print_class
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - get_ucpname
    - print_char_list
    - toupper
    - fprintf
    - print_char
    - PCRE2_ASSERT
    - print_map
    - GET
    linkageType: ''
    returnType: void
    signature: "void print_class(FILE *f, int type, PCRE2_SPTR code, const uint8_t
      *char_lists_end,\n  BOOL utf, const char *before, const char *after)"
  - BBCount: 161
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:670,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:672,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:677,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:678,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:682,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:686,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:689,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:693,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:697,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:700,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:707,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:707,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:708,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:709,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:709,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:732,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:732,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:733,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:734,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:738,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:738,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:744,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:744,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:745,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:745,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:751,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:752,1
    - Dst: print_custring
      Src: /src/pcre2/src/pcre2_printint_inc.h:753,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:754,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:754,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:759,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:761,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:763,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:795,1
    - Dst: print_prop
      Src: /src/pcre2/src/pcre2_printint_inc.h:801,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:804,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:806,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:807,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:820,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:821,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:822,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:823,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:824,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:824,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:825,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:826,1
    - Dst: print_prop
      Src: /src/pcre2/src/pcre2_printint_inc.h:835,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:838,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:839,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:840,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:841,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:841,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:842,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:843,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:851,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:852,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:876,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:877,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:878,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:892,1
    - Dst: print_char
      Src: /src/pcre2/src/pcre2_printint_inc.h:893,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:894,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:895,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:896,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:896,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:897,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:899,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:900,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:904,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:904,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:905,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:906,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:913,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:915,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:924,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:925,1
    - Dst: print_custring
      Src: /src/pcre2/src/pcre2_printint_inc.h:926,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:927,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:927,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:929,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:935,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:936,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:936,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:941,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:941,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:942,1
    - Dst: print_custring_bylen
      Src: /src/pcre2/src/pcre2_printint_inc.h:943,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:944,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:945,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_printint_inc.h:947,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:950,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2_printint_inc.h:950,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:950,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:951,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:951,1
    - Dst: print_prop
      Src: /src/pcre2/src/pcre2_printint_inc.h:956,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:961,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:962,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:972,1
    - Dst: print_map
      Src: /src/pcre2/src/pcre2_printint_inc.h:973,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:974,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:978,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:982,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:984,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:989,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:993,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:997,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1001,1
    - Dst: print_class
      Src: /src/pcre2/src/pcre2_printint_inc.h:1006,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:1008,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1012,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1017,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_printint_inc.h:1026,1
    - Dst: print_class
      Src: /src/pcre2/src/pcre2_printint_inc.h:1028,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1047,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:1054,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_printint_inc.h:1055,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1056,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1057,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1058,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1059,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_printint_inc.h:1076,1
    - Dst: print_custring_bylen
      Src: /src/pcre2/src/pcre2_printint_inc.h:1077,1
    - Dst: putc
      Src: /src/pcre2/src/pcre2_printint_inc.h:1094,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 353
    argCount: 3
    argNames:
    - re
    - f
    - print_lengths
    argTypes:
    - pcre2_code*
    - FILE*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 1095
    functionName: pcre2_printint
    functionSourceFile: /src/pcre2/src/pcre2_printint_inc.h
    functionUses: 0
    functionsReached:
    - print_class
    - print_char
    - fprintf
    - GET2
    - putc
    - print_prop
    - print_custring
    - CHAR_OUTPUT
    - print_map
    - PRIV
    - print_custring_bylen
    - GET
    linkageType: ''
    returnType: void
    signature: void pcre2_printint(pcre2_code *re, FILE *f, BOOL print_lengths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2posix.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2posix.c:212,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2posix.c:236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - errcode
    - preg
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - regex_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 246
    functionName: pcre2_regerror
    functionSourceFile: /src/pcre2/src/pcre2posix.c
    functionUses: 0
    functionsReached:
    - PRIV
    - snprintf
    linkageType: ''
    returnType: PCRE2POSIX_EXP_DEFN
    signature: "PCRE2POSIX_EXP_DEFN pcre2_regerror(int errcode, const regex_t *preg,
      char *errbuf,\n  size_t errbuf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2posix.c:257,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2posix.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - preg
    argTypes:
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: pcre2_regfree
    functionSourceFile: /src/pcre2/src/pcre2posix.c
    functionUses: 0
    functionsReached:
    - pcre2_match_data_free
    - pcre2_code_free
    linkageType: ''
    returnType: PCRE2POSIX_EXP_DEFN
    signature: PCRE2POSIX_EXP_DEFN pcre2_regfree(regex_t *preg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2posix.c:301,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2posix.c:322,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2posix.c:325,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2posix.c:335,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - preg
    - pattern
    - cflags
    argTypes:
    - regex_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 341
    functionName: pcre2_regcomp
    functionSourceFile: /src/pcre2/src/pcre2posix.c
    functionUses: 0
    functionsReached:
    - pcre2_match_data_create
    - pcre2_pattern_info
    - pcre2_compile
    - pcre2_code_free
    linkageType: ''
    returnType: PCRE2POSIX_EXP_DEFN
    signature: PCRE2POSIX_EXP_DEFN pcre2_regcomp(regex_t *preg, const char *pattern,
      int cflags)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/pcre2/src/pcre2posix.c:388,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2posix.c:391,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/pcre2/src/pcre2posix.c:399,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 5
    argNames:
    - preg
    - string
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - regex_t*
    - char*
    - size_t
    - regmatch_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 436
    functionName: pcre2_regexec
    functionSourceFile: /src/pcre2/src/pcre2posix.c
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_pointer
    - pcre2_match
    - strlen
    linkageType: ''
    returnType: PCRE2POSIX_EXP_DEFN
    signature: "PCRE2POSIX_EXP_DEFN pcre2_regexec(const regex_t *preg, const char
      *string, size_t nmatch,\n  regmatch_t pmatch[], int eflags)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2demo.c:106,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2demo.c:107,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:110,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:121,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2demo.c:132,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2demo.c:140,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2demo.c:153,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:154,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2demo.c:173,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2demo.c:177,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:192,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:196,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:198,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:199,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/pcre2/src/pcre2demo.c:206,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:207,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:220,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:232,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:235,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:236,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:237,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:248,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2demo.c:262,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:268,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:272,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2demo.c:277,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2demo.c:282,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:295,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:313,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:314,1
    - Dst: pcre2_next_match
      Src: /src/pcre2/src/pcre2demo.c:331,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2demo.c:336,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:354,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:355,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:356,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:376,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:377,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:378,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:379,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:388,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:394,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:404,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:407,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:408,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:409,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:420,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:424,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:428,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:432,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2demo.c:439,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2demo.c:441,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2demo.c:442,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 122
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2demo.c
    functionUses: 17
    functionsReached:
    - pcre2_match_data_create_from_pattern
    - strcmp
    - pcre2_get_ovector_pointer
    - pcre2_match
    - pcre2_compile
    - pcre2_next_match
    - pcre2_pattern_info
    - pcre2_get_error_message
    - pcre2_match_data_free
    - printf
    - strlen
    - pcre2_code_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - c
    - eptr
    - start_subject
    - end_subject
    - utf
    - xcount
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_extuni.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: "PCRE2_SPTR PRIV(extuni)(uint32_t c, PCRE2_SPTR eptr, PCRE2_SPTR start_subject,\n
      \ PCRE2_SPTR end_subject, BOOL utf, int *xcount)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_extuni.c:97,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_extuni.c:103,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_extuni.c:104,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_extuni.c:105,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_extuni.c:120,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_extuni.c:129,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_extuni.c:130,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_extuni.c:134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 6
    argNames:
    - c
    - eptr
    - start_subject
    - end_subject
    - utf
    - xcount
    argTypes:
    - uint32_t
    - PCRE2_SPTR
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 155
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_extuni.c
    functionUses: 35
    functionsReached:
    - GETCHAR
    - BACKCHAR
    - UCD_GRAPHBREAK
    - PRIV
    - GETCHARLEN
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: "PCRE2_SPTR PRIV(extuni)(uint32_t c, PCRE2_SPTR eptr, PCRE2_SPTR start_subject,\n
      \ PCRE2_SPTR end_subject, BOOL utf, int *xcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:61,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - current
    - allocator_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 35
    functionsReached:
    - SLJIT_UNUSED_ARG
    - SLJIT_FREE
    linkageType: ''
    returnType: void
    signature: void PRIV(jit_free_rodata)(void *current, void *allocator_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sljit_free_code
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:92,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:93,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - executable_jit
    - memctl
    argTypes:
    - void*
    - pcre2_memctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 36
    functionsReached:
    - sljit_free_code
    - SLJIT_FREE
    - PRIV
    linkageType: ''
    returnType: void
    signature: void PRIV(jit_free)(void *executable_jit, pcre2_memctl *memctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:112,1
    - Dst: sljit_free_unused_memory_exec
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gcontext
    argTypes:
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: pcre2_jit_free_unused_memory
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 0
    functionsReached:
    - sljit_free_unused_memory_exec
    - SLJIT_UNUSED_ARG
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_jit_free_unused_memory(pcre2_general_context *gcontext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:147,1
    - Dst: sljit_allocate_stack
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:149,1
    - Dst: pcre2_jit_stack*::memctl::free
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - startsize
    - maxsize
    - gcontext
    argTypes:
    - size_t
    - size_t
    - pcre2_general_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: pcre2_jit_stack_create
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_jit_stack*::memctl::free
    - sljit_allocate_stack
    - PRIV
    linkageType: ''
    returnType: void
    signature: "void pcre2_jit_stack_create(size_t startsize, size_t maxsize,\n  pcre2_general_context
      *gcontext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mcontext
    - callback
    - callback_data
    argTypes:
    - pcre2_match_context*
    - pcre2_jit_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: pcre2_jit_stack_assign
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_jit_stack_assign(pcre2_match_context *mcontext,
      pcre2_jit_callback callback,\n  void *callback_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sljit_free_stack
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:195,1
    - Dst: pcre2_jit_stack*::memctl::free
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - jit_stack
    argTypes:
    - pcre2_jit_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: pcre2_jit_stack_free
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_jit_stack*::memctl::free
    - sljit_free_stack
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_jit_stack_free(pcre2_jit_stack *jit_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_get_platform_name
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 37
    functionsReached:
    - sljit_get_platform_name
    linkageType: ''
    returnType: char
    signature: 'char *

      PRIV(jit_get_target)(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_misc_inc.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - executable_jit
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_jit_misc_inc.h
    functionUses: 37
    functionsReached:
    - SLJIT_COMPILE_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t PRIV(jit_get_size)(void *executable_jit)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substitute.c:131,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 4
    argNames:
    - code
    - ptrptr
    - ptrend
    - last
    argTypes:
    - pcre2_code*
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 180
    functionName: find_text_end
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: int
    signature: "int find_text_end(const pcre2_code *code, PCRE2_SPTR *ptrptr, PCRE2_SPTR
      ptrend,\n  BOOL last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_substitute.c:224,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_substitute.c:225,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substitute.c:226,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_substitute.c:229,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_substitute.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - ptrptr
    - ptrend
    - utf
    - ctypes
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - BOOL
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 261
    functionName: read_name_subst
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached:
    - GETCHAR
    - FORWARDCHARTEST
    - UCD_CHARTYPE
    - PRIV
    - MAX_255
    linkageType: ''
    returnType: BOOL
    signature: "BOOL read_name_subst(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, BOOL utf,\n
      \   const uint8_t* ctypes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: pessimistic_case_inflation
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: PCRE2_SIZE pessimistic_case_inflation(PCRE2_SIZE len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:320,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_substitute.c:334,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_substitute.c:365,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_substitute.c:370,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substitute.c:371,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_substitute.c:373,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_substitute.c:383,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_substitute.c:392,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substitute.c:401,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substitute.c:401,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substitute.c:423,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substitute.c:423,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 6
    argNames:
    - input
    - input_len
    - output
    - output_cap
    - state
    - code
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - case_state*
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 434
    functionName: default_substitute_case_callout
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached:
    - GETCHARINCTEST
    - PCRE2_ASSERT
    - UCD_OTHERCASE
    - UCD_CHARTYPE
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - CU2BYTES
    - MAX_255
    - memcpy
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: "PCRE2_SIZE default_substitute_case_callout(\n  PCRE2_SPTR input, PCRE2_SIZE
      input_len,\n  PCRE2_UCHAR *output, PCRE2_SIZE output_cap,\n  case_state *state,
      const pcre2_code *code)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:468,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_substitute.c:474,1
    - Dst: substitute_case_callout
      Src: /src/pcre2/src/pcre2_substitute.c:487,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_substitute.c:513,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:515,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_substitute.c:517,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substitute.c:517,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:534,1
    - Dst: substitute_case_callout
      Src: /src/pcre2/src/pcre2_substitute.c:539,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_substitute.c:553,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substitute.c:553,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:567,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_substitute.c:568,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_substitute.c:568,1
    - Dst: substitute_case_callout
      Src: /src/pcre2/src/pcre2_substitute.c:578,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_substitute.c:601,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 6
    argNames:
    - input_output
    - input_len
    - output_cap
    - state
    - utf
    - substitute_case_callout_data
    argTypes:
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - PCRE2_SIZE
    - case_state*
    - BOOL
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 605
    functionName: do_case_copy
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached:
    - GETCHARINCTEST
    - substitute_case_callout
    - PCRE2_ASSERT
    - PCRE2_DEBUG_UNREACHABLE
    - memmove
    - CU2BYTES
    - memcpy
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: "PCRE2_SIZE do_case_copy(\n  PCRE2_UCHAR *input_output, PCRE2_SIZE
      input_len, PCRE2_SIZE output_cap,\n  case_state *state, BOOL utf,\n  PCRE2_SIZE
      (*substitute_case_callout)(PCRE2_SPTR, PCRE2_SIZE, PCRE2_UCHAR *,\n                                        PCRE2_SIZE,
      int, void *),\n  void *substitute_case_callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - from
    - ','
    - length_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 643
    functionName: CHECKMEMCPY
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKMEMCPY(from, length_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - length_
    - ','
    - do_call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: CHECKCASECPY_BASE
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCASECPY_BASE(length_, do_call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - from
    - ','
    - length_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: CHECKCASECPY_DEFAULT
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCASECPY_DEFAULT(from, length_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - length_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 710
    functionName: CHECKCASECPY_CALLOUT
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCASECPY_CALLOUT(length_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 723
    functionName: DELAYEDFORCECASE
    functionSourceFile: /src/pcre2/src/pcre2_substitute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELAYEDFORCECASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: PRINTABLE
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTABLE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: PRINTABLE
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTABLE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: CHAR_OUTPUT
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CHAR_OUTPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: CHAR_INPUT
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CHAR_INPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: XDIGIT
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: XDIGIT
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: IS_DIGIT
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: UPPER_CASE
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPPER_CASE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: UPPER_CASE
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPPER_CASE(c)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:846,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:848,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:852,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:856,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:859,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:863,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:867,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:871,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:872,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:879,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:880,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:888,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:902,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:910,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:912,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:919,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:921,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:928,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:930,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:933,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:934,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:935,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:936,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:937,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:938,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:939,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:940,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:941,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:942,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:943,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:944,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:945,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:946,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:948,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:949,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:950,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:951,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:952,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:953,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:954,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:955,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:957,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:958,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:959,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:960,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:961,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:963,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:964,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:966,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:967,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:969,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:970,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:971,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:972,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:973,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:974,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:977,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:982,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:987,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:992,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:997,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1006,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1007,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1008,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1013,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1014,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1015,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1019,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1020,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1021,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1025,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1026,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1027,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1032,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1033,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1034,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1038,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1039,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1040,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1044,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1045,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1046,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1050,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1051,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1052,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1058,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1059,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1060,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1064,1
    - Dst: GETOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:1065,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1066,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1070,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1074,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1078,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1082,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1086,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1090,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1094,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1098,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1104,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1105,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1107,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1110,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1111,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1112,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1113,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1114,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:1116,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 303
    argCount: 1
    argNames:
    - cb
    argTypes:
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 1119
    functionName: show_parsed
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - fprintf
    - META_DATA
    - META_CODE
    - GETOFFSET
    linkageType: ''
    returnType: void
    signature: void show_parsed(compile_block *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:1138,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - code
    argTypes:
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1153
    functionName: pcre2_code_copy
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcre2_code*::memctl::malloc
    linkageType: ''
    returnType: void
    signature: void pcre2_code_copy(const pcre2_code *code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:1173,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:1175,1
    - Dst: pcre2_code*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:1178,1
    - Dst: pcre2_code*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:1182,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - code
    argTypes:
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1192
    functionName: pcre2_code_copy_with_tables
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - pcre2_code*::memctl::free
    - memcpy
    - pcre2_code*::memctl::malloc
    linkageType: ''
    returnType: void
    signature: void pcre2_code_copy_with_tables(const pcre2_code *code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:1209,1
    - Dst: pcre2_code*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:1223,1
    - Dst: pcre2_code*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - code
    argTypes:
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1229
    functionName: pcre2_code_free
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 5
    functionsReached:
    - PRIV
    - pcre2_code*::memctl::free
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_code_free(pcre2_code *code)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:1268,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1287,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1288,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1294,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 7
    argNames:
    - ptrptr
    - ptrend
    - allow_sign
    - max_value
    - max_error
    - intptr
    - errorcodeptr
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - int32_t
    - uint32_t
    - uint32_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1322
    functionName: read_number
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - IS_DIGIT
    - PCRE2_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: "BOOL read_number(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, int32_t allow_sign,\n
      \ uint32_t max_value, uint32_t max_error, int *intptr, int *errorcodeptr)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1368,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1371,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1386,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1388,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1402,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1407,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1426,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 80
    argCount: 5
    argNames:
    - ptrptr
    - ptrend
    - minp
    - maxp
    - errorcodeptr
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - uint32_t*
    - uint32_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1452
    functionName: read_repeat_counts
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - IS_DIGIT
    - read_number
    linkageType: ''
    returnType: BOOL
    signature: "BOOL read_repeat_counts(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, uint32_t
      *minp,\n  uint32_t *maxp, int *errorcodeptr)"
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:1510,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1572,1
    - Dst: read_repeat_counts
      Src: /src/pcre2/src/pcre2_compile.c:1593,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1661,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1690,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1691,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1693,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:1695,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1767,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1803,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1824,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1885,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:1908,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:1922,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2035,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2036,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2066,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2089,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2123,1
    - Dst: XDIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2141,1
    - Dst: UPPER_CASE
      Src: /src/pcre2/src/pcre2_compile.c:2169,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_compile.c:2229,1
    CyclomaticComplexity: 246
    EdgeCount: 246
    ICount: 395
    argCount: 9
    argNames:
    - ptrptr
    - ptrend
    - chptr
    - errorcodeptr
    - options
    - xoptions
    - bracount
    - isclass
    - cb
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - uint32_t*
    - int*
    - uint32_t
    - uint32_t
    - uint32_t
    - BOOL
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 1489
    functionDepth: 3
    functionLinenumber: 1489
    functionLinenumberEnd: 2232
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 41
    functionsReached:
    - GETCHARINCTEST
    - PCRE2_ASSERT
    - FORWARDCHARTEST
    - UPPER_CASE
    - read_number
    - read_repeat_counts
    - XDIGIT
    linkageType: ''
    returnType: int
    signature: "int PRIV(check_escape)(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, uint32_t
      *chptr,\n  int *errorcodeptr, uint32_t options, uint32_t xoptions, uint32_t
      bracount,\n  BOOL isclass, compile_block *cb)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:2275,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:2296,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2378,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2379,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2388,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2389,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2392,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2393,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:2404,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:2405,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2411,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2417,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2417,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2417,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2424,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2427,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2431,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 106
    argCount: 7
    argNames:
    - ptrptr
    - utf
    - negptr
    - ptypeptr
    - pdataptr
    - errorcodeptr
    - cb
    argTypes:
    - PCRE2_SPTR*
    - BOOL
    - BOOL*
    - uint16_t*
    - uint16_t*
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2455
    functionName: get_ucp
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - memmove
    - GETCHARINCTEST
    - PRIV
    linkageType: ''
    returnType: BOOL
    signature: "BOOL get_ucp(PCRE2_SPTR *ptrptr, BOOL utf, BOOL *negptr, uint16_t
      *ptypeptr,\n  uint16_t *pdataptr, int *errorcodeptr, compile_block *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - ptrend
    - endptr
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - PCRE2_SPTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2528
    functionName: check_posix_syntax
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL check_posix_syntax(PCRE2_SPTR ptr, PCRE2_SPTR ptrend, PCRE2_SPTR
      *endptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - PCRE2_SPTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2559
    functionName: check_posix_name
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: int
    signature: int check_posix_name(PCRE2_SPTR ptr, int len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_compile.c:2626,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_compile.c:2627,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:2638,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_compile.c:2642,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_compile.c:2643,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:2656,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_compile.c:2663,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 71
    argCount: 9
    argNames:
    - ptrptr
    - ptrend
    - utf
    - terminator
    - offsetptr
    - nameptr
    - namelenptr
    - errorcodeptr
    - cb
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - BOOL
    - uint32_t
    - PCRE2_SIZE*
    - PCRE2_SPTR*
    - uint32_t*
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2592
    functionDepth: 1
    functionLinenumber: 2592
    functionLinenumberEnd: 2707
    functionName: read_name
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - IS_DIGIT
    - GETCHARINC
    - UCD_CHARTYPE
    - PRIV
    - MAX_255
    linkageType: ''
    returnType: BOOL
    signature: "BOOL read_name(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, BOOL utf, uint32_t
      terminator,\n  PCRE2_SIZE *offsetptr, PCRE2_SPTR *nameptr, uint32_t *namelenptr,\n
      \ int *errorcodeptr, compile_block *cb)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:2761,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:2764,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:2787,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:2793,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:2797,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 7
    argNames:
    - ptrptr
    - ptrend
    - utf
    - parsed_pattern
    - offset
    - errorcodeptr
    - cb
    argTypes:
    - PCRE2_SPTR*
    - PCRE2_SPTR
    - BOOL
    - uint32_t*
    - PCRE2_SIZE
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2731
    functionDepth: 2
    functionLinenumber: 2731
    functionLinenumberEnd: 2829
    functionName: parse_capture_list
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - read_number
    - PUTOFFSET
    - read_name
    - PCRE2_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_capture_list(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend,\n
      \ BOOL utf, uint32_t *parsed_pattern, PCRE2_SIZE offset,\n  int *errorcodeptr,
      compile_block *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ptr
    - pcalloutptr
    - auto_callout
    - parsed_pattern
    - cb
    argTypes:
    - PCRE2_SPTR
    - uint32_t**
    - BOOL
    - uint32_t*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2879
    functionName: manage_callouts
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nmanage_callouts(PCRE2_SPTR ptr, uint32_t **pcalloutptr,
      BOOL auto_callout,\n  uint32_t *parsed_pattern, compile_block *cb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - escape
    - parsed_pattern
    - options
    - xoptions
    argTypes:
    - int
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2958
    functionName: handle_escdsw
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nhandle_escdsw(int escape, uint32_t *parsed_pattern, uint32_t
      options,\n  uint32_t xoptions)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - ptrend
    - utf
    - options
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 3012
    functionName: max_parsed_pattern
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t max_parsed_pattern(PCRE2_SPTR ptr, PCRE2_SPTR ptrend, BOOL
      utf,\n  uint32_t options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3106
    functionName: PARSED_LITERAL
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSED_LITERAL(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3108
    functionName: PARSED_LITERAL
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSED_LITERAL(c, p)
  - BBCount: 391
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:3161,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:3192,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:3199,1
    - Dst: manage_callouts
      Src: /src/pcre2/src/pcre2_compile.c:3201,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3203,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:3255,1
    - Dst: max_parsed_pattern
      Src: /src/pcre2/src/pcre2_compile.c:3257,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:3268,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:3288,1
    - Dst: manage_callouts
      Src: /src/pcre2/src/pcre2_compile.c:3312,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3314,1
    - Dst: SUPPORT_UNICODE
      Src: /src/pcre2/src/pcre2_compile.c:3336,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:3386,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3403,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_compile.c:3463,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_compile.c:3470,1
    - Dst: read_repeat_counts
      Src: /src/pcre2/src/pcre2_compile.c:3498,1
    - Dst: manage_callouts
      Src: /src/pcre2/src/pcre2_compile.c:3502,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_compile.c:3525,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3587,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:3595,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:3605,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3614,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:3636,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3681,1
    - Dst: handle_escdsw
      Src: /src/pcre2/src/pcre2_compile.c:3712,1
    - Dst: get_ucp
      Src: /src/pcre2/src/pcre2_compile.c:3724,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:3761,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:3779,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:3790,1
    - Dst: read_repeat_counts
      Src: /src/pcre2/src/pcre2_compile.c:3831,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:3835,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:3869,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:3899,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:3900,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:3916,1
    - Dst: check_posix_syntax
      Src: /src/pcre2/src/pcre2_compile.c:3937,1
    - Dst: check_posix_syntax
      Src: /src/pcre2/src/pcre2_compile.c:4019,1
    - Dst: check_posix_name
      Src: /src/pcre2/src/pcre2_compile.c:4074,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:4190,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:4196,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4218,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4222,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4243,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:4266,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4319,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4358,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4364,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4391,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4397,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:4439,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:4463,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:4474,1
    - Dst: handle_escdsw
      Src: /src/pcre2/src/pcre2_compile.c:4528,1
    - Dst: get_ucp
      Src: /src/pcre2/src/pcre2_compile.c:4540,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:4568,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:4675,1
    - Dst: PARSED_LITERAL
      Src: /src/pcre2/src/pcre2_compile.c:4691,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_compile.c:4709,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_compile.c:4758,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:4763,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:4777,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:4806,1
    - Dst: parse_capture_list
      Src: /src/pcre2/src/pcre2_compile.c:4827,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:4884,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:4898,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:4990,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:5199,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5203,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5230,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:5241,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5242,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:5245,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:5259,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5266,1
    - Dst: parse_capture_list
      Src: /src/pcre2/src/pcre2_compile.c:5274,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5326,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5332,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5334,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5336,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5369,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5380,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:5450,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:5453,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5461,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5469,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5486,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:5493,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5498,1
    - Dst: read_number
      Src: /src/pcre2/src/pcre2_compile.c:5504,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:5546,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5563,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:5568,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5583,1
    - Dst: PUTOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:5649,1
    - Dst: read_name
      Src: /src/pcre2/src/pcre2_compile.c:5690,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5726,1
    - Dst: NAMED_GROUP_GET_HASH
      Src: /src/pcre2/src/pcre2_compile.c:5730,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5731,1
    - Dst: compile_block*::cx::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:5773,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:5781,1
    - Dst: compile_block*::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:5784,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:5852,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:5882,1
    - Dst: max_parsed_pattern
      Src: /src/pcre2/src/pcre2_compile.c:5884,1
    - Dst: manage_callouts
      Src: /src/pcre2/src/pcre2_compile.c:5888,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:5911,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_compile.c:5934,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_compile.c:5943,1
    CyclomaticComplexity: 703
    EdgeCount: 703
    ICount: 1647
    argCount: 5
    argNames:
    - ptr
    - options
    - xoptions
    - has_lookbehind
    - cb
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - uint32_t
    - BOOL*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5946
      start: 3112
    functionDepth: 3
    functionLinenumber: 3112
    functionLinenumberEnd: 5946
    functionName: parse_regex
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - compile_block*::cx::memctl::malloc
    - check_posix_name
    - NAMED_GROUP_GET_HASH
    - get_ucp
    - GETCHARINCTEST
    - handle_escdsw
    - parse_capture_list
    - read_name
    - PCRE2_ASSERT
    - read_repeat_counts
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - MAX_255
    - SUPPORT_UNICODE
    - BACKCHAR
    - manage_callouts
    - FORWARDCHARTEST
    - PUTOFFSET
    - CHMAX_255
    - compile_block*::cx::memctl::free
    - check_posix_syntax
    - IS_NEWLINE
    - memcpy
    - max_parsed_pattern
    - IS_DIGIT
    - read_number
    - PARSED_LITERAL
    linkageType: ''
    returnType: int
    signature: "int parse_regex(PCRE2_SPTR ptr, uint32_t options, uint32_t xoptions,\n
      \ BOOL *has_lookbehind, compile_block *cb)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:5979,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5980,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:5997,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:6001,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:6005,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:6011,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:6013,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6021,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:6030,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - code
    - skipassert
    argTypes:
    - PCRE2_SPTR
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6032
      start: 5967
    functionDepth: 1
    functionLinenumber: 5967
    functionLinenumberEnd: 6032
    functionName: first_significant_code
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: PCRE2_UCHAR
    signature: 'PCRE2_UCHAR *

      first_significant_code(PCRE2_SPTR code, BOOL skipassert)'
  - BBCount: 290
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:6158,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:6159,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:6169,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile.c:6302,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6333,1
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_compile.c:6381,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6383,1
    - Dst: UCD_DOTTED_I
      Src: /src/pcre2/src/pcre2_compile.c:6383,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/src/pcre2_compile.c:6385,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6387,1
    - Dst: PUTCHAR
      Src: /src/pcre2/src/pcre2_compile.c:6404,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/src/pcre2_compile.c:6422,1
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_compile.c:6427,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile.c:6433,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_compile.c:6439,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6459,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:6463,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:6496,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:6501,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6549,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:6557,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:6557,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6589,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:6600,1
    - Dst: SKIPOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:6604,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6613,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6617,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6618,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6627,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:6666,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6675,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:6710,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6756,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6765,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:6776,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6785,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6786,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:6791,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:6800,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:6809,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:6824,1
    - Dst: compile_regex
      Src: /src/pcre2/src/pcre2_compile.c:6929,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:6978,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7030,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7032,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:7130,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7138,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7182,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7187,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7188,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7203,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7204,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7207,1
    - Dst: SKIPOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:7223,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7238,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7239,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:7242,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7247,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7269,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:7353,1
    - Dst: NOT_FIRSTCU
      Src: /src/pcre2/src/pcre2_compile.c:7380,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_compile.c:7383,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7385,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7385,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7438,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7440,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7477,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7487,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7487,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:7504,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7504,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7506,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7508,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:7549,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:7595,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7595,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:7616,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7616,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7626,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7647,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7670,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7670,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:7697,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7723,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7726,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7726,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:7738,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7741,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7742,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:7775,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:7800,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:7815,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7815,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:7820,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:7821,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:7859,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7915,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7933,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7943,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7954,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7954,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:7981,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:7991,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:7991,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8033,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8048,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_compile.c:8050,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_compile.c:8051,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:8066,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8074,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile.c:8101,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:8101,1
    - Dst: PUTINC
      Src: /src/pcre2/src/pcre2_compile.c:8106,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8107,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:8138,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:8156,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:8183,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8192,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:8198,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:8199,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:8200,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8206,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:8219,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:8223,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:8228,1
    - Dst: compile_block*::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:8236,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile.c:8254,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile.c:8319,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:8398,1
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_compile.c:8425,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8427,1
    - Dst: UCD_DOTTED_I
      Src: /src/pcre2/src/pcre2_compile.c:8427,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/src/pcre2_compile.c:8429,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8431,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8459,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile.c:8469,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:8469,1
    CyclomaticComplexity: 378
    EdgeCount: 378
    ICount: 1194
    argCount: 13
    argNames:
    - optionsptr
    - xoptionsptr
    - codeptr
    - pptrptr
    - errorcodeptr
    - firstcuptr
    - firstcuflagsptr
    - reqcuptr
    - reqcuflagsptr
    - bcptr
    - open_caps
    - cb
    - lengthptr
    argTypes:
    - uint32_t*
    - uint32_t*
    - PCRE2_UCHAR**
    - uint32_t**
    - int*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - branch_chain*
    - open_capitem*
    - compile_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8532
      start: 6067
    functionDepth: 1
    functionLinenumber: 6067
    functionLinenumberEnd: 8532
    functionName: compile_branch
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - PUTINC
    - UCD_OTHERCASE
    - PUT2INC
    - GET
    - SKIPOFFSET
    - NOT_FIRSTCU
    - UCD_DOTTED_I
    - PCRE2_ASSERT
    - TABLE_GET
    - PUTCHAR
    - PUT2
    - UCD_ANY_I
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - META_DATA
    - CU2BYTES
    - compile_regex
    - PUT
    - BACKCHAR
    - UCD_CASESET
    - compile_block*::cx::memctl::free
    - memmove
    - memcpy
    - memset
    - GETPLUSOFFSET
    - META_CODE
    - GET_EXTRALEN
    - HAS_EXTRALEN
    linkageType: ''
    returnType: int
    signature: "int compile_branch(uint32_t *optionsptr, uint32_t *xoptionsptr,\n
      \ PCRE2_UCHAR **codeptr, uint32_t **pptrptr, int *errorcodeptr,\n  uint32_t
      *firstcuptr, uint32_t *firstcuflagsptr, uint32_t *reqcuptr,\n  uint32_t *reqcuflagsptr,
      branch_chain *bcptr, open_capitem *open_caps,\n  compile_block *cb, PCRE2_SIZE
      *lengthptr)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: compile_block*::cx::stack_guard
      Src: /src/pcre2/src/pcre2_compile.c:8599,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:8632,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_compile.c:8645,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8654,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:8679,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:8685,1
    - Dst: PUT2INC
      Src: /src/pcre2/src/pcre2_compile.c:8686,1
    - Dst: compile_branch
      Src: /src/pcre2/src/pcre2_compile.c:8695,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:8774,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:8781,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8782,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8792,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:8832,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:8840,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:8845,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 14
    argNames:
    - options
    - xoptions
    - codeptr
    - pptrptr
    - errorcodeptr
    - skipunits
    - firstcuptr
    - firstcuflagsptr
    - reqcuptr
    - reqcuflagsptr
    - bcptr
    - open_caps
    - cb
    - lengthptr
    argTypes:
    - uint32_t
    - uint32_t
    - PCRE2_UCHAR**
    - uint32_t**
    - int*
    - uint32_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - branch_chain*
    - open_capitem*
    - compile_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8848
      start: 8574
    functionDepth: 2
    functionLinenumber: 8574
    functionLinenumberEnd: 8848
    functionName: compile_regex
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - PUT
    - PCRE2_DEBUG_UNREACHABLE
    - GET2
    - compile_block*::cx::stack_guard
    - META_CODE
    - PUT2INC
    - GET
    - META_DATA
    - compile_branch
    linkageType: ''
    returnType: int
    signature: "int compile_regex(uint32_t options, uint32_t xoptions, PCRE2_UCHAR
      **codeptr,\n  uint32_t **pptrptr, int *errorcodeptr, uint32_t skipunits,\n  uint32_t
      *firstcuptr, uint32_t *firstcuflagsptr, uint32_t *reqcuptr,\n  uint32_t *reqcuflagsptr,
      branch_chain *bcptr, open_capitem *open_caps,\n  compile_block *cb, PCRE2_SIZE
      *lengthptr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: first_significant_code
      Src: /src/pcre2/src/pcre2_compile.c:8900,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:8901,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:8909,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_compile.c:8918,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:8920,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:8927,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:8934,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:8935,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:8943,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:8966,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 33
    argCount: 6
    argNames:
    - code
    - bracket_map
    - cb
    - atomcount
    - inassert
    - dotstar_anchor
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - compile_block*
    - int
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8970
      start: 8895
    functionDepth: 2
    functionLinenumber: 8895
    functionLinenumberEnd: 8970
    functionName: is_anchored
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - GET2
    - PRIV
    - GET
    - first_significant_code
    - is_anchored
    linkageType: ''
    returnType: BOOL
    signature: "BOOL is_anchored(PCRE2_SPTR code, uint32_t bracket_map, compile_block
      *cb,\n  int atomcount, BOOL inassert, BOOL dotstar_anchor)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: first_significant_code
      Src: /src/pcre2/src/pcre2_compile.c:9005,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:9006,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:9018,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9019,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:9033,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9035,1
    - Dst: first_significant_code
      Src: /src/pcre2/src/pcre2_compile.c:9039,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:9048,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_compile.c:9057,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:9059,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:9067,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:9075,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9101,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 53
    argCount: 6
    argNames:
    - code
    - bracket_map
    - cb
    - atomcount
    - inassert
    - dotstar_anchor
    argTypes:
    - PCRE2_SPTR
    - unsigned int
    - compile_block*
    - int
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9105
      start: 9000
    functionDepth: 2
    functionLinenumber: 9000
    functionLinenumberEnd: 9105
    functionName: is_startline
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - is_startline
    - GET2
    - PRIV
    - GET
    - first_significant_code
    linkageType: ''
    returnType: BOOL
    signature: "BOOL is_startline(PCRE2_SPTR code, unsigned int bracket_map, compile_block
      *cb,\n  int atomcount, BOOL inassert, BOOL dotstar_anchor)"
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9138,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9139,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:9181,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_compile.c:9246,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_compile.c:9246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 104
    argCount: 2
    argNames:
    - code
    - utf
    argTypes:
    - PCRE2_UCHAR*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9254
      start: 9123
    functionDepth: 1
    functionLinenumber: 9123
    functionLinenumberEnd: 9254
    functionName: find_recurse
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - GET_EXTRALEN
    - HAS_EXTRALEN
    - PRIV
    linkageType: ''
    returnType: PCRE2_UCHAR
    signature: 'PCRE2_UCHAR *

      find_recurse(PCRE2_UCHAR *code, BOOL utf)'
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: first_significant_code
      Src: /src/pcre2/src/pcre2_compile.c:9292,1
    - Dst: find_firstassertedcu
      Src: /src/pcre2/src/pcre2_compile.c:9310,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:9357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - code
    - flags
    - inassert
    argTypes:
    - PCRE2_SPTR
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9363
      start: 9280
    functionDepth: 2
    functionLinenumber: 9280
    functionLinenumberEnd: 9363
    functionName: find_firstassertedcu
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - GET
    - find_firstassertedcu
    - first_significant_code
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t find_firstassertedcu(PCRE2_SPTR code, uint32_t *flags, uint32_t
      inassert)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:9400,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:9413,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:9420,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:9481,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - pptr
    - skiptype
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9483
      start: 9393
    functionDepth: 1
    functionLinenumber: 9393
    functionLinenumberEnd: 9483
    functionName: parsed_skip
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    - PCRE2_UNREACHABLE
    - META_DATA
    - META_CODE
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      parsed_skip(uint32_t *pptr, uint32_t skiptype)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parsed_skip
      Src: /src/pcre2/src/pcre2_compile.c:9529,1
    - Dst: get_branchlength
      Src: /src/pcre2/src/pcre2_compile.c:9539,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 8
    argNames:
    - pptrptr
    - minptr
    - isinline
    - errcodeptr
    - lcptr
    - group
    - recurses
    - cb
    argTypes:
    - uint32_t**
    - int*
    - BOOL
    - int*
    - int*
    - int
    - parsed_recurse_check*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9560
      start: 9509
    functionDepth: 2
    functionLinenumber: 9509
    functionLinenumberEnd: 9560
    functionName: get_grouplength
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 0
    functionsReached:
    - get_branchlength
    - parsed_skip
    linkageType: ''
    returnType: int
    signature: "int get_grouplength(uint32_t **pptrptr, int *minptr, BOOL isinline,
      int *errcodeptr,\n  int *lcptr, int group, parsed_recurse_check *recurses, compile_block
      *cb)"
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:9623,1
    - Dst: parsed_skip
      Src: /src/pcre2/src/pcre2_compile.c:9634,1
    - Dst: parsed_skip
      Src: /src/pcre2/src/pcre2_compile.c:9666,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:9688,1
    - Dst: check_lookbehinds
      Src: /src/pcre2/src/pcre2_compile.c:9716,1
    - Dst: set_lookbehind_lengths
      Src: /src/pcre2/src/pcre2_compile.c:9754,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:9774,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:9777,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:9779,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:9809,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:9823,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:9824,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:9836,1
    - Dst: parsed_skip
      Src: /src/pcre2/src/pcre2_compile.c:9843,1
    - Dst: get_grouplength
      Src: /src/pcre2/src/pcre2_compile.c:9857,1
    - Dst: parsed_skip
      Src: /src/pcre2/src/pcre2_compile.c:9873,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile.c:9895,1
    - Dst: get_grouplength
      Src: /src/pcre2/src/pcre2_compile.c:9903,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 254
    argCount: 6
    argNames:
    - pptrptr
    - minptr
    - errcodeptr
    - lcptr
    - recurses
    - cb
    argTypes:
    - uint32_t**
    - int*
    - int*
    - int*
    - parsed_recurse_check*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9971
      start: 9583
    functionDepth: 3
    functionLinenumber: 9583
    functionLinenumberEnd: 9971
    functionName: get_branchlength
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - check_lookbehinds
    - parsed_skip
    - GETPLUSOFFSET
    - get_grouplength
    - META_CODE
    - PRIV
    - META_DATA
    - set_lookbehind_lengths
    linkageType: ''
    returnType: int
    signature: "int get_branchlength(uint32_t **pptrptr, int *minptr, int *errcodeptr,
      int *lcptr,\n  parsed_recurse_check *recurses, compile_block *cb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: READPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile.c:10024,1
    - Dst: get_branchlength
      Src: /src/pcre2/src/pcre2_compile.c:10036,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:10054,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - pptrptr
    - errcodeptr
    - lcptr
    - recurses
    - cb
    argTypes:
    - uint32_t**
    - int*
    - int*
    - parsed_recurse_check*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10076
      start: 10013
    functionDepth: 4
    functionLinenumber: 10013
    functionLinenumberEnd: 10076
    functionName: set_lookbehind_lengths
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - get_branchlength
    - READPLUSOFFSET
    - META_CODE
    linkageType: ''
    returnType: BOOL
    signature: "BOOL set_lookbehind_lengths(uint32_t **pptrptr, int *errcodeptr, int
      *lcptr,\n  parsed_recurse_check *recurses, compile_block *cb)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile.c:10117,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:10125,1
    - Dst: set_lookbehind_lengths
      Src: /src/pcre2/src/pcre2_compile.c:10249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 118
    argCount: 5
    argNames:
    - pptr
    - retptr
    - recurses
    - cb
    - lcptr
    argTypes:
    - uint32_t*
    - uint32_t**
    - parsed_recurse_check*
    - compile_block*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10256
      start: 10104
    functionDepth: 5
    functionLinenumber: 10104
    functionLinenumberEnd: 10256
    functionName: check_lookbehinds
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 1
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    - set_lookbehind_lengths
    - META_CODE
    linkageType: ''
    returnType: int
    signature: "int check_lookbehinds(uint32_t *pptr, uint32_t **retptr,\n  parsed_recurse_check
      *recurses, compile_block *cb, int *lcptr)"
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10369,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10396,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10423,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2_compile.c:10490,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:10490,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10508,1
    - Dst: IS_DIGIT
      Src: /src/pcre2/src/pcre2_compile.c:10542,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:10589,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:10597,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10628,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:10715,1
    - Dst: max_parsed_pattern
      Src: /src/pcre2/src/pcre2_compile.c:10730,1
    - Dst: pcre2_compile_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:10748,1
    - Dst: parse_regex
      Src: /src/pcre2/src/pcre2_compile.c:10761,1
    - Dst: pcre2_compile_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:10779,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile.c:10788,1
    - Dst: check_lookbehinds
      Src: /src/pcre2/src/pcre2_compile.c:10789,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:10796,1
    - Dst: show_parsed
      Src: /src/pcre2/src/pcre2_compile.c:10797,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:10805,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:10808,1
    - Dst: compile_regex
      Src: /src/pcre2/src/pcre2_compile.c:10830,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:10839,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:10857,1
    - Dst: CLIST_ALIGN_TO
      Src: /src/pcre2/src/pcre2_compile.c:10865,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:10871,1
    - Dst: pcre2_compile_context*::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile.c:10882,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile.c:10896,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile.c:10900,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:10902,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:10957,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:10959,1
    - Dst: compile_regex
      Src: /src/pcre2/src/pcre2_compile.c:10969,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:10994,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:11001,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2_compile.c:11003,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:11003,1
    - Dst: find_recurse
      Src: /src/pcre2/src/pcre2_compile.c:11020,1
    - Dst: find_recurse
      Src: /src/pcre2/src/pcre2_compile.c:11022,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_compile.c:11026,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:11048,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:11052,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile.c:11065,1
    - Dst: pcre2_printint
      Src: /src/pcre2/src/pcre2_compile.c:11073,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_compile.c:11074,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:11087,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:11091,1
    - Dst: is_anchored
      Src: /src/pcre2/src/pcre2_compile.c:11111,1
    - Dst: find_firstassertedcu
      Src: /src/pcre2/src/pcre2_compile.c:11133,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile.c:11169,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile.c:11173,1
    - Dst: is_startline
      Src: /src/pcre2/src/pcre2_compile.c:11189,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile.c:11234,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile.c:11238,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:11249,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile.c:11253,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:11280,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/pcre2/src/pcre2_compile.c:11285,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile.c:11285,1
    - Dst: pcre2_compile_context*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:11288,1
    - Dst: pcre2_compile_context*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:11290,1
    - Dst: pcre2_compile_context*::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:11292,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:11307,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:11308,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_compile.c:11317,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:11318,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile.c:11319,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile.c:11319,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2_compile.c:11326,1
    - Dst: compile_block::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile.c:11335,1
    CyclomaticComplexity: 190
    EdgeCount: 190
    ICount: 527
    argCount: 6
    argNames:
    - pattern
    - patlen
    - options
    - errorptr
    - erroroffset
    - ccontext
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - uint32_t
    - int*
    - PCRE2_SIZE*
    - pcre2_compile_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11342
      start: 10280
    functionDepth: 6
    functionLinenumber: 10280
    functionLinenumberEnd: 11342
    functionName: pcre2_compile
    functionSourceFile: /src/pcre2/src/pcre2_compile.c
    functionUses: 4
    functionsReached:
    - compile_block::cx::memctl::free
    - fprintf
    - find_firstassertedcu
    - UCD_OTHERCASE
    - GET
    - pcre2_printint
    - is_startline
    - PCRE2_ASSERT
    - VALGRIND_MAKE_MEM_DEFINED
    - PRIV
    - pcre2_compile_context*::memctl::free
    - PCRE2_DEBUG_UNREACHABLE
    - CU2BYTES
    - compile_regex
    - PUT
    - BACKCHAR
    - pcre2_compile_context*::memctl::malloc
    - find_recurse
    - is_anchored
    - check_lookbehinds
    - memset
    - max_parsed_pattern
    - IS_DIGIT
    - CLIST_ALIGN_TO
    - parse_regex
    - VALGRIND_MAKE_MEM_NOACCESS
    - show_parsed
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: "void pcre2_compile(PCRE2_SPTR pattern, PCRE2_SIZE patlen, uint32_t
      options,\n   int *errorptr, PCRE2_SIZE *erroroffset, pcre2_compile_context *ccontext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: identity
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int identity(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/pcre2/src/pcre2_dftables.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ebcdic_to_unicode
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int ebcdic_to_unicode(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/pcre2/src/pcre2_dftables.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: unicode_to_ebcdic
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int unicode_to_ebcdic(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_dftables.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: usage
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 18
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2_dftables.c:136,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2_dftables.c:136,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2_dftables.c:138,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2_dftables.c:142,1
    - Dst: setlocale
      Src: /src/pcre2/src/pcre2_dftables.c:144,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_dftables.c:146,1
    - Dst: getenv
      Src: /src/pcre2/src/pcre2_dftables.c:149,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2_dftables.c:153,1
    - Dst: setlocale
      Src: /src/pcre2/src/pcre2_dftables.c:155,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_dftables.c:157,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2_dftables.c:170,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_dftables.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2_dftables.c
    functionUses: 17
    functionsReached:
    - strcmp
    - setlocale
    - fprintf
    - usage
    - getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: GF_IDMASK
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GF_IDMASK(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: GF_DATAMASK
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GF_DATAMASK(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/pcre2/src/pcre2_match.c:221,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:223,1
    - Dst: vfprintf
      Src: /src/pcre2/src/pcre2_match.c:224,1
    - Dst: va_end
      Src: /src/pcre2/src/pcre2_match.c:225,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:227,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:229,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:235,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:240,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - f
    - F
    - P
    - frame_size
    - mb
    - match_data
    - s
    argTypes:
    - FILE*
    - heapframe*
    - heapframe*
    - PCRE2_SIZE
    - match_block*
    - pcre2_match_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 244
    functionName: display_frames
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void display_frames(FILE *f, heapframe *F, heapframe *P, PCRE2_SIZE
      frame_size,\n  match_block *mb, pcre2_match_data *match_data, const char *s,
      ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:277,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:277,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:303,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:304,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:316,1
    - Dst: match_block*::callout
      Src: /src/pcre2/src/pcre2_match.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - F
    - mb
    - lengthptr
    argTypes:
    - heapframe*
    - match_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 330
    functionName: do_callout
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached:
    - GET
    - match_block*::callout
    - PRIV
    linkageType: ''
    returnType: int
    signature: int do_callout(heapframe *F, match_block *mb, PCRE2_SIZE *lengthptr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:388,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:418,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:419,1
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_match.c:427,1
    - Dst: UCD_FOLD_I_TURKISH
      Src: /src/pcre2/src/pcre2_match.c:429,1
    - Dst: UCD_FOLD_I_TURKISH
      Src: /src/pcre2/src/pcre2_match.c:430,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:433,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:435,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:460,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:460,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:488,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:488,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 6
    argNames:
    - offset
    - caseless
    - caseopts
    - F
    - mb
    - lengthptr
    argTypes:
    - PCRE2_SIZE
    - BOOL
    - int
    - heapframe*
    - match_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 495
    functionName: match_ref
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached:
    - GET_UCD
    - UCD_FOLD_I_TURKISH
    - PCRE2_ASSERT
    - TABLE_GET
    - GETCHARINC
    - UCD_ANY_I
    - PRIV
    - CU2BYTES
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int match_ref(PCRE2_SIZE offset, BOOL caseless, int caseopts, heapframe
      *F,\n  match_block *mb, PCRE2_SIZE *lengthptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:526,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:543,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - F
    - P
    argTypes:
    - heapframe*
    - heapframe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 564
    functionName: recurse_update_offsets
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached:
    - GET2
    - memcpy
    linkageType: ''
    returnType: void
    signature: void recurse_update_offsets(heapframe *F, heapframe *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: CHECK_PARTIAL
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PARTIAL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 633
    functionName: SCHECK_PARTIAL
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCHECK_PARTIAL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ra
    - ','
    - rb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: RMATCH
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RMATCH(ra,rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ra
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: RRETURN
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRETURN(ra)
  - BBCount: 1158
    BranchProfiles: []
    Callsites:
    - Dst: match_data::match_data
      Src: /src/pcre2/src/pcre2_match.c:792,1
    - Dst: memctl::malloc
      Src: /src/pcre2/src/pcre2_match.c:792,1
    - Dst: usedsize::usedsize
      Src: /src/pcre2/src/pcre2_match.c:796,1
    - Dst: pcre2_match_data*::memctl::free
      Src: /src/pcre2/src/pcre2_match.c:799,1
    - Dst: match_data::match_data
      Src: /src/pcre2/src/pcre2_match.c:800,1
    - Dst: newsize::newsize
      Src: /src/pcre2/src/pcre2_match.c:802,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:806,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:809,1
    - Dst: GF_IDMASK
      Src: /src/pcre2/src/pcre2_match.c:810,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:813,1
    - Dst: GF_DATAMASK
      Src: /src/pcre2/src/pcre2_match.c:813,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:817,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:821,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:825,1
    - Dst: GF_DATAMASK
      Src: /src/pcre2/src/pcre2_match.c:825,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:829,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:833,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:840,1
    - Dst: GF_IDMASK
      Src: /src/pcre2/src/pcre2_match.c:861,1
    - Dst: GF_DATAMASK
      Src: /src/pcre2/src/pcre2_match.c:862,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:877,1
    - Dst: GF_IDMASK
      Src: /src/pcre2/src/pcre2_match.c:878,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:884,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:903,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:908,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:922,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:934,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:944,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:950,1
    - Dst: GF_IDMASK
      Src: /src/pcre2/src/pcre2_match.c:955,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:989,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:991,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:1005,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1007,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:1011,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:1027,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:1052,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:1062,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1062,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1079,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1080,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:1084,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1098,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1099,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:1115,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1118,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1119,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1123,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1133,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1134,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1136,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1151,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1152,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:1160,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1170,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1170,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1183,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1185,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1185,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1198,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1198,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1202,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1202,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1213,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1214,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1214,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1228,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1229,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1237,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1238,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1241,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1246,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1249,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1264,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1269,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1272,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1284,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1285,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1306,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1314,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1322,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1330,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:1398,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1409,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:1410,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1416,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1416,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1419,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1419,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1423,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1424,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1434,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1435,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1436,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1438,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1438,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1441,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1441,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1445,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1446,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:1449,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1457,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1457,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_match.c:1461,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_match.c:1461,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1465,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1477,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1478,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:1480,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1505,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1512,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1515,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1523,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1524,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1527,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1537,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1538,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1539,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1542,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1543,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1546,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:1549,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1560,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1570,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1572,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1585,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1586,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1588,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1597,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1598,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1599,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1602,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1603,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1605,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:1607,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1616,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1627,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1629,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1662,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1669,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1677,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:1710,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:1734,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_match.c:1748,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_match.c:1752,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1762,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1763,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1765,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1766,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1778,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1779,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1781,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1796,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1797,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1798,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1801,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1802,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1804,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1805,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1815,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1816,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1817,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1820,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1821,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1823,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:1827,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1845,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:1848,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1860,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1861,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:1863,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1875,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1884,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1885,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1904,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1905,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1907,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1908,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1919,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1920,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1922,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1936,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1937,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1938,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1941,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1942,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:1944,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1945,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1954,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1955,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1956,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1959,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1960,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1962,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:1965,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:1983,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:1986,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:1998,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:1999,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:2001,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2012,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2021,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2022,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2080,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2081,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2101,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2102,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:2104,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2107,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2110,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2121,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2122,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2128,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2132,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2150,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2151,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2152,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2155,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2156,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:2158,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2161,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2164,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2173,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2174,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2175,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2178,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2179,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2185,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2189,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2192,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2209,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:2212,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2230,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2231,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:2233,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2244,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2263,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2264,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2269,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2273,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:2297,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2319,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2320,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2337,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2338,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2340,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2341,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2343,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2357,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2358,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2359,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2362,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2363,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2365,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2366,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2368,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2370,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2383,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:2387,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2391,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2404,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2405,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:2408,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2411,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2414,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:2439,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2462,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2463,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2480,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2481,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2483,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2484,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2486,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2500,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2501,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2502,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2505,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2506,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2508,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2509,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2511,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2513,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2526,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:2530,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2534,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:2548,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2549,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:2552,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2555,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2558,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2577,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2578,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2580,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2581,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2582,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2589,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2590,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2592,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2593,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2594,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2601,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2602,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2604,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2605,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2606,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2613,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2614,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2616,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2617,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2618,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2625,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2626,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2628,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2629,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2630,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2637,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2638,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2640,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:2641,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2642,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2649,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2650,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2652,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2655,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2660,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2675,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2684,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2685,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2687,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2690,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2699,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2700,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2702,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2706,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2714,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2715,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2717,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2720,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2729,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2730,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2732,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2736,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2752,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2753,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2755,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:2759,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2769,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2773,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2774,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2779,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2784,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:2790,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2790,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_match.c:2790,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2791,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2799,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2800,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2801,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2814,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2818,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2819,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2826,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2827,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2830,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2838,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2841,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2845,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2847,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2855,1
    - Dst: UCD_BIDICLASS_PROP
      Src: /src/pcre2/src/pcre2_match.c:2859,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2860,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:2865,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2865,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_match.c:2866,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2867,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:2875,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2892,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:2893,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:2897,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:2898,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:2901,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2920,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2927,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:2956,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3005,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3006,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3008,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3009,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3013,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3022,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3023,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3025,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3026,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3027,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3036,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3037,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3039,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3040,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3041,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3050,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3051,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3053,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/src/pcre2_match.c:3054,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3055,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3066,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3067,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3069,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:3070,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:3072,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3072,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_match.c:3072,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3074,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3084,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3085,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3087,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3088,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3090,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3104,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3105,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3107,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3112,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3116,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3117,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3129,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3130,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3132,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3133,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3134,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3137,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3147,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3148,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3150,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3155,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3158,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3164,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3168,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3180,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3181,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3183,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3187,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3196,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3197,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3199,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_match.c:3200,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3201,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3212,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3213,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3215,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:3216,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:3217,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3217,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_match.c:3218,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3220,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3228,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3243,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3244,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3248,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3249,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3252,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3268,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3269,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:3271,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3271,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:3282,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3291,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3292,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:3295,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3300,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3309,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3310,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3312,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3315,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3331,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3342,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3343,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3345,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3348,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3359,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3360,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3362,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3366,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3376,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3377,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3379,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3382,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3393,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3394,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3396,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3400,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3410,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3411,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:3413,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3415,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3425,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3426,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3430,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3442,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3443,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3447,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:3449,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3459,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3460,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3464,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3476,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3477,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3481,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:3483,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3493,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3494,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3498,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3506,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3524,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3525,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:3527,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3527,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3544,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3545,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3568,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3569,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3573,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3589,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3600,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3601,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3610,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3620,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3621,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3625,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3640,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3641,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3649,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3660,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3661,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3665,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3680,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3681,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3683,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3684,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3694,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3695,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3697,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3698,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3708,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3709,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3711,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3712,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3722,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3723,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3725,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3726,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3736,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3737,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3739,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3740,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3750,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3751,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:3753,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3754,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3761,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3787,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3788,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3789,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3792,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3793,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3795,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3796,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3800,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3802,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3807,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3808,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3809,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3812,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3813,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3815,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3816,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3817,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3819,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3824,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3825,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3826,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3829,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3830,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3832,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3833,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3834,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3836,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3841,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3842,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3843,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3846,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3847,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3849,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/src/pcre2_match.c:3850,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3851,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3853,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3860,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3861,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3862,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3865,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3866,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3868,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:3869,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:3871,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3871,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_match.c:3871,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3873,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3875,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3881,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3882,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3883,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3886,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3887,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3889,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3890,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3892,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3894,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3904,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3905,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3906,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3909,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3910,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3912,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3917,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:3921,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3922,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3926,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3932,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3933,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3934,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3937,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3938,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3940,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:3941,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3942,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3947,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3949,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3955,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3956,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3957,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3960,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3961,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3963,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3968,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:3971,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3977,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3981,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:3986,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:3991,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3992,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3993,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:3996,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:3997,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:3999,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4003,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4005,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4010,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4011,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4012,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4015,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4016,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:4018,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_match.c:4019,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4020,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4022,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4029,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4030,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4031,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4034,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4035,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:4037,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:4038,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:4039,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4039,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_match.c:4040,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4042,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4044,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4050,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4063,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4064,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4065,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4068,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4069,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:4073,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4074,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4077,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4090,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4091,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4092,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4095,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4096,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:4098,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4098,1
    - Dst: GETCHARINC
      Src: /src/pcre2/src/pcre2_match.c:4099,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4121,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4138,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4146,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4155,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4162,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4171,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4177,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4182,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4187,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4192,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4197,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4202,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4207,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4220,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4221,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4222,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4225,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4226,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:4228,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4229,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4252,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4269,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4282,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4289,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4306,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4313,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4323,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4324,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4328,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4329,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4333,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4334,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4338,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4339,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4343,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4344,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:4348,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4349,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4354,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4361,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4386,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4389,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:4390,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4405,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4408,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:4409,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4420,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4423,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:4424,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4435,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4438,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/src/pcre2_match.c:4439,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4452,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4455,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:4456,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:4458,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4458,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_match.c:4458,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4471,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4474,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:4475,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4493,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4496,1
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/src/pcre2_match.c:4505,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4521,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4524,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:4525,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4526,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4543,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4546,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4555,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4576,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4579,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4594,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4597,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_match.c:4598,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4611,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_match.c:4614,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_match.c:4615,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_match.c:4616,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4616,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_match.c:4617,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4625,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4641,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4642,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:4644,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4657,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_match.c:4662,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4663,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4666,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4684,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4685,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:4694,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_match.c:4695,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_match.c:4697,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:4705,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_match.c:4706,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/src/pcre2_match.c:4708,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:4709,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4729,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:4732,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:4743,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4754,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_match.c:4758,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4764,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4775,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4786,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4789,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4818,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4821,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4840,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4843,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4860,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4863,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4875,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4878,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4890,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4893,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4905,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4908,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4920,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4923,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4935,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_match.c:4938,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:4946,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:4960,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:4961,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:4963,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:4981,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:4984,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5004,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5014,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5041,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5062,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5083,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5104,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5125,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5128,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5139,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5142,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5153,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5156,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5167,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5170,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5181,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5184,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5195,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_match.c:5198,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:5206,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5216,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5217,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5254,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5255,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5260,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5271,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5299,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5300,1
    - Dst: match_ref
      Src: /src/pcre2/src/pcre2_match.c:5308,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5312,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5313,1
    - Dst: match_ref
      Src: /src/pcre2/src/pcre2_match.c:5342,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5346,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5347,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5363,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5364,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5365,1
    - Dst: match_ref
      Src: /src/pcre2/src/pcre2_match.c:5366,1
    - Dst: CHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:5370,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5371,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:5376,1
    - Dst: match_ref
      Src: /src/pcre2/src/pcre2_match.c:5391,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5423,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5424,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5437,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5438,1
    - Dst: match_ref
      Src: /src/pcre2/src/pcre2_match.c:5445,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5451,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:5454,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5494,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5495,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5497,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5508,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5509,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5510,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5517,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5554,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5565,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5565,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5571,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5583,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5589,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5590,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5602,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5632,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:5640,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5641,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5642,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5644,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5645,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:5650,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5651,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5652,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5663,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5680,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5680,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5683,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5688,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5689,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5690,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:5692,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5708,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5709,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5748,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5748,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5749,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5767,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5773,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5775,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:5777,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5796,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5796,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:5799,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5806,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5807,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5808,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5811,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5825,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:5825,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5830,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5834,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5841,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5845,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5883,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5890,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5892,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5893,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:5899,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:5939,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:5942,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5958,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5961,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5967,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:5972,1
    - Dst: do_callout
      Src: /src/pcre2/src/pcre2_match.c:5991,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5992,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:5993,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6018,1
    - Dst: do_callout
      Src: /src/pcre2/src/pcre2_match.c:6028,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6029,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6030,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6047,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6055,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6056,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6059,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6068,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6074,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6075,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6078,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6105,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6105,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:6110,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6128,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6142,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6152,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6159,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6169,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6170,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6191,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6200,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:6202,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6211,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6234,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6235,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6248,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:6253,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6264,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6274,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6275,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6276,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_match.c:6279,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:6282,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6294,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6309,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6313,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6314,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:6327,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6345,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:6346,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6351,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match.c:6376,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:6390,1
    - Dst: recurse_update_offsets
      Src: /src/pcre2/src/pcre2_match.c:6394,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6410,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6424,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6441,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6453,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6469,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6473,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6481,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6481,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_match.c:6491,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:6503,1
    - Dst: recurse_update_offsets
      Src: /src/pcre2/src/pcre2_match.c:6507,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_match.c:6531,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6534,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6548,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6549,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_match.c:6550,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6556,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6557,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6572,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6577,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6585,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6592,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:6606,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6617,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6639,1
    - Dst: WAS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:6643,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6644,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_match.c:6654,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6665,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6670,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:6671,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6681,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_match.c:6712,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_match.c:6713,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:6722,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6723,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:6729,1
    - Dst: SCHECK_PARTIAL
      Src: /src/pcre2/src/pcre2_match.c:6736,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_match.c:6745,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_match.c:6746,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_match.c:6755,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6756,1
    - Dst: CHMAX_255
      Src: /src/pcre2/src/pcre2_match.c:6762,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6769,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6779,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6779,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6789,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6792,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6794,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6797,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6804,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6804,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6805,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6807,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6811,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6811,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6812,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6814,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6817,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6817,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6818,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6820,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6824,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6824,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6825,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6827,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6830,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6830,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6831,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6834,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6848,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6851,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6851,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6852,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6861,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6867,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6867,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6868,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6871,1
    - Dst: RMATCH
      Src: /src/pcre2/src/pcre2_match.c:6875,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_match.c:6875,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6876,1
    - Dst: RRETURN
      Src: /src/pcre2/src/pcre2_match.c:6879,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:6888,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:6899,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_match.c:6916,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6921,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6922,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6923,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6924,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6925,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6928,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6928,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6928,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6928,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6932,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6933,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6934,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6935,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6935,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6935,1
    - Dst: LBL
      Src: /src/pcre2/src/pcre2_match.c:6935,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_match.c:6940,1
    CyclomaticComplexity: 1631
    EdgeCount: 1631
    ICount: 4147
    argCount: 6
    argNames:
    - start_eptr
    - start_ecode
    - top_bracket
    - frame_size
    - match_data
    - mb
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - uint16_t
    - PCRE2_SIZE
    - pcre2_match_data*
    - match_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6945
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 6945
    functionName: match
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 62
    functionsReached:
    - GET2
    - fprintf
    - UCD_OTHERCASE
    - GET
    - memcmp
    - UCD_SCRIPTX_PROP
    - UCD_CATEGORY
    - pcre2_match_data*::memctl::free
    - GETCHARINCTEST
    - ACROSSCHAR
    - UCD_BPROPS_PROP
    - PCRE2_ASSERT
    - CHECK_PARTIAL
    - TABLE_GET
    - do_callout
    - GETCHARINC
    - PCRE2_UNREACHABLE
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - WAS_NEWLINE
    - memctl::malloc
    - CU2BYTES
    - MAX_255
    - newsize::newsize
    - GF_DATAMASK
    - RRETURN
    - usedsize::usedsize
    - BACKCHAR
    - GETCHAR
    - recurse_update_offsets
    - FORWARDCHARTEST
    - GF_IDMASK
    - UCD_GRAPHBREAK
    - CHMAX_255
    - GETCHARLEN
    - GETCHARLENTEST
    - IS_NEWLINE
    - memcpy
    - RMATCH
    - GET_UCD
    - SCHECK_PARTIAL
    - UCD_SCRIPT
    - UCD_CHARTYPE
    - UCD_BIDICLASS_PROP
    - UCD_BIDICLASS
    - LBL
    - MAPBIT
    - match_ref
    - match_data::match_data
    linkageType: ''
    returnType: int
    signature: "int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t
      top_bracket,\n  PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block
      *mb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6908
      start: 6907
    functionDepth: 0
    functionLinenumber: 6907
    functionLinenumberEnd: 6908
    functionName: LBL
    functionSourceFile: /src/pcre2/src/pcre2_match.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LBL(val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_auto_possess.c:206,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:216,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_auto_possess.c:226,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:226,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_auto_possess.c:226,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:232,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:233,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:249,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:254,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:255,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:259,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_auto_possess.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - c
    - ptype
    - pdata
    - negated
    argTypes:
    - uint32_t
    - unsigned int
    - unsigned int
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 280
    functionName: check_char_prop
    functionSourceFile: /src/pcre2/src/pcre2_auto_possess.c
    functionUses: 0
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    - GET_UCD
    - PRIV
    - MAPBIT
    - UCD_SCRIPTX_PROP
    linkageType: ''
    returnType: BOOL
    signature: "BOOL check_char_prop(uint32_t c, unsigned int ptype, unsigned int
      pdata,\n  BOOL negated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - PCRE2_UCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: get_repeat_base
    functionSourceFile: /src/pcre2/src/pcre2_auto_possess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_UCHAR
    signature: PCRE2_UCHAR get_repeat_base(PCRE2_UCHAR c)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: get_repeat_base
      Src: /src/pcre2/src/pcre2_auto_possess.c:354,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_auto_possess.c:413,1
    - Dst: GETCHARINCTEST
      Src: /src/pcre2/src/pcre2_auto_possess.c:421,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_auto_possess.c:428,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:455,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_auto_possess.c:465,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:487,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_auto_possess.c:514,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 128
    argCount: 5
    argNames:
    - code
    - utf
    - ucp
    - fcc
    - list
    argTypes:
    - PCRE2_SPTR
    - BOOL
    - BOOL
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 524
    functionName: get_chr_property_list
    functionSourceFile: /src/pcre2/src/pcre2_auto_possess.c
    functionUses: 0
    functionsReached:
    - get_repeat_base
    - GETCHARINCTEST
    - GET2
    - UCD_OTHERCASE
    - GET
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: "PCRE2_SPTR get_chr_property_list(PCRE2_SPTR code, BOOL utf, BOOL ucp,
      const uint8_t *fcc,\n  uint32_t *list)"
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:586,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:592,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:600,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:634,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:672,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:687,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:695,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:696,1
    - Dst: compare_opcodes
      Src: /src/pcre2/src/pcre2_auto_possess.c:703,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:706,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:719,1
    - Dst: compare_opcodes
      Src: /src/pcre2/src/pcre2_auto_possess.c:724,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:728,1
    - Dst: get_chr_property_list
      Src: /src/pcre2/src/pcre2_auto_possess.c:741,1
    - Dst: check_char_prop
      Src: /src/pcre2/src/pcre2_auto_possess.c:1098,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:1117,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:1123,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_auto_possess.c:1145,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 336
    argCount: 7
    argNames:
    - code
    - utf
    - ucp
    - cb
    - base_list
    - base_end
    - rec_limit
    argTypes:
    - PCRE2_SPTR
    - BOOL
    - BOOL
    - compile_block*
    - uint32_t*
    - PCRE2_SPTR
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 1148
    functionName: compare_opcodes
    functionSourceFile: /src/pcre2/src/pcre2_auto_possess.c
    functionUses: 1
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    - check_char_prop
    - PRIV
    - get_chr_property_list
    - compare_opcodes
    - GET
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compare_opcodes(PCRE2_SPTR code, BOOL utf, BOOL ucp, const compile_block
      *cb,\n  const uint32_t *base_list, PCRE2_SPTR base_end, int *rec_limit)"
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_auto_possess.c:1189,1
    - Dst: get_repeat_base
      Src: /src/pcre2/src/pcre2_auto_possess.c:1196,1
    - Dst: get_chr_property_list
      Src: /src/pcre2/src/pcre2_auto_possess.c:1198,1
    - Dst: compare_opcodes
      Src: /src/pcre2/src/pcre2_auto_possess.c:1201,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:1249,1
    - Dst: get_chr_property_list
      Src: /src/pcre2/src/pcre2_auto_possess.c:1262,1
    - Dst: compare_opcodes
      Src: /src/pcre2/src/pcre2_auto_possess.c:1266,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:1321,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_auto_possess.c:1327,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_auto_possess.c:1342,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_auto_possess.c:1407,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_auto_possess.c:1407,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 174
    argCount: 2
    argNames:
    - code
    - cb
    argTypes:
    - PCRE2_UCHAR*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1414
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_auto_possess.c
    functionUses: 59
    functionsReached:
    - get_repeat_base
    - GET
    - get_chr_property_list
    - PRIV
    - compare_opcodes
    - PCRE2_DEBUG_UNREACHABLE
    - GET_EXTRALEN
    - HAS_EXTRALEN
    linkageType: ''
    returnType: int
    signature: int PRIV(auto_possessify)(PCRE2_UCHAR *code, const compile_block *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: PUT
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: GET2
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET2(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: PUT2
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: GET2
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET2(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: PUT2
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: MAX_255
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_255(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - table
    - ','
    - default
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: TABLE_GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TABLE_GET(c, table, default)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: CHMAX_255
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHMAX_255(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: CHMAX_255
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHMAX_255(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: CHMAX_255
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHMAX_255(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: MAX_255
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_255(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - table
    - ','
    - default
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: TABLE_GET
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TABLE_GET(c, table, default)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: GETCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHAR(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: GETCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: GETCHARINC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: GETCHARINCTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINCTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: GETCHARLEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: PUTCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTCHAR(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: HAS_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: GET_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: NOT_FIRSTCU
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_FIRSTCU(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: GETCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHAR(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: GETCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: GETCHARINC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: GETCHARINCTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINCTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: GETCHARLEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: GETCHARLENTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLENTEST(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: BACKCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: FORWARDCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - eptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: FORWARDCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHARTEST(eptr,end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - eptr
    - ','
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: ACROSSCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACROSSCHAR(condition, eptr, action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: PUTCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTCHAR(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: HAS_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: GET_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: NOT_FIRSTCU
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_FIRSTCU(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: GETUTF16
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF16(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: GETCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHAR(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: GETCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: GETUTF16INC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF16INC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: GETCHARINC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: GETCHARINCTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINCTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: GETUTF16LEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF16LEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: GETCHARLEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: GETCHARLENTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLENTEST(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: BACKCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: FORWARDCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - eptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: FORWARDCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHARTEST(eptr,end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - eptr
    - ','
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: ACROSSCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACROSSCHAR(condition, eptr, action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: PUTCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTCHAR(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: HAS_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: GET_EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: NOT_FIRSTCU
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_FIRSTCU(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: GETCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHAR(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: GETCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: GETCHARINC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: GETCHARINCTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINCTEST(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: GETCHARLEN
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: GETCHARLENTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARLENTEST(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: BACKCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: FORWARDCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHAR(eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - eptr
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: FORWARDCHARTEST
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARDCHARTEST(eptr,end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - eptr
    - ','
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    functionName: ACROSSCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACROSSCHAR(condition, eptr, action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: PUTCHAR
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTCHAR(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: CU2BYTES
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU2BYTES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: BYTES2CU
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES2CU(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: PUTINC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTINC(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: PUT2INC
    functionSourceFile: /src/pcre2/src/pcre2_intmodedep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2INC(a,n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: INTERACTIVE
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERACTIVE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: _setmode
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _setmode(handle, mode)
  - 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: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: glue
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glue(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: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: G
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: stringify
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringify(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: STR
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: PRINTABLE
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTABLE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: PRINTABLE
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTABLE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: CHAR_OUTPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: CHAR_OUTPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: CHAR_INPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: CHAR_INPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: CHAR_OUTPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: CHAR_OUTPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: CHAR_INPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: CHAR_INPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: CHAR_OUTPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: CHAR_OUTPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_OUTPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: CHAR_INPUT
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: CHAR_INPUT_HEX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_INPUT_HEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: U32OVERFLOW
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32OVERFLOW(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: U32OVERFLOW
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32OVERFLOW(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: S32OVERFLOW
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S32OVERFLOW(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: S32OVERFLOW
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S32OVERFLOW(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pcre2/src/pcre2test.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - patctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: patctl_zero
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void patctl_zero(patctl *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pcre2/src/pcre2test.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - d
    argTypes:
    - datctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 691
    functionName: datctl_zero
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void datctl_zero(datctl *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: CO
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CO(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: MO
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MO(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: PO
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PO(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    functionName: DO
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO(name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/pcre2/src/pcre2test.c:1171,1
    - Dst: fileno
      Src: /src/pcre2/src/pcre2test.c:1173,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:1174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - clr
    - f
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1179
    functionName: should_print_colour
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - INTERACTIVE
    - fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL should_print_colour(int clr, FILE* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: should_print_colour
      Src: /src/pcre2/src/pcre2test.c:1185,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - clr
    - f
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1187
    functionName: colour_begin
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - should_print_colour
    linkageType: ''
    returnType: void
    signature: void colour_begin(int clr, FILE* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1190
    functionDepth: 3
    functionLinenumber: 1190
    functionLinenumberEnd: 1194
    functionName: colour_end
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - colour_begin
    linkageType: ''
    returnType: void
    signature: void colour_end(FILE* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/pcre2/src/pcre2test.c:1202,1
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test.c:1203,1
    - Dst: vfprintf
      Src: /src/pcre2/src/pcre2test.c:1204,1
    - Dst: va_end
      Src: /src/pcre2/src/pcre2test.c:1205,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - clr
    - file
    - fmt
    argTypes:
    - int
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1197
    functionDepth: 4
    functionLinenumber: 1197
    functionLinenumberEnd: 1208
    functionName: cfprintf
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - colour_end
    - va_end
    - vfprintf
    - colour_begin
    - va_start
    linkageType: ''
    returnType: int
    signature: int cfprintf(int clr, FILE *file, const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1554
    functionName: reset_callout_state
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_callout_state(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test.c:1574,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1579,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1583,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1585,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1593,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - size
    - data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1564
    functionDepth: 5
    functionLinenumber: 1564
    functionLinenumberEnd: 1598
    functionName: my_malloc
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - cfprintf
    - malloc
    linkageType: ''
    returnType: void
    signature: void *my_malloc(size_t size, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1609,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1614,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1625,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1627,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1629,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:1631,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - block
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1600
    functionDepth: 5
    functionLinenumber: 1600
    functionLinenumberEnd: 1632
    functionName: my_free
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - free
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void my_free(void *block, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - depth
    - user_data
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: stack_guard
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stack_guard(uint32_t depth, void *user_data)
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1713
    functionName: printable
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL printable(uint32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1722
    functionName: ascii_to_ebcdic_str
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ascii_to_ebcdic_str(uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1729
    functionName: ebcdic_to_ascii_str
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ebcdic_to_ascii_str(uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: ascii_to_ebcdic
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ascii_to_ebcdic(uint32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1743
    functionName: ebcdic_to_ascii
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ebcdic_to_ascii(uint32_t c)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - utf8bytes
    - end
    - vptr
    argTypes:
    - PCRE2_SPTR8
    - PCRE2_SPTR8
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1810
    functionName: utf8_to_ord
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_to_ord(PCRE2_SPTR8 utf8bytes, PCRE2_SPTR8 end, uint32_t *vptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - utf16units
    - end
    - vptr
    argTypes:
    - PCRE2_SPTR16
    - PCRE2_SPTR16
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1852
    functionName: utf16_to_ord
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf16_to_ord(PCRE2_SPTR16 utf16units, PCRE2_SPTR16 end, uint32_t
      *vptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cvalue
    - utf8bytes
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1889
    functionName: ord_to_utf8
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ord_to_utf8(uint32_t cvalue, uint8_t *utf8bytes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2test.c:1914,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test.c:1916,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1917,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2test.c:1921,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1927,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1932,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:1937,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2test.c:1938,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - c
    - utf
    - f
    argTypes:
    - uint32_t
    - BOOL
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1941
    functionName: pchar
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - CHAR_OUTPUT_HEX
    - snprintf
    - CHAR_OUTPUT
    - PRINTABLE
    linkageType: ''
    returnType: int
    signature: int pchar(uint32_t c, BOOL utf, FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test.c:1961,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test.c:1962,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:1966,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:1968,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test.c:1971,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test.c:1972,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:1976,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1957
    functionDepth: 5
    functionLinenumber: 1957
    functionLinenumberEnd: 1981
    functionName: expand_input_buffers
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    - malloc
    - exit
    - free
    - memcpy
    linkageType: ''
    returnType: void
    signature: void expand_input_buffers(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:2024,1
    - Dst: should_print_colour
      Src: /src/pcre2/src/pcre2test.c:2029,1
    - Dst: snprintf
      Src: /src/pcre2/src/pcre2test.c:2030,1
    - Dst: readline
      Src: /src/pcre2/src/pcre2test.c:2032,1
    - Dst: readline
      Src: /src/pcre2/src/pcre2test.c:2034,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:2036,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2039,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:2040,1
    - Dst: add_history
      Src: /src/pcre2/src/pcre2test.c:2042,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test.c:2043,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:2046,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:2057,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2057,1
    - Dst: fgets
      Src: /src/pcre2/src/pcre2test.c:2058,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:2061,1
    - Dst: feof
      Src: /src/pcre2/src/pcre2test.c:2076,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2078,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2079,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:2080,1
    - Dst: expand_input_buffers
      Src: /src/pcre2/src/pcre2test.c:2088,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2test.c:2094,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - f
    - start
    - prompt
    argTypes:
    - FILE*
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2009
    functionDepth: 6
    functionLinenumber: 2009
    functionLinenumberEnd: 2095
    functionName: extend_inputline
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - add_history
    - readline
    - fgets
    - expand_input_buffers
    - exit
    - snprintf
    - PCRE2_UNREACHABLE
    - feof
    - cfprintf
    - INTERACTIVE
    - strlen
    - free
    - should_print_colour
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      extend_inputline(FILE *f, uint8_t *start, const char *prompt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/pcre2/src/pcre2test.c:2117,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2test.c:2117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s
    - t
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2123
    functionName: strncmpic
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int strncmpic(const uint8_t *s, const uint8_t *t, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:2149,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2test.c:2150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: scan_modifiers
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int scan_modifiers(const uint8_t *p, size_t len)
  - BBCount: 134
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 149
    argCount: 2
    argNames:
    - rc
    - erroroffset
    argTypes:
    - int
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2354
    functionName: error_direction
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_direction(int rc, PCRE2_SIZE erroroffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2368
    functionDepth: 5
    functionLinenumber: 2368
    functionLinenumberEnd: 2373
    functionName: prmsg
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void prmsg(const char **msg, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - clr
    - controls
    - controls2
    - before
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2395
    functionDepth: 5
    functionLinenumber: 2395
    functionLinenumberEnd: 2451
    functionName: show_controls
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void show_controls(int clr, uint32_t controls, uint32_t controls2,
      const char *before)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2473,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - clr
    - options
    - before
    - after
    argTypes:
    - int
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2470
    functionDepth: 5
    functionLinenumber: 2470
    functionLinenumberEnd: 2508
    functionName: show_compile_options
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void show_compile_options(int clr, uint32_t options, const char *before,
      const char *after)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2530,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - clr
    - options
    - before
    - after
    argTypes:
    - int
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2526
    functionDepth: 5
    functionLinenumber: 2526
    functionLinenumberEnd: 2551
    functionName: show_compile_extra_options
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: "void show_compile_extra_options(int clr, uint32_t options, const char
      *before,\n  const char *after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2571,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - clr
    - flags
    - before
    - after
    argTypes:
    - int
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2568
    functionDepth: 5
    functionLinenumber: 2568
    functionLinenumberEnd: 2580
    functionName: show_optimize_flags
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void show_optimize_flags(int clr, uint32_t flags, const char *before,
      const char *after)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clr
    - options
    argTypes:
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2590
    functionDepth: 5
    functionLinenumber: 2590
    functionLinenumberEnd: 2608
    functionName: show_match_options
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void show_match_options(int clr, uint32_t options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:2633,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:2634,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:2635,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2639,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2test.c:2644,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:2647,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2test.c:2647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buffptr
    - mode
    - fptr
    - name
    argTypes:
    - uint8_t*
    - char*
    - FILE**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2628
    functionDepth: 5
    functionLinenumber: 2628
    functionLinenumberEnd: 2652
    functionName: open_file
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - strerror
    - cfprintf
    - fopen
    - isspace
    - strlen
    linkageType: ''
    returnType: int
    signature: int open_file(uint8_t *buffptr, const char *mode, FILE **fptr, const
      char *name)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 73
    argCount: 6
    argNames:
    - to_case
    - num_in
    - num_read
    - num_write
    - c1
    - c2
    argTypes:
    - int
    - int
    - int*
    - int*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2783
    functionName: case_transform
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL case_transform(int to_case, int num_in, int *num_read, int *num_write,\n
      \ uint32_t *c1, uint32_t *c2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:2811,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:2813,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:2815,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:2817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ovector
    - oveccount
    argTypes:
    - PCRE2_SIZE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2820
    functionName: show_ovector
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void show_ovector(PCRE2_SIZE *ovector, uint32_t oveccount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2851
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2859
    functionDepth: 0
    functionLinenumber: 2859
    functionLinenumberEnd: 2860
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2869
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2880
    functionName: PCRE2_SUFFIX
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_SUFFIX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opt_ret
    - ','
    - fname
    - ','
    - fargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2897
    functionName: DISPATCH
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISPATCH(opt_ret, fname, fargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opt_ret
    - ','
    - fname
    - ','
    - fargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2918
    functionName: DISPATCH
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISPATCH(opt_ret, fname, fargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opt_ret
    - ','
    - fname
    - ','
    - fargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2931
    functionName: DISPATCH
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISPATCH(opt_ret, fname, fargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 2939
    functionName: jit_compile_test
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: int
    signature: int jit_compile_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - where
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2944
    functionName: pcre2_config
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 3
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: int
    signature: int pcre2_config(uint32_t what, void *where)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - what
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2949
    functionName: config_str
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: char
    signature: char *config_str(uint32_t what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - ctx
    - pctl
    - dctl
    argTypes:
    - uint8_t*
    - int
    - patctl*
    - datctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2954
    functionName: decode_modifiers
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: BOOL
    signature: BOOL decode_modifiers(uint8_t *p, int ctx, patctl *pctl, datctl *dctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - errorcode
    - before
    - after
    - badcode_ok
    argTypes:
    - FILE*
    - int
    - char*
    - char*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2956
    functionDepth: 1
    functionLinenumber: 2956
    functionLinenumberEnd: 2962
    functionName: print_error_message_file
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: BOOL
    signature: "BOOL print_error_message_file(FILE *file, int errorcode, const char
      *before,\n  const char *after, BOOL badcode_ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2964
    functionDepth: 1
    functionLinenumber: 2964
    functionLinenumberEnd: 2967
    functionName: process_command
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: int
    signature: int process_command(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2972
    functionName: process_pattern
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: int
    signature: int process_pattern(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2977
    functionName: have_active_pattern
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: BOOL
    signature: BOOL have_active_pattern(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2979
    functionDepth: 1
    functionLinenumber: 2979
    functionLinenumberEnd: 2982
    functionName: free_active_pattern
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: void
    signature: void free_active_pattern(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2984
    functionDepth: 1
    functionLinenumber: 2984
    functionLinenumberEnd: 2987
    functionName: process_data
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: int
    signature: int process_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2989
    functionDepth: 1
    functionLinenumber: 2989
    functionLinenumberEnd: 2992
    functionName: init_globals
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 3
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: void
    signature: void init_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:2996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2994
    functionDepth: 1
    functionLinenumber: 2994
    functionLinenumberEnd: 2997
    functionName: free_globals
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: void
    signature: void free_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISPATCH
      Src: /src/pcre2/src/pcre2test.c:3001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2999
    functionDepth: 1
    functionLinenumber: 2999
    functionLinenumberEnd: 3002
    functionName: unittest
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - DISPATCH
    linkageType: ''
    returnType: void
    signature: void unittest(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_str
      Src: /src/pcre2/src/pcre2test.c:3017,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:3018,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:3021,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:3023,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:3024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - include_mode
    argTypes:
    - FILE*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3025
    functionName: print_version
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - free
    - config_str
    linkageType: ''
    returnType: void
    signature: void print_version(FILE *f, BOOL include_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_str
      Src: /src/pcre2/src/pcre2test.c:3036,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:3037,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:3038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3039
    functionName: print_unicode_version
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - free
    - config_str
    linkageType: ''
    returnType: void
    signature: void print_unicode_version(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_str
      Src: /src/pcre2/src/pcre2test.c:3050,1
    - Dst: fputs
      Src: /src/pcre2/src/pcre2test.c:3051,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3053
    functionName: print_jit_target
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - free
    - config_str
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_jit_target(FILE *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3072,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3074,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - optval
    - isc
    argTypes:
    - uint32_t
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3077
    functionName: print_newline_config
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_newline_config(uint32_t optval, BOOL isc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3088,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3089,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3091,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3093,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3095,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3097,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3100,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3103,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3105,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3106,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3107,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3108,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3109,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3110,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3111,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3112,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3113,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3114,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3115,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3116,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3117,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3118,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3119,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3120,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3121,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3122,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3123,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3124,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3125,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3126,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3127,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3128,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3129,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3130,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3131,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3132,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3133,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3134,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3135,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3136,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3137,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3138,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3139,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3140,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3141,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3142,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3143,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3144,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3145,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3146,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3147,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3148,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3150
    functionName: usage
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 19
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3178,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3182,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3189,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3190,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3195,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3199,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3200,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3204,1
    - Dst: print_newline_config
      Src: /src/pcre2/src/pcre2test.c:3205,1
    - Dst: jit_compile_test
      Src: /src/pcre2/src/pcre2test.c:3209,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3217,1
    - Dst: strcpy
      Src: /src/pcre2/src/pcre2test.c:3231,1
    - Dst: vms_setsymbol
      Src: /src/pcre2/src/pcre2test.c:3233,1
    - Dst: $DESCRIPTOR
      Src: /src/pcre2/src/pcre2test.c:3242,1
    - Dst: $DESCRIPTOR
      Src: /src/pcre2/src/pcre2test.c:3243,1
    - Dst: strcpy
      Src: /src/pcre2/src/pcre2test.c:3245,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:3246,1
    - Dst: sprintf
      Src: /src/pcre2/src/pcre2test.c:3247,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:3248,1
    - Dst: lib$set_symbol
      Src: /src/pcre2/src/pcre2test.c:3249,1
    - Dst: print_version
      Src: /src/pcre2/src/pcre2test.c:3258,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3259,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3262,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3264,1
    - Dst: pcrz_cpversion
      Src: /src/pcre2/src/pcre2test.c:3264,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3267,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3269,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3273,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3274,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3275,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3276,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3279,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3282,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3285,1
    - Dst: print_unicode_version
      Src: /src/pcre2/src/pcre2test.c:3286,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3287,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3289,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3291,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3294,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3295,1
    - Dst: print_jit_target
      Src: /src/pcre2/src/pcre2test.c:3296,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3297,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3299,1
    - Dst: jit_compile_test
      Src: /src/pcre2/src/pcre2test.c:3300,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3304,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3308,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3312,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3314,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3321,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3324,1
    - Dst: print_newline_config
      Src: /src/pcre2/src/pcre2test.c:3325,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3326,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3327,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3330,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3331,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3332,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3333,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3334,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3335,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3336,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3337,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3338,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3339,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3340,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3341,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3342,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test.c:3343,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3344,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3347,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3349,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3351,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 130
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3168
    functionDepth: 5
    functionLinenumber: 3168
    functionLinenumberEnd: 3355
    functionName: c_option
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - print_newline_config
    - strcmp
    - sprintf
    - pcre2_config
    - vms_setsymbol
    - pcrz_cpversion
    - print_jit_target
    - $DESCRIPTOR
    - print_unicode_version
    - jit_compile_test
    - print_version
    - cfprintf
    - strcpy
    - lib$set_symbol
    - printf
    - strlen
    linkageType: ''
    returnType: int
    signature: int c_option(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3378,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:3379,1
    - Dst: strcpy
      Src: /src/pcre2/src/pcre2test.c:3395,1
    - Dst: sprintf
      Src: /src/pcre2/src/pcre2test.c:3404,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3404,1
    - Dst: sprintf
      Src: /src/pcre2/src/pcre2test.c:3407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ff
    - buff
    - isscript
    argTypes:
    - int16_t*
    - char*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3363
    functionDepth: 0
    functionLinenumber: 3363
    functionLinenumberEnd: 3409
    functionName: format_list_item
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strlen
    - PRIV
    - strcpy
    linkageType: ''
    returnType: void
    signature: void format_list_item(int16_t *ff, char *buff, BOOL isscript)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3425,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3436,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3441,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3465,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3467,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3470,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2test.c:3471,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3478,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3481,1
    - Dst: format_list_item
      Src: /src/pcre2/src/pcre2test.c:3493,1
    - Dst: format_list_item
      Src: /src/pcre2/src/pcre2test.c:3495,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3498,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3499,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3500,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - wantscripts
    argTypes:
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3420
    functionDepth: 5
    functionLinenumber: 3420
    functionLinenumberEnd: 3504
    functionName: display_properties
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - printf
    - format_list_item
    - PRIV
    - cfprintf
    linkageType: ''
    returnType: void
    signature: void display_properties(BOOL wantscripts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3517,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3520,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - m
    - for_pattern
    argTypes:
    - modstruct*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3523
    functionName: display_one_modifier
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void display_one_modifier(modstruct *m, BOOL for_pattern)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3579,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2test.c:3580,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3581,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3589,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3601,1
    - Dst: display_one_modifier
      Src: /src/pcre2/src/pcre2test.c:3606,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test.c:3609,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3610,1
    - Dst: display_one_modifier
      Src: /src/pcre2/src/pcre2test.c:3611,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3613,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - for_pattern
    - title
    argTypes:
    - BOOL
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3541
    functionDepth: 1
    functionLinenumber: 3541
    functionLinenumberEnd: 3615
    functionName: display_selected_modifiers
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - display_one_modifier
    - PCRE2_DEBUG_UNREACHABLE
    - exit
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: void display_selected_modifiers(BOOL for_pattern, const char *title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3626,1
    - Dst: display_selected_modifiers
      Src: /src/pcre2/src/pcre2test.c:3631,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3632,1
    - Dst: display_selected_modifiers
      Src: /src/pcre2/src/pcre2test.c:3633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3623
    functionDepth: 2
    functionLinenumber: 3623
    functionLinenumberEnd: 3634
    functionName: display_modifiers
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 0
    functionsReached:
    - display_selected_modifiers
    - printf
    linkageType: ''
    returnType: void
    signature: void display_modifiers(void)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test.c:3660,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test.c:3661,1
    - Dst: _setmode
      Src: /src/pcre2/src/pcre2test.c:3669,1
    - Dst: _fileno
      Src: /src/pcre2/src/pcre2test.c:3669,1
    - Dst: patctl_zero
      Src: /src/pcre2/src/pcre2test.c:3676,1
    - Dst: datctl_zero
      Src: /src/pcre2/src/pcre2test.c:3677,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3689,1
    - Dst: display_modifiers
      Src: /src/pcre2/src/pcre2test.c:3691,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3697,1
    - Dst: display_properties
      Src: /src/pcre2/src/pcre2test.c:3699,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3705,1
    - Dst: display_properties
      Src: /src/pcre2/src/pcre2test.c:3707,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3715,1
    - Dst: unittest
      Src: /src/pcre2/src/pcre2test.c:3717,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3723,1
    - Dst: c_option
      Src: /src/pcre2/src/pcre2test.c:3725,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3731,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3736,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3738,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3742,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3747,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3749,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3753,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3758,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3760,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3766,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3770,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3774,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test.c:3775,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3783,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3784,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3791,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3792,1
    - Dst: getrlimit
      Src: /src/pcre2/src/pcre2test.c:3795,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3800,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3804,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3806,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3808,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3809,1
    - Dst: setrlimit
      Src: /src/pcre2/src/pcre2test.c:3813,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3816,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2test.c:3817,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3818,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3827,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3832,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3833,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3834,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3835,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3836,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3837,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3837,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3838,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3844,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3851,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3851,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3852,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3852,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test.c:3856,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3860,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3861,1
    - Dst: U32OVERFLOW
      Src: /src/pcre2/src/pcre2test.c:3863,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3865,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test.c:3866,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3878,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3885,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3886,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2test.c:3888,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2test.c:3894,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3895,1
    - Dst: print_version
      Src: /src/pcre2/src/pcre2test.c:3897,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3904,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3910,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3916,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3922,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3930,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3930,1
    - Dst: strstr
      Src: /src/pcre2/src/pcre2test.c:3935,1
    - Dst: strstr
      Src: /src/pcre2/src/pcre2test.c:3935,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2test.c:3937,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3938,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3939,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:3940,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3943,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3954,1
    - Dst: usage
      Src: /src/pcre2/src/pcre2test.c:3955,1
    - Dst: strtol
      Src: /src/pcre2/src/pcre2test.c:3976,1
    - Dst: S32OVERFLOW
      Src: /src/pcre2/src/pcre2test.c:3977,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:3979,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2test.c:3984,1
    - Dst: print_error_message_file
      Src: /src/pcre2/src/pcre2test.c:3985,1
    - Dst: PCRE2_UNREACHABLE
      Src: /src/pcre2/src/pcre2test.c:3990,1
    - Dst: init_globals
      Src: /src/pcre2/src/pcre2test.c:4000,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test.c:4008,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test.c:4010,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test.c:4021,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2test.c:4023,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4026,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2test.c:4026,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:4033,1
    - Dst: using_history
      Src: /src/pcre2/src/pcre2test.c:4033,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2test.c:4038,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4041,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2test.c:4041,1
    - Dst: print_version
      Src: /src/pcre2/src/pcre2test.c:4049,1
    - Dst: have_active_pattern
      Src: /src/pcre2/src/pcre2test.c:4061,1
    - Dst: extend_inputline
      Src: /src/pcre2/src/pcre2test.c:4068,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2test.c:4075,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:4076,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:4084,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:4087,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test.c:4089,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:4091,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4092,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2test.c:4094,1
    - Dst: regfree
      Src: /src/pcre2/src/pcre2test.c:4108,1
    - Dst: free_active_pattern
      Src: /src/pcre2/src/pcre2test.c:4113,1
    - Dst: setlocale
      Src: /src/pcre2/src/pcre2test.c:4115,1
    - Dst: process_data
      Src: /src/pcre2/src/pcre2test.c:4123,1
    - Dst: process_command
      Src: /src/pcre2/src/pcre2test.c:4137,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2test.c:4140,1
    - Dst: process_pattern
      Src: /src/pcre2/src/pcre2test.c:4142,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4150,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:4156,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4160,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4170,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:4175,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test.c:4175,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4180,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4183,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4186,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test.c:4191,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test.c:4199,1
    - Dst: clear_history
      Src: /src/pcre2/src/pcre2test.c:4199,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test.c:4202,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test.c:4203,1
    - Dst: regfree
      Src: /src/pcre2/src/pcre2test.c:4206,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4209,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4210,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4211,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4213,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4216,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4218,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test.c:4219,1
    - Dst: free_globals
      Src: /src/pcre2/src/pcre2test.c:4220,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 334
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4227
      start: 3642
    functionDepth: 7
    functionLinenumber: 3642
    functionLinenumberEnd: 4227
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2test.c
    functionUses: 17
    functionsReached:
    - patctl_zero
    - have_active_pattern
    - setlocale
    - process_pattern
    - fprintf
    - strtoul
    - display_modifiers
    - free_globals
    - setrlimit
    - strerror
    - strtol
    - decode_modifiers
    - print_version
    - fopen
    - memcmp
    - strncmp
    - process_command
    - init_globals
    - _setmode
    - U32OVERFLOW
    - strchr
    - clear_history
    - PCRE2_UNREACHABLE
    - _fileno
    - display_properties
    - strcmp
    - c_option
    - S32OVERFLOW
    - datctl_zero
    - getrlimit
    - usage
    - using_history
    - malloc
    - print_error_message_file
    - isspace
    - exit
    - INTERACTIVE
    - free
    - extend_inputline
    - strstr
    - fflush
    - free_active_pattern
    - unittest
    - regfree
    - cfprintf
    - fclose
    - printf
    - process_data
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - 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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: STATIC_ASSERT_JOIN
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT_JOIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: STATIC_ASSERT
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: HASUTF8EXTRALEN
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASUTF8EXTRALEN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: GETUTF8
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF8(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - eptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 312
    functionName: GETUTF8INC
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF8INC(c, eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - eptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 349
    functionName: GETUTF8LEN
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF8LEN(c, eptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 484
    functionName: IS_NEWLINE
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NEWLINE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: WAS_NEWLINE
    functionSourceFile: /src/pcre2/src/pcre2_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAS_NEWLINE(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PRIV(strcmp)(PCRE2_SPTR str1, PCRE2_SPTR str2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - PCRE2_SPTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PRIV(strcmp_c8)(PCRE2_SPTR str1, const char *str2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str1
    - str2
    - len
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PRIV(strncmp)(PCRE2_SPTR str1, PCRE2_SPTR str2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str1
    - str2
    - len
    argTypes:
    - PCRE2_SPTR
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PRIV(strncmp_c8)(PCRE2_SPTR str1, const char *str2, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: PCRE2_SIZE PRIV(strlen)(PCRE2_SPTR str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - PCRE2_UCHAR*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_string_utils.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: PCRE2_SIZE PRIV(strcpy_c8)(PCRE2_UCHAR *str1, const char *str2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:368,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:369,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:379,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:380,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 7
    argNames:
    - code
    - offsets
    - current_subject
    - ptr
    - mb
    - extracode
    - lengthptr
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - dfa_match_block*
    - PCRE2_SIZE
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 398
    functionName: do_callout_dfa
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached:
    - GET
    - PRIV
    linkageType: ''
    returnType: int
    signature: "int do_callout_dfa(PCRE2_SPTR code, PCRE2_SIZE *offsets, PCRE2_SPTR
      current_subject,\n  PCRE2_SPTR ptr, dfa_match_block *mb, PCRE2_SIZE extracode,\n
      \ PCRE2_SIZE *lengthptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rws::rws
      Src: /src/pcre2/src/pcre2_dfa_match.c:428,1
    - Dst: mb::mb
      Src: /src/pcre2/src/pcre2_dfa_match.c:446,1
    - Dst: memctl::malloc
      Src: /src/pcre2/src/pcre2_dfa_match.c:446,1
    - Dst: size::size
      Src: /src/pcre2/src/pcre2_dfa_match.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - rwsptr
    - ovecsize
    - mb
    argTypes:
    - RWS_anchor**
    - unsigned int
    - dfa_match_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 457
    functionName: more_workspace
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached:
    - mb::mb
    - rws::rws
    - size::size
    - memctl::malloc
    linkageType: ''
    returnType: int
    signature: int more_workspace(RWS_anchor **rwsptr, unsigned int ovecsize, dfa_match_block
      *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: ADD_ACTIVE
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ACTIVE(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: ADD_ACTIVE_DATA
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ACTIVE_DATA(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: ADD_NEW
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_NEW(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: ADD_NEW_DATA
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_NEW_DATA(x,y,z)
  - BBCount: 590
    BranchProfiles: []
    Callsites:
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:600,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:602,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_dfa_match.c:618,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:645,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:649,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:651,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:670,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_dfa_match.c:673,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:686,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:687,1
    - Dst: GETCHARLENTEST
      Src: /src/pcre2/src/pcre2_dfa_match.c:735,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:770,1
    - Dst: GETCHARLEN
      Src: /src/pcre2/src/pcre2_dfa_match.c:818,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:867,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:870,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:870,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_dfa_match.c:884,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:902,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:903,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:911,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:912,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:920,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:921,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:924,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:925,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:932,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:933,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:934,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:935,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:940,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:941,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:942,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:948,1
    - Dst: WAS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:955,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:956,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:965,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:971,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:976,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:988,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1000,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1008,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1013,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1017,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1028,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1031,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1041,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1055,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1056,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1066,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1071,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1072,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1082,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1091,1
    - Dst: BACKCHAR
      Src: /src/pcre2/src/pcre2_dfa_match.c:1107,1
    - Dst: GETCHARTEST
      Src: /src/pcre2/src/pcre2_dfa_match.c:1109,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1114,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1115,1
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_dfa_match.c:1131,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1139,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1140,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1153,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_dfa_match.c:1171,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1181,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1194,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1194,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1194,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1201,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1202,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1219,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1226,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1227,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1239,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_dfa_match.c:1254,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1258,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1258,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1259,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1269,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1286,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1299,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1308,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1317,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1330,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1338,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1347,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1360,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1368,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1388,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:1391,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1392,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1394,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1403,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1417,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:1425,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1426,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1428,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1444,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_dfa_match.c:1450,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1459,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1472,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1472,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1472,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1479,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1480,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1497,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1504,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1505,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1517,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_dfa_match.c:1532,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1536,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1536,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1537,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1555,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1565,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1574,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1577,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1587,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1615,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1629,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1652,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1662,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1685,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1705,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_dfa_match.c:1711,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1720,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1733,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1733,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1733,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1740,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1741,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1758,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1765,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1766,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1778,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_dfa_match.c:1793,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:1797,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1797,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:1798,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:1816,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1835,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:1845,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1847,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1865,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1893,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1915,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1937,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1955,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:1978,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:1990,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_dfa_match.c:1997,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2006,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:2019,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2019,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:2019,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2027,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2028,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2045,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2052,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2053,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2065,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/src/pcre2_dfa_match.c:2080,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_dfa_match.c:2084,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2084,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_dfa_match.c:2085,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2102,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2103,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2105,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2116,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2127,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2131,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2132,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2134,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2145,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2173,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2174,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2176,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2191,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2213,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2214,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2216,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2227,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2250,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2251,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2253,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2266,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2276,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2282,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2283,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2290,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2290,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2291,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2306,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2310,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2340,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:2346,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2350,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2364,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2374,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2390,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2400,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2412,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2424,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2427,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2429,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2451,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2459,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2462,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2473,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2494,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2502,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2505,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2514,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2535,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2543,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2546,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2555,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2576,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2579,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2583,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2584,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2586,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2607,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2616,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2619,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2628,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2629,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2631,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2658,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2660,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2669,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:2671,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2701,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2709,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2717,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2726,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2733,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2741,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2749,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2750,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2753,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2755,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2762,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2764,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:2769,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2792,1
    - Dst: more_workspace
      Src: /src/pcre2/src/pcre2_dfa_match.c:2797,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2806,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:2808,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2824,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2832,1
    - Dst: do_callout_dfa
      Src: /src/pcre2/src/pcre2_dfa_match.c:2843,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2863,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2868,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2876,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2879,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2880,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2891,1
    - Dst: more_workspace
      Src: /src/pcre2/src/pcre2_dfa_match.c:2896,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2905,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:2907,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2924,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:2926,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:2938,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_dfa_match.c:2940,1
    - Dst: more_workspace
      Src: /src/pcre2/src/pcre2_dfa_match.c:2947,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:2978,1
    - Dst: NOT_FIRSTCU
      Src: /src/pcre2/src/pcre2_dfa_match.c:3011,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:3016,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3021,1
    - Dst: more_workspace
      Src: /src/pcre2/src/pcre2_dfa_match.c:3046,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:3067,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:3105,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:3119,1
    - Dst: NOT_FIRSTCU
      Src: /src/pcre2/src/pcre2_dfa_match.c:3127,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:3129,1
    - Dst: more_workspace
      Src: /src/pcre2/src/pcre2_dfa_match.c:3145,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:3154,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:3174,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:3185,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3194,1
    - Dst: ADD_NEW
      Src: /src/pcre2/src/pcre2_dfa_match.c:3206,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3218,1
    - Dst: NOT_FIRSTCU
      Src: /src/pcre2/src/pcre2_dfa_match.c:3228,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:3231,1
    - Dst: ADD_NEW_DATA
      Src: /src/pcre2/src/pcre2_dfa_match.c:3233,1
    - Dst: do_callout_dfa
      Src: /src/pcre2/src/pcre2_dfa_match.c:3248,1
    - Dst: ADD_ACTIVE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3252,1
    CyclomaticComplexity: 750
    EdgeCount: 750
    ICount: 1729
    argCount: 10
    argNames:
    - mb
    - this_start_code
    - current_subject
    - start_offset
    - offsets
    - offsetcount
    - workspace
    - wscount
    - rlevel
    - RWS
    argTypes:
    - dfa_match_block*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_SIZE*
    - uint32_t
    - int*
    - int
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 3311
    functionName: internal_dfa_match
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 1
    functionsReached:
    - GET2
    - UCD_OTHERCASE
    - GET
    - UCD_SCRIPTX_PROP
    - ADD_ACTIVE
    - NOT_FIRSTCU
    - internal_dfa_match
    - ACROSSCHAR
    - UCD_BPROPS_PROP
    - do_callout_dfa
    - TABLE_GET
    - ADD_NEW
    - PRIV
    - WAS_NEWLINE
    - BACKCHAR
    - FORWARDCHARTEST
    - GETCHARLEN
    - GETCHARLENTEST
    - memmove
    - IS_NEWLINE
    - memcpy
    - ADD_NEW_DATA
    - GET_UCD
    - more_workspace
    - UCD_CHARTYPE
    - UCD_BIDICLASS
    - GETCHARTEST
    - MAPBIT
    linkageType: ''
    returnType: int
    signature: "int internal_dfa_match(\n  dfa_match_block *mb,\n  PCRE2_SPTR this_start_code,\n
      \ PCRE2_SPTR current_subject,\n  PCRE2_SIZE start_offset,\n  PCRE2_SIZE *offsets,\n
      \ uint32_t offsetcount,\n  int *workspace,\n  int wscount,\n  uint32_t rlevel,\n
      \ int *RWS)"
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:3404,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:3497,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:3498,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:3499,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3575,1
    - Dst: NOT_FIRSTCU
      Src: /src/pcre2/src/pcre2_dfa_match.c:3598,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_dfa_match.c:3620,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:3639,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3643,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3646,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_dfa_match.c:3663,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3667,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3670,1
    - Dst: pcre2_match_data*::memctl::free
      Src: /src/pcre2/src/pcre2_dfa_match.c:3681,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3725,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_dfa_match.c:3728,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3733,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3798,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3813,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3840,1
    - Dst: WAS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3870,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_dfa_match.c:3873,1
    - Dst: WAS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:3878,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3975,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3978,1
    - Dst: memchr
      Src: /src/pcre2/src/pcre2_dfa_match.c:3995,1
    - Dst: internal_dfa_match
      Src: /src/pcre2/src/pcre2_dfa_match.c:4027,1
    - Dst: pcre2_match_data*::memctl::malloc
      Src: /src/pcre2/src/pcre2_dfa_match.c:4065,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_dfa_match.c:4065,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_dfa_match.c:4069,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_dfa_match.c:4069,1
    - Dst: IS_NEWLINE
      Src: /src/pcre2/src/pcre2_dfa_match.c:4085,1
    - Dst: ACROSSCHAR
      Src: /src/pcre2/src/pcre2_dfa_match.c:4090,1
    - Dst: dfa_match_block*::memctl::free
      Src: /src/pcre2/src/pcre2_dfa_match.c:4121,1
    CyclomaticComplexity: 188
    EdgeCount: 188
    ICount: 385
    argCount: 9
    argNames:
    - code
    - subject
    - length
    - start_offset
    - options
    - match_data
    - mcontext
    - workspace
    - wscount
    argTypes:
    - pcre2_code*
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_SIZE
    - uint32_t
    - pcre2_match_data*
    - pcre2_match_context*
    - int*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 3339
    functionDepth: 3
    functionLinenumber: 3339
    functionLinenumberEnd: 4126
    functionName: pcre2_dfa_match
    functionSourceFile: /src/pcre2/src/pcre2_dfa_match.c
    functionUses: 0
    functionsReached:
    - NOT_FIRSTCU
    - pcre2_match_data*::memctl::free
    - ACROSSCHAR
    - internal_dfa_match
    - memchr
    - dfa_match_block*::memctl::free
    - TABLE_GET
    - UCD_OTHERCASE
    - pcre2_match_data*::memctl::malloc
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - CU2BYTES
    - IS_NEWLINE
    - WAS_NEWLINE
    - memcpy
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_dfa_match(const pcre2_code *code, PCRE2_SPTR
      subject, PCRE2_SIZE length,\n  PCRE2_SIZE start_offset, uint32_t options, pcre2_match_data
      *match_data,\n  pcre2_match_context *mcontext, int *workspace, PCRE2_SIZE wscount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: CLASS_END_CASES
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLASS_END_CASES(meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: CLASS_END_CASES
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLASS_END_CASES(meta)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - buffer
    - size
    - i
    argTypes:
    - uint32_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: do_heapify
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_heapify(uint32_t *buffer, size_t size, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:130,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:133,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:140,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:142,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: get_nocase_range
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      get_nocase_range(uint32_t c)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_nocase_range
      Src: /src/pcre2/src/pcre2_compile_class.c:162,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:166,1
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_compile_class.c:189,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:191,1
    - Dst: UCD_DOTTED_I
      Src: /src/pcre2/src/pcre2_compile_class.c:191,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/src/pcre2_compile_class.c:193,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:195,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:201,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile_class.c:204,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 4
    argNames:
    - start
    - end
    - options
    - buffer
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 261
    functionName: utf_caseless_extend
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - get_nocase_range
    - UCD_DOTTED_I
    - UCD_CASESET
    - PCRE2_ASSERT
    - UCD_OTHERCASE
    - UCD_ANY_I
    - PRIV
    linkageType: ''
    returnType: size_t
    signature: "size_t utf_caseless_extend(uint32_t start, uint32_t end, uint32_t
      options,\n  uint32_t *buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - buffer
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: append_char_list
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - PCRE2_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t append_char_list(const uint32_t *p, uint32_t *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_MAX_CHAR_VALUE
      Src: /src/pcre2/src/pcre2_compile_class.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - options
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: get_highest_char
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - GET_MAX_CHAR_VALUE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_highest_char(uint32_t options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:318,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:325,1
    - Dst: get_highest_char
      Src: /src/pcre2/src/pcre2_compile_class.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - p
    - options
    - buffer
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 348
    functionName: append_negated_char_list
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - PCRE2_ASSERT
    - get_highest_char
    linkageType: ''
    returnType: size_t
    signature: size_t append_negated_char_list(const uint32_t *p, uint32_t options,
      uint32_t *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_highest_char
      Src: /src/pcre2/src/pcre2_compile_class.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - options
    - buffer
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: append_non_ascii_range
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - get_highest_char
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      append_non_ascii_range(uint32_t options, uint32_t *buffer)'
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_class.c:370,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile_class.c:373,1
    - Dst: append_non_ascii_range
      Src: /src/pcre2/src/pcre2_compile_class.c:379,1
    - Dst: append_char_list
      Src: /src/pcre2/src/pcre2_compile_class.c:384,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:384,1
    - Dst: append_negated_char_list
      Src: /src/pcre2/src/pcre2_compile_class.c:390,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:390,1
    - Dst: append_char_list
      Src: /src/pcre2/src/pcre2_compile_class.c:396,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:396,1
    - Dst: append_negated_char_list
      Src: /src/pcre2/src/pcre2_compile_class.c:402,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:402,1
    - Dst: get_highest_char
      Src: /src/pcre2/src/pcre2_compile_class.c:415,1
    - Dst: append_non_ascii_range
      Src: /src/pcre2/src/pcre2_compile_class.c:425,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:446,1
    - Dst: utf_caseless_extend
      Src: /src/pcre2/src/pcre2_compile_class.c:458,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 3
    argNames:
    - ptr
    - options
    - buffer
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 477
    functionName: parse_class
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 1
    functionsReached:
    - append_char_list
    - append_non_ascii_range
    - PCRE2_ASSERT
    - META_CODE
    - utf_caseless_extend
    - PRIV
    - append_negated_char_list
    - META_DATA
    - get_highest_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_class(uint32_t *ptr, uint32_t options, uint32_t *buffer)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: parse_class
      Src: /src/pcre2/src/pcre2_compile_class.c:534,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:535,1
    - Dst: compile_block*::cx::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile_class.c:542,1
    - Dst: parse_class
      Src: /src/pcre2/src/pcre2_compile_class.c:560,1
    - Dst: do_heapify
      Src: /src/pcre2/src/pcre2_compile_class.c:570,1
    - Dst: do_heapify
      Src: /src/pcre2/src/pcre2_compile_class.c:585,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:612,1
    - Dst: get_highest_char
      Src: /src/pcre2/src/pcre2_compile_class.c:612,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:640,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:676,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:692,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:705,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:726,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:730,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:738,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 148
    argCount: 4
    argNames:
    - start_ptr
    - options
    - xoptions
    - cb
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 745
    functionName: compile_optimize_class
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - compile_block*::cx::memctl::malloc
    - PCRE2_ASSERT
    - parse_class
    - do_heapify
    - get_highest_char
    linkageType: ''
    returnType: class_ranges
    signature: "class_ranges *\ncompile_optimize_class(uint32_t *start_ptr, uint32_t
      options,\n  uint32_t xoptions, compile_block *cb)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:762,1
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_compile_class.c:768,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:780,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:793,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:793,1
    - Dst: UCD_SCRIPTX_PROP
      Src: /src/pcre2/src/pcre2_compile_class.c:793,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:797,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:811,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:818,1
    - Dst: UCD_BIDICLASS_PROP
      Src: /src/pcre2/src/pcre2_compile_class.c:829,1
    - Dst: MAPBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:833,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:833,1
    - Dst: UCD_BPROPS_PROP
      Src: /src/pcre2/src/pcre2_compile_class.c:834,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:839,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:846,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:850,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:855,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 84
    argCount: 4
    argNames:
    - ptype
    - pdata
    - negated
    - classbits
    argTypes:
    - uint32_t
    - uint32_t
    - BOOL
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 866
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 68
    functionsReached:
    - memset
    - UCD_BPROPS_PROP
    - GET_UCD
    - PCRE2_ASSERT
    - UCD_BIDICLASS_PROP
    - PRIV
    - MAPBIT
    - UCD_SCRIPTX_PROP
    linkageType: ''
    returnType: void
    signature: "void PRIV(update_classbits)(uint32_t ptype, uint32_t pdata, BOOL negated,\n
      \ uint8_t *classbits)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UCD_ANY_I
      Src: /src/pcre2/src/pcre2_compile_class.c:942,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:943,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_compile_class.c:951,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:952,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:963,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:976,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:987,1
    - Dst: SETBIT
      Src: /src/pcre2/src/pcre2_compile_class.c:990,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - options
    - xoptions
    - cb
    - start
    - end
    argTypes:
    - uint32_t
    - uint32_t
    - compile_block*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 991
    functionName: add_to_class
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - UCD_ANY_I
    - UCD_OTHERCASE
    - SETBIT
    linkageType: ''
    returnType: void
    signature: "void add_to_class(uint32_t options, uint32_t xoptions, compile_block
      *cb,\n  uint32_t start, uint32_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - options
    - xoptions
    - cb
    - p
    argTypes:
    - uint32_t
    - uint32_t
    - compile_block*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1027
    functionName: add_list_to_class
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - add_to_class
    linkageType: ''
    returnType: void
    signature: "void add_list_to_class(uint32_t options, uint32_t xoptions, compile_block
      *cb,\n  const uint32_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1052,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - options
    - xoptions
    - cb
    - p
    argTypes:
    - uint32_t
    - uint32_t
    - compile_block*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: add_not_list_to_class
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - add_to_class
    linkageType: ''
    returnType: void
    signature: "void add_not_list_to_class(uint32_t options, uint32_t xoptions, compile_block
      *cb,\n  const uint32_t *p)"
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: compile_optimize_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1123,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1143,1
    - Dst: GET_MAX_CHAR_VALUE
      Src: /src/pcre2/src/pcre2_compile_class.c:1154,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:1168,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_class.c:1182,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1221,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:1269,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1269,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1273,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1274,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile_class.c:1335,1
    - Dst: add_list_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1387,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1388,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1390,1
    - Dst: add_not_list_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1399,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1400,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1402,1
    - Dst: add_list_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1411,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1412,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1414,1
    - Dst: add_not_list_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1423,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1424,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1426,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:1444,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1449,1
    - Dst: CLASS_END_CASES
      Src: /src/pcre2/src/pcre2_compile_class.c:1475,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1533,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1540,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1546,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1552,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1554,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1567,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1569,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1586,1
    - Dst: add_to_class
      Src: /src/pcre2/src/pcre2_compile_class.c:1591,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1601,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1608,1
    - Dst: GET_MAX_CHAR_VALUE
      Src: /src/pcre2/src/pcre2_compile_class.c:1609,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1632,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1634,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1649,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:1654,1
    - Dst: compile_block*::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile_class.c:1676,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:1730,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:1731,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:1732,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1749,1
    - Dst: CLIST_ALIGN_TO
      Src: /src/pcre2/src/pcre2_compile_class.c:1754,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1779,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:1799,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:1806,1
    - Dst: CLIST_ALIGN_TO
      Src: /src/pcre2/src/pcre2_compile_class.c:1819,1
    - Dst: compile_block*::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile_class.c:1821,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:1827,1
    - Dst: SELECT_VALUE8
      Src: /src/pcre2/src/pcre2_compile_class.c:1845,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:1862,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 354
    argCount: 9
    argNames:
    - options
    - xoptions
    - start_ptr
    - pcode
    - negate_class
    - has_bitmap
    - errorcodeptr
    - cb
    - lengthptr
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t*
    - PCRE2_UCHAR**
    - BOOL
    - BOOL*
    - int*
    - compile_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1071
    functionDepth: 5
    functionLinenumber: 1071
    functionLinenumberEnd: 1868
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 69
    functionsReached:
    - PUT
    - SELECT_VALUE8
    - memset
    - add_list_to_class
    - PCRE2_ASSERT
    - CU2BYTES
    - META_CODE
    - compile_optimize_class
    - CLIST_ALIGN_TO
    - PRIV
    - CLASS_END_CASES
    - compile_block*::cx::memctl::free
    - memmove
    - META_DATA
    - GET_MAX_CHAR_VALUE
    - add_to_class
    - add_not_list_to_class
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nPRIV(compile_class_not_nested)(uint32_t options, uint32_t
      xoptions,\n  uint32_t *start_ptr, PCRE2_UCHAR **pcode, BOOL negate_class, BOOL*
      has_bitmap,\n  int *errorcodeptr, compile_block *cb, PCRE2_SIZE *lengthptr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pop_info
    - lengthptr
    - preserve_classbits
    argTypes:
    - eclass_op_info*
    - PCRE2_SIZE*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1923
    functionName: fold_negation
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - PCRE2_ASSERT
    linkageType: ''
    returnType: void
    signature: "void fold_negation(eclass_op_info *pop_info, PCRE2_SIZE *lengthptr,\n
      \ BOOL preserve_classbits)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:1956,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:1957,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:1980,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:2012,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:2013,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2036,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:2068,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:2069,1
    - Dst: fold_negation
      Src: /src/pcre2/src/pcre2_compile_class.c:2077,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:2084,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:2085,1
    - Dst: fold_negation
      Src: /src/pcre2/src/pcre2_compile_class.c:2090,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2099,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile_class.c:2113,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 92
    argCount: 4
    argNames:
    - op
    - lhs_op_info
    - rhs_op_info
    - lengthptr
    argTypes:
    - int
    - eclass_op_info*
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 1930
    functionDepth: 2
    functionLinenumber: 1930
    functionLinenumberEnd: 2117
    functionName: fold_binary
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - PCRE2_ASSERT
    - PCRE2_DEBUG_UNREACHABLE
    - fold_negation
    - memmove
    - CU2BYTES
    linkageType: ''
    returnType: void
    signature: "void fold_binary(int op, eclass_op_info *lhs_op_info, eclass_op_info
      *rhs_op_info,\n  PCRE2_SIZE *lengthptr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_class.c:2141,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:2152,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:2157,1
    - Dst: compile_eclass_nested
      Src: /src/pcre2/src/pcre2_compile_class.c:2165,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2169,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_class.c:2183,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile_class.c:2195,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2203,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2210,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2217,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_class.c:2220,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2228,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:2233,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2260,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2263,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:2265,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2281,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2286
    functionName: compile_class_operand
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - compile_eclass_nested
    - memset
    - PCRE2_ASSERT
    - META_CODE
    - PRIV
    - PCRE2_DEBUG_UNREACHABLE
    - memcpy
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_class_operand(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, eclass_op_info *pop_info,\n  PCRE2_SIZE
      *lengthptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compile_class_operand
      Src: /src/pcre2/src/pcre2_compile_class.c:2309,1
    - Dst: compile_class_operand
      Src: /src/pcre2/src/pcre2_compile_class.c:2333,1
    - Dst: fold_binary
      Src: /src/pcre2/src/pcre2_compile_class.c:2338,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2294
    functionDepth: 3
    functionLinenumber: 2294
    functionLinenumberEnd: 2348
    functionName: compile_class_juxtaposition
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - fold_binary
    - PCRE2_ASSERT
    - compile_class_operand
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_class_juxtaposition(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, eclass_op_info *pop_info,\n  PCRE2_SIZE
      *lengthptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compile_class_juxtaposition
      Src: /src/pcre2/src/pcre2_compile_class.c:2372,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2354
    functionDepth: 4
    functionLinenumber: 2354
    functionLinenumberEnd: 2378
    functionName: compile_class_unary
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - compile_class_juxtaposition
    - PCRE2_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_class_unary(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, eclass_op_info *pop_info,\n  PCRE2_SIZE
      *lengthptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compile_class_unary
      Src: /src/pcre2/src/pcre2_compile_class.c:2399,1
    - Dst: compile_class_unary
      Src: /src/pcre2/src/pcre2_compile_class.c:2424,1
    - Dst: fold_binary
      Src: /src/pcre2/src/pcre2_compile_class.c:2429,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2384
    functionDepth: 5
    functionLinenumber: 2384
    functionLinenumberEnd: 2439
    functionName: compile_class_binary_tight
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - fold_binary
    - PCRE2_ASSERT
    - compile_class_unary
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_class_binary_tight(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, eclass_op_info *pop_info,\n  PCRE2_SIZE
      *lengthptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compile_class_binary_tight
      Src: /src/pcre2/src/pcre2_compile_class.c:2474,1
    - Dst: compile_class_binary_tight
      Src: /src/pcre2/src/pcre2_compile_class.c:2514,1
    - Dst: fold_binary
      Src: /src/pcre2/src/pcre2_compile_class.c:2519,1
    - Dst: fold_negation
      Src: /src/pcre2/src/pcre2_compile_class.c:2520,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2445
    functionDepth: 6
    functionLinenumber: 2445
    functionLinenumberEnd: 2530
    functionName: compile_class_binary_loose
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 0
    functionsReached:
    - fold_binary
    - compile_class_binary_tight
    - PCRE2_ASSERT
    - fold_negation
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_class_binary_loose(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, eclass_op_info *pop_info,\n  PCRE2_SIZE
      *lengthptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2553,1
    - Dst: compile_class_binary_loose
      Src: /src/pcre2/src/pcre2_compile_class.c:2562,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2566,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - context
    - negated
    - pptr
    - pcode
    - pop_info
    - lengthptr
    argTypes:
    - eclass_context*
    - BOOL
    - uint32_t**
    - PCRE2_UCHAR**
    - eclass_op_info*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2542
    functionDepth: 7
    functionLinenumber: 2542
    functionLinenumberEnd: 2569
    functionName: compile_eclass_nested
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 1
    functionsReached:
    - compile_class_binary_loose
    - PCRE2_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: "BOOL compile_eclass_nested(eclass_context *context, BOOL negated,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode,\n  eclass_op_info *pop_info, PCRE2_SIZE
      *lengthptr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: compile_eclass_nested
      Src: /src/pcre2/src/pcre2_compile_class.c:2593,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2620,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:2655,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile_class.c:2666,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2671,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:2687,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2698,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_class.c:2704,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:2707,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:2708,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:2712,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:2717,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:2746,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_class.c:2756,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_class.c:2757,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_class.c:2758,1
    - Dst: PUT
      Src: /src/pcre2/src/pcre2_compile_class.c:2761,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    argCount: 7
    argNames:
    - options
    - xoptions
    - pptr
    - pcode
    - errorcodeptr
    - cb
    - lengthptr
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t**
    - PCRE2_UCHAR**
    - int*
    - compile_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2571
    functionDepth: 8
    functionLinenumber: 2571
    functionLinenumberEnd: 2768
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_class.c
    functionUses: 70
    functionsReached:
    - PUT
    - compile_eclass_nested
    - PCRE2_ASSERT
    - PCRE2_DEBUG_UNREACHABLE
    - memmove
    - CU2BYTES
    - memcpy
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(compile_class_nested)(uint32_t options, uint32_t xoptions,\n
      \ uint32_t **pptr, PCRE2_UCHAR **pcode, int *errorcodeptr,\n  compile_block
      *cb, PCRE2_SIZE *lengthptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:63,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - length
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 70
    functionsReached:
    - PCRE2_ASSERT
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PRIV(compile_get_hash_from_name)(PCRE2_SPTR name, uint32_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:90,1
    - Dst: NAMED_GROUP_GET_HASH
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:95,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - name
    - length
    - cb
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 71
    functionsReached:
    - NAMED_GROUP_GET_HASH
    - PRIV
    linkageType: ''
    returnType: named_group
    signature: "named_group *\nPRIV(compile_find_named_group)(PCRE2_SPTR name,\n  uint32_t
      length, compile_block *cb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:129,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:142,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:142,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:153,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:154,1
    - Dst: PUT2
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:167,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:168,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:168,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:174,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - cb
    - ng
    - tablecount
    argTypes:
    - compile_block*
    - named_group*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 189
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 71
    functionsReached:
    - memset
    - PCRE2_ASSERT
    - PUT2
    - memmove
    - CU2BYTES
    - memcmp
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t PRIV(compile_add_name_to_table)(compile_block *cb,\n  named_group
      *ng, uint32_t tablecount)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:223,1
    - Dst: PCRE2_DEBUG_UNREACHABLE
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:234,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:250,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - name
    - length
    - indexptr
    - countptr
    - errorcodeptr
    - cb
    argTypes:
    - PCRE2_SPTR
    - uint32_t
    - int*
    - int*
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 261
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 72
    functionsReached:
    - PCRE2_DEBUG_UNREACHABLE
    - GET2
    - PRIV
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(compile_find_dupname_details)(PCRE2_SPTR name, uint32_t
      length,\n  int *indexptr, int *countptr, int *errorcodeptr, compile_block *cb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:282,1
    - Dst: GETPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:285,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:289,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:293,1
    - Dst: META_DATA
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:321,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:338,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - pptr
    - offset
    - errorcodeptr
    - cb
    argTypes:
    - uint32_t*
    - PCRE2_SIZE
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 341
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 73
    functionsReached:
    - PCRE2_ASSERT
    - GETPLUSOFFSET
    - META_CODE
    - PRIV
    - META_DATA
    linkageType: ''
    returnType: size_t
    signature: "size_t PRIV(compile_process_capture_list)(uint32_t *pptr, PCRE2_SIZE
      offset,\n  int *errorcodeptr, compile_block *cb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:374,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:375,1
    - Dst: compile_block*::cx::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:381,1
    - Dst: READPLUSOFFSET
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:385,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:389,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:393,1
    - Dst: SKIPOFFSET
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:397,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:402,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:412,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:437,1
    - Dst: compile_block*::cx::memctl::free
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:457,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - pptr
    - errorcodeptr
    - cb
    - lengthptr
    argTypes:
    - uint32_t*
    - int*
    - compile_block*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 459
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 74
    functionsReached:
    - SKIPOFFSET
    - compile_block*::cx::memctl::malloc
    - memset
    - READPLUSOFFSET
    - PCRE2_ASSERT
    - META_CODE
    - PRIV
    - compile_block*::cx::memctl::free
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nPRIV(compile_parse_scan_substr_args)(uint32_t *pptr,\n
      \ int *errorcodeptr, compile_block *cb, PCRE2_SIZE *lengthptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - captures
    - size
    - i
    argTypes:
    - uint16_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: do_heapify_u16
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_heapify_u16(uint16_t *captures, size_t size, size_t i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:523,1
    - Dst: compile_block*::cx::memctl::malloc
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:526,1
    - Dst: META_CODE
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:558,1
    - Dst: SKIPOFFSET
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:561,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:566,1
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:586,1
    - Dst: do_heapify_u16
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:597,1
    - Dst: do_heapify_u16
      Src: /src/pcre2/src/pcre2_compile_cgroup.c:608,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 4
    argNames:
    - pptr_start
    - offset
    - errorcodeptr
    - cb
    argTypes:
    - uint32_t*
    - PCRE2_SIZE
    - int*
    - compile_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 630
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_compile_cgroup.c
    functionUses: 75
    functionsReached:
    - SKIPOFFSET
    - compile_block*::cx::memctl::malloc
    - PCRE2_ASSERT
    - META_CODE
    - PRIV
    - do_heapify_u16
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PRIV(compile_parse_recurse_args)(uint32_t *pptr_start,\n  PCRE2_SIZE
      offset, int *errorcodeptr, compile_block *cb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2posix_test.c:158,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:160,1
    - Dst: regcomp
      Src: /src/pcre2/src/pcre2posix_test.c:167,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:169,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:173,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:174,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2posix_test.c:181,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:182,1
    - Dst: regexec
      Src: /src/pcre2/src/pcre2posix_test.c:188,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:190,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:191,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:195,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:196,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:197,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:198,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:210,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:211,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:212,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:213,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2posix_test.c:214,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:218,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2posix_test.c:225,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:226,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:229,1
    - Dst: regfree
      Src: /src/pcre2/src/pcre2posix_test.c:232,1
    - Dst: PRINTF
      Src: /src/pcre2/src/pcre2posix_test.c:235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2posix_test.c
    functionUses: 17
    functionsReached:
    - strcmp
    - fprintf
    - regfree
    - PRINTF
    - regerror
    - regcomp
    - regexec
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: jit_callback
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pcre2_jit_stack
    signature: 'pcre2_jit_stack *

      jit_callback(void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - PCRE2_SPTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: pcre2_strcmp_c8
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcre2_strcmp_c8(PCRE2_SPTR str1, const char *str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: pcre2_strlen
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pcre2_strlen(PCRE2_SPTR str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test_inc.h:195,1
    - Dst: utf_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:203,1
    - Dst: pchar
      Src: /src/pcre2/src/pcre2test_inc.h:208,1
    - Dst: pchar
      Src: /src/pcre2/src/pcre2test_inc.h:213,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test_inc.h:216,1
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test_inc.h:222,1
    - Dst: pchar
      Src: /src/pcre2/src/pcre2test_inc.h:228,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test_inc.h:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - clr
    - p
    - length
    - utf
    - f
    argTypes:
    - int
    - PCRE2_SPTR
    - ptrdiff_t
    - BOOL
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 235
    functionName: pchars
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - colour_end
    - colour_begin
    - pchar
    - utf_to_ord
    linkageType: ''
    returnType: int
    signature: int pchars(int clr, PCRE2_SPTR p, ptrdiff_t length, BOOL utf, FILE
      *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test_inc.h:255,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:278,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:279,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:279,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:280,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test_inc.h:282,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 7
    argNames:
    - clr
    - p
    - p_len
    - offset
    - left
    - utf
    - f
    argTypes:
    - int
    - PCRE2_SPTR
    - size_t
    - size_t
    - BOOL
    - BOOL
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: ptrunc_8
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - colour_begin
    - CHAR_OUTPUT
    - colour_end
    linkageType: ''
    returnType: void
    signature: "void ptrunc_8(int clr, PCRE2_SPTR p, size_t p_len, size_t offset,\n
      \ BOOL left, BOOL utf, FILE *f)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test_inc.h:293,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:316,1
    - Dst: utf16_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:320,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:326,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:327,1
    - Dst: fputc
      Src: /src/pcre2/src/pcre2test_inc.h:330,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:332,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test_inc.h:334,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 7
    argNames:
    - clr
    - p
    - p_len
    - offset
    - left
    - utf
    - f
    argTypes:
    - int
    - PCRE2_SPTR
    - size_t
    - size_t
    - BOOL
    - BOOL
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 335
    functionName: ptrunc_16
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - ord_to_utf8
    - colour_end
    - fputc
    - colour_begin
    - utf16_to_ord
    linkageType: ''
    returnType: void
    signature: "void ptrunc_16(int clr, PCRE2_SPTR p, size_t p_len, size_t offset,\n
      \ BOOL left, BOOL utf, FILE *f)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colour_begin
      Src: /src/pcre2/src/pcre2test_inc.h:344,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:355,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:362,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:363,1
    - Dst: fputc
      Src: /src/pcre2/src/pcre2test_inc.h:366,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:368,1
    - Dst: colour_end
      Src: /src/pcre2/src/pcre2test_inc.h:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 7
    argNames:
    - clr
    - p
    - p_len
    - offset
    - left
    - utf
    - f
    argTypes:
    - int
    - PCRE2_SPTR
    - size_t
    - size_t
    - BOOL
    - BOOL
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 371
    functionName: ptrunc_32
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - ord_to_utf8
    - colour_end
    - fputc
    - colour_begin
    linkageType: ''
    returnType: void
    signature: "void ptrunc_32(int clr, PCRE2_SPTR p, size_t p_len, size_t offset,\n
      \ BOOL left, BOOL utf, FILE *f)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:417,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:420,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:423,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:425,1
    - Dst: utf8_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - p
    - utf
    - lenptr
    argTypes:
    - uint8_t*
    - int
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 456
    functionName: to16
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - cfprintf
    - malloc
    - exit
    - free
    - utf8_to_ord
    linkageType: ''
    returnType: int
    signature: int to16(uint8_t *p, int utf, PCRE2_SIZE *lenptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:506,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:509,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:512,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:514,1
    - Dst: utf8_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:536,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - p
    - utf
    - lenptr
    argTypes:
    - uint8_t*
    - int
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 498
    functionDepth: 5
    functionLinenumber: 498
    functionLinenumberEnd: 547
    functionName: to32
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - cfprintf
    - malloc
    - exit
    - free
    - utf8_to_ord
    linkageType: ''
    returnType: int
    signature: int to32(uint8_t *p, int utf, PCRE2_SIZE *lenptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:574,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:577,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:578,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:581,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:582,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:585,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:586,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:589,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:592,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:595,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - what
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 602
    functionName: config_str
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 3
    functionsReached:
    - pcre2_config
    - malloc
    - cfprintf
    - exit
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      config_str(uint32_t what)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:642,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:683,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:685,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 5
    argNames:
    - m
    - ctx
    - pctl
    - dctl
    - c
    argTypes:
    - modstruct*
    - int
    - patctl*
    - datctl*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 690
    functionName: check_modifier
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - cfprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      check_modifier(modstruct *m, int ctx, patctl *pctl, datctl *dctl, uint32_t c)'
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:736,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:744,1
    - Dst: scan_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:760,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:773,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:775,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:788,1
    - Dst: scan_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:800,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:801,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:804,1
    - Dst: check_modifier
      Src: /src/pcre2/src/pcre2test_inc.h:811,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:838,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:843,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:852,1
    - Dst: check_modifier
      Src: /src/pcre2/src/pcre2test_inc.h:861,1
    - Dst: pcre2_set_optimize
      Src: /src/pcre2/src/pcre2test_inc.h:875,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:879,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:891,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:893,1
    - Dst: strchr
      Src: /src/pcre2/src/pcre2test_inc.h:909,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:913,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:929,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:930,1
    - Dst: U32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:931,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:935,1
    - Dst: U32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:936,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:948,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:949,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:967,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:968,1
    - Dst: U32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:969,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:975,1
    - Dst: strtol
      Src: /src/pcre2/src/pcre2test_inc.h:976,1
    - Dst: S32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:977,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:984,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:985,1
    - Dst: pcre2_set_newline
      Src: /src/pcre2/src/pcre2test_inc.h:989,1
    - Dst: pcre2_set_newline
      Src: /src/pcre2/src/pcre2test_inc.h:995,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:1003,1
    - Dst: strtol
      Src: /src/pcre2/src/pcre2test_inc.h:1007,1
    - Dst: S32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:1008,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1017,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1035,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1038,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1041,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:1045,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1056,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:1057,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1061,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:1066,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1074,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1086,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1094,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 277
    argCount: 4
    argNames:
    - p
    - ctx
    - pctl
    - dctl
    argTypes:
    - uint8_t*
    - int
    - patctl*
    - datctl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 716
    functionDepth: 6
    functionLinenumber: 716
    functionLinenumberEnd: 1096
    functionName: decode_modifiers
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - check_modifier
    - scan_modifiers
    - strncmpic
    - S32OVERFLOW
    - strchr
    - U32OVERFLOW
    - isdigit
    - strtoul
    - memcpy
    - strtol
    - cfprintf
    - isspace
    - exit
    - strlen
    - pcre2_set_optimize
    - pcre2_set_newline
    linkageType: ''
    returnType: BOOL
    signature: BOOL decode_modifiers(uint8_t *p, int ctx, patctl *pctl, datctl *dctl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1119,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1120,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - what
    - where
    - unsetok
    argTypes:
    - int
    - void*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1115
    functionDepth: 5
    functionLinenumber: 1115
    functionLinenumberEnd: 1128
    functionName: pattern_info
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 5
    functionsReached:
    - pcre2_pattern_info
    - cfprintf
    linkageType: ''
    returnType: int
    signature: int pattern_info(int what, void *where, BOOL unsetok)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1144,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1145,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1146,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:1150,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1152,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1155,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1159,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1136
    functionDepth: 6
    functionLinenumber: 1136
    functionLinenumberEnd: 1162
    functionName: show_memory_info
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - CU2BYTES
    - cfprintf
    - pattern_info
    linkageType: ''
    returnType: void
    signature: void show_memory_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1174,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1170
    functionDepth: 6
    functionLinenumber: 1170
    functionLinenumberEnd: 1176
    functionName: show_framesize
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - cfprintf
    - pattern_info
    linkageType: ''
    returnType: void
    signature: void show_framesize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_match_data_heapframes_size
      Src: /src/pcre2/src/pcre2test_inc.h:1188,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1184
    functionDepth: 5
    functionLinenumber: 1184
    functionLinenumberEnd: 1191
    functionName: show_heapframes_size
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - cfprintf
    - pcre2_get_match_data_heapframes_size
    linkageType: ''
    returnType: void
    signature: void show_heapframes_size(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:1206,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1209,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1214,1
    - Dst: pcre2_strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1217,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1219,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1224,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:1225,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - file
    - errorcode
    - before
    - after
    - badcode_ok
    argTypes:
    - FILE*
    - int
    - char*
    - char*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1199
    functionDepth: 5
    functionLinenumber: 1199
    functionLinenumberEnd: 1229
    functionName: print_error_message_file
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_strlen
    - pcre2_get_error_message
    - cfprintf
    - pchars
    linkageType: ''
    returnType: BOOL
    signature: "BOOL print_error_message_file(FILE *file, int errorcode, const char
      *before,\n  const char *after, BOOL badcode_ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_error_message_file
      Src: /src/pcre2/src/pcre2test_inc.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - errorcode
    - before
    - after
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: print_error_message
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - print_error_message_file
    linkageType: ''
    returnType: BOOL
    signature: BOOL print_error_message(int errorcode, const char *before, const char
      *after)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1261,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1265,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:1265,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:1266,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1273,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:1273,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1275,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:1279,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cb
    - callout_data
    argTypes:
    - pcre2_callout_enumerate_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1251
    functionDepth: 5
    functionLinenumber: 1251
    functionLinenumberEnd: 1283
    functionName: callout_enumerate_function
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - CHAR_OUTPUT
    - pchars
    linkageType: ''
    returnType: int
    signature: "int callout_enumerate_function(pcre2_callout_enumerate_block *cb,\n
      \ void *callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cb
    - callout_data
    argTypes:
    - pcre2_callout_enumerate_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1291
    functionName: callout_enumerate_function_void
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int callout_enumerate_function_void(pcre2_callout_enumerate_block
      *cb,\n  void *callout_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - callout_data
    argTypes:
    - pcre2_callout_enumerate_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1298
    functionName: callout_enumerate_function_fail
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int callout_enumerate_function_fail(pcre2_callout_enumerate_block
      *cb,\n  void *callout_data)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: show_memory_info
      Src: /src/pcre2/src/pcre2test_inc.h:1324,1
    - Dst: show_framesize
      Src: /src/pcre2/src/pcre2test_inc.h:1327,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1331,1
    - Dst: pcre2_printint
      Src: /src/pcre2/src/pcre2test_inc.h:1332,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1348,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1362,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1376,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1392,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1393,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1394,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1395,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1396,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1397,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1398,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1399,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1400,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1401,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1402,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1403,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1404,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1405,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1406,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1407,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1408,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1412,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1415,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1418,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1421,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1424,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1427,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1431,1
    - Dst: pcre2_strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1434,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1435,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:1449,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1450,1
    - Dst: pcre2_strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1455,1
    - Dst: utf16_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:1461,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:1464,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1465,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1469,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:1474,1
    - Dst: putc
      Src: /src/pcre2/src/pcre2test_inc.h:1477,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1479,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2test_inc.h:1479,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1485,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1486,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1487,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1489,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1490,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1491,1
    - Dst: show_compile_options
      Src: /src/pcre2/src/pcre2test_inc.h:1511,1
    - Dst: show_compile_options
      Src: /src/pcre2/src/pcre2test_inc.h:1514,1
    - Dst: show_compile_options
      Src: /src/pcre2/src/pcre2test_inc.h:1515,1
    - Dst: show_compile_extra_options
      Src: /src/pcre2/src/pcre2test_inc.h:1520,1
    - Dst: show_optimize_flags
      Src: /src/pcre2/src/pcre2test_inc.h:1523,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1525,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1529,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1537,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1541,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1545,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1549,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1553,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1557,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1567,1
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2test_inc.h:1574,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1575,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:1575,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1579,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1581,1
    - Dst: pchar
      Src: /src/pcre2/src/pcre2test_inc.h:1583,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1584,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1591,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:1594,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1599,1
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2test_inc.h:1602,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1604,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:1604,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1609,1
    - Dst: CHAR_OUTPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:1609,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1614,1
    - Dst: PRINTABLE
      Src: /src/pcre2/src/pcre2test_inc.h:1622,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1623,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:1623,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1627,1
    - Dst: pchar
      Src: /src/pcre2/src/pcre2test_inc.h:1628,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1629,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1634,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1640,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1643,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:1644,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1646,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1649,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:1654,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1661,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:1662,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 195
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1316
    functionDepth: 7
    functionLinenumber: 1316
    functionLinenumberEnd: 1668
    functionName: show_pattern_info
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - CHAR_INPUT_HEX
    - GET2
    - fprintf
    - show_memory_info
    - show_framesize
    - pcre2_printint
    - ord_to_utf8
    - show_compile_options
    - pchar
    - pchars
    - PRINTABLE
    - pcre2_callout_enumerate
    - pattern_info
    - putc
    - print_error_message
    - pcre2_strlen
    - utf16_to_ord
    - show_optimize_flags
    - CHAR_OUTPUT_HEX
    - CHAR_OUTPUT
    - show_compile_extra_options
    - cfprintf
    linkageType: ''
    returnType: int
    signature: int show_pattern_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1688,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1685
    functionDepth: 5
    functionLinenumber: 1685
    functionLinenumberEnd: 1690
    functionName: serial_error
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - print_error_message
    - cfprintf
    linkageType: ''
    returnType: BOOL
    signature: BOOL serial_error(int rc, const char *msg)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1729,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2test_inc.h:1730,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1731,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1746,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1753,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:1767,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:1775,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1786,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1790,1
    - Dst: strncmpic
      Src: /src/pcre2/src/pcre2test_inc.h:1791,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1792,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1798,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1811,1
    - Dst: patctl_zero
      Src: /src/pcre2/src/pcre2test_inc.h:1814,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:1815,1
    - Dst: pcre2_code_copy
      Src: /src/pcre2/src/pcre2test_inc.h:1824,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2test_inc.h:1829,1
    - Dst: show_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:1832,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1841,1
    - Dst: open_file
      Src: /src/pcre2/src/pcre2test_inc.h:1845,1
    - Dst: pcre2_serialize_encode
      Src: /src/pcre2/src/pcre2test_inc.h:1848,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1852,1
    - Dst: serial_error
      Src: /src/pcre2/src/pcre2test_inc.h:1853,1
    - Dst: fputc
      Src: /src/pcre2/src/pcre2test_inc.h:1863,1
    - Dst: fwrite
      Src: /src/pcre2/src/pcre2test_inc.h:1864,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1866,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1867,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1871,1
    - Dst: pcre2_serialize_free
      Src: /src/pcre2/src/pcre2test_inc.h:1872,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:1876,1
    - Dst: open_file
      Src: /src/pcre2/src/pcre2test_inc.h:1884,1
    - Dst: fgetc
      Src: /src/pcre2/src/pcre2test_inc.h:1888,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:1890,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1893,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1895,1
    - Dst: fread
      Src: /src/pcre2/src/pcre2test_inc.h:1899,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1900,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1904,1
    - Dst: pcre2_serialize_get_number_of_codes
      Src: /src/pcre2/src/pcre2test_inc.h:1909,1
    - Dst: serial_error
      Src: /src/pcre2/src/pcre2test_inc.h:1912,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1918,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1921,1
    - Dst: pcre2_serialize_decode
      Src: /src/pcre2/src/pcre2test_inc.h:1924,1
    - Dst: serial_error
      Src: /src/pcre2/src/pcre2test_inc.h:1928,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:1934,1
    - Dst: open_file
      Src: /src/pcre2/src/pcre2test_inc.h:1940,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:1946,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:1947,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1952,1
    - Dst: fread
      Src: /src/pcre2/src/pcre2test_inc.h:1955,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1957,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2test_inc.h:1961,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1967,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1971,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1978,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:1981,1
    - Dst: strncmp
      Src: /src/pcre2/src/pcre2test_inc.h:1985,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:1988,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:1994,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2008,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1709
    functionDepth: 8
    functionLinenumber: 1709
    functionLinenumberEnd: 2016
    functionName: process_command
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - strncmpic
    - patctl_zero
    - decode_modifiers
    - fgetc
    - fread
    - strncmp
    - pcre2_serialize_encode
    - pcre2_serialize_free
    - pcre2_serialize_get_number_of_codes
    - serial_error
    - fwrite
    - show_pattern_info
    - pcre2_serialize_decode
    - pcre2_code_copy
    - malloc
    - isspace
    - fputc
    - free
    - pcre2_config
    - pcre2_jit_compile
    - cfprintf
    - open_file
    - fclose
    - strlen
    - pcre2_code_free
    linkageType: ''
    returnType: int
    signature: int process_command(void)
  - BBCount: 133
    BranchProfiles: []
    Callsites:
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2058,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:2065,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:2066,1
    - Dst: extend_inputline
      Src: /src/pcre2/src/pcre2test_inc.h:2079,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2081,1
    - Dst: INTERACTIVE
      Src: /src/pcre2/src/pcre2test_inc.h:2084,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2084,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:2100,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2113,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2118,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2129,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:2141,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2142,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:2167,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2180,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:2193,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2195,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2201,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:2205,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2207,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2test_inc.h:2211,1
    - Dst: toupper
      Src: /src/pcre2/src/pcre2test_inc.h:2212,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:2213,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:2214,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:2215,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:2215,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:2251,1
    - Dst: U32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:2252,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2254,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2264,1
    - Dst: expand_input_buffers
      Src: /src/pcre2/src/pcre2test_inc.h:2286,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:2294,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2303,1
    - Dst: strncpy
      Src: /src/pcre2/src/pcre2test_inc.h:2310,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2319,1
    - Dst: setlocale
      Src: /src/pcre2/src/pcre2test_inc.h:2322,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2324,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test_inc.h:2327,1
    - Dst: strncpy
      Src: /src/pcre2/src/pcre2test_inc.h:2329,1
    - Dst: pcre2_maketables_free
      Src: /src/pcre2/src/pcre2test_inc.h:2333,1
    - Dst: pcre2_maketables
      Src: /src/pcre2/src/pcre2test_inc.h:2335,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2349,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2357,1
    - Dst: pcre2_set_character_tables
      Src: /src/pcre2/src/pcre2test_inc.h:2361,1
    - Dst: pcre2_set_compile_recursion_guard
      Src: /src/pcre2/src/pcre2test_inc.h:2367,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2377,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2386,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2387,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2388,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2389,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2390,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2391,1
    - Dst: show_compile_options
      Src: /src/pcre2/src/pcre2test_inc.h:2395,1
    - Dst: show_compile_extra_options
      Src: /src/pcre2/src/pcre2test_inc.h:2405,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:2416,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2430,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2432,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2434,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:2436,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2438,1
    - Dst: ascii_to_ebcdic_str
      Src: /src/pcre2/src/pcre2test_inc.h:2458,1
    - Dst: regcomp
      Src: /src/pcre2/src/pcre2test_inc.h:2461,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:2477,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2480,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:2481,1
    - Dst: fputs
      Src: /src/pcre2/src/pcre2test_inc.h:2482,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2485,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:2487,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2489,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2508,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2528,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:2534,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2537,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:2542,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2545,1
    - Dst: ascii_to_ebcdic_str
      Src: /src/pcre2/src/pcre2test_inc.h:2554,1
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:2558,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2562,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2567,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2572,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:2585,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:2603,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2603,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2606,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:2616,1
    - Dst: pcre2_set_glob_escape
      Src: /src/pcre2/src/pcre2test_inc.h:2622,1
    - Dst: CHAR_INPUT
      Src: /src/pcre2/src/pcre2test_inc.h:2622,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2625,1
    - Dst: pcre2_set_glob_separator
      Src: /src/pcre2/src/pcre2test_inc.h:2635,1
    - Dst: CHAR_INPUT
      Src: /src/pcre2/src/pcre2test_inc.h:2635,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2638,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:2650,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2650,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2651,1
    - Dst: pcre2_pattern_convert
      Src: /src/pcre2/src/pcre2test_inc.h:2657,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:2661,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2666,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:2668,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:2675,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2676,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2678,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2683,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:2688,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2688,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:2697,1
    - Dst: pcre2_converted_pattern_free
      Src: /src/pcre2/src/pcre2test_inc.h:2699,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:2720,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2721,1
    - Dst: pcre2_set_newline
      Src: /src/pcre2/src/pcre2test_inc.h:2732,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:2758,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2759,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:2762,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:2764,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2767,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2774,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:2784,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2789,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2796,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:2808,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:2809,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:2825,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2826,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:2827,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:2829,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2830,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2835,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2841,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:2842,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2848,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2853,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:2861,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2862,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2867,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2test_inc.h:2872,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2877,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2889,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:2890,1
    - Dst: error_direction
      Src: /src/pcre2/src/pcre2test_inc.h:2899,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2901,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:2903,1
    - Dst: utf_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:2917,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2920,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2930,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2931,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2932,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2938,1
    - Dst: ptrunc
      Src: /src/pcre2/src/pcre2test_inc.h:2941,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2942,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2944,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2947,1
    - Dst: ptrunc
      Src: /src/pcre2/src/pcre2test_inc.h:2948,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2950,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2955,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:2971,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:2979,1
    - Dst: pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:2984,1
    - Dst: show_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:2997,1
    - Dst: pcre2_serialize_encode
      Src: /src/pcre2/src/pcre2test_inc.h:3003,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3007,1
    - Dst: VALGRIND_CHECK_MEM_IS_DEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:3013,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3015,1
    - Dst: pcre2_serialize_free
      Src: /src/pcre2/src/pcre2test_inc.h:3020,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3029,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3044,1
    - Dst: pcre2_code_copy
      Src: /src/pcre2/src/pcre2test_inc.h:3049,1
    - Dst: pcre2_code_copy_with_tables
      Src: /src/pcre2/src/pcre2test_inc.h:3053,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 537
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 2036
    functionDepth: 8
    functionLinenumber: 2036
    functionLinenumberEnd: 3058
    functionName: process_pattern
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - CHAR_INPUT_HEX
    - setlocale
    - fprintf
    - strtoul
    - decode_modifiers
    - clock
    - ptrunc
    - regcomp
    - pcre2_serialize_encode
    - error_direction
    - pcre2_serialize_free
    - U32OVERFLOW
    - show_compile_options
    - pcre2_set_character_tables
    - pchars
    - pcre2_maketables
    - VALGRIND_CHECK_MEM_IS_DEFINED
    - pcre2_pattern_convert
    - pcre2_set_glob_escape
    - G
    - CU2BYTES
    - fputs
    - utf_to_ord
    - pattern_info
    - strcmp
    - CHAR_INPUT
    - show_pattern_info
    - toupper
    - expand_input_buffers
    - pcre2_set_glob_separator
    - print_error_message
    - show_controls
    - pcre2_code_copy
    - malloc
    - isspace
    - INTERACTIVE
    - pcre2_set_newline
    - free
    - strncpy
    - memcpy
    - pcre2_code_copy_with_tables
    - pcre2_converted_pattern_free
    - extend_inputline
    - pcre2_set_compile_recursion_guard
    - ascii_to_ebcdic_str
    - isdigit
    - pcre2_jit_compile
    - pcre2_compile
    - CHAR_OUTPUT
    - prmsg
    - isxdigit
    - show_compile_extra_options
    - cfprintf
    - VALGRIND_MAKE_MEM_UNDEFINED
    - pcre2_maketables_free
    - regerror
    - VALGRIND_MAKE_MEM_NOACCESS
    - strlen
    - pcre2_code_free
    linkageType: ''
    returnType: int
    signature: int process_pattern(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3064
    functionDepth: 0
    functionLinenumber: 3064
    functionLinenumberEnd: 3068
    functionName: have_active_pattern
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL have_active_pattern(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3074
    functionDepth: 1
    functionLinenumber: 3074
    functionLinenumberEnd: 3079
    functionName: free_active_pattern
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void free_active_pattern(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_set_match_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3108,1
    - Dst: pcre2_set_depth_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3109,1
    - Dst: pcre2_set_heap_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3110,1
    - Dst: pcre2_set_heap_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3121,1
    - Dst: memctl::free
      Src: /src/pcre2/src/pcre2test_inc.h:3123,1
    - Dst: pcre2_set_match_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3133,1
    - Dst: pcre2_set_depth_limit
      Src: /src/pcre2/src/pcre2test_inc.h:3137,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:3142,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:3149,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2test_inc.h:3152,1
    - Dst: pcre2_jit_match
      Src: /src/pcre2/src/pcre2test_inc.h:3158,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:3163,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3173,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3193,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - pp
    - ulen
    - errnumber
    - msg
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3099
    functionDepth: 5
    functionLinenumber: 3099
    functionLinenumberEnd: 3208
    functionName: check_match_limit
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - pcre2_set_match_limit
    - pcre2_jit_match
    - fprintf
    - pcre2_match
    - pcre2_dfa_match
    - memctl::free
    - pcre2_set_heap_limit
    - malloc
    - cfprintf
    - reset_callout_state
    - pcre2_set_depth_limit
    linkageType: ''
    returnType: int
    signature: int check_match_limit(PCRE2_SPTR pp, PCRE2_SIZE ulen, int errnumber,
      const char *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3236,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3240,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3243,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3246,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3254,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3259,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - scb
    - data_ptr
    argTypes:
    - pcre2_substitute_callout_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3226
    functionDepth: 5
    functionLinenumber: 3226
    functionLinenumberEnd: 3264
    functionName: substitute_callout_function
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - fprintf
    - pchars
    linkageType: ''
    returnType: int
    signature: "int substitute_callout_function(pcre2_substitute_callout_block *scb,\n
      \ void *data_ptr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:3301,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:3301,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3303,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:3303,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3308,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:3308,1
    - Dst: case_transform
      Src: /src/pcre2/src/pcre2test_inc.h:3320,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:3342,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:3347,1
    - Dst: time
      Src: /src/pcre2/src/pcre2test_inc.h:3347,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:3348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - input
    - input_len
    - output
    - output_cap
    - to_case
    - data_ptr
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3287
    functionDepth: 1
    functionLinenumber: 3287
    functionLinenumberEnd: 3351
    functionName: substitute_case_callout_function
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - case_transform
    - memset
    - time
    - malloc
    - CU2BYTES
    - free
    - memcpy
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: "PCRE2_SIZE substitute_case_callout_function(\n  PCRE2_SPTR input,
      PCRE2_SIZE input_len,\n  PCRE2_UCHAR *output, PCRE2_SIZE output_cap,\n  int
      to_case, void *data_ptr)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3398,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3402,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3422,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:3423,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3424,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3431,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:3431,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3432,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3440,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3441,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3444,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3446,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3449,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3452,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3463,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3467,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3477,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3482,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3487,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3489,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3498,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3499,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3503,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3504,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3509,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3510,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3514,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3515,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3519,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3523,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3526,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3528,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3536,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3539,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3540,1
    - Dst: putc
      Src: /src/pcre2/src/pcre2test_inc.h:3541,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3560,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 2
    argNames:
    - cb
    - callout_data_ptr
    argTypes:
    - pcre2_callout_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3373
    functionDepth: 5
    functionLinenumber: 3373
    functionLinenumberEnd: 3577
    functionName: callout_function
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - putc
    - fprintf
    - CHAR_OUTPUT
    - pchars
    linkageType: ''
    returnType: int
    signature: int callout_function(pcre2_callout_block *cb, void *callout_data_ptr)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_copy_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:3610,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3613,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3614,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3618,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3619,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3620,1
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:3622,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3625,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3626,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3630,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:3644,1
    - Dst: strcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3651,1
    - Dst: ascii_to_ebcdic_str
      Src: /src/pcre2/src/pcre2test_inc.h:3654,1
    - Dst: to16
      Src: /src/pcre2/src/pcre2test_inc.h:3657,1
    - Dst: to32
      Src: /src/pcre2/src/pcre2test_inc.h:3660,1
    - Dst: pcre2_substring_number_from_name
      Src: /src/pcre2/src/pcre2test_inc.h:3663,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3665,1
    - Dst: pcre2_substring_copy_byname
      Src: /src/pcre2/src/pcre2test_inc.h:3668,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3671,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3672,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3676,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3677,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3678,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3679,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3680,1
    - Dst: pcre2_substring_length_byname
      Src: /src/pcre2/src/pcre2test_inc.h:3682,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3685,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3686,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3690,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:3704,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3707,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3708,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3712,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3713,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3714,1
    - Dst: pcre2_substring_free
      Src: /src/pcre2/src/pcre2test_inc.h:3715,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:3728,1
    - Dst: strcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3735,1
    - Dst: ascii_to_ebcdic_str
      Src: /src/pcre2/src/pcre2test_inc.h:3738,1
    - Dst: to16
      Src: /src/pcre2/src/pcre2test_inc.h:3741,1
    - Dst: to32
      Src: /src/pcre2/src/pcre2test_inc.h:3744,1
    - Dst: pcre2_substring_number_from_name
      Src: /src/pcre2/src/pcre2test_inc.h:3747,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3749,1
    - Dst: pcre2_substring_get_byname
      Src: /src/pcre2/src/pcre2test_inc.h:3751,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3754,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3755,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3759,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3760,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3761,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3762,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3763,1
    - Dst: pcre2_substring_free
      Src: /src/pcre2/src/pcre2test_inc.h:3764,1
    - Dst: pcre2_substring_list_get
      Src: /src/pcre2/src/pcre2test_inc.h:3776,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3779,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:3780,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3786,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:3787,1
    - Dst: putc
      Src: /src/pcre2/src/pcre2test_inc.h:3788,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3791,1
    - Dst: pcre2_substring_list_free
      Src: /src/pcre2/src/pcre2test_inc.h:3792,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 117
    argCount: 2
    argNames:
    - utf
    - capcount
    argTypes:
    - BOOL
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3595
    functionDepth: 6
    functionLinenumber: 3595
    functionLinenumberEnd: 3797
    functionName: copy_and_get
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - to32
    - fprintf
    - pcre2_substring_copy_byname
    - pcre2_substring_list_free
    - pcre2_substring_number_from_name
    - pchars
    - pcre2_substring_get_bynumber
    - pcre2_substring_free
    - putc
    - print_error_message
    - pcre2_substring_copy_bynumber
    - to16
    - pcre2_substring_length_bynumber
    - ascii_to_ebcdic_str
    - pcre2_substring_length_byname
    - pcre2_substring_get_byname
    - pcre2_substring_list_get
    - cfprintf
    - strcpy
    - strlen
    linkageType: ''
    returnType: BOOL
    signature: BOOL copy_and_get(BOOL utf, int capcount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: valid_utf
      Src: /src/pcre2/src/pcre2test_inc.h:3827,1
    - Dst: ascii_to_ebcdic
      Src: /src/pcre2/src/pcre2test_inc.h:3837,1
    - Dst: HASUTF8EXTRALEN
      Src: /src/pcre2/src/pcre2test_inc.h:3848,1
    - Dst: GETUTF8INC
      Src: /src/pcre2/src/pcre2test_inc.h:3848,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:3851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - utf
    - input
    - inlen
    - output
    - outlen
    argTypes:
    - BOOL
    - uint8_t*
    - PCRE2_SIZE
    - PCRE2_UCHAR*
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3809
    functionDepth: 1
    functionLinenumber: 3809
    functionLinenumberEnd: 3869
    functionName: copy_substitute_string
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 0
    functionsReached:
    - GETUTF8INC
    - ascii_to_ebcdic
    - ord_to_utf8
    - HASUTF8EXTRALEN
    - valid_utf
    linkageType: ''
    returnType: void
    signature: "void copy_substitute_string(BOOL utf, uint8_t *input, PCRE2_SIZE inlen,\n
      \ PCRE2_UCHAR *output, PCRE2_SIZE *outlen)"
  - BBCount: 222
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3916,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3917,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:3922,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:3942,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:3943,1
    - Dst: isspace
      Src: /src/pcre2/src/pcre2test_inc.h:3946,1
    - Dst: utf8_to_ord
      Src: /src/pcre2/src/pcre2test_inc.h:3963,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3966,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:3976,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:3984,1
    - Dst: realloc
      Src: /src/pcre2/src/pcre2test_inc.h:3992,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:3995,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:3996,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4021,1
    - Dst: strtol
      Src: /src/pcre2/src/pcre2test_inc.h:4025,1
    - Dst: S32OVERFLOW
      Src: /src/pcre2/src/pcre2test_inc.h:4026,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4028,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4036,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4042,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4049,1
    - Dst: realloc
      Src: /src/pcre2/src/pcre2test_inc.h:4063,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4066,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:4068,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:4076,1
    - Dst: BYTES2CU
      Src: /src/pcre2/src/pcre2test_inc.h:4077,1
    - Dst: HASUTF8EXTRALEN
      Src: /src/pcre2/src/pcre2test_inc.h:4098,1
    - Dst: GETUTF8INC
      Src: /src/pcre2/src/pcre2test_inc.h:4100,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:4132,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:4132,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4142,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4146,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:4151,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:4151,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4154,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4172,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4176,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4178,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2test_inc.h:4181,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4181,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:4183,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:4183,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4186,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4198,1
    - Dst: tolower
      Src: /src/pcre2/src/pcre2test_inc.h:4200,1
    - Dst: isdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4200,1
    - Dst: CHAR_OUTPUT
      Src: /src/pcre2/src/pcre2test_inc.h:4203,1
    - Dst: CHAR_INPUT_HEX
      Src: /src/pcre2/src/pcre2test_inc.h:4203,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2test_inc.h:4212,1
    - Dst: isxdigit
      Src: /src/pcre2/src/pcre2test_inc.h:4212,1
    - Dst: strtoul
      Src: /src/pcre2/src/pcre2test_inc.h:4219,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4229,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4242,1
    - Dst: isalnum
      Src: /src/pcre2/src/pcre2test_inc.h:4249,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4251,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4265,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4267,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4276,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4281,1
    - Dst: ord_to_utf8
      Src: /src/pcre2/src/pcre2test_inc.h:4284,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4295,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4297,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4306,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4320,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4328,1
    - Dst: BYTES2CU
      Src: /src/pcre2/src/pcre2test_inc.h:4338,1
    - Dst: decode_modifiers
      Src: /src/pcre2/src/pcre2test_inc.h:4343,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:4359,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4360,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4370,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4377,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4382,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4387,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4396,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4406,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4408,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4423,1
    - Dst: memmove
      Src: /src/pcre2/src/pcre2test_inc.h:4424,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:4426,1
    - Dst: ascii_to_ebcdic_str
      Src: /src/pcre2/src/pcre2test_inc.h:4430,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4452,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4454,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4456,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4458,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4459,1
    - Dst: prmsg
      Src: /src/pcre2/src/pcre2test_inc.h:4460,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4464,1
    - Dst: show_match_options
      Src: /src/pcre2/src/pcre2test_inc.h:4465,1
    - Dst: show_controls
      Src: /src/pcre2/src/pcre2test_inc.h:4472,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4477,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:4481,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4484,1
    - Dst: regexec
      Src: /src/pcre2/src/pcre2test_inc.h:4503,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:4506,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4507,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:4508,1
    - Dst: fputs
      Src: /src/pcre2/src/pcre2test_inc.h:4509,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4512,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4514,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4526,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4532,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4535,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:4536,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4537,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4542,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:4545,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4546,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:4551,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4560,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4568,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4590,1
    - Dst: pcre2_jit_stack_free
      Src: /src/pcre2/src/pcre2test_inc.h:4599,1
    - Dst: pcre2_jit_stack_create
      Src: /src/pcre2/src/pcre2test_inc.h:4600,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/pcre2/src/pcre2test_inc.h:4603,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/pcre2/src/pcre2test_inc.h:4610,1
    - Dst: pcre2_jit_stack_free
      Src: /src/pcre2/src/pcre2test_inc.h:4611,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/pcre2/src/pcre2test_inc.h:4621,1
    - Dst: pcre2_set_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4629,1
    - Dst: pcre2_set_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4634,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:4642,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:4643,1
    - Dst: pcre2_get_ovector_count
      Src: /src/pcre2/src/pcre2test_inc.h:4645,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:4654,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2test_inc.h:4655,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4660,1
    - Dst: pcre2_get_ovector_count
      Src: /src/pcre2/src/pcre2test_inc.h:4667,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4689,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4715,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4718,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:4729,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:4733,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2test_inc.h:4735,1
    - Dst: pcre2_jit_match
      Src: /src/pcre2/src/pcre2test_inc.h:4741,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:4746,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4782,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4788,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:4796,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4796,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:4797,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4798,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:4804,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4804,1
    - Dst: copy_substitute_string
      Src: /src/pcre2/src/pcre2test_inc.h:4807,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:4811,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4812,1
    - Dst: copy_substitute_string
      Src: /src/pcre2/src/pcre2test_inc.h:4828,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4839,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:4846,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4846,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/pcre2/src/pcre2test_inc.h:4852,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4852,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:4853,1
    - Dst: pcre2_set_substitute_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4868,1
    - Dst: pcre2_set_substitute_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4872,1
    - Dst: pcre2_set_substitute_case_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4877,1
    - Dst: pcre2_set_substitute_case_callout
      Src: /src/pcre2/src/pcre2test_inc.h:4881,1
    - Dst: CLEAR_HEAP_FRAMES
      Src: /src/pcre2/src/pcre2test_inc.h:4884,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:4885,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:4887,1
    - Dst: CLEAR_HEAP_FRAMES
      Src: /src/pcre2/src/pcre2test_inc.h:4898,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:4899,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:4903,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4911,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4920,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4922,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4923,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:4924,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4927,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4931,1
    - Dst: ptrunc
      Src: /src/pcre2/src/pcre2test_inc.h:4934,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4935,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4937,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4940,1
    - Dst: ptrunc
      Src: /src/pcre2/src/pcre2test_inc.h:4941,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4947,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:4948,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4951,1
    - Dst: show_ovector
      Src: /src/pcre2/src/pcre2test_inc.h:4957,1
    - Dst: show_heapframes_size
      Src: /src/pcre2/src/pcre2test_inc.h:4961,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:4999,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:5003,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:5004,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2test_inc.h:5007,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:5015,1
    - Dst: pcre2_jit_match
      Src: /src/pcre2/src/pcre2test_inc.h:5018,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:5026,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:5029,1
    - Dst: clock
      Src: /src/pcre2/src/pcre2test_inc.h:5034,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5037,1
    - Dst: check_match_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5051,1
    - Dst: check_match_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5054,1
    - Dst: check_match_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5061,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5067,1
    - Dst: CLEAR_HEAP_FRAMES
      Src: /src/pcre2/src/pcre2test_inc.h:5078,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:5079,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:5083,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2test_inc.h:5086,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5091,1
    - Dst: pcre2_jit_match
      Src: /src/pcre2/src/pcre2test_inc.h:5098,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:5101,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5105,1
    - Dst: CLEAR_HEAP_FRAMES
      Src: /src/pcre2/src/pcre2test_inc.h:5118,1
    - Dst: reset_callout_state
      Src: /src/pcre2/src/pcre2test_inc.h:5119,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2test_inc.h:5128,1
    - Dst: pcre2_jit_match
      Src: /src/pcre2/src/pcre2test_inc.h:5135,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:5138,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5150,1
    - Dst: pcre2_next_match
      Src: /src/pcre2/src/pcre2test_inc.h:5165,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5168,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/pcre2/src/pcre2test_inc.h:5185,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:5185,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5193,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5206,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5210,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2test_inc.h:5213,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5214,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5238,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5256,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5292,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5296,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5302,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5316,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5318,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5346,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5347,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5348,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5350,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5351,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5352,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5353,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5354,1
    - Dst: pcre2_get_startchar
      Src: /src/pcre2/src/pcre2test_inc.h:5364,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5365,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5366,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5368,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5371,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5372,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5380,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5382,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5390,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5393,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5401,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5402,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5403,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5412,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5413,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5414,1
    - Dst: copy_and_get
      Src: /src/pcre2/src/pcre2test_inc.h:5419,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5440,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5444,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5445,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5448,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5451,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5452,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5455,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5456,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5460,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5461,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5462,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5466,1
    - Dst: copy_and_get
      Src: /src/pcre2/src/pcre2test_inc.h:5471,1
    - Dst: show_ovector
      Src: /src/pcre2/src/pcre2test_inc.h:5476,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5491,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5495,1
    - Dst: pchars
      Src: /src/pcre2/src/pcre2test_inc.h:5496,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5499,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5500,1
    - Dst: show_ovector
      Src: /src/pcre2/src/pcre2test_inc.h:5505,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5510,1
    - Dst: STR
      Src: /src/pcre2/src/pcre2test_inc.h:5510,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5515,1
    - Dst: print_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:5516,1
    - Dst: pcre2_get_startchar
      Src: /src/pcre2/src/pcre2test_inc.h:5521,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5522,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2test_inc.h:5524,1
    - Dst: pcre2_next_match
      Src: /src/pcre2/src/pcre2test_inc.h:5549,1
    - Dst: CU2BYTES
      Src: /src/pcre2/src/pcre2test_inc.h:5565,1
    - Dst: show_heapframes_size
      Src: /src/pcre2/src/pcre2test_inc.h:5576,1
    CyclomaticComplexity: 351
    EdgeCount: 351
    ICount: 890
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5580
      start: 3886
    functionDepth: 7
    functionLinenumber: 3886
    functionLinenumberEnd: 5580
    functionName: process_data
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - CHAR_INPUT_HEX
    - fprintf
    - strtoul
    - pcre2_match_data_create
    - strtol
    - pcre2_jit_stack_free
    - pcre2_set_substitute_case_callout
    - decode_modifiers
    - BYTES2CU
    - clock
    - ptrunc
    - memcmp
    - regexec
    - pcre2_match_data_create_from_pattern
    - copy_substitute_string
    - pcre2_jit_match
    - ord_to_utf8
    - pcre2_next_match
    - copy_and_get
    - pchars
    - CLEAR_HEAP_FRAMES
    - pcre2_set_substitute_callout
    - pcre2_match_data_free
    - pcre2_substitute
    - pcre2_get_startchar
    - STR
    - reset_callout_state
    - CU2BYTES
    - show_match_options
    - pcre2_get_ovector_count
    - fputs
    - check_match_limit
    - S32OVERFLOW
    - pcre2_match
    - print_error_message
    - realloc
    - show_controls
    - pcre2_dfa_match
    - regerror
    - malloc
    - isspace
    - exit
    - memmove
    - HASUTF8EXTRALEN
    - free
    - show_ovector
    - utf8_to_ord
    - memcpy
    - pcre2_jit_stack_assign
    - show_heapframes_size
    - GETUTF8INC
    - isalnum
    - ascii_to_ebcdic_str
    - isdigit
    - CHAR_OUTPUT
    - prmsg
    - isxdigit
    - VALGRIND_MAKE_MEM_UNDEFINED
    - cfprintf
    - tolower
    - pcre2_jit_stack_create
    - VALGRIND_MAKE_MEM_NOACCESS
    - pcre2_set_callout
    - strlen
    linkageType: ''
    returnType: int
    signature: int process_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4680
      start: 4671
    functionDepth: 0
    functionLinenumber: 4671
    functionLinenumberEnd: 4680
    functionName: CLEAR_HEAP_FRAMES
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_HEAP_FRAMES()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5593,1
    - Dst: pcre2_general_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5594,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5595,1
    - Dst: pcre2_compile_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5596,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5597,1
    - Dst: pcre2_match_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5598,1
    - Dst: pcre2_convert_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5599,1
    - Dst: pcre2_convert_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5600,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2test_inc.h:5601,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:5602,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:5603,1
    - Dst: pcre2_set_parens_nest_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5590
    functionDepth: 2
    functionLinenumber: 5590
    functionLinenumberEnd: 5609
    functionName: init_globals
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 4
    functionsReached:
    - pcre2_compile_context_create
    - pcre2_match_context_create
    - pcre2_match_context_copy
    - pcre2_general_context_create
    - pcre2_match_data_create
    - pcre2_convert_context_create
    - pcre2_set_parens_nest_limit
    - malloc
    - pcre2_general_context_copy
    - pcre2_compile_context_copy
    - pcre2_convert_context_copy
    linkageType: ''
    returnType: void
    signature: void init_globals(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_maketables_free
      Src: /src/pcre2/src/pcre2test_inc.h:5616,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5617,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:5618,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:5623,1
    - Dst: pcre2_jit_free_unused_memory
      Src: /src/pcre2/src/pcre2test_inc.h:5626,1
    - Dst: pcre2_jit_stack_free
      Src: /src/pcre2/src/pcre2test_inc.h:5629,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5632,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5633,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5634,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5635,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5636,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5637,1
    - Dst: pcre2_convert_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5638,1
    - Dst: pcre2_convert_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5639,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:5640,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:5641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5642
      start: 5613
    functionDepth: 1
    functionLinenumber: 5613
    functionLinenumberEnd: 5642
    functionName: free_globals
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_match_context_free
    - pcre2_jit_free_unused_memory
    - pcre2_compile_context_free
    - pcre2_general_context_free
    - pcre2_jit_stack_free
    - pcre2_match_data_free
    - pcre2_convert_context_free
    - pcre2_maketables_free
    - free
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void free_globals(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:5707,1
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:5708,1
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:5708,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:5726,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5743,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5744,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5745,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5746,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5747,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5748,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5749,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5750,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5751,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5752,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5753,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5754,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5755,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5756,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5757,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5758,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5759,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5760,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5761,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5762,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5763,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5764,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5765,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5766,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5767,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5768,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5769,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5770,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5773,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5774,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5776,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5777,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5778,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5779,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5781,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5782,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5784,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5785,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5787,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5788,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5790,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5791,1
    - Dst: pcre2_config
      Src: /src/pcre2/src/pcre2test_inc.h:5793,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5794,1
    - Dst: pcre2_general_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5798,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5799,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5800,1
    - Dst: pcre2_general_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5803,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5804,1
    - Dst: pcre2_general_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5807,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5808,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5810,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5811,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5812,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5813,1
    - Dst: pcre2_convert_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5814,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5815,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5817,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5818,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5819,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5820,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5821,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5822,1
    - Dst: pcre2_convert_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5823,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5824,1
    - Dst: pcre2_convert_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:5825,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5828,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5829,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5830,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5831,1
    - Dst: pcre2_convert_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:5832,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5833,1
    - Dst: pcre2_general_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5836,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5837,1
    - Dst: pcre2_compile_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5838,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5839,1
    - Dst: pcre2_match_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5840,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5841,1
    - Dst: pcre2_convert_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5842,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5843,1
    - Dst: pcre2_general_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5846,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5847,1
    - Dst: pcre2_compile_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5848,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5849,1
    - Dst: pcre2_match_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5850,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5851,1
    - Dst: pcre2_convert_context_copy
      Src: /src/pcre2/src/pcre2test_inc.h:5852,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5853,1
    - Dst: pcre2_set_compile_extra_options
      Src: /src/pcre2/src/pcre2test_inc.h:5855,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5856,1
    - Dst: pcre2_set_max_pattern_length
      Src: /src/pcre2/src/pcre2test_inc.h:5858,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5859,1
    - Dst: pcre2_set_max_pattern_compiled_length
      Src: /src/pcre2/src/pcre2test_inc.h:5861,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5862,1
    - Dst: pcre2_set_max_varlookbehind
      Src: /src/pcre2/src/pcre2test_inc.h:5864,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5865,1
    - Dst: pcre2_set_offset_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5867,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5868,1
    - Dst: pcre2_set_bsr
      Src: /src/pcre2/src/pcre2test_inc.h:5870,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5871,1
    - Dst: pcre2_set_newline
      Src: /src/pcre2/src/pcre2test_inc.h:5873,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5874,1
    - Dst: pcre2_set_recursion_limit
      Src: /src/pcre2/src/pcre2test_inc.h:5876,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5877,1
    - Dst: pcre2_set_recursion_memory_management
      Src: /src/pcre2/src/pcre2test_inc.h:5879,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5880,1
    - Dst: pcre2_set_optimize
      Src: /src/pcre2/src/pcre2test_inc.h:5882,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5883,1
    - Dst: pcre2_set_optimize
      Src: /src/pcre2/src/pcre2test_inc.h:5885,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5886,1
    - Dst: pcre2_set_optimize
      Src: /src/pcre2/src/pcre2test_inc.h:5888,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5889,1
    - Dst: pcre2_set_glob_escape
      Src: /src/pcre2/src/pcre2test_inc.h:5891,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5892,1
    - Dst: pcre2_set_glob_escape
      Src: /src/pcre2/src/pcre2test_inc.h:5894,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5895,1
    - Dst: pcre2_set_glob_escape
      Src: /src/pcre2/src/pcre2test_inc.h:5897,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5898,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:5902,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5904,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:5906,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5908,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:5910,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5912,1
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:5915,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5917,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2test_inc.h:5923,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5924,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2test_inc.h:5926,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5927,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5928,1
    - Dst: pcre2_get_ovector_count
      Src: /src/pcre2/src/pcre2test_inc.h:5928,1
    - Dst: pcre2_get_match_data_size
      Src: /src/pcre2/src/pcre2test_inc.h:5930,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5931,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5935,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2test_inc.h:5936,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5937,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5938,1
    - Dst: pcre2_get_ovector_count
      Src: /src/pcre2/src/pcre2test_inc.h:5938,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5940,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:5941,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5942,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:5944,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5945,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5946,1
    - Dst: pcre2_get_ovector_count
      Src: /src/pcre2/src/pcre2test_inc.h:5946,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5949,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:5950,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5952,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5955,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:5956,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5958,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:5960,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5962,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:5964,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5969,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5970,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5972,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5973,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5975,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5976,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2test_inc.h:5978,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5979,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:5980,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5981,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5982,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5985,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5986,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5991,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5992,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2test_inc.h:5994,1
    - Dst: pcre2_pattern_info
      Src: /src/pcre2/src/pcre2test_inc.h:5996,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:5997,1
    - Dst: pcre2_regcomp
      Src: /src/pcre2/src/pcre2test_inc.h:6011,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6012,1
    - Dst: pcre2_regexec
      Src: /src/pcre2/src/pcre2test_inc.h:6014,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6015,1
    - Dst: pcre2_regexec
      Src: /src/pcre2/src/pcre2test_inc.h:6017,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6018,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:6020,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:6021,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:6023,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:6025,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:6027,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:6029,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:6031,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test_inc.h:6031,1
    - Dst: regerror
      Src: /src/pcre2/src/pcre2test_inc.h:6033,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2test_inc.h:6035,1
    - Dst: strcmp
      Src: /src/pcre2/src/pcre2test_inc.h:6035,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:6049,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6050,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:6052,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:6053,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:6057,1
    - Dst: pcre2_strcmp_c8
      Src: /src/pcre2/src/pcre2test_inc.h:6059,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:6061,1
    - Dst: pcre2_strcmp_c8
      Src: /src/pcre2/src/pcre2test_inc.h:6063,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2test_inc.h:6065,1
    - Dst: pcre2_strcmp_c8
      Src: /src/pcre2/src/pcre2test_inc.h:6067,1
    - Dst: pcre2_maketables
      Src: /src/pcre2/src/pcre2test_inc.h:6073,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6074,1
    - Dst: pcre2_maketables_free
      Src: /src/pcre2/src/pcre2test_inc.h:6075,1
    - Dst: pcre2_maketables
      Src: /src/pcre2/src/pcre2test_inc.h:6077,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6078,1
    - Dst: pcre2_maketables_free
      Src: /src/pcre2/src/pcre2test_inc.h:6079,1
    - Dst: pcre2_maketables
      Src: /src/pcre2/src/pcre2test_inc.h:6082,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6083,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6089,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6090,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6092,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6093,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6096,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6097,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6100,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6101,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6103,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6105,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6106,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6109,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6110,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6112,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6113,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6115,1
    - Dst: pcre2_callout_enumerate
      Src: /src/pcre2/src/pcre2test_inc.h:6118,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6119,1
    - Dst: pcre2_substring_free
      Src: /src/pcre2/src/pcre2test_inc.h:6124,1
    - Dst: pcre2_substring_list_free
      Src: /src/pcre2/src/pcre2test_inc.h:6125,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6127,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6128,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6130,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:6132,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:6133,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6135,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:6137,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6139,1
    - Dst: pcre2_substring_copy_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6145,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6146,1
    - Dst: pcre2_substring_copy_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6148,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6149,1
    - Dst: pcre2_substring_copy_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6151,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6152,1
    - Dst: pcre2_substring_copy_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6155,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6156,1
    - Dst: pcre2_substring_copy_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6158,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6159,1
    - Dst: pcre2_substring_get_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6165,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6166,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6169,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6170,1
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6178,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6179,1
    - Dst: pcre2_substring_length_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6180,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6181,1
    - Dst: pcre2_substring_length_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6184,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6185,1
    - Dst: pcre2_substring_length_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6186,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6187,1
    - Dst: pcre2_substring_list_get
      Src: /src/pcre2/src/pcre2test_inc.h:6191,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6192,1
    - Dst: pcre2_substring_list_free
      Src: /src/pcre2/src/pcre2test_inc.h:6193,1
    - Dst: pcre2_substring_list_get
      Src: /src/pcre2/src/pcre2test_inc.h:6196,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6197,1
    - Dst: pcre2_substring_list_free
      Src: /src/pcre2/src/pcre2test_inc.h:6198,1
    - Dst: pcre2_substring_list_get
      Src: /src/pcre2/src/pcre2test_inc.h:6203,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6204,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:6210,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6212,1
    - Dst: pcre2_substring_copy_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6215,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6216,1
    - Dst: pcre2_substring_copy_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6217,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6218,1
    - Dst: pcre2_substring_get_byname
      Src: /src/pcre2/src/pcre2test_inc.h:6219,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6220,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2test_inc.h:6221,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6222,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6231,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6232,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6234,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6236,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6238,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:6240,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/pcre2/src/pcre2test_inc.h:6241,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6243,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6245,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2test_inc.h:6246,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6248,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6251,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6253,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6256,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6259,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6261,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6264,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6267,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6271,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6274,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6277,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6279,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6282,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6285,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6287,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6290,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6293,1
    - Dst: pcre2_substitute
      Src: /src/pcre2/src/pcre2test_inc.h:6295,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6298,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6303,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6309,1
    - Dst: pcre2_serialize_encode
      Src: /src/pcre2/src/pcre2test_inc.h:6310,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6312,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6313,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6320,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:6322,1
    - Dst: pcre2_serialize_decode
      Src: /src/pcre2/src/pcre2test_inc.h:6324,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6325,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6328,1
    - Dst: pcre2_general_context_create
      Src: /src/pcre2/src/pcre2test_inc.h:6336,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6337,1
    - Dst: pcre2_serialize_decode
      Src: /src/pcre2/src/pcre2test_inc.h:6338,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6340,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6343,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6351,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:6352,1
    - Dst: pcre2_serialize_decode
      Src: /src/pcre2/src/pcre2test_inc.h:6355,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6356,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6357,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6373,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2test_inc.h:6375,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6377,1
    - Dst: pcre2_serialize_encode
      Src: /src/pcre2/src/pcre2test_inc.h:6380,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6382,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6383,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6384,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6387,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6392,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2test_inc.h:6395,1
    - Dst: pcre2_serialize_decode
      Src: /src/pcre2/src/pcre2test_inc.h:6398,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2test_inc.h:6400,1
    - Dst: ASSERT
      Src: /src/pcre2/src/pcre2test_inc.h:6402,1
    - Dst: pcre2_serialize_free
      Src: /src/pcre2/src/pcre2test_inc.h:6406,1
    - Dst: pcre2_serialize_free
      Src: /src/pcre2/src/pcre2test_inc.h:6409,1
    - Dst: pcre2_regfree
      Src: /src/pcre2/src/pcre2test_inc.h:6420,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6423,1
    - Dst: G
      Src: /src/pcre2/src/pcre2test_inc.h:6425,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2test_inc.h:6427,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2test_inc.h:6429,1
    - Dst: pcre2_convert_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6431,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6432,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6433,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6434,1
    - Dst: pcre2_convert_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6435,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6436,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6437,1
    - Dst: pcre2_general_context_free
      Src: /src/pcre2/src/pcre2test_inc.h:6438,1
    - Dst: free
      Src: /src/pcre2/src/pcre2test_inc.h:6440,1
    - Dst: cfprintf
      Src: /src/pcre2/src/pcre2test_inc.h:6444,1
    - Dst: exit
      Src: /src/pcre2/src/pcre2test_inc.h:6445,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 414
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6447
      start: 5678
    functionDepth: 7
    functionLinenumber: 5678
    functionLinenumberEnd: 6447
    functionName: unittest
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 1
    functionsReached:
    - pcre2_match_data_create
    - pcre2_convert_context_create
    - pcre2_pattern_info
    - pcre2_set_max_pattern_length
    - pcre2_set_offset_limit
    - pcre2_serialize_encode
    - pcre2_match_data_create_from_pattern
    - pcre2_substring_copy_byname
    - pcre2_substring_list_free
    - pcre2_serialize_free
    - pcre2_general_context_create
    - pcre2_match_context_free
    - pcre2_strcmp_c8
    - pcre2_compile_context_free
    - pcre2_substring_get_bynumber
    - pcre2_maketables
    - pcre2_get_match_data_size
    - pcre2_general_context_copy
    - pcre2_match_data_free
    - pcre2_set_glob_escape
    - G
    - pcre2_convert_context_copy
    - ASSERT
    - pcre2_set_max_pattern_compiled_length
    - pcre2_get_ovector_count
    - pcre2_callout_enumerate
    - pcre2_substring_free
    - pcre2_match_context_create
    - strcmp
    - pcre2_match
    - pcre2_substring_copy_bynumber
    - pcre2_general_context_free
    - pcre2_serialize_decode
    - pcre2_regcomp
    - pcre2_set_max_varlookbehind
    - regerror
    - malloc
    - pcre2_get_error_message
    - pcre2_set_newline
    - pcre2_regfree
    - exit
    - free
    - pcre2_set_compile_extra_options
    - pcre2_set_optimize
    - memcpy
    - pcre2_compile_context_create
    - pcre2_substitute
    - pcre2_match_context_copy
    - pcre2_config
    - memset
    - pcre2_set_recursion_limit
    - pcre2_substring_length_bynumber
    - pcre2_jit_compile
    - pcre2_substring_length_byname
    - pcre2_compile
    - pcre2_regexec
    - pcre2_substring_get_byname
    - pcre2_set_recursion_memory_management
    - pcre2_convert_context_free
    - pcre2_substring_list_get
    - pcre2_maketables_free
    - pcre2_set_bsr
    - pcre2_compile_context_copy
    - strlen
    - cfprintf
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void unittest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5730
    functionDepth: 0
    functionLinenumber: 5730
    functionLinenumberEnd: 5734
    functionName: ASSERT
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5739
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5739
    functionName: ASSERT
    functionSourceFile: /src/pcre2/src/pcre2test_inc.h
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:107,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - compile_options
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: print_compile_options
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_compile_options(FILE *stream, uint32_t compile_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:145,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - match_options
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: print_match_options
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_match_options(FILE *stream, uint32_t match_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:170,1
    - Dst: vfprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:171,1
    - Dst: va_end
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:172,1
    - Dst: pcre2_get_error_message
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:173,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:174,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - f
    - errorcode
    - text
    argTypes:
    - FILE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: print_error
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 2
    functionsReached:
    - fprintf
    - pcre2_get_error_message
    - va_end
    - vfprintf
    - printf
    - va_start
    linkageType: ''
    returnType: void
    signature: void print_error(FILE *f, int errorcode, const char *text, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:191,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:196,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:199,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:201,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - count
    - match_data
    argTypes:
    - FILE*
    - int
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: dump_matches
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - fprintf
    - print_error
    - pcre2_substring_get_bynumber
    linkageType: ''
    returnType: void
    signature: void dump_matches(FILE *stream, int count, pcre2_match_data *match_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:226,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:228,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:231,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:233,1
    - Dst: print_compile_options
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:235,1
    - Dst: print_match_options
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:236,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:240,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:245,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:248,1
    - Dst: dump_matches
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:249,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:250,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:256,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:262,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:265,1
    - Dst: dump_matches
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:266,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:267,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 11
    argNames:
    - task
    - data
    - size
    - compile_options
    - match_options
    - errorcode
    - errorcode_jit
    - matches
    - matches_jit
    - match_data
    - match_data_jit
    argTypes:
    - char*
    - PCRE2_UCHAR*
    - PCRE2_SIZE
    - uint32_t
    - uint32_t
    - int
    - int
    - int
    - int
    - pcre2_match_data*
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 272
    functionName: describe_failure
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - dump_matches
    - fprintf
    - print_compile_options
    - print_error
    - abort
    - print_match_options
    linkageType: ''
    returnType: void
    signature: "void describe_failure(\n  const char *task,\n  const PCRE2_UCHAR *data,\n
      \ PCRE2_SIZE size,\n  uint32_t compile_options,\n  uint32_t match_options,\n
      \ int errorcode,\n  int errorcode_jit,\n  int matches,\n  int matches_jit,\n
      \ pcre2_match_data *match_data,\n  pcre2_match_data *match_data_jit\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cb
    - callout_data
    argTypes:
    - pcre2_callout_block*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: callout_function
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callout_function(pcre2_callout_block *cb, void *callout_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:298,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:302,1
    - Dst: _exit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:303,1
    - Dst: setrlimit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:305,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:308,1
    - Dst: _exit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 315
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - fprintf
    - setrlimit
    - _exit
    - getrlimit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:360,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:361,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:433,1
    - Dst: pcre2_compile_context_create
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:463,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:467,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:469,1
    - Dst: pcre2_set_max_pattern_compiled_length
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:471,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:508,1
    - Dst: print_compile_options
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:509,1
    - Dst: pcre2_compile
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:512,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:529,1
    - Dst: pcre2_jit_compile
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:531,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:533,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:539,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:552,1
    - Dst: pcre2_match_data_create
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:554,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:561,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:563,1
    - Dst: pcre2_match_context_create
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:569,1
    - Dst: fprintf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:573,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:575,1
    - Dst: pcre2_set_match_limit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:577,1
    - Dst: pcre2_set_depth_limit
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:578,1
    - Dst: pcre2_set_callout
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:579,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:585,1
    - Dst: print_match_options
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:590,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:594,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:598,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:599,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:609,1
    - Dst: pcre2_match
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:612,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:617,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:619,1
    - Dst: describe_failure
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:637,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:650,1
    - Dst: pcre2_substring_get_bynumber
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:651,1
    - Dst: describe_failure
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:655,1
    - Dst: describe_failure
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:664,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:669,1
    - Dst: describe_failure
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:671,1
    - Dst: pcre2_substring_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:677,1
    - Dst: pcre2_substring_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:678,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:695,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:701,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:702,1
    - Dst: pcre2_dfa_match
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:715,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:721,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:723,1
    - Dst: pcre2_code_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:731,1
    - Dst: print_error
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:739,1
    - Dst: abort
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:742,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:752,1
    - Dst: pcre2_match_data_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:754,1
    - Dst: free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:756,1
    - Dst: pcre2_match_context_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:757,1
    - Dst: pcre2_compile_context_free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:758,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 204
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 319
    functionDepth: 7
    functionLinenumber: 319
    functionLinenumberEnd: 760
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcre2_match_data_create
    - print_match_options
    - memcmp
    - pcre2_match_context_free
    - pcre2_compile_context_free
    - pcre2_substring_get_bynumber
    - print_compile_options
    - pcre2_match_data_free
    - pcre2_set_max_pattern_compiled_length
    - pcre2_substring_free
    - pcre2_match_context_create
    - pcre2_set_match_limit
    - pcre2_match
    - pcre2_dfa_match
    - abort
    - print_error
    - malloc
    - free
    - memcpy
    - pcre2_compile_context_create
    - describe_failure
    - pcre2_jit_compile
    - pcre2_compile
    - pcre2_set_callout
    - printf
    - pcre2_set_depth_limit
    - pcre2_code_free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(unsigned char *data, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:768,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:772,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:788,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:789,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:790,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:791,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:792,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:794,1
    - Dst: memcpy
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:797,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:798,1
    - Dst: free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:799,1
    - Dst: fopen
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:806,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:809,1
    - Dst: strerror
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:809,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:813,1
    - Dst: fseek
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:815,1
    - Dst: ftell
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:816,1
    - Dst: fseek
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:817,1
    - Dst: malloc
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:819,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:822,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:823,1
    - Dst: fread
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:827,1
    - Dst: fclose
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:828,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:831,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:834,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:835,1
    - Dst: free
      Src: /src/pcre2/src/pcre2_fuzzsupport.c:837,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 841
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2_fuzzsupport.c
    functionUses: 17
    functionsReached:
    - LLVMFuzzerInitialize
    - fread
    - LLVMFuzzerTestOneInput
    - strerror
    - malloc
    - fopen
    - fseek
    - fclose
    - printf
    - strlen
    - free
    - ftell
    - memcpy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - allocator_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SLJIT_MALLOC
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLJIT_MALLOC(size, allocator_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - allocator_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: SLJIT_FREE
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLJIT_FREE(ptr, allocator_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::malloc
      Src: /src/pcre2/src/pcre2_jit_compile.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - allocator_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: pcre2_jit_malloc
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::malloc
    linkageType: ''
    returnType: void
    signature: void * pcre2_jit_malloc(size_t size, void *allocator_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_memctl*::free
      Src: /src/pcre2/src/pcre2_jit_compile.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - allocator_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: pcre2_jit_free
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - pcre2_memctl*::free
    linkageType: ''
    returnType: void
    signature: void pcre2_jit_free(void *ptr, void *allocator_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: STACK
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STACK(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: OVECTOR
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OVECTOR(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: OVECTOR_PRIV
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OVECTOR_PRIV(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: PRIVATE_DATA
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIVATE_DATA(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: IN_UCHARS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_UCHARS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: IN_UCHARS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_UCHARS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: IN_UCHARS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_UCHARS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - op
    - ','
    - dst
    - ','
    - dstw
    - ','
    - src
    - ','
    - srcw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 654
    functionName: OP1
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP1(op, dst, dstw, src, srcw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - op
    - ','
    - dst
    - ','
    - dstw
    - ','
    - src1
    - ','
    - src1w
    - ','
    - src2
    - ','
    - src2w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: OP2
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP2(op, dst, dstw, src1, src1w, src2, src2w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - op
    - ','
    - src1
    - ','
    - src1w
    - ','
    - src2
    - ','
    - src2w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 658
    functionName: OP2U
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP2U(op, src1, src1w, src2, src2w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - src
    - ','
    - srcw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: OP_SRC
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SRC(op, src, srcw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: LABEL
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LABEL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: JUMP
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JUMP(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 666
    functionName: JUMPTO
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JUMPTO(type, label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jump
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: JUMPHERE
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JUMPHERE(jump)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jump
    - ','
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: SET_LABEL
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_LABEL(jump, label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - src1
    - ','
    - src1w
    - ','
    - src2
    - ','
    - src2w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: CMP
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP(type, src1, src1w, src2, src2w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type
    - ','
    - src1
    - ','
    - src1w
    - ','
    - src2
    - ','
    - src2w
    - ','
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: CMPTO
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPTO(type, src1, src1w, src2, src2w, label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - op
    - ','
    - dst
    - ','
    - dstw
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: OP_FLAGS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_FLAGS(op, dst, dstw, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - dst_reg
    - ','
    - src1
    - ','
    - src1w
    - ','
    - src2_reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: SELECT
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SELECT(type, dst_reg, src1, src1w, src2_reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - dstw
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: GET_LOCAL_BASE
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LOCAL_BASE(dst, dstw, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - end
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 750
    functionName: GETCHARINC_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC_INVALID(c, ptr, end, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - start
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 813
    functionName: GETCHARBACK_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARBACK_INVALID(c, ptr, start, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - end
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: GETCHARINC_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC_INVALID(c, ptr, end, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - start
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 846
    functionName: GETCHARBACK_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARBACK_INVALID(c, ptr, start, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - end
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: GETCHARINC_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARINC_INVALID(c, ptr, end, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - ptr
    - ','
    - start
    - ','
    - invalid_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 870
    functionName: GETCHARBACK_INVALID
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETCHARBACK_INVALID(c, ptr, start, invalid_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:876,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:877,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - cc
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 881
    functionName: bracketend
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - SLJIT_ASSERT
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR bracketend(PCRE2_SPTR cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:886,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:889,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - cc
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 895
    functionName: no_alternatives
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - SLJIT_ASSERT
    linkageType: ''
    returnType: int
    signature: int no_alternatives(PCRE2_SPTR cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:899,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cc
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 910
    functionName: find_vreverse
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - SLJIT_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: BOOL find_vreverse(PCRE2_SPTR cc)
  - BBCount: 175
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:926,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1022,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1080,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1082,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1082,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1100,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1109,1
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1114,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1115,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:1126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 191
    argCount: 2
    argNames:
    - common
    - cc
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 1129
    functionName: next_opcode
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_UNUSED_ARG
    - SLJIT_UNREACHABLE
    - GET_EXTRALEN
    - PRIV
    - GET
    - HAS_EXTRALEN
    - SLJIT_COMPILE_ASSERT
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR next_opcode(compiler_common *common, PCRE2_SPTR cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1134,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:1135,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1139,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1142,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1147,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1148,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1148,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - common
    - cc
    - current_locals_size
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1153
    functionName: ref_update_local_size
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    - SSIZE_OF
    - SLJIT_UNUSED_ARG
    - PRIV
    linkageType: ''
    returnType: sljit_s32
    signature: sljit_s32 ref_update_local_size(compiler_common *common, PCRE2_SPTR
      cc, sljit_s32 current_locals_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - common
    - capture_index
    argTypes:
    - compiler_common*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: is_optimized_cbracket
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE is_optimized_cbracket(compiler_common *common, sljit_s32
      capture_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - common
    - capture_index
    argTypes:
    - compiler_common*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: clear_optimized_cbracket
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE clear_optimized_cbracket(compiler_common *common, sljit_s32
      capture_index)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1173,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1191,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1192,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1199,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1200,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1206,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1207,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1209,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1210,1
    - Dst: ref_update_local_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:1216,1
    - Dst: clear_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1217,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1217,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1218,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1224,1
    - Dst: clear_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1232,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1232,1
    - Dst: clear_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1246,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1246,1
    - Dst: ref_update_local_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:1252,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1255,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1256,1
    - Dst: clear_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1259,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1259,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1262,1
    - Dst: clear_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1271,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1271,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:1279,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1279,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1283,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1330,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1330,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1330,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1331,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1339,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1340,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:1344,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1351,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:1351,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1361,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1368,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1375,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 152
    argCount: 3
    argNames:
    - common
    - cc
    - ccend
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1381
    functionName: check_opcode_types
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - clear_optimized_cbracket
    - GET2
    - SSIZE_OF
    - ref_update_local_size
    - PRIV
    - next_opcode
    - GET
    - bracketend
    linkageType: ''
    returnType: BOOL
    signature: BOOL check_opcode_types(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR
      ccend)
  - BBCount: 154
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1407,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1408,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1408,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1408,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1409,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1411,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1483,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1483,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1565,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1565,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1574,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1574,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1612,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:1612,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1622,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1646,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1646,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1682,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1685,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:1686,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1686,1
    - Dst: detect_early_fail
      Src: /src/pcre2/src/pcre2_jit_compile.c:1689,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:1694,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:1705,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:1705,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1766,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 275
    argCount: 5
    argNames:
    - common
    - cc
    - private_data_start
    - depth
    - start
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - int*
    - sljit_s32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1771
    functionName: detect_early_fail
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SLJIT_ASSERT
    - PRIVATE_DATA
    - GET2
    - GET
    - GET_EXTRALEN
    - is_optimized_cbracket
    - HAS_EXTRALEN
    - detect_early_fail
    - bracketend
    linkageType: ''
    returnType: int
    signature: "int detect_early_fail(compiler_common *common, PCRE2_SPTR cc,\n   int
      *private_data_start, sljit_s32 depth, int start)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1791,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:1792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - cc
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1803
    functionName: get_class_iterator_size
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    linkageType: ''
    returnType: int
    signature: int get_class_iterator_size(PCRE2_SPTR cc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1807,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:1816,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:1821,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1830,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:1831,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:1831,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1849,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:1850,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:1850,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1858,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:1859,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:1859,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:1875,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 2
    argNames:
    - common
    - begin
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1890
    functionName: detect_repeat
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - PRIVATE_DATA
    - IN_UCHARS
    - GET
    - memcmp
    - bracketend
    linkageType: ''
    returnType: BOOL
    signature: BOOL detect_repeat(compiler_common *common, PCRE2_SPTR begin)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: detect_repeat
      Src: /src/pcre2/src/pcre2_jit_compile.c:1964,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:1969,1
    - Dst: find_vreverse
      Src: /src/pcre2/src/pcre2_jit_compile.c:2006,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:2031,1
    - Dst: get_class_iterator_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:2096,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:2102,1
    - Dst: get_class_iterator_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:2103,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2108,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2109,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2127,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2127,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:2138,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 137
    argCount: 3
    argNames:
    - common
    - private_data_start
    - ccend
    argTypes:
    - compiler_common*
    - int*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 1944
    functionDepth: 3
    functionLinenumber: 1944
    functionLinenumberEnd: 2146
    functionName: set_private_data_ptrs
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - detect_repeat
    - get_class_iterator_size
    - find_vreverse
    - next_opcode
    - GET_EXTRALEN
    - GET
    - HAS_EXTRALEN
    - bracketend
    linkageType: ''
    returnType: void
    signature: void set_private_data_ptrs(compiler_common *common, int *private_data_start,
      PCRE2_SPTR ccend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - common
    - capture_index
    argTypes:
    - compiler_common*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2156
    functionName: is_cbracket_processed
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE is_cbracket_processed(compiler_common *common, sljit_s32
      capture_index)
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2171,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:2177,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:2181,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2188,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2191,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2196,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2210,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2243,1
    - Dst: is_cbracket_processed
      Src: /src/pcre2/src/pcre2_jit_compile.c:2244,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2261,1
    - Dst: is_cbracket_processed
      Src: /src/pcre2/src/pcre2_jit_compile.c:2262,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2349,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2350,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:2355,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 153
    argCount: 5
    argNames:
    - common
    - cc
    - ccend
    - recursive
    - needs_control_head
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - BOOL
    - BOOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2159
    functionDepth: 2
    functionLinenumber: 2159
    functionLinenumberEnd: 2361
    functionName: get_framesize
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - memset
    - is_cbracket_processed
    - GET2
    - SLJIT_UNLIKELY
    - next_opcode
    - bracketend
    linkageType: ''
    returnType: int
    signature: int get_framesize(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR
      ccend, BOOL recursive, BOOL *needs_control_head)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:2373,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2374,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:2376,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:2378,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:2381,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2383,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2387,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2392,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2395,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2395,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2395,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2396,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2396,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2396,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2397,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2398,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2398,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2399,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2409,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2412,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2412,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2413,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2413,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2414,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2415,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2415,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2416,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2425,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2425,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2425,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2426,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2426,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2426,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2427,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2428,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2428,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2429,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2434,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2434,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2435,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2435,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2436,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2437,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2437,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2438,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2443,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2443,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2444,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2444,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2445,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2446,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2446,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2447,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2453,1
    - Dst: is_cbracket_processed
      Src: /src/pcre2/src/pcre2_jit_compile.c:2454,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2457,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2457,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2457,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2458,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2459,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2459,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2459,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2460,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2460,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2460,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2461,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2461,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2462,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2463,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2463,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2464,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2476,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2476,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2477,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2477,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2478,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2479,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2479,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2480,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2484,1
    - Dst: is_cbracket_processed
      Src: /src/pcre2/src/pcre2_jit_compile.c:2485,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2488,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2488,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2488,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2489,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2490,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2490,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2490,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2491,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2491,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2491,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2492,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2492,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2493,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2494,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2494,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:2495,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2502,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2503,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2507,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2507,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2508,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:2508,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 116
    argCount: 5
    argNames:
    - common
    - cc
    - ccend
    - stackpos
    - stacktop
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2363
    functionDepth: 2
    functionLinenumber: 2363
    functionLinenumberEnd: 2509
    functionName: init_frame
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - OVECTOR
    - memset
    - is_cbracket_processed
    - GET2
    - SSIZE_OF
    - SLJIT_UNUSED_ARG
    - STACK
    - next_opcode
    - SLJIT_MEM1
    - OP1
    - bracketend
    linkageType: ''
    returnType: void
    signature: void init_frame(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR
      ccend, int stackpos, int stacktop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2528,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2529,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:2529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - status
    - common
    argTypes:
    - delayed_mem_copy_status*
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2535
    functionName: delayed_mem_copy_init
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - sljit_get_register_index
    linkageType: ''
    returnType: void
    signature: void delayed_mem_copy_init(delayed_mem_copy_status *status, compiler_common
      *common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2544,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:2549,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2550,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2553,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2553,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2555,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - status
    - load_base
    - load_offset
    - store_base
    - store_offset
    argTypes:
    - delayed_mem_copy_status*
    - int
    - sljit_sw
    - int
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2560
    functionName: delayed_mem_copy_move
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_MEM1
    - SLJIT_ASSERT
    - OP1
    - sljit_get_register_index
    linkageType: ''
    returnType: void
    signature: "void delayed_mem_copy_move(delayed_mem_copy_status *status, int load_base,
      sljit_sw load_offset,\n  int store_base, sljit_s32 store_offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2575,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2575,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:2578,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:2579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - status
    argTypes:
    - delayed_mem_copy_status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2562
    functionDepth: 1
    functionLinenumber: 2562
    functionLinenumberEnd: 2584
    functionName: delayed_mem_copy_finish
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_MEM1
    - OP1
    - sljit_get_register_index
    linkageType: ''
    returnType: void
    signature: void delayed_mem_copy_finish(delayed_mem_copy_status *status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2593,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - common
    - bit_index
    argTypes:
    - compiler_common*
    - sljit_sw
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2607
    functionName: recurse_check_bit
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    linkageType: ''
    returnType: BOOL
    signature: BOOL recurse_check_bit(compiler_common *common, sljit_sw bit_index)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:2625,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2633,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2634,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2634,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2641,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2652,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2662,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2670,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2673,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2675,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2675,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2676,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2693,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2693,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2694,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2694,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2702,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2703,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2703,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2705,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2705,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2705,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2716,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2716,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2717,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2717,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2724,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2725,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2725,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2727,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2727,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2727,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:2730,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2730,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:2730,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2732,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2739,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2740,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2740,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2742,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2742,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2742,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2745,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:2745,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2747,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2747,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2749,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:2756,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2757,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2757,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2763,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2764,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2768,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2768,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2773,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2774,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2776,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2776,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2781,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2781,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2786,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2787,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2789,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2789,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2794,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:2794,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2799,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2800,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2806,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2807,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2809,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2809,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2816,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2817,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2819,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2819,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:2830,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:2835,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2836,1
    - Dst: get_class_iterator_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:2837,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2845,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2868,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:2880,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2881,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2885,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 208
    argCount: 4
    argNames:
    - common
    - cc
    - ccend
    - result_flags
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2618
    functionDepth: 2
    functionLinenumber: 2618
    functionLinenumberEnd: 2899
    functionName: get_recurse_data_length
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - HAS_EXTRALEN
    - OVECTOR
    - memset
    - PRIVATE_DATA
    - GET2
    - OVECTOR_PRIV
    - get_class_iterator_size
    - GET
    - GET_EXTRALEN
    - next_opcode
    - is_optimized_cbracket
    - recurse_check_bit
    linkageType: ''
    returnType: int
    signature: int get_recurse_data_length(compiler_common *common, PCRE2_SPTR cc,
      PCRE2_SPTR ccend, uint32_t *result_flags)
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:2920,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:2928,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2929,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:2929,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2936,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:2937,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2955,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:2961,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:2962,1
    - Dst: delayed_mem_copy_init
      Src: /src/pcre2/src/pcre2_jit_compile.c:2987,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:2991,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:2994,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:2997,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3006,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3009,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3024,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3025,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3025,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3027,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3036,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3036,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3038,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3041,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3048,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3060,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3063,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3065,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3065,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3066,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3083,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3084,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3092,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3093,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3094,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3097,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3097,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3108,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3110,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3117,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3118,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3119,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3122,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3122,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3126,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:3132,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:3134,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3135,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3144,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3145,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3146,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3149,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3149,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3153,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3159,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3160,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:3163,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3164,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3174,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3177,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3178,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3185,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3186,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3190,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3190,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3195,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3196,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3200,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3200,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3204,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3204,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3209,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3210,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3214,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3214,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3218,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3218,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3223,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3224,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3230,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3231,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3235,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3235,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3241,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3242,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3246,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3246,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3256,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3260,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3263,1
    - Dst: get_class_iterator_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:3264,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3270,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3274,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3274,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3279,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3290,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3291,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3296,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3305,1
    - Dst: recurse_check_bit
      Src: /src/pcre2/src/pcre2_jit_compile.c:3306,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:3315,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3316,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3322,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3326,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3329,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3332,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3342,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3346,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3349,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3352,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3362,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3366,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3369,1
    - Dst: delayed_mem_copy_move
      Src: /src/pcre2/src/pcre2_jit_compile.c:3372,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3381,1
    - Dst: delayed_mem_copy_finish
      Src: /src/pcre2/src/pcre2_jit_compile.c:3383,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 329
    argCount: 7
    argNames:
    - common
    - cc
    - ccend
    - type
    - stackptr
    - stacktop
    - recurse_flags
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_SPTR
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 2909
    functionDepth: 2
    functionLinenumber: 2909
    functionLinenumberEnd: 3384
    functionName: copy_recurse_data
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - HAS_EXTRALEN
    - OVECTOR
    - memset
    - PRIVATE_DATA
    - GET2
    - OVECTOR_PRIV
    - get_class_iterator_size
    - delayed_mem_copy_move
    - GET
    - SLJIT_UNREACHABLE
    - STACK
    - GET_EXTRALEN
    - next_opcode
    - delayed_mem_copy_finish
    - is_optimized_cbracket
    - recurse_check_bit
    - delayed_mem_copy_init
    linkageType: ''
    returnType: void
    signature: "void copy_recurse_data(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR
      ccend,\n  int type, int stackptr, int stacktop, uint32_t recurse_flags)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:3388,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3389,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:3400,1
    - Dst: set_then_offsets
      Src: /src/pcre2/src/pcre2_jit_compile.c:3423,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:3442,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3448,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:3449,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 3
    argNames:
    - common
    - cc
    - current_offset
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - sljit_u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3386
    functionDepth: 2
    functionLinenumber: 3386
    functionLinenumberEnd: 3452
    functionName: set_then_offsets
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - PRIVATE_DATA
    - set_then_offsets
    - next_opcode
    - GET
    - bracketend
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE set_then_offsets(compiler_common *common, PCRE2_SPTR cc,
      sljit_u8 *current_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3461
    functionDepth: 0
    functionLinenumber: 3461
    functionLinenumberEnd: 3464
    functionName: is_powerof2
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE is_powerof2(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - label
    argTypes:
    - jump_list*
    - struct sljit_label*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3475
    functionName: set_jumps
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 3
    functionsReached:
    - SET_LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE set_jumps(jump_list *list, struct sljit_label *label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sljit_alloc_memory
      Src: /src/pcre2/src/pcre2_jit_compile.c:3479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - compiler
    - list
    - jump
    argTypes:
    - struct sljit_compiler*
    - jump_list**
    - struct sljit_jump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3486
    functionName: add_jump
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 18
    functionsReached:
    - sljit_alloc_memory
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE add_jump(struct sljit_compiler *compiler, jump_list **list,
      struct sljit_jump *jump)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sljit_alloc_memory
      Src: /src/pcre2/src/pcre2_jit_compile.c:3491,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - common
    - start
    argTypes:
    - compiler_common*
    - struct sljit_jump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3488
    functionDepth: 1
    functionLinenumber: 3488
    functionLinenumberEnd: 3500
    functionName: add_stub
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_alloc_memory
    - LABEL
    linkageType: ''
    returnType: void
    signature: void add_stub(compiler_common *common, struct sljit_jump *start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3509,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:3510,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:3510,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3515
    functionName: flush_stubs
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPTO
    - JUMPHERE
    - JUMP
    - add_jump
    linkageType: ''
    returnType: void
    signature: void flush_stubs(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3521,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:3522,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:3522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3517
    functionDepth: 1
    functionLinenumber: 3517
    functionLinenumberEnd: 3523
    functionName: count_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - OP2
    - JUMP
    - add_jump
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE count_match(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3530,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3531,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3531,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3533,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3534,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3535,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3537,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3537,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3539,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3539,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3540,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3540,1
    - Dst: add_stub
      Src: /src/pcre2/src/pcre2_jit_compile.c:3543,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:3543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - common
    - size
    argTypes:
    - compiler_common*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3525
    functionDepth: 2
    functionLinenumber: 3525
    functionLinenumberEnd: 3544
    functionName: allocate_stack
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SLJIT_ASSERT
    - CMP
    - SSIZE_OF
    - OP2
    - add_stub
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE allocate_stack(compiler_common *common, sljit_s32 size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3550,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3551,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - common
    - size
    argTypes:
    - compiler_common*
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3546
    functionDepth: 1
    functionLinenumber: 3546
    functionLinenumberEnd: 3552
    functionName: free_stack
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SSIZE_OF
    - SLJIT_ASSERT
    - OP2
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE free_stack(compiler_common *common, sljit_s32 size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:3559,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:3559,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_compile.c:3562,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:3563,1
    - Dst: sljit_set_compiler_memory_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:3565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - common
    - size
    argTypes:
    - compiler_common*
    - sljit_uw
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3554
    functionDepth: 1
    functionLinenumber: 3554
    functionLinenumberEnd: 3572
    functionName: allocate_read_only_data
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_UNLIKELY
    - sljit_set_compiler_memory_error
    - SLJIT_MALLOC
    - sljit_get_compiler_error
    linkageType: ''
    returnType: sljit_uw
    signature: sljit_uw * allocate_read_only_data(compiler_common *common, sljit_uw
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3581,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3583,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3583,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3583,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:3583,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3587,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3587,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3587,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3591,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3591,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3593,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3594,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3595,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3596,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3596,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3597,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3598,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3602,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3603,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3604,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3605,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3605,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3606,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3607,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - common
    - length
    argTypes:
    - compiler_common*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3574
    functionDepth: 1
    functionLinenumber: 3574
    functionLinenumberEnd: 3611
    functionName: reset_ovector
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - OVECTOR
    - SLJIT_OFFSETOF
    - OP2
    - JUMPTO
    - IN_UCHARS
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE reset_ovector(compiler_common *common, int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3622,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3626,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3626,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:3630,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:3630,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3632,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3639,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3639,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3643,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3647,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3649,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3650,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3650,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3651,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3652,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3652,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3652,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3653,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3653,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3653,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3654,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3657,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3657,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3660,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3660,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3661
    functionName: reset_early_fail
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - sljit_has_cpu_feature
    - OP2
    - SSIZE_OF
    - sljit_get_register_index
    - CMPTO
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE reset_early_fail(compiler_common *common)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3669,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3672,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3672,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3672,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3676,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3676,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3676,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3680,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3680,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3682,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3683,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3684,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3685,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3685,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3686,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3687,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3691,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3692,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3693,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3694,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3694,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3695,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3696,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3697,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3702,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3702,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3702,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3704,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3707,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3707,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3709,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3709,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3711,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3711,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3711,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3713,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3713,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3714,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3714,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - common
    - length
    argTypes:
    - compiler_common*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3663
    functionDepth: 1
    functionLinenumber: 3663
    functionLinenumberEnd: 3715
    functionName: do_reset_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - OVECTOR
    - JUMPTO
    - OP2
    - SLJIT_OFFSETOF
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE do_reset_match(compiler_common *common, int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:3727,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3732,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3735,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - current
    - skip_arg
    argTypes:
    - sljit_sw*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3739
    functionName: do_search_mark
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - SLJIT_UNREACHABLE
    - PRIV
    linkageType: ''
    returnType: sljit_sw
    signature: sljit_sw do_search_mark(sljit_sw *current, PCRE2_SPTR skip_arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3748,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3748,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3748,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3749,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3749,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3749,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3753,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3754,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3754,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3756,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3756,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3757,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3757,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3757,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3758,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3758,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3758,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3760,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3760,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3760,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3761,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3761,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3761,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3762,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3766,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3766,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3767,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3767,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3767,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3769,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3769,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3770,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3770,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3770,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3771,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3771,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3771,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3773,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3773,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3773,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3774,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3774,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3777,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3777,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3779,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3780,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3780,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3780,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3782,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3785,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3785,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3788,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3788,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3789,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3792,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3793,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3796,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3799,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3800,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3800,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3802,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3803,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3808,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3808,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3808,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3810,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3811,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3814,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:3815,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3815,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3815,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3816,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3817,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3818,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3822,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3823,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:3826,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3827,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3827,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3828,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3828,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3829,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3830,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3831,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3835,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 2
    argNames:
    - common
    - topbracket
    argTypes:
    - compiler_common*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3836
    functionName: copy_ovector
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - OVECTOR
    - SLJIT_OFFSETOF
    - OP2
    - JUMPTO
    - SSIZE_OF
    - CMPTO
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE copy_ovector(compiler_common *common, int topbracket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3844,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3845,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3849,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3850,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3850,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3852,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3855,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3855,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3855,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3856,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3856,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3856,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3857,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3857,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3857,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3861,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3863,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3865,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3865,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3865,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3867,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3869,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3871,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3871,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:3871,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:3873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - common
    - quit
    argTypes:
    - compiler_common*
    - struct sljit_label*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3838
    functionDepth: 1
    functionLinenumber: 3838
    functionLinenumberEnd: 3874
    functionName: return_with_partial_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - SLJIT_OFFSETOF
    - OP2
    - JUMPTO
    - SLJIT_MEM1
    - OP1
    - SLJIT_COMPILE_ASSERT
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE return_with_partial_match(compiler_common *common, struct
      sljit_label *quit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3885,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3885,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:3888,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3889,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3889,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3890,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:3894,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3894,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3895,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:3895,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3898
      start: 3876
    functionDepth: 1
    functionLinenumber: 3876
    functionLinenumberEnd: 3898
    functionName: check_start_used_ptr
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP2
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE check_start_used_ptr(compiler_common *common)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3910,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3916,1
    - Dst: MAX_255
      Src: /src/pcre2/src/pcre2_jit_compile.c:3923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - common
    - cc
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3900
    functionDepth: 1
    functionLinenumber: 3900
    functionLinenumberEnd: 3924
    functionName: char_has_othercase
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 2
    functionsReached:
    - MAX_255
    - UCD_OTHERCASE
    - GETCHAR
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE char_has_othercase(compiler_common *common, PCRE2_SPTR
      cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3931,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - common
    - c
    argTypes:
    - compiler_common*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3926
    functionDepth: 1
    functionLinenumber: 3926
    functionLinenumberEnd: 3934
    functionName: char_othercase
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - TABLE_GET
    - UCD_OTHERCASE
    linkageType: ''
    returnType: SLJIT_INLINE unsigned
    signature: SLJIT_INLINE unsigned char_othercase(compiler_common *common, unsigned
      int c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_jit_compile.c:3949,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:3957,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3962,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:3966,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:3969,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:3980,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:3988,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - common
    - cc
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 3936
    functionDepth: 1
    functionLinenumber: 3936
    functionLinenumberEnd: 4013
    functionName: char_get_othercase_bit
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 2
    functionsReached:
    - SLJIT_ASSERT
    - GETCHAR
    - is_powerof2
    - TABLE_GET
    - UCD_OTHERCASE
    - GET_EXTRALEN
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int char_get_othercase_bit(compiler_common *common, PCRE2_SPTR
      cc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4021,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4027,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4027,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4029,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4029,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4032,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4032,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4036,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4038,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4038,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - common
    - force
    argTypes:
    - compiler_common*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 4015
    functionDepth: 1
    functionLinenumber: 4015
    functionLinenumberEnd: 4043
    functionName: check_partial
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - JUMPTO
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void check_partial(compiler_common *common, BOOL force)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4053,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4053,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4057,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4060,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4060,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4060,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4061,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4061,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4062,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4062,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4066,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4066,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4066,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4068,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4070,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4070,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - common
    - end_reached
    argTypes:
    - compiler_common*
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4045
    functionDepth: 1
    functionLinenumber: 4045
    functionLinenumberEnd: 4073
    functionName: check_str_end
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - JUMPTO
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void check_str_end(compiler_common *common, jump_list **end_reached)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4082,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4082,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4087,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4089,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4089,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4089,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4091,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4091,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4091,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4095,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4095,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4096,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4096,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4101,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4103,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4103,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - common
    - backtracks
    argTypes:
    - compiler_common*
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4075
    functionDepth: 1
    functionLinenumber: 4075
    functionLinenumberEnd: 4106
    functionName: detect_partial_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - JUMPTO
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void detect_partial_match(compiler_common *common, jump_list **backtracks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4116,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4116,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4117,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4117,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4118,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4123,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4123,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4125,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4125,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4127
      start: 4108
    functionDepth: 1
    functionLinenumber: 4108
    functionLinenumberEnd: 4127
    functionName: process_partial_match
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - add_jump
    - CMPTO
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void process_partial_match(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4133,1
    - Dst: process_partial_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:4134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - common
    - label
    argTypes:
    - compiler_common*
    - struct sljit_label*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4129
    functionDepth: 2
    functionLinenumber: 4129
    functionLinenumberEnd: 4135
    functionName: detect_partial_match_to
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - process_partial_match
    - CMPTO
    linkageType: ''
    returnType: void
    signature: void detect_partial_match_to(compiler_common *common, struct sljit_label
      *label)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4146,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4147,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4148,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4149,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4151,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4151,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4151,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4159,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4160,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4161,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4161,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4162,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4162,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4163,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4165,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4165,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4166,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4173,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4177,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4178,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4179,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4179,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4180,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4180,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4181,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4183,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4183,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4188,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4189,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4189,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4189,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4190,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4191,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4192,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4195,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4204,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4205,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4205,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4206,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4206,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4210,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4211,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4212,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4213,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 5
    argNames:
    - common
    - max
    - dst
    - dstw
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u32
    - sljit_s32
    - sljit_sw
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4137
    functionDepth: 1
    functionLinenumber: 4137
    functionLinenumberEnd: 4219
    functionName: peek_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - OP2
    - OP2U
    - SELECT
    - SLJIT_UNUSED_ARG
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void peek_char(compiler_common *common, sljit_u32 max, sljit_s32 dst,
      sljit_sw dstw, jump_list **backtracks)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4231,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4232,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4234,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4234,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4234,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4242,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4245,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4245,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4247,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4247,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4250,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4250,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4251,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4260,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4261,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4261,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4263,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4263,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4267,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4268,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4270,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4270,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4270,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4271,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4272,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4273,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4274,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4276,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4281,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4282,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4282,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4283,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - common
    - max
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u32
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4221
    functionDepth: 1
    functionLinenumber: 4221
    functionLinenumberEnd: 4287
    functionName: peek_char_back
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - OP2
    - SLJIT_UNUSED_ARG
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void peek_char_back(compiler_common *common, sljit_u32 max, jump_list
      **backtracks)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4308,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4309,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4310,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4311,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4312,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4314,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4314,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4314,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4315,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4315,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4325,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4328,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4328,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4330,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4330,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4333,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4333,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4334,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4338,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4341,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4343,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4343,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4343,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4344,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4344,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4344,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4345,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4346,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4347,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4348,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4349,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4349,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4349,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4350,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4351,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4352,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4353,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4353,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4353,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4355,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4355,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4356,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4357,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4358,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4359,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4361,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4365,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4367,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4367,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4367,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4368,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4368,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4368,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4369,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4370,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4371,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4372,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4373,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4373,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4373,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4375,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4375,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4376,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4377,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4378,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4379,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4381,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4385,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4385,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4389,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4389,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4389,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4390,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4394,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4394,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4394,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4396,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4396,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4398,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4398,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4398,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4399,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4400,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4401,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4402,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4404,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4406,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4415,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4416,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4419,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4419,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4421,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4421,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4424,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4424,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4425,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4431,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4432,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4434,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4434,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4434,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4435,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4436,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4436,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4437,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4438,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4439,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4444,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:4446,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4449,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4449,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4450,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4452,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4454,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4458,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4460,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4460,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4462,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4463,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4471,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4472,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4472,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4473,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4473,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4477,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4478,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4479,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4480,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4481,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 141
    argCount: 5
    argNames:
    - common
    - min
    - max
    - backtracks
    - options
    argTypes:
    - compiler_common*
    - sljit_u32
    - sljit_u32
    - jump_list**
    - sljit_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4294
    functionDepth: 1
    functionLinenumber: 4294
    functionLinenumberEnd: 4486
    functionName: read_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 4
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - sljit_has_cpu_feature
    - OP2
    - OP2U
    - SELECT
    - SLJIT_UNUSED_ARG
    - PRIV
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: "void read_char(compiler_common *common, sljit_u32 min, sljit_u32 max,\n
      \ jump_list **backtracks, sljit_u32 options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4498,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4498,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4499,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4499,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4501,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4502,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4502,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4502,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4503,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4505,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4506,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4507,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4508,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4509,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4510,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4512,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4516,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4517
      start: 4488
    functionDepth: 1
    functionLinenumber: 4488
    functionLinenumberEnd: 4517
    functionName: skip_valid_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - JUMPHERE
    - CMP
    - OP2
    - OP2U
    - OP_FLAGS
    - PRIV
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void skip_valid_char(compiler_common *common)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bitset
    - nclass
    argTypes:
    - sljit_u8*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4536
      start: 4521
    functionDepth: 0
    functionLinenumber: 4521
    functionLinenumberEnd: 4536
    functionName: is_char7_bitset
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_char7_bitset(const sljit_u8 *bitset, BOOL nclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4546,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4548,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4548,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4549,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4549,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4552,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4552,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4556,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4560,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4561,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4561,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4562,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4562,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4563,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4567,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4567,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4567,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4568,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - common
    - backtracks
    - negated
    argTypes:
    - compiler_common*
    - jump_list**
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4538
    functionDepth: 1
    functionLinenumber: 4538
    functionLinenumberEnd: 4572
    functionName: read_char7_type
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - OP2
    - PRIV
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void read_char7_type(compiler_common *common, jump_list **backtracks,
      BOOL negated)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4587,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4588,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4590,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4590,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4591,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4591,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4597,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4597,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4598,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4603,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4603,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4605,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4605,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4605,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4606,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4606,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4607,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4609,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4609,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4611,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4612,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4613,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4615,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4615,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4617,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4618,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4619,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4619,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4620,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4624,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4624,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4625,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4626,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4626,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4628,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4629,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4630,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4630,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4631,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4634,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4634,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4636,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4643,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4643,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4648,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4649,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4651,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4651,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4653,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4662,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:4664,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4666,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4666,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4667,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4668,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4672,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4673,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4673,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4674,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4679,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4680,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4681,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4681,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4682,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4682,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4684,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4684,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4684,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4685,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4685,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4686,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4687,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4687,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4689,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 3
    argNames:
    - common
    - backtracks
    - negated
    argTypes:
    - compiler_common*
    - jump_list**
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4576
    functionDepth: 1
    functionLinenumber: 4576
    functionLinenumberEnd: 4693
    functionName: read_char8_type
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - sljit_has_cpu_feature
    - OP2
    - OP2U
    - SELECT
    - SLJIT_UNUSED_ARG
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void read_char8_type(compiler_common *common, jump_list **backtracks,
      BOOL negated)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4714,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4714,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4714,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4715,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4715,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4716,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4717,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4717,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4719,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4719,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4720,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:4724,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4725,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4725,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4725,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4726,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4726,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4727,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:4728,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4734,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4734,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4734,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4735,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4735,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4739,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4740,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4741,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4741,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4743,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4743,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4744,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4749,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4750,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4751,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4752,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4753,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4759,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4759,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4759,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4762,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4762,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4763,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4763,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4767,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4768,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4769,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4770,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4776,1
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:4777,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4779,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4779,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - common
    - backtracks
    - must_be_valid
    argTypes:
    - compiler_common*
    - jump_list**
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4780
      start: 4695
    functionDepth: 1
    functionLinenumber: 4695
    functionLinenumberEnd: 4780
    functionName: move_back
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - OP2
    - OP2U
    - OP_FLAGS
    - CMPTO
    - SLJIT_UNUSED_ARG
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void move_back(compiler_common *common, jump_list **backtracks, BOOL
      must_be_valid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4790,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4790,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_compile.c:4791,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4792,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4792,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4798,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4798,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4799,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4799,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4803,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4804,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4804,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4805,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4810,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:4811,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - common
    - nltype
    - backtracks
    - jumpifmatch
    argTypes:
    - compiler_common*
    - int
    - jump_list**
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4782
    functionDepth: 1
    functionLinenumber: 4782
    functionLinenumberEnd: 4813
    functionName: check_newlinechar
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - JUMP
    - CMP
    - add_jump
    - sljit_set_current_flags
    linkageType: ''
    returnType: void
    signature: void check_newlinechar(compiler_common *common, int nltype, jump_list
      **backtracks, BOOL jumpifmatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:4825,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4826,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4826,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4826,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4827,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4828,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4829,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4832,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4833,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4835,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4836,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4836,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4837,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4839,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4840,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4840,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4840,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4841,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4842,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4843,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4845,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4846,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4848,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4849,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4849,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4850,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4853,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4854,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4854,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4854,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4855,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4856,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4856,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4857,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4858,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4859,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4818
    functionDepth: 1
    functionLinenumber: 4818
    functionLinenumberEnd: 4861
    functionName: do_utfreadchar
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - OP2U
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfreadchar(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:4871,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4873,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4874,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4876,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4876,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4876,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4877,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4877,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4878,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4880,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4881,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4882,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4883,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4884,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4884,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4885,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4887,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4888,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4889,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4892,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4893,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4893,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:4893,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4894,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4895,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4863
    functionDepth: 1
    functionLinenumber: 4863
    functionLinenumberEnd: 4897
    functionName: do_utfreadtype8
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - OP_SRC
    - OP1
    - sljit_emit_op_dst
    - OP2
    - PRIV
    - IN_UCHARS
    - SLJIT_MEM1
    - OP2U
    linkageType: ''
    returnType: void
    signature: void do_utfreadtype8(compiler_common *common)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:4906,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:4913,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4915,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4918,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4918,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4921,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4923,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4925,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4925,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4925,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4926,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4928,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4929,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4930,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4932,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4933,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4935,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4935,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4936,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4938,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4941,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4941,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4941,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4942,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4943,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4944,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4947,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4948,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4952,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4954,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4955,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:4957,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4959,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4962,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4963,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4967,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4968,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4969,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4969,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4973,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4974,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4978,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:4979,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:4981,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4984,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:4984,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:4984,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4985,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4986,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4987,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:4990,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:4991,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:4995,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:4997,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5000,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5001,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5005,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5007,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5008,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5010,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5011,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5011,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5012,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5015,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5015,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5015,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5016,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5018,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5019,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5020,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5022,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5023,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5025,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5028,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5029,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5031,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5031,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5031,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5032,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5033,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5034,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5037,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5038,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5042,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5045,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5045,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5048,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5050,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:5052,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5054,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 96
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 4899
    functionDepth: 1
    functionLinenumber: 4899
    functionLinenumberEnd: 5056
    functionName: do_utfreadchar_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - CMP
    - sljit_has_cpu_feature
    - OP_SRC
    - sljit_set_label
    - OP2
    - sljit_emit_op_dst
    - OP2U
    - SELECT
    - CMPTO
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_utfreadchar_invalid(compiler_common *common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5069,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5073,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5076,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5077,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:5078,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5078,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5078,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:5079,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5079,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5079,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5082,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5082,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5082,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5083,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5083,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5086,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5087,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5088,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5088,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5090,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5092,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5093,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5097,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5098,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5098,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5098,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5099,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5099,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5101,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5102,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5104,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5105,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5106,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5109,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5110,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5111,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5111,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5111,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5112,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5112,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5113,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5114,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5116,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5117,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5117,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5119,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5120,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5121,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5123,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5124,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5127,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5128,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5130,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5131,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5134,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5135,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5136,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5138,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5138,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5138,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5139,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5139,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5141,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5142,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5144,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5145,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5147
      start: 5058
    functionDepth: 1
    functionLinenumber: 5058
    functionLinenumberEnd: 5147
    functionName: do_utfreadnewline_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - CMPTO
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_utfreadnewline_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5160,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5162,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5162,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5163,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5166,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5168,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5168,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5168,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5170,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5171,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5173,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5174,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5174,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5175,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5178,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5179,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5181,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5181,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5181,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5183,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5184,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5186,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5187,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5187,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5188,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5191,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5192,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5193,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5195,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5195,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5195,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5196,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5197,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5199,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5200,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5201,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5204,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5205,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5205,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5207,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5209,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5209,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5209,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5211,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5212,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5215,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5215,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5216,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5217,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5219,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5219,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5219,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5221,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5222,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5226,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:5227,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:5228,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5229,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5230,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5230,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5231,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5233,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5235,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5235,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5237,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:5239,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5240,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5241,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5241,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5243
      start: 5149
    functionDepth: 1
    functionLinenumber: 5149
    functionLinenumberEnd: 5243
    functionName: do_utfmoveback_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - sljit_set_label
    - OP2
    - sljit_emit_op_dst
    - CMPTO
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_utfmoveback_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5251,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5253,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5253,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5253,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5254,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5255,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5257,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5257,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5257,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5258,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5259,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5261,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5261,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5261,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5262,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5263,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5264,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5265,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5267,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5268,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5268,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5268,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5269,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5270,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5271,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5273,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5274,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5274,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5274,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5275,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5276,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5277,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5245
    functionDepth: 1
    functionLinenumber: 5245
    functionLinenumberEnd: 5280
    functionName: do_utfpeakcharback
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfpeakcharback(compiler_common *common)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:5287,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5294,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5296,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5296,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5297,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5298,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5301,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5301,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5301,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5302,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5303,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5305,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5306,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5308,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5309,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5311,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5312,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5313,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5314,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5315,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5316,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5319,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5319,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5319,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5320,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5321,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5323,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5324,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5325,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5327,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5330,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5331,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5335,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5337,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5340,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5341,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5345,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5347,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5349,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5350,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5351,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5352,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5353,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5356,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5356,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5356,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5357,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5358,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5359,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5361,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5365,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5366,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5370,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5372,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5373,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5375,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5376,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5376,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5377,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5380,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5380,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5380,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5381,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5382,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5384,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5385,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5386,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5387,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5388,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5391,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5391,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5391,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5392,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5393,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5395,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5396,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5398,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5399,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5402,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5402,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5402,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5403,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5404,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5406,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:5408,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5410,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 84
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5412
      start: 5282
    functionDepth: 1
    functionLinenumber: 5282
    functionLinenumberEnd: 5412
    functionName: do_utfpeakcharback_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - sljit_has_cpu_feature
    - OP_SRC
    - sljit_set_label
    - OP2
    - sljit_emit_op_dst
    - OP2U
    - SELECT
    - CMPTO
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_utfpeakcharback_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5426,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5429,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5430,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5432,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5432,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5432,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5433,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5434,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5434,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5436,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5437,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5438,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5440,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5441,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5443,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5444,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5445,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5446,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5448
      start: 5418
    functionDepth: 1
    functionLinenumber: 5418
    functionLinenumberEnd: 5448
    functionName: do_utfreadchar_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfreadchar_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5459,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5462,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5464,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5464,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5464,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5465,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5467,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5468,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5469,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5470,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5471,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5472,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5474,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5476,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5477,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5478,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5450
    functionDepth: 1
    functionLinenumber: 5450
    functionLinenumberEnd: 5480
    functionName: do_utfreadnewline_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - OP2U
    - OP_FLAGS
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfreadnewline_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5488,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5490,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5491,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5493,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5493,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5493,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5494,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5495,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5497,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5497,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5498,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5499,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5501,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5502,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5503,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5505,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5505,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5506,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5508
      start: 5482
    functionDepth: 1
    functionLinenumber: 5482
    functionLinenumberEnd: 5508
    functionName: do_utfmoveback_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfmoveback_invalid(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5517,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5519,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5520,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5520,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5521,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5522,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5524,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5524,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5524,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5525,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5526,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5527,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5528,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5529,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5531,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5532,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5534,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5535,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5536,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5538,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5510
    functionDepth: 1
    functionLinenumber: 5510
    functionLinenumberEnd: 5540
    functionName: do_utfpeakcharback_invalid
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP_SRC
    - OP2
    - sljit_emit_op_dst
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_utfpeakcharback_invalid(compiler_common *common)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_jit_compile.c:5559,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5560,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5561,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5564,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5566,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5571,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5572,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5573,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5577,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5578,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5579,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5579,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5579,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5580,1
    - Dst: sljit_emit_op2_shift
      Src: /src/pcre2/src/pcre2_jit_compile.c:5581,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5582,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5582,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5583,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5583,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5585
      start: 5548
    functionDepth: 1
    functionLinenumber: 5548
    functionLinenumberEnd: 5585
    functionName: do_getucd
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_op2_shift
    - SLJIT_ASSERT
    - JUMPHERE
    - SLJIT_MEM2
    - CMP
    - OP_SRC
    - GET_UCD
    - OP2
    - sljit_emit_op_dst
    - PRIV
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_getucd(compiler_common *common)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_UCD
      Src: /src/pcre2/src/pcre2_jit_compile.c:5598,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5599,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5600,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5603,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:5605,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5610,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5611,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5612,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5616,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5617,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5618,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5618,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5618,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5619,1
    - Dst: sljit_emit_op2_shift
      Src: /src/pcre2/src/pcre2_jit_compile.c:5620,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5621,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5621,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5622,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5622,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5625,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5625,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:5625,1
    - Dst: sljit_emit_op2_shift
      Src: /src/pcre2/src/pcre2_jit_compile.c:5626,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5627,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5627,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:5629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5630
      start: 5587
    functionDepth: 1
    functionLinenumber: 5587
    functionLinenumberEnd: 5630
    functionName: do_getucdtype
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_op2_shift
    - SLJIT_ASSERT
    - JUMPHERE
    - SLJIT_MEM2
    - CMP
    - OP_SRC
    - GET_UCD
    - OP2
    - sljit_emit_op_dst
    - SLJIT_OFFSETOF
    - PRIV
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void do_getucdtype(compiler_common *common)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5656,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5661,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5662,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5666,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5667,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5667,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5668,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5669,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5669,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5669,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5670,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5670,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5670,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5671,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5672,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5673,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5674,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5674,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5674,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5678,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5679,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5681,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5681,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:5682,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_compile.c:5683,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5684,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5685,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5686,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5686,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:5687,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5687,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5690,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5695,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5699,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5700,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5700,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:5700,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5703,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5703,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:5703,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5705,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5706,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5708,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5710,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5710,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:5710,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5713,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5716,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5716,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:5716,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5718,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5719,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5720,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5721,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5722,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:5723,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5723,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5724,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5725,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5725,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5728,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5732,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5733,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5733,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5734,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5735,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5735,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5736,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5737,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5739,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5741,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5742,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5745,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5754,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5754,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5757,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5759,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5759,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5765,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5766,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5767,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5767,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5768,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5768,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5769,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5770,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5771,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5771,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5772,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5776,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5777,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5777,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:5777,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5778,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5779,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:5785,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:5786,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5787,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:5787,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5788,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5788,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5789,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:5790,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5791,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5791,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5792,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5796,1
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:5798,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5800,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5800,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5801,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5802,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:5806,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:5807,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5808,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:5809,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5814,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5818,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:5819,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5634
    functionDepth: 2
    functionLinenumber: 5634
    functionLinenumberEnd: 5823
    functionName: mainloop_entry
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - check_newlinechar
    - OP2
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - PRIV
    - IN_UCHARS
    - OP2U
    - OP1
    - JUMPHERE
    - read_char
    - sljit_has_cpu_feature
    - SLJIT_OFFSETOF
    - OP_FLAGS
    - LABEL
    - add_jump
    - SELECT
    - CMPTO
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE *mainloop_entry(compiler_common *common)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - chr
    - chars
    - last
    argTypes:
    - PCRE2_UCHAR
    - fast_forward_char_data*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5858
      start: 5826
    functionDepth: 0
    functionLinenumber: 5826
    functionLinenumberEnd: 5858
    functionName: add_prefix_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE add_prefix_char(PCRE2_UCHAR chr, fast_forward_char_data
      *chars, BOOL last)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5911,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5929,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:5930,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5933,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5934,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:5935,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:5982,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6000,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:6016,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:6016,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:6037,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:6045,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6067,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:6098,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6104,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6116,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6128,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6174,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6188,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6197,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6217,1
    - Dst: OP_CRPOSSTAR
      Src: /src/pcre2/src/pcre2_jit_compile.c:6227,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6249,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6257,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6273,1
    - Dst: add_prefix_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:6281,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:6305,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:6305,1
    - Dst: char_has_othercase
      Src: /src/pcre2/src/pcre2_jit_compile.c:6308,1
    - Dst: GETCHAR
      Src: /src/pcre2/src/pcre2_jit_compile.c:6313,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:6314,1
    - Dst: char_othercase
      Src: /src/pcre2/src/pcre2_jit_compile.c:6314,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6327,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:6332,1
    - Dst: add_prefix_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:6351,1
    - Dst: add_prefix_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:6354,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 296
    argCount: 3
    argNames:
    - common
    - cc
    - chars
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - fast_forward_char_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 5883
    functionDepth: 2
    functionLinenumber: 5883
    functionLinenumberEnd: 6372
    functionName: scan_prefix
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - char_has_othercase
    - add_prefix_char
    - GET2
    - GETCHAR
    - OP_CRPOSSTAR
    - UCD_OTHERCASE
    - TABLE_GET
    - is_char7_bitset
    - GET_EXTRALEN
    - PRIV
    - char_othercase
    - GET
    - HAS_EXTRALEN
    - bracketend
    linkageType: ''
    returnType: int
    signature: int scan_prefix(compiler_common *common, PCRE2_SPTR cc, fast_forward_char_data
      *chars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6379,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6380,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6382,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - compiler
    - reg
    - label
    argTypes:
    - struct sljit_compiler*
    - sljit_s32
    - struct sljit_label*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6387
      start: 6376
    functionDepth: 1
    functionLinenumber: 6376
    functionLinenumberEnd: 6387
    functionName: jumpto_if_not_utf_char_start
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - OP2
    - CMPTO
    linkageType: ''
    returnType: void
    signature: void jumpto_if_not_utf_char_start(struct sljit_compiler *compiler,
      sljit_s32 reg, struct sljit_label *label)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max_fast_forward_char_pair_offset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6398,1
    - Dst: fast_forward_char_pair_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - common
    - chars
    - max
    argTypes:
    - compiler_common*
    - fast_forward_char_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6438
      start: 6394
    functionDepth: 3
    functionLinenumber: 6394
    functionLinenumberEnd: 6438
    functionName: check_fast_forward_char_pair_simd
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - fast_forward_char_pair_simd
    - max_fast_forward_char_pair_offset
    linkageType: ''
    returnType: BOOL
    signature: BOOL check_fast_forward_char_pair_simd(compiler_common *common, fast_forward_char_data
      *chars, int max)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6451,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6454,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6454,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6457,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6457,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6461,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6463,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6463,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6464,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6465,1
    - Dst: fast_forward_char_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6472,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6475,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6475,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6478,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:6484,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6486,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:6488,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6490,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6490,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6491,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6491,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6494,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6498,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6500,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6501,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6505,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6506,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6507,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6514,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6514,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6514,1
    - Dst: jumpto_if_not_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_compile.c:6515,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6519,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6519,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6522,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6525,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - common
    - char1
    - char2
    - offset
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_UCHAR
    - sljit_s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6526
      start: 6442
    functionDepth: 3
    functionLinenumber: 6442
    functionLinenumberEnd: 6526
    functionName: fast_forward_first_char2
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - CMP
    - add_jump
    - is_powerof2
    - OP2
    - OP2U
    - SELECT
    - jumpto_if_not_utf_char_start
    - CMPTO
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    - fast_forward_char_simd
    linkageType: ''
    returnType: void
    signature: void fast_forward_first_char2(compiler_common *common, PCRE2_UCHAR
      char1, PCRE2_UCHAR char2, sljit_s32 offset)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: scan_prefix
      Src: /src/pcre2/src/pcre2_jit_compile.c:6548,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6556,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6572,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6574,1
    - Dst: check_fast_forward_char_pair_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6587,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6605,1
    - Dst: allocate_read_only_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:6618,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6621,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6621,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6625,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6631,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6632,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6655,1
    - Dst: fast_forward_first_char2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6662,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6666,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6670,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6670,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6671,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6672,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6672,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:6673,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6673,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6674,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6675,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6679,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6679,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:6680,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6680,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6683,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6686,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:6688,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:6689,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6689,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6692,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6692,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6692,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6694,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6694,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6694,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6698,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6698,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6700,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6700,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6702,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6703,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6707,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6707,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6707,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6708,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6708,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6711,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6715,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6717,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6718,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6722,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6723,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6724,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6734,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6734,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6735,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6735,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6738,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6738,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6738,1
    - Dst: jumpto_if_not_utf_char_start
      Src: /src/pcre2/src/pcre2_jit_compile.c:6740,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6743,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6743,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6748,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6748,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6751,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6753,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6753,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 140
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6755
      start: 6528
    functionDepth: 4
    functionLinenumber: 6528
    functionLinenumberEnd: 6755
    functionName: fast_forward_first_n_chars
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - allocate_read_only_data
    - scan_prefix
    - OP2
    - check_fast_forward_char_pair_simd
    - fast_forward_first_char2
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - jumpto_if_not_utf_char_start
    - IN_UCHARS
    - OP2U
    - OP1
    - JUMPHERE
    - is_powerof2
    - LABEL
    - memset
    - add_jump
    - SLJIT_MEM2
    - SELECT
    - CMPTO
    - SLJIT_MEM1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE fast_forward_first_n_chars(compiler_common *common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:6765,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6768,1
    - Dst: fast_forward_first_char2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6773
      start: 6757
    functionDepth: 4
    functionLinenumber: 6757
    functionLinenumberEnd: 6773
    functionName: fast_forward_first_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - fast_forward_first_char2
    - TABLE_GET
    - UCD_OTHERCASE
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE fast_forward_first_char(compiler_common *common)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6788,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6789,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6789,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6799,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6800,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6800,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6800,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6801,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6801,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6801,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6805,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6805,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6805,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6806,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6806,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6806,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6808,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6810,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6810,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6811,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6812,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6814,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6816,1
    - Dst: fast_forward_char_pair_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6818,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6819,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6819,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6824,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6827,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6828,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6828,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6828,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6829,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6829,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6829,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6833,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6833,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6833,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6834,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6834,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6834,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6836,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6838,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6838,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6839,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6840,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6842,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6844,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:6846,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6847,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6847,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6848,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6849,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6849,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6849,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6850,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6850,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6850,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6851,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6852,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6854,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6855,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6858,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6861,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6867,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6868,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6868,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6868,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6871,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6871,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:6871,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6874,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:6877,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6879,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6879,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:6881,1
    - Dst: fast_forward_char_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6889,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6891,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6893,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6893,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6894,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6894,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6895,1
    - Dst: fast_forward_char_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:6899,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6901,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6901,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6904,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6905,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:6912,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6913,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6915,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_compile.c:6916,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:6917,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6924,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6925,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6928,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6929,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6929,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6930,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6931,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6933,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6935,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6936,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6937,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6941,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:6942,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6945,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 109
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6946
      start: 6775
    functionDepth: 3
    functionLinenumber: 6775
    functionLinenumberEnd: 6946
    functionName: fast_forward_newline
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - check_newlinechar
    - OP2
    - JUMP
    - CMP
    - IN_UCHARS
    - fast_forward_char_pair_simd
    - OP2U
    - OP1
    - JUMPHERE
    - read_char
    - SLJIT_OFFSETOF
    - move_back
    - OP_FLAGS
    - LABEL
    - fast_forward_char_simd
    - SELECT
    - CMPTO
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE fast_forward_newline(compiler_common *common)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6963,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6963,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6964,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6965,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6965,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6966,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:6967,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:6970,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6972,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:6974,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6976,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6976,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6977,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:6977,1
    - Dst: optimize_class
      Src: /src/pcre2/src/pcre2_jit_compile.c:6979,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:6983,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6985,1
    - Dst: is_char7_bitset
      Src: /src/pcre2/src/pcre2_jit_compile.c:6987,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:6988,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6990,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6991,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6992,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:6992,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:6995,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:6996,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7000,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7001,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7003,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:7006,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7010,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7013,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7013,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7016,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7019,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7020
      start: 6950
    functionDepth: 2
    functionLinenumber: 6950
    functionLinenumberEnd: 7020
    functionName: fast_forward_start_bits
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - add_jump
    - JUMPTO
    - OP2
    - OP1
    - SELECT
    - optimize_class
    - CMPTO
    - is_char7_bitset
    - set_jumps
    - IN_UCHARS
    - SLJIT_MEM1
    - OP2U
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE fast_forward_start_bits(compiler_common *common)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7033,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7034,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7034,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7035,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7035,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7036,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7037,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7040,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7040,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7042,1
    - Dst: TABLE_GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:7047,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7050,1
    - Dst: fast_requested_char_simd
      Src: /src/pcre2/src/pcre2_jit_compile.c:7057,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7062,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7063,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7063,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7065,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7065,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7068,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7072,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7074,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7075,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7079,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7080,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7083,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7083,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7084,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7086,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7088,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7091,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7091,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7093,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - common
    - req_char
    - caseless
    - has_firstchar
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7096
      start: 7022
    functionDepth: 2
    functionLinenumber: 7022
    functionLinenumberEnd: 7096
    functionName: search_requested_char
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - CMP
    - add_jump
    - is_powerof2
    - OP2
    - JUMPTO
    - TABLE_GET
    - UCD_OTHERCASE
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    - fast_requested_char_simd
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE *search_requested_char(compiler_common *common, PCRE2_UCHAR
      req_char, BOOL caseless, BOOL has_firstchar)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:7104,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7105,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7108,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7109,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7109,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7109,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7110,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7111,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7113,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7116,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7116,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7116,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7116,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7117,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7117,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7117,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7117,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7118,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7118,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7122,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7122,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7122,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7123,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7123,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7123,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7124,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7124,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7125,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7125,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7126,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7127,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7127,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7129,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7131,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_compile.c:7132,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7133,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7135,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7137,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7138,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7141,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7141,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7141,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7141,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7142,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7142,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7146,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7146,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7146,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7147,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7147,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7148,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7148,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7151
      start: 7098
    functionDepth: 1
    functionLinenumber: 7098
    functionLinenumberEnd: 7151
    functionName: do_revertframes
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - JUMP
    - OP_SRC
    - JUMPTO
    - SSIZE_OF
    - sljit_emit_op_dst
    - OP2U
    - OP2
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    - sljit_set_current_flags
    linkageType: ''
    returnType: void
    signature: void do_revertframes(compiler_common *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7155
      start: 7154
    functionDepth: 0
    functionLinenumber: 7154
    functionLinenumberEnd: 7155
    functionName: UCPCAT
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCPCAT(bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit1
    - ','
    - bit2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7156
      start: 7155
    functionDepth: 0
    functionLinenumber: 7155
    functionLinenumberEnd: 7156
    functionName: UCPCAT2
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCPCAT2(bit1, bit2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bit1
    - ','
    - bit2
    - ','
    - bit3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7157
      start: 7156
    functionDepth: 0
    functionLinenumber: 7156
    functionLinenumberEnd: 7157
    functionName: UCPCAT3
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCPCAT3(bit1, bit2, bit3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - start
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7158
      start: 7157
    functionDepth: 0
    functionLinenumber: 7157
    functionLinenumberEnd: 7158
    functionName: UCPCAT_RANGE
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCPCAT_RANGE(start, end)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_UNUSED_ARG
      Src: /src/pcre2/src/pcre2_jit_compile.c:7177,1
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7178,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7180,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7180,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:7181,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7181,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7183,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7184,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7184,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7184,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7185,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7186,1
    - Dst: peek_char_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:7191,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7195,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7196,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:7197,1
    - Dst: check_start_used_ptr
      Src: /src/pcre2/src/pcre2_jit_compile.c:7198,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7199,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7200,1
    - Dst: peek_char_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:7207,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:7210,1
    - Dst: check_start_used_ptr
      Src: /src/pcre2/src/pcre2_jit_compile.c:7211,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:7212,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7220,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7220,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7221,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7222,1
    - Dst: UCPCAT2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7222,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7223,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7229,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7234,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7236,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7236,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7237,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7238,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7240,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7243,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7246,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7248,1
    - Dst: check_str_end
      Src: /src/pcre2/src/pcre2_jit_compile.c:7249,1
    - Dst: peek_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:7250,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7250,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7255,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7259,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7259,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7260,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7261,1
    - Dst: UCPCAT2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7261,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7262,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7269,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7270,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7272,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7275,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7277,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7277,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7278,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7279,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7281,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7284,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:7287,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7287,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7289,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7289,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7290,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7291,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:7296,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7296,1
    - Dst: peek_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:7298,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7298,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7299,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7301,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7301,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7302,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7303,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:7305,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7305,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7306,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7306,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7307,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7308,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 85
    argCount: 2
    argNames:
    - common
    - ucp
    argTypes:
    - compiler_common*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7311
      start: 7163
    functionDepth: 2
    functionLinenumber: 7163
    functionLinenumberEnd: 7311
    functionName: check_wordboundary
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - OP2
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - OP2U
    - OP1
    - SLJIT_COMPILE_ASSERT
    - read_char
    - JUMPHERE
    - peek_char
    - SLJIT_OFFSETOF
    - SSIZE_OF
    - move_back
    - OP_FLAGS
    - SLJIT_UNUSED_ARG
    - LABEL
    - add_jump
    - OP_SRC
    - check_str_end
    - UCPCAT2
    - sljit_emit_op_dst
    - peek_char_back
    - check_start_used_ptr
    - CMPTO
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void check_wordboundary(compiler_common *common, BOOL ucp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7362,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7362,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7371,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7371,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7377,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7378,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7378,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7381,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7381,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7387,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7387,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7390,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7391,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7391,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7394,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7394,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7398,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7398,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7401,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7402,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7402,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7405,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7405,1
    - Dst: is_powerof2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7412,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7414,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7415,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7418,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7419,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7419,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7422,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7422,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7431,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7432,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7432,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7436,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7436,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7440,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7441,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7441,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7444,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7444,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7448,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7449,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7449,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7452,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7453,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7453,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7456,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7456,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7460,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 5
    argNames:
    - common
    - bits
    - nclass
    - invert
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u8*
    - BOOL
    - BOOL
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7463
      start: 7313
    functionDepth: 1
    functionLinenumber: 7313
    functionLinenumberEnd: 7463
    functionName: optimize_class_ranges
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - add_jump
    - is_powerof2
    - OP2
    - SLJIT_UNREACHABLE
    linkageType: ''
    returnType: BOOL
    signature: BOOL optimize_class_ranges(compiler_common *common, const sljit_u8
      *bits, BOOL nclass, BOOL invert, jump_list **backtracks)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sljit_has_cpu_feature
      Src: /src/pcre2/src/pcre2_jit_compile.c:7474,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7527,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7528,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7531,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7539,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7540,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7547,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7553,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7554,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7562,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7562,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 5
    argNames:
    - common
    - bits
    - nclass
    - invert
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u8*
    - BOOL
    - BOOL
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7564
      start: 7465
    functionDepth: 1
    functionLinenumber: 7465
    functionLinenumberEnd: 7564
    functionName: optimize_class_chars
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_has_cpu_feature
    - add_jump
    - CMP
    - OP2U
    - OP2
    - SELECT
    - OP_FLAGS
    - OP1
    linkageType: ''
    returnType: BOOL
    signature: BOOL optimize_class_chars(compiler_common *common, const sljit_u8 *bits,
      BOOL nclass, BOOL invert, jump_list **backtracks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optimize_class_ranges
      Src: /src/pcre2/src/pcre2_jit_compile.c:7569,1
    - Dst: optimize_class_chars
      Src: /src/pcre2/src/pcre2_jit_compile.c:7571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - common
    - bits
    - nclass
    - invert
    - backtracks
    argTypes:
    - compiler_common*
    - sljit_u8*
    - BOOL
    - BOOL
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7572
      start: 7566
    functionDepth: 2
    functionLinenumber: 7566
    functionLinenumberEnd: 7572
    functionName: optimize_class
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 4
    functionsReached:
    - optimize_class_ranges
    - optimize_class_chars
    linkageType: ''
    returnType: BOOL
    signature: BOOL optimize_class(compiler_common *common, const sljit_u8 *bits,
      BOOL nclass, BOOL invert, jump_list **backtracks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7712,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7712,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:7713,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7713,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7714,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7718,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7719,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7722,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7722,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7722,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7724,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7725,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7725,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7725,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7726,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7726,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7726,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7727,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7728,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7728,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7729,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7731,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7732,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7732,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7734,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7734,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7734,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7736,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7736,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7737,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7737,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7739,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7740,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7740,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7740,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7741,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7741,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7741,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7742,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7743,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7743,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7744,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7746,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7747,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7747,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7748,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7748,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7752,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7753,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7753,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7754,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7754,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7755,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7755,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7756,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7756,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7757,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7758,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7758,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7759,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7761,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7762,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7762,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7767,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7768,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7772
      start: 7692
    functionDepth: 1
    functionLinenumber: 7692
    functionLinenumberEnd: 7772
    functionName: do_casefulcmp
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - JUMPHERE
    - CMP
    - OP_SRC
    - JUMPTO
    - SSIZE_OF
    - sljit_emit_op_dst
    - OP2
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_casefulcmp(compiler_common *common)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7795,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7795,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7795,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7797,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7797,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7797,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:7801,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7801,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:7802,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7802,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7803,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7805,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7805,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7809,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7810,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7813,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7817,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7818,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7818,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7818,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7819,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7819,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7819,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7823,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7823,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7824,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7824,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7826,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7827,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7827,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7827,1
    - Dst: sljit_emit_mem_update
      Src: /src/pcre2/src/pcre2_jit_compile.c:7828,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7828,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7828,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:7832,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7833,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7833,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7834,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7834,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7835,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7835,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7839,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7841,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7841,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7843,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7844,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7846,1
    - Dst: SLJIT_MEM2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7846,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7848,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7852,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7852,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7854,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7855,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7855,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:7856,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7858,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7859,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7859,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7862,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7862,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7866,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7867,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7870,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7870,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:7871,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7872
      start: 7774
    functionDepth: 1
    functionLinenumber: 7774
    functionLinenumberEnd: 7872
    functionName: do_caselesscmp
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_emit_mem_update
    - SLJIT_ASSERT
    - JUMPHERE
    - SLJIT_MEM2
    - CMP
    - OP_SRC
    - JUMPTO
    - SSIZE_OF
    - sljit_emit_op_dst
    - OP2
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void do_caselesscmp(compiler_common *common)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7886,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7887,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7887,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7887,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7890,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7890,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7890,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7891,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7891,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7897,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7898,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7898,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7898,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7901,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7901,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:7901,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7902,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7902,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7909,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7909,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7913,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7913,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_compile.c:7917,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7918,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7918,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7923,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7926,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7926,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7927,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7927,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7927,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7929,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7929,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7932,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7933,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7934,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7935,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7936,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7937,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7937,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:7938,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7939,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7939,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7940,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7942,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7942,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7942,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7943,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7943,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7944,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7944,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7948,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7948,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7949,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7949,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7949,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7950,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7950,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7951,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7951,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7955,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7955,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7955,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7956,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7957,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7957,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:7958,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7959,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7960,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7960,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7962,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7962,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7962,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7963,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7964,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7964,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7966,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:7969,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:7969,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7970,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7970,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7971,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7971,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7975,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:7976,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7977,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7977,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7978,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7978,1
    - Dst: sljit_set_current_flags
      Src: /src/pcre2/src/pcre2_jit_compile.c:7979,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7980,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7980,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:7981,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7983,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7984,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:7986,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:7988,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:7992,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:7992,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:7994,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8000,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8001,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8001,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8001,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8004,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8004,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8004,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8005,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8005,1
    - Dst: compile_simple_assertion_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:8008,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8011,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8011,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:8012,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8017,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8020,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8021,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8021,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8021,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8024,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8024,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8024,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8025,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8025,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:8026,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8027,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8028,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8032,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8032,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8033,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8033,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8033,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8035,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8035,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8038,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8040,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8040,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:8041,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8042,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8042,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8043,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8046,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8046,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8046,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8047,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8047,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8048,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8048,1
    - Dst: peek_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:8052,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_compile.c:8053,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8055,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8061,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8062,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8062,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8062,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8063,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8063,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8064,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8064,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8064,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8065,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8065,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8069,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8069,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8069,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8070,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8070,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8071,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8071,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8071,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8072,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8072,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8080,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8081,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8081,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8081,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8082,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8083,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8083,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8083,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8087,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8087,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8087,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8088,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8089,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8089,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8089,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8091,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8091,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8092,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8093,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8096,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8096,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8100,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8100,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8101,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8101,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8102,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8102,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8102,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8103,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8103,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8103,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8104,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8104,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8105,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8105,1
    - Dst: peek_char_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:8109,1
    - Dst: check_newlinechar
      Src: /src/pcre2/src/pcre2_jit_compile.c:8110,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8112,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8115,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 183
    argCount: 4
    argNames:
    - common
    - type
    - cc
    - backtracks
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - PCRE2_SPTR
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8117
      start: 7876
    functionDepth: 2
    functionLinenumber: 7876
    functionLinenumberEnd: 8117
    functionName: compile_simple_assertion_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 1
    functionsReached:
    - check_newlinechar
    - OP2
    - JUMP
    - CMP
    - check_partial
    - compile_simple_assertion_matchingpath
    - IN_UCHARS
    - OP2U
    - OP1
    - JUMPHERE
    - read_char
    - peek_char
    - SLJIT_OFFSETOF
    - OP_FLAGS
    - sljit_set_current_flags
    - add_jump
    - peek_char_back
    - SLJIT_UNREACHABLE
    - SLJIT_MEM1
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_simple_assertion_matchingpath(compiler_common *common,
      PCRE2_UCHAR type, PCRE2_SPTR cc, jump_list **backtracks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - size
    - ','
    - ccstart
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8135
      start: 8123
    functionDepth: 0
    functionLinenumber: 8123
    functionLinenumberEnd: 8135
    functionName: PUSH_BACKTRACK
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_BACKTRACK(size, ccstart, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - ccstart
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8148
      start: 8136
    functionDepth: 0
    functionLinenumber: 8136
    functionLinenumberEnd: 8148
    functionName: PUSH_BACKTRACK_NOVALUE
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_BACKTRACK_NOVALUE(size, ccstart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8150
      start: 8149
    functionDepth: 0
    functionLinenumber: 8149
    functionLinenumberEnd: 8150
    functionName: BACKTRACK_AS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKTRACK_AS(type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8155,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8156,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8160,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8162,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8162,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8162,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8167,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8168,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8168,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8169,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8169,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8169,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8169,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8173,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8174,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8174,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8176,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8176,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8176,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8176,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:8178,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - common
    - cc
    - backtracks
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - jump_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8179
      start: 8151
    functionDepth: 2
    functionLinenumber: 8151
    functionLinenumberEnd: 8179
    functionName: compile_dnref_search
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - OVECTOR
    - add_jump
    - CMP
    - GET2
    - set_jumps
    - GET_LOCAL_BASE
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void compile_dnref_search(compiler_common *common, PCRE2_SPTR cc, jump_list
      **backtracks)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:8201,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8206,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8207,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8207,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8207,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8210,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8210,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8210,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8210,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8213,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8213,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8219,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8219,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8222,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8222,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8222,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8224,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8224,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8227,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8227,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8229,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8229,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8230,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8230,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8231,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8231,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8233,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8234,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8236,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8237,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8238,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8241,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8242,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:8244,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8246,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8247,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8248,1
    - Dst: read_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:8251,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8253,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8258,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8259,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8261,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8262,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8265,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8267,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8267,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8269,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8270,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8271,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8273,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:8273,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8275,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8275,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8275,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8276,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8276,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8276,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8277,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8278,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8280,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8280,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8281,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8282,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:8282,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8285,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8285,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8285,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8287,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8288,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8288,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8289,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8290,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8291,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8292,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8297,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8297,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8298,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8300,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8301,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8302,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8303,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8304,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8306,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8306,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8307,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8309,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8310,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8311,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8312,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8313,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:8316,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8316,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8318,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8320,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8320,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8321,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8321,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8322,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8322,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8323,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8323,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8327,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8328,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8328,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8329,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8329,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8330,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8330,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:8332,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8333,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8333,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8336,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8337,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8337,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8338,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8338,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8339,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8339,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8346,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8346,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8346,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8348,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8348,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8351,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8353,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8354,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8356,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8358,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8358,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8359,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8359,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8363,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8364,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8366,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8367,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8368,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8369,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8370,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8370,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8371,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8371,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8372,1
    - Dst: check_partial
      Src: /src/pcre2/src/pcre2_jit_compile.c:8373,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8374,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8374,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8375,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8382,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8384,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 129
    argCount: 5
    argNames:
    - common
    - cc
    - backtracks
    - withchecks
    - emptyfail
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - jump_list**
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8386
      start: 8181
    functionDepth: 2
    functionLinenumber: 8181
    functionLinenumberEnd: 8386
    functionName: compile_ref_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    - OP2
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - check_partial
    - PRIV
    - OP2U
    - OP1
    - read_char
    - JUMPHERE
    - SLJIT_OFFSETOF
    - SSIZE_OF
    - JUMPTO
    - LABEL
    - OVECTOR
    - add_jump
    - CMPTO
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void compile_ref_matchingpath(compiler_common *common, PCRE2_SPTR cc,
      jump_list **backtracks, BOOL withchecks, BOOL emptyfail)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8404,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8407,1
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8422,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8424,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8424,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8464,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8465,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8466,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8472,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8478,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8481,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8481,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8481,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8483,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8483,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8483,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8483,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8484,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8484,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8484,1
    - Dst: compile_dnref_search
      Src: /src/pcre2/src/pcre2_jit_compile.c:8488,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8489,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8489,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8490,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8490,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8490,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8491,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8491,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8495,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8495,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8499,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8499,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8502,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8502,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8503,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8503,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8503,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8507,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8509,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8509,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8509,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8512,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8512,1
    - Dst: compile_ref_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:8514,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8517,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8520,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8520,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8522,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8526,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8526,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8526,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8527,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8531,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8531,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8531,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8532,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8532,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8532,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8534,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8535,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8535,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8537,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8539,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:8544,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8544,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8545,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8545,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8548,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8548,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8551,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:8552,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8560,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8562,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8562,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8562,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8563,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8563,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8563,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8564,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8564,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8564,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8566,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8571,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8571,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8571,1
    - Dst: compile_dnref_search
      Src: /src/pcre2/src/pcre2_jit_compile.c:8574,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8575,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8575,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8576,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8576,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8576,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8577,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8577,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8581,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8585,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8587,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8587,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8587,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8589,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8589,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8589,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8594,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8594,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8594,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8594,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8595,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8595,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8595,1
    - Dst: compile_dnref_search
      Src: /src/pcre2/src/pcre2_jit_compile.c:8599,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8600,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8600,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8601,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8601,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8601,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8602,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8602,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8607,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8607,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8609,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8611,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8611,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8611,1
    - Dst: compile_ref_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:8612,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8616,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8616,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8617,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8617,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8619,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8623,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8624,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8625,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8625,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8625,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8626,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8627,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8634,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8635,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8635,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8635,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8636,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8639,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8640,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8640,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:8642,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8646,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8648,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8648,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8648,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8649,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8649,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8649,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8651,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8651,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8651,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8658,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8658,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8658,1
    - Dst: compile_dnref_search
      Src: /src/pcre2/src/pcre2_jit_compile.c:8661,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8662,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8662,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8663,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8663,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8663,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8664,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8664,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8667,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8667,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8667,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8668,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8675,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8675,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8675,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8675,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8676,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8676,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8676,1
    - Dst: compile_dnref_search
      Src: /src/pcre2/src/pcre2_jit_compile.c:8680,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8681,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8681,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8682,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8682,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8682,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8683,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8683,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8687,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8687,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8689,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8689,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8689,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8689,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8692,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8692,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8692,1
    - Dst: compile_ref_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:8693,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8694,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8694,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8694,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8698,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8698,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8698,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8699,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8700,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8700,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8700,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8701,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8701,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8704,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8704,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8704,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8704,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8704,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8707,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8708,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:8710,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 219
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8712
      start: 8388
    functionDepth: 3
    functionLinenumber: 8388
    functionLinenumberEnd: 8712
    functionName: compile_ref_iterator_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    - OP2
    - BACKTRACK_AS
    - compile_dnref_search
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - STACK
    - PUSH_BACKTRACK
    - OP1
    - allocate_stack
    - SLJIT_COMPILE_ASSERT
    - JUMPHERE
    - JUMPTO
    - SSIZE_OF
    - compile_ref_matchingpath
    - LABEL
    - count_match
    - OVECTOR
    - add_jump
    - CMPTO
    - SLJIT_UNREACHABLE
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_ref_iterator_matchingpath(compiler_common *common,
      PCRE2_SPTR cc, backtrack_common *parent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8721,1
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8731,1
    - Dst: get_framesize
      Src: /src/pcre2/src/pcre2_jit_compile.c:8734,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:8737,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:8737,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:8737,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8738,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8743,1
    - Dst: memcmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:8747,1
    - Dst: sljit_alloc_memory
      Src: /src/pcre2/src/pcre2_jit_compile.c:8755,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:8756,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:8756,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8773,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8776,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8776,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8778,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8780,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8780,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8781,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8781,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8783
      start: 8714
    functionDepth: 3
    functionLinenumber: 8714
    functionLinenumberEnd: 8783
    functionName: compile_recurse_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - sljit_get_compiler_error
    - JUMP
    - add_jump
    - CMP
    - LABEL
    - compile_matchingpath
    - JUMPTO
    - BACKTRACK_AS
    - SLJIT_UNLIKELY
    - next_opcode
    - PUSH_BACKTRACK
    - IN_UCHARS
    - GET
    - sljit_alloc_memory
    - get_framesize
    - memcmp
    - bracketend
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_recurse_matchingpath(compiler_common *common,
      PCRE2_SPTR cc, backtrack_common *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8794,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - arguments
    - callout_block
    - jit_ovector
    argTypes:
    - struct jit_arguments*
    - pcre2_callout_block*
    - PCRE2_SPTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8837
      start: 8785
    functionDepth: 0
    functionLinenumber: 8785
    functionLinenumberEnd: 8837
    functionName: do_callout_jit
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - SLJIT_COMPILE_ASSERT
    linkageType: ''
    returnType: sljit_s32
    signature: sljit_s32 do_callout_jit(struct jit_arguments *arguments, pcre2_callout_block
      *callout_block, PCRE2_SPTR *jit_ovector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8841
      start: 8839
    functionDepth: 0
    functionLinenumber: 8839
    functionLinenumberEnd: 8841
    functionName: CALLOUT_ARG_OFFSET
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALLOUT_ARG_OFFSET(arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:8848,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8848,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8852,1
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8854,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8858,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8860,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8861,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8861,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8862,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8864,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8864,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8864,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8865,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8865,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8865,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8866,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8866,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8866,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8869,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8869,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8869,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8872,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8872,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8872,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8874,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8874,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8874,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8874,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8875,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8875,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8875,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8875,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8887,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8890,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8890,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8890,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8891,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8891,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8891,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8892,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8892,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8892,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8893,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8893,1
    - Dst: CALLOUT_ARG_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:8893,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8895,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8898,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8898,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8899,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8899,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8901,1
    - Dst: GET_LOCAL_BASE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8902,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_compile.c:8903,1
    - Dst: SLJIT_ARGS3
      Src: /src/pcre2/src/pcre2_jit_compile.c:8903,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:8903,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8904,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8904,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:8905,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:8908,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8909,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8909,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8911,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8911,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8915
      start: 8842
    functionDepth: 3
    functionLinenumber: 8842
    functionLinenumberEnd: 8915
    functionName: compile_callout_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET_LOCAL_BASE
    - GET
    - SLJIT_ASSERT
    - free_stack
    - JUMP
    - PRIV
    - PUSH_BACKTRACK
    - CALLOUT_ARG_OFFSET
    - OP2U
    - OP1
    - allocate_stack
    - SLJIT_OFFSETOF
    - SSIZE_OF
    - JUMPTO
    - SLJIT_FUNC_ADDR
    - sljit_emit_icall
    - add_jump
    - SLJIT_MEM1
    - SLJIT_ARGS3
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_callout_matchingpath(compiler_common *common,
      PCRE2_SPTR cc, backtrack_common *parent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8931,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8936,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8940,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8944,1
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8945,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8948,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8949,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:8952,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8957,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8958,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8958,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8958,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8961,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8961,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:8961,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8968,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8969,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8970,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8970,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:8971,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8972,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8973,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8978,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8978,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8978,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8980,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:8981,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8982,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:8983,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8984,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:8985,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:8987,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8988,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:8988,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:8988,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:8996,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:8996,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:8997,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:8997,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9002,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9002,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9002,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9004,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9004,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:9005,1
    - Dst: SELECT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9006,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9008,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9008,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9008,1
    - Dst: check_start_used_ptr
      Src: /src/pcre2/src/pcre2_jit_compile.c:9012,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9015,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9018
      start: 8920
    functionDepth: 2
    functionLinenumber: 8920
    functionLinenumberEnd: 9018
    functionName: compile_reverse_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    - OP2
    - BACKTRACK_AS
    - SLJIT_ASSERT
    - CMP
    - STACK
    - PUSH_BACKTRACK
    - IN_UCHARS
    - OP2U
    - OP1
    - JUMPHERE
    - SLJIT_OFFSETOF
    - move_back
    - JUMPTO
    - LABEL
    - add_jump
    - SELECT
    - check_start_used_ptr
    - SLJIT_MEM1
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_reverse_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, backtrack_common *parent)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:9027,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:9040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - cc
    argTypes:
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9050
      start: 9020
    functionDepth: 1
    functionLinenumber: 9020
    functionLinenumberEnd: 9050
    functionName: assert_needs_str_ptr_saving
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - PRIV
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE assert_needs_str_ptr_saving(PCRE2_SPTR cc)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9087,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9092,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9093,1
    - Dst: get_framesize
      Src: /src/pcre2/src/pcre2_jit_compile.c:9094,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9098,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:9101,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9106,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9106,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9106,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9107,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9108,1
    - Dst: find_vreverse
      Src: /src/pcre2/src/pcre2_jit_compile.c:9111,1
    - Dst: assert_needs_str_ptr_saving
      Src: /src/pcre2/src/pcre2_jit_compile.c:9117,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9126,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9126,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9129,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9132,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9132,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9135,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9135,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9135,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9139,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9140,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9140,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9141,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9141,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9141,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9148,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9149,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9151,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9151,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9152,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9152,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9154,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9154,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9155,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9155,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9155,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9159,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9159,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9159,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9160,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9160,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9160,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9161,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9161,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9164,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9164,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9164,1
    - Dst: init_frame
      Src: /src/pcre2/src/pcre2_jit_compile.c:9166,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9171,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9171,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9171,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9172,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:9175,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9197,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9197,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9197,1
    - Dst: compile_reverse_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:9204,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:9206,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:9207,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:9207,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9226,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9227,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9227,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9230,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9232,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9238,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9238,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9240,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9243,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9243,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9243,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9246,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9246,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9246,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9246,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9253,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9253,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9256,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9256,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9256,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9259,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9259,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9259,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9259,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9263,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9263,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9266,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9266,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9266,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9269,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9269,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9269,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9269,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9270,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9270,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9271,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9281,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9281,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9281,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9286,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9286,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9286,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9289,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9289,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9289,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9290,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9290,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9290,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9291,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9291,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9293,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9294,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9294,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9294,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9299,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9299,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9299,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9299,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9302,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9302,1
    - Dst: compile_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:9304,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:9305,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:9305,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9321,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9321,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:9327,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9332,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9340,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9341,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9341,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9342,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9344,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9344,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9347,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9347,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9348,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9348,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9349,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9351,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9355,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9355,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9355,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9358,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9358,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9358,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9358,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9364,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9364,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9364,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9372,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9373,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9373,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9373,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9376,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9380,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9380,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9380,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9384,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9385,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9385,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9385,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9388,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9389,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9389,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9391,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9393,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9396,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9396,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9401,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9401,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9401,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9407,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9409,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9409,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9409,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9413,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9414,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9414,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9414,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9422,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9422,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9423,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9423,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9423,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9428,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9428,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9432,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9432,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9432,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9434,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9434,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9434,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9438,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9439,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9439,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9439,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9440,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9440,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9440,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9447,1
    - Dst: SET_LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9448,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:9452,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9453,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9454,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9457,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9457,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9458,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9458,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9459,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9459,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9459,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9460,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9461,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9461,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9463,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9463,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9472,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9472,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9472,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9477,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9478,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9478,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9478,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9481,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9485,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9485,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9485,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9486,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9486,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9486,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9490,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9491,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9491,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9491,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9494,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9495,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9495,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9499,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:9502,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9503,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9508,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:9509,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9509,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 312
    argCount: 4
    argNames:
    - common
    - cc
    - backtrack
    - conditional
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - assert_backtrack*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9528
      start: 9052
    functionDepth: 3
    functionLinenumber: 9052
    functionLinenumberEnd: 9528
    functionName: compile_assert_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - init_frame
    - assert_needs_str_ptr_saving
    - OP2
    - GET
    - SLJIT_ASSERT
    - free_stack
    - JUMP
    - CMP
    - compile_reverse_matchingpath
    - STACK
    - find_vreverse
    - compile_backtrackingpath
    - OP1
    - get_framesize
    - allocate_stack
    - JUMPHERE
    - PRIVATE_DATA
    - compile_matchingpath
    - JUMPTO
    - SET_LABEL
    - SLJIT_UNLIKELY
    - LABEL
    - memset
    - add_jump
    - set_jumps
    - SLJIT_MEM1
    - sljit_get_compiler_error
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_assert_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, assert_backtrack *backtrack, BOOL conditional)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9538,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9538,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9546,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9550,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9550,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9550,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9550,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9554,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9554,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9554,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9558,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9558,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9558,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9558,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9564,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9564,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9566,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9566,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9566,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9571,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9571,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9571,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9575,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 6
    argNames:
    - common
    - ket
    - framesize
    - private_data_ptr
    - has_alternatives
    - needs_control_head
    argTypes:
    - compiler_common*
    - PCRE2_UCHAR
    - int
    - int
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9576
      start: 9530
    functionDepth: 2
    functionLinenumber: 9530
    functionLinenumberEnd: 9576
    functionName: match_once_common
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - free_stack
    - OP2
    - STACK
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE match_once_common(compiler_common *common, PCRE2_UCHAR
      ket, int framesize, int private_data_ptr, BOOL has_alternatives, BOOL needs_control_head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9584,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9584,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9585,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9585,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9586,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9586,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9586,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:9589,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9591,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9591,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9591,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9592,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9592,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9592,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9593,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9593,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9593,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9594,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9594,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9595,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9595,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9595,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9596,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9596,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9596,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9597,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9597,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - common
    - stacksize
    - offset
    - private_data_ptr
    argTypes:
    - compiler_common*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9601
      start: 9578
    functionDepth: 1
    functionLinenumber: 9578
    functionLinenumberEnd: 9601
    functionName: match_capture_common
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - OVECTOR
    - STACK
    - is_optimized_cbracket
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE match_capture_common(compiler_common *common, int stacksize,
      int offset, int private_data_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:9605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - endptr
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9608
      start: 9603
    functionDepth: 0
    functionLinenumber: 9603
    functionLinenumberEnd: 9608
    functionName: do_script_run
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR do_script_run(PCRE2_SPTR ptr, PCRE2_SPTR endptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:9614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - endptr
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SPTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9617
      start: 9612
    functionDepth: 0
    functionLinenumber: 9612
    functionLinenumberEnd: 9617
    functionName: do_script_run_utf
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR do_script_run_utf(PCRE2_SPTR ptr, PCRE2_SPTR endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9625,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9627,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9627,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_compile.c:9629,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9629,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9630,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9630,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_compile.c:9632,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9632,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9632,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9635,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:9636,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - common
    - private_data_ptr
    - parent
    argTypes:
    - compiler_common*
    - int
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9637
      start: 9621
    functionDepth: 1
    functionLinenumber: 9621
    functionLinenumberEnd: 9637
    functionName: match_script_run_common
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - add_jump
    - CMP
    - SLJIT_ARGS2
    - SLJIT_FUNC_ADDR
    - SLJIT_MEM1
    - sljit_emit_icall
    - OP1
    linkageType: ''
    returnType: void
    signature: void match_script_run_common(compiler_common *common, int private_data_ptr,
      backtrack_common *parent)
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9717,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:9728,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9730,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9732,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9733,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9734,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9735,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9736,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9744,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9745,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:9746,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:9749,1
    - Dst: SLJIT_COMPILE_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9751,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:9756,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9762,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:9763,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:9765,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9771,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9773,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9780,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9781,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9782,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9784,1
    - Dst: get_framesize
      Src: /src/pcre2/src/pcre2_jit_compile.c:9784,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9795,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9800,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9800,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9800,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9805,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9805,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9805,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9810,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9810,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9810,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9813,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9814,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9818,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9819,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9819,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9819,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9821,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9822,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9824,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9827,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9827,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9832,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9832,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9833,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9833,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9833,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9833,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9835,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:9839,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9840,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9840,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9840,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:9841,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9847,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9847,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9849,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9853,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9853,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:9857,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9859,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9868,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9868,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9872,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9879,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9879,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9883,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9884,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9884,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9890,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9896,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9896,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9896,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9902,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9902,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9903,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9903,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9903,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9904,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9905,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9905,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9906,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9906,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9906,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9909,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9909,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9909,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9916,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9917,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9920,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9920,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9920,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9922,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9922,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9923,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9928,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9928,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9928,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9929,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9929,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9931,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9931,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9931,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9935,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9935,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9936,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9936,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9936,1
    - Dst: init_frame
      Src: /src/pcre2/src/pcre2_jit_compile.c:9938,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:9938,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:9944,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:9946,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9946,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9947,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9948,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9948,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9949,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9949,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9950,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9950,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9951,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9951,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9951,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9952,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9952,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9952,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9956,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9956,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9957,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9958,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9958,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9959,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9959,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9959,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:9962,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9964,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9964,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9965,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9966,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9966,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9967,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9967,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9968,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9968,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9969,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9969,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9969,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9970,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9970,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9970,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9971,1
    - Dst: compile_reverse_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:9975,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9980,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9980,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:9981,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9982,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9982,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9983,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9983,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:9983,1
    - Dst: compile_reverse_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:9986,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:9997,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:9997,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9999,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:9999,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10001,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10001,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10001,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10001,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10001,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10004,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10006,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10006,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10007,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10007,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10008,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10008,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10009,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10009,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10010,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10010,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10011,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10015,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10015,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10015,1
    - Dst: sljit_get_local_base
      Src: /src/pcre2/src/pcre2_jit_compile.c:10022,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10022,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10022,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10027,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10029,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10030,1
    - Dst: sljit_get_local_base
      Src: /src/pcre2/src/pcre2_jit_compile.c:10034,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10034,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10034,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10035,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10035,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10035,1
    - Dst: sljit_get_local_base
      Src: /src/pcre2/src/pcre2_jit_compile.c:10039,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10039,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10039,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10046,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10046,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10046,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10049,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10049,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10050,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10050,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:10052,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10052,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10054,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10056,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10056,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10057,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10057,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10058,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10058,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10059,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10059,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10060,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10060,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10061,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10061,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10064,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10064,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10064,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10065,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10065,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10065,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10068,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10068,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10068,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10073,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10074,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10074,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10074,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10082,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10083,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10083,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10084,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10089,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10091,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10092,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10093,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10094,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10094,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10094,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10095,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10095,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10095,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10095,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10100,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10100,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10100,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10100,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10101,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10104,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10105,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10105,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10105,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10111,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10112,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10123,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10131,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10142,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10143,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10144,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10147,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:10164,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10172,1
    - Dst: sljit_alloc_memory
      Src: /src/pcre2/src/pcre2_jit_compile.c:10174,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:10175,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:10175,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:10177,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10179,1
    - Dst: compile_assert_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:10180,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:10181,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:10181,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:10186,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:10187,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:10187,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10195,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:10195,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10196,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10196,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:10199,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10200,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10200,1
    - Dst: match_once_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:10203,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10203,1
    - Dst: match_script_run_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:10206,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10214,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10214,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:10223,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10230,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10236,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10236,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10236,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10243,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10243,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10243,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10245,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10245,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10245,1
    - Dst: match_capture_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:10250,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:10256,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10265,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10265,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10265,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10267,1
    - Dst: sljit_emit_op_addr
      Src: /src/pcre2/src/pcre2_jit_compile.c:10267,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10267,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10267,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10270,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10270,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:10274,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10276,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10276,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10277,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10277,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10277,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10282,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10282,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10285,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10286,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10286,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10287,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10287,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10288,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10288,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:10291,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10301,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10301,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10302,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10302,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10302,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10303,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10306,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10311,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10311,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10317,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10317,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10320,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10324,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10327,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10328,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10328,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:10333,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10334,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10334,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10334,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10335,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10340,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10340,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10341,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10342,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10342,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10342,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10346,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10346,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10351,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:10354,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10360,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10362,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10365,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10365,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10366,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10366,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10367,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10371,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:10377,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10384,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10386,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10391,1
    CyclomaticComplexity: 187
    EdgeCount: 187
    ICount: 472
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 9692
    functionDepth: 4
    functionLinenumber: 9692
    functionLinenumberEnd: 10394
    functionName: compile_bracket_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - init_frame
    - compile_assert_matchingpath
    - GET2
    - OP2
    - BACKTRACK_AS
    - match_once_common
    - match_capture_common
    - GET
    - SLJIT_ASSERT
    - free_stack
    - JUMP
    - CMP
    - compile_reverse_matchingpath
    - STACK
    - PUSH_BACKTRACK
    - OP1
    - get_framesize
    - SLJIT_COMPILE_ASSERT
    - allocate_stack
    - bracketend
    - JUMPHERE
    - PRIVATE_DATA
    - sljit_get_local_base
    - OVECTOR_PRIV
    - compile_matchingpath
    - SSIZE_OF
    - JUMPTO
    - SLJIT_UNLIKELY
    - match_script_run_common
    - is_optimized_cbracket
    - LABEL
    - count_match
    - OVECTOR
    - memset
    - add_jump
    - sljit_emit_op_addr
    - CMPTO
    - set_jumps
    - SLJIT_MEM1
    - sljit_alloc_memory
    - sljit_get_compiler_error
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_bracket_matchingpath(compiler_common *common, PCRE2_SPTR
      cc, backtrack_common *parent)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_BACKTRACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10413,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:10421,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10422,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10423,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10433,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10436,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:10436,1
    - Dst: OVECTOR_PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:10437,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:10443,1
    - Dst: get_framesize
      Src: /src/pcre2/src/pcre2_jit_compile.c:10447,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10448,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10465,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10466,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10468,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10468,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10474,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10474,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10474,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10475,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10475,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10475,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10476,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10476,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10476,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10478,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10478,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10479,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10479,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10479,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10481,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10481,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10484,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10484,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10484,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10491,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10491,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10492,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10492,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10492,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10499,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10499,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10499,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10503,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10503,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10503,1
    - Dst: BACKTRACK_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:10515,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:10517,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10518,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10518,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10520,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10520,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10521,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10521,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10526,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10526,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10526,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10531,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10531,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10531,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10536,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10536,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10536,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10539,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10539,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10539,1
    - Dst: init_frame
      Src: /src/pcre2/src/pcre2_jit_compile.c:10540,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10545,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10545,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10547,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:10552,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:10554,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:10555,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:10555,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10561,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10561,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10565,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10565,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10566,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10566,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10566,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10567,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10567,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10569,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10569,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10570,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10570,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10570,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10575,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10575,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10575,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10576,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10576,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10576,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10581,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10581,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10581,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10581,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10584,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10584,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10587,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10587,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10587,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10593,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10593,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10594,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10594,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10595,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10595,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10595,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10596,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10596,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10598,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10598,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10599,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10599,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:10599,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10603,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10603,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10604,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10606,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10606,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10606,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10607,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10607,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10607,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10612,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10612,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10612,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10612,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10615,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10615,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10618,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10618,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10618,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:10621,1
    - Dst: flush_stubs
      Src: /src/pcre2/src/pcre2_jit_compile.c:10622,1
    - Dst: compile_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:10624,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:10625,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:10625,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:10627,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10627,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10632,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10632,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10634,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10634,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10634,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10642,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10642,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10643,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10643,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10647,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10647,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10648,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10648,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10648,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10663,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10663,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10663,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10663,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:10665,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:10665,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:10665,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:10665,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:10669,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:10669,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:10670,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 192
    argCount: 3
    argNames:
    - common
    - cc
    - parent
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10672
      start: 10396
    functionDepth: 3
    functionLinenumber: 10396
    functionLinenumberEnd: 10672
    functionName: compile_bracketpos_matchingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - init_frame
    - GET2
    - OP2
    - BACKTRACK_AS
    - GET
    - SLJIT_ASSERT
    - CMP
    - STACK
    - PUSH_BACKTRACK
    - compile_backtrackingpath
    - OP1
    - get_framesize
    - allocate_stack
    - PRIVATE_DATA
    - OVECTOR_PRIV
    - compile_matchingpath
    - JUMPTO
    - SLJIT_UNLIKELY
    - is_optimized_cbracket
    - LABEL
    - count_match
    - OVECTOR
    - add_jump
    - flush_stubs
    - SLJIT_UNREACHABLE
    - set_jumps
    - SLJIT_MEM1
    - sljit_get_compiler_error
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR compile_bracketpos_matchingpath(compiler_common *common,
      PCRE2_SPTR cc, backtrack_common *parent)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10712,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:10714,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10744,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10745,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10746,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10751,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:10766,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10782,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:10800,1
    - Dst: next_opcode
      Src: /src/pcre2/src/pcre2_jit_compile.c:10808,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:10815,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_jit_compile.c:10815,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 7
    argNames:
    - common
    - cc
    - opcode
    - type
    - max
    - exact
    - end
    argTypes:
    - compiler_common*
    - PCRE2_SPTR
    - PCRE2_UCHAR*
    - PCRE2_UCHAR*
    - sljit_u32*
    - sljit_u32*
    - PCRE2_SPTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10818
      start: 10674
    functionDepth: 2
    functionLinenumber: 10674
    functionLinenumberEnd: 10818
    functionName: get_iterator_parameters
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - GET2
    - next_opcode
    - GET_EXTRALEN
    - GET
    - HAS_EXTRALEN
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE get_iterator_parameters(compiler_common *common, PCRE2_SPTR
      cc, PCRE2_UCHAR *opcode, PCRE2_UCHAR *type, sljit_u32 *max, sljit_u32 *exact,
      PCRE2_SPTR *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12033
      start: 12025
    functionDepth: 0
    functionLinenumber: 12025
    functionLinenumberEnd: 12033
    functionName: COMPILE_BACKTRACKINGPATH
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPILE_BACKTRACKINGPATH(current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12035
      start: 12034
    functionDepth: 0
    functionLinenumber: 12034
    functionLinenumberEnd: 12035
    functionName: CURRENT_AS
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_AS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12041,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12041,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12042,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12045,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12045,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12045,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12046,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12046,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12046,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12047,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12048,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:12049,1
    - Dst: OP_FLAGS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12050,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12052,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12054,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12056
      start: 12036
    functionDepth: 1
    functionLinenumber: 12036
    functionLinenumberEnd: 12056
    functionName: compile_newline_move_back
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - CMP
    - OP2
    - OP2U
    - OP_FLAGS
    - IN_UCHARS
    - SLJIT_MEM1
    - OP1
    linkageType: ''
    returnType: void
    signature: void compile_newline_move_back(compiler_common *common)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12069,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12070,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12070,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12071,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12072,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:12072,1
    - Dst: get_iterator_parameters
      Src: /src/pcre2/src/pcre2_jit_compile.c:12074,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12082,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12083,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12083,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12084,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12084,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12084,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12085,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12086,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12086,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12090,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12092,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12093,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12095,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12096,1
    - Dst: compile_newline_move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12098,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12099,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12101,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12101,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12101,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12102,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12103,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12103,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12104,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12104,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12104,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12106,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12108,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12108,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12113,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12119,1
    - Dst: compile_newline_move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12120,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12123,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12124,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12130,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12131,1
    - Dst: compile_newline_move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12132,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12135,1
    - Dst: move_back
      Src: /src/pcre2/src/pcre2_jit_compile.c:12137,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12140,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12141,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12141,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12143,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12143,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12146,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12148,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12153,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12154,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12155,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12155,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12156,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12157,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12157,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12158,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12159,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12160,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12160,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12161,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12163,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12167,1
    - Dst: compile_char1_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12170,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12171,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12174,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12176,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12176,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12177,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12177,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12179,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12183,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12184,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12185,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12189,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12189,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12191,1
    - Dst: compile_char1_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12192,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12193,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12194,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12194,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12196,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12196,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12201,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12202,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12203,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12203,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12205,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12205,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12209,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12213,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12214,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12219,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12220,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12220,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12221,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12221,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12225,1
    - Dst: compile_char1_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12226,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12227,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12227,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12228,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12228,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12229,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12233,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12237,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 124
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12240
      start: 12058
    functionDepth: 5
    functionLinenumber: 12058
    functionLinenumberEnd: 12240
    functionName: compile_iterator_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - OP2
    - compile_char1_matchingpath
    - SLJIT_ASSERT
    - free_stack
    - JUMP
    - CURRENT_AS
    - CMP
    - STACK
    - IN_UCHARS
    - OP1
    - get_iterator_parameters
    - PRIVATE_DATA
    - JUMPHERE
    - JUMPTO
    - SSIZE_OF
    - move_back
    - LABEL
    - compile_newline_move_back
    - add_jump
    - CMPTO
    - SLJIT_UNREACHABLE
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void compile_iterator_backtrackingpath(compiler_common *common, struct
      backtrack_common *current)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:12249,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12251,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12253,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12253,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12260,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12260,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12261,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12261,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12261,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12262,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12263,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12263,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12267,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12267,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12267,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12268,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12268,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12269,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12269,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12271
      start: 12242
    functionDepth: 2
    functionLinenumber: 12242
    functionLinenumberEnd: 12271
    functionName: compile_ref_iterator_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - free_stack
    - CURRENT_AS
    - CMPTO
    - set_jumps
    - PRIV
    - STACK
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_ref_iterator_backtrackingpath(compiler_common
      *common, struct backtrack_common *current)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12278,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12280,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12282,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12282,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12284,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12285,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12285,1
    - Dst: compile_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12288,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12290,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12291
      start: 12273
    functionDepth: 2
    functionLinenumber: 12273
    functionLinenumberEnd: 12291
    functionName: compile_recurse_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMP
    - CURRENT_AS
    - add_jump
    - JUMPTO
    - CMPTO
    - set_jumps
    - compile_backtrackingpath
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_recurse_backtrackingpath(compiler_common *common,
      struct backtrack_common *current)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12300,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12309,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12310,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12310,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12310,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12313,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12315,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12315,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12319,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12319,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12319,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12320,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12320,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12321,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12330,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12330,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12330,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12331,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12331,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12332,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12335,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12336,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12341,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12341,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12341,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12342,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12342,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12343,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12343,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12343,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12344,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12344,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12345,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12345,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12345,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12347,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12347,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12350,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12350,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12355,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12356,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12356,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12356,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12357,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12357,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12360
      start: 12293
    functionDepth: 2
    functionLinenumber: 12293
    functionLinenumberEnd: 12360
    functionName: compile_assert_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - free_stack
    - JUMP
    - CURRENT_AS
    - CMP
    - add_jump
    - JUMPTO
    - OP2
    - CMPTO
    - STACK
    - set_jumps
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: void
    signature: void compile_assert_backtrackingpath(compiler_common *common, struct
      backtrack_common *current)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12367,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:12393,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12395,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12397,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12398,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12399,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12400,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:12407,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12409,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12409,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12410,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12412,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12413,1
    - Dst: no_alternatives
      Src: /src/pcre2/src/pcre2_jit_compile.c:12416,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12421,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12422,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12428,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12428,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12428,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12429,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12431,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12431,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12433,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12433,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12440,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12440,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12440,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12441,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12442,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12449,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12449,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12449,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12453,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12453,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12456,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12461,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12462,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12462,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12462,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12465,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12465,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12466,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12466,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12466,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12466,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12466,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12470,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12473,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12473,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12475,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12477,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12477,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12477,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12481,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12481,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12481,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12482,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12483,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12487,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12487,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12488,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12495,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:12495,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12496,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12496,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12496,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12497,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12497,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12497,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12498,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12498,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12499,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12499,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12499,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12500,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12501,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12501,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12501,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12502,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12502,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12502,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:12504,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12506,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12506,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12506,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12507,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12507,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12507,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12508,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12509,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12509,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12509,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12510,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12510,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12510,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12513,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12515,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12516,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12516,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12517,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12517,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12523,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12523,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12524,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12524,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12526,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12528,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12530,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12533,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12533,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12534,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12534,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12535,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12537,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12539,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12539,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12544,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12544,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12544,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12545,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12548,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12553,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12553,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12553,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12554,1
    - Dst: sljit_emit_ijump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12558,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12560,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12560,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:12561,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12561,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12561,1
    - Dst: sljit_emit_op0
      Src: /src/pcre2/src/pcre2_jit_compile.c:12562,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12565,1
    - Dst: COMPILE_BACKTRACKINGPATH
      Src: /src/pcre2/src/pcre2_jit_compile.c:12568,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12570,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12570,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12572,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12572,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12577,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12578,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12579,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12582,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12582,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12583,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12583,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12584,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12584,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12584,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12585,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12586,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12586,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12588,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12589,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12589,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12589,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12591,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12593,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12594,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12595,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12595,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12595,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12598,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:12613,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12621,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12622,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12622,1
    - Dst: compile_reverse_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12626,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12629,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12629,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12629,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12632,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12632,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12632,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12639,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12639,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12641,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12641,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12641,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12645,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12646,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:12646,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12654,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12654,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12655,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12655,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12658,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12659,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12659,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12662,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12662,1
    - Dst: match_script_run_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:12665,1
    - Dst: match_once_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:12673,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12673,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12679,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12679,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:12688,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12695,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12701,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12701,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12701,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12708,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12708,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12708,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12710,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12710,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12710,1
    - Dst: match_capture_common
      Src: /src/pcre2/src/pcre2_jit_compile.c:12715,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12720,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12720,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12720,1
    - Dst: sljit_emit_op_addr
      Src: /src/pcre2/src/pcre2_jit_compile.c:12722,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12722,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12722,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:12725,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12728,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12728,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12729,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12729,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12729,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12732,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12732,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12738,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12742,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12743,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:12748,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12748,1
    - Dst: sljit_emit_op0
      Src: /src/pcre2/src/pcre2_jit_compile.c:12749,1
    - Dst: COMPILE_BACKTRACKINGPATH
      Src: /src/pcre2/src/pcre2_jit_compile.c:12753,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12755,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12755,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12756,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12762,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12765,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12766,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12769,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12769,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12770,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12770,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12771,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12771,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12771,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12772,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12773,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12773,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12776,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12781,1
    - Dst: is_optimized_cbracket
      Src: /src/pcre2/src/pcre2_jit_compile.c:12787,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12789,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12789,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12789,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12790,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12790,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12790,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12791,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12792,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12792,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12792,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12793,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12793,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12793,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12797,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12797,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12797,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12798,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12799,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12799,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:12802,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12804,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12804,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12804,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12805,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12805,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12805,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12806,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12806,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12807,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12807,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12808,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12808,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12809,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12813,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12813,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12813,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12813,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12814,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12818,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12818,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12818,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12819,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12819,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12819,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12820,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12820,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12821,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12821,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12822,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12822,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12823,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12825,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12825,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12825,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:12828,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:12833,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12836,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12839,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12848,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12850,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12852,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12853,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12853,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12853,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12853,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12853,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12856,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12856,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12856,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12858,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12859,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12859,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12865,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12865,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12866,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12866,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12867,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12871,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12871,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12871,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12873,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12875,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12875,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12878,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12878,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12878,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12879,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12879,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12880,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12881,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12886,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12886,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12886,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12892,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12893,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12895,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12897,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12901,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12901,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12901,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:12902,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12902,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12903,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 380
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12905
      start: 12362
    functionDepth: 3
    functionLinenumber: 12362
    functionLinenumberEnd: 12905
    functionName: compile_bracket_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET2
    - OP2
    - COMPILE_BACKTRACKINGPATH
    - match_once_common
    - match_capture_common
    - GET
    - SLJIT_ASSERT
    - free_stack
    - JUMP
    - CURRENT_AS
    - CMP
    - sljit_set_label
    - compile_reverse_matchingpath
    - sljit_emit_ijump
    - STACK
    - OP1
    - allocate_stack
    - bracketend
    - JUMPHERE
    - PRIVATE_DATA
    - JUMPTO
    - compile_matchingpath
    - SSIZE_OF
    - SLJIT_UNLIKELY
    - match_script_run_common
    - is_optimized_cbracket
    - LABEL
    - OVECTOR
    - add_jump
    - no_alternatives
    - sljit_emit_op_addr
    - CMPTO
    - set_jumps
    - sljit_emit_op0
    - SLJIT_MEM1
    - sljit_get_compiler_error
    linkageType: ''
    returnType: void
    signature: void compile_bracket_backtrackingpath(compiler_common *common, struct
      backtrack_common *current)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12915,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12924,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12925,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12925,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12925,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12926,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12926,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12926,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12927,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12927,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12927,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12929,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12929,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12929,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12930,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12930,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:12930,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12932,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12932,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12934,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12934,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12935,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12935,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12939,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12939,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12939,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:12940,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12940,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:12941,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12941,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12945,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:12946,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:12946,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:12948,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12948,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:12949,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12951,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12952
      start: 12907
    functionDepth: 2
    functionLinenumber: 12907
    functionLinenumberEnd: 12952
    functionName: compile_bracketpos_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - JUMPHERE
    - OVECTOR
    - free_stack
    - CURRENT_AS
    - add_jump
    - GET2
    - JUMP
    - OP2
    - STACK
    - set_jumps
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_bracketpos_backtrackingpath(compiler_common *common,
      struct backtrack_common *current)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compile_bracket_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12964,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12965,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:12965,1
    - Dst: compile_bracket_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12967,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:12971,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:12973,1
    - Dst: compile_assert_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:12975,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:12976,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:12976,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12980
      start: 12954
    functionDepth: 5
    functionLinenumber: 12954
    functionLinenumberEnd: 12980
    functionName: compile_braminzero_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - compile_assert_matchingpath
    - memset
    - CURRENT_AS
    - compile_bracket_backtrackingpath
    - SLJIT_UNLIKELY
    - compile_bracket_matchingpath
    - sljit_get_compiler_error
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_braminzero_backtrackingpath(compiler_common *common,
      struct backtrack_common *current)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:12993,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12995,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12995,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12996,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:12997,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:12998,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13000,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13001,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13001,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13001,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13002,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13003,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13003,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13003,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13004,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13004,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13004,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13005,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13005,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13010,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13010,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13016,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13016,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13022,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13022,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13024,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13030,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13031,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13031,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13032,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_compile.c:13033,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_compile.c:13033,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13033,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13037,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13038,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13038,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13042,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13043,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13044,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13044,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13045,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13045,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13046,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13051,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13051,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13051,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13053,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13054,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13054,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13055
      start: 12982
    functionDepth: 1
    functionLinenumber: 12982
    functionLinenumberEnd: 13055
    functionName: compile_control_verb_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - JUMP
    - add_jump
    - CMP
    - JUMPTO
    - SLJIT_ARGS2
    - CMPTO
    - STACK
    - SLJIT_FUNC_ADDR
    - SLJIT_MEM1
    - sljit_emit_icall
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_control_verb_backtrackingpath(compiler_common
      *common, struct backtrack_common *current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13063,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13063,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13063,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13064,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13064,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13064,1
    - Dst: skip_valid_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:13065,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13066,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13066,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13066,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13067,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13067,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13069,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:13070,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13072
      start: 13057
    functionDepth: 2
    functionLinenumber: 13057
    functionLinenumberEnd: 13072
    functionName: compile_vreverse_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - CMP
    - CURRENT_AS
    - JUMPTO
    - sljit_set_label
    - STACK
    - set_jumps
    - SLJIT_MEM1
    - OP1
    - LABEL
    - skip_valid_char
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_vreverse_backtrackingpath(compiler_common *common,
      struct backtrack_common *current)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13081,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13083,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13087,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13090,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13090,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13090,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13091,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13092,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13094,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13094,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13094,1
    - Dst: CURRENT_AS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13096,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13097,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13102,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13102,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:13103,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13105,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13105,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13105,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13106,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13108,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13109,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13110
      start: 13074
    functionDepth: 2
    functionLinenumber: 13074
    functionLinenumberEnd: 13110
    functionName: compile_then_trap_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - SLJIT_ASSERT
    - JUMPHERE
    - free_stack
    - JUMP
    - CURRENT_AS
    - add_jump
    - OP2
    - STACK
    - set_jumps
    - SLJIT_MEM1
    - OP1
    - LABEL
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_then_trap_backtrackingpath(compiler_common *common,
      struct backtrack_common *current)
  - BBCount: 122
    BranchProfiles: []
    Callsites:
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13120,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13120,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13124,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13124,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13124,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13125,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13126,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13126,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13126,1
    - Dst: compile_iterator_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13202,1
    - Dst: compile_ref_iterator_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13209,1
    - Dst: compile_recurse_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13213,1
    - Dst: compile_assert_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13220,1
    - Dst: compile_bracket_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13234,1
    - Dst: compile_bracket_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13239,1
    - Dst: compile_assert_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13241,1
    - Dst: compile_bracketpos_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13249,1
    - Dst: compile_braminzero_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13253,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13257,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13257,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13257,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13259,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13259,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13259,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13260,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13261,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13261,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13263,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13263,1
    - Dst: compile_control_verb_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13272,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13278,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13278,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13281,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13284,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13284,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13286,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13294,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13294,1
    - Dst: compile_vreverse_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13298,1
    - Dst: compile_then_trap_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13303,1
    - Dst: SLJIT_UNREACHABLE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13307,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 172
    argCount: 2
    argNames:
    - common
    - current
    argTypes:
    - compiler_common*
    - struct backtrack_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13313
      start: 13112
    functionDepth: 6
    functionLinenumber: 13112
    functionLinenumberEnd: 13313
    functionName: compile_backtrackingpath
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 3
    functionsReached:
    - compile_assert_backtrackingpath
    - compile_vreverse_backtrackingpath
    - compile_then_trap_backtrackingpath
    - compile_iterator_backtrackingpath
    - free_stack
    - JUMP
    - STACK
    - OP1
    - compile_ref_iterator_backtrackingpath
    - compile_braminzero_backtrackingpath
    - JUMPTO
    - compile_recurse_backtrackingpath
    - compile_control_verb_backtrackingpath
    - compile_bracketpos_backtrackingpath
    - LABEL
    - OVECTOR
    - add_jump
    - compile_bracket_backtrackingpath
    - SLJIT_UNREACHABLE
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: void
    signature: void compile_backtrackingpath(compiler_common *common, struct backtrack_common
      *current)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:13320,1
    - Dst: get_recurse_data_length
      Src: /src/pcre2/src/pcre2_jit_compile.c:13322,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13334,1
    - Dst: no_alternatives
      Src: /src/pcre2/src/pcre2_jit_compile.c:13336,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13340,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13341,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13342,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:13344,1
    - Dst: count_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:13345,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13352,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13354,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13354,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13354,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13356,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13359,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13359,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13362,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13362,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13365,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13365,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13365,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13367,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:13373,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13380,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13380,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13380,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13382,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:13383,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:13383,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13386,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13387,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13387,1
    - Dst: sljit_emit_op_addr
      Src: /src/pcre2/src/pcre2_jit_compile.c:13392,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13392,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13392,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13394,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13394,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13394,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13397,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13397,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13402,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13403,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13404,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:13406,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13409,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13409,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13409,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13411,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13411,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13411,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13413,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13413,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13413,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13415,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13419,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13419,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13419,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13420,1
    - Dst: sljit_emit_ijump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13424,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:13425,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13425,1
    - Dst: sljit_emit_op0
      Src: /src/pcre2/src/pcre2_jit_compile.c:13426,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13429,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13432,1
    - Dst: sljit_set_label
      Src: /src/pcre2/src/pcre2_jit_compile.c:13436,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13436,1
    - Dst: sljit_emit_op0
      Src: /src/pcre2/src/pcre2_jit_compile.c:13437,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13441,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13444,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13445,1
    - Dst: compile_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13451,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:13452,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:13452,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13454,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13454,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_jit_compile.c:13460,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13465,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13467,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13469,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13469,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13469,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13470,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13471,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:13472,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13476,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13478,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13478,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13479,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13479,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13480,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13481,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13486,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13487,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13490,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13490,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13490,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13492,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13494,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13494,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13494,1
    - Dst: free_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13495,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13496,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:13497,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13502,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13504,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13504,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13506,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13506,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13507,1
    - Dst: allocate_stack
      Src: /src/pcre2/src/pcre2_jit_compile.c:13509,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13510,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13510,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13510,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13513,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13513,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13515,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13515,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13515,1
    - Dst: copy_recurse_data
      Src: /src/pcre2/src/pcre2_jit_compile.c:13517,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13519,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13519,1
    - Dst: STACK
      Src: /src/pcre2/src/pcre2_jit_compile.c:13519,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13520,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:13521,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 122
    argCount: 1
    argNames:
    - common
    argTypes:
    - compiler_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13522
      start: 13315
    functionDepth: 7
    functionLinenumber: 13315
    functionLinenumberEnd: 13522
    functionName: compile_recurse
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 0
    functionsReached:
    - GET
    - get_recurse_data_length
    - SLJIT_ASSERT
    - JUMP
    - free_stack
    - CMP
    - sljit_set_label
    - sljit_emit_ijump
    - STACK
    - compile_backtrackingpath
    - OP1
    - allocate_stack
    - bracketend
    - JUMPHERE
    - copy_recurse_data
    - compile_matchingpath
    - JUMPTO
    - SLJIT_UNLIKELY
    - LABEL
    - count_match
    - memset
    - add_jump
    - OP_SRC
    - no_alternatives
    - sljit_emit_op_dst
    - sljit_emit_op_addr
    - set_jumps
    - sljit_emit_op0
    - SLJIT_MEM1
    - sljit_get_compiler_error
    linkageType: ''
    returnType: SLJIT_INLINE
    signature: SLJIT_INLINE compile_recurse(compiler_common *common)
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13556,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13559,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13559,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13559,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13559,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13561,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13561,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13561,1
    - Dst: sljit_get_register_index
      Src: /src/pcre2/src/pcre2_jit_compile.c:13561,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13566,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13567,1
    - Dst: bracketend
      Src: /src/pcre2/src/pcre2_jit_compile.c:13647,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_compile.c:13665,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13669,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13672,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13674,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13678,1
    - Dst: check_opcode_types
      Src: /src/pcre2/src/pcre2_jit_compile.c:13683,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13685,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13737,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13741,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13743,1
    - Dst: detect_early_fail
      Src: /src/pcre2/src/pcre2_jit_compile.c:13750,1
    - Dst: set_private_data_ptrs
      Src: /src/pcre2/src/pcre2_jit_compile.c:13752,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13754,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13758,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_compile.c:13765,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13768,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:13771,1
    - Dst: set_then_offsets
      Src: /src/pcre2/src/pcre2_jit_compile.c:13772,1
    - Dst: sljit_create_compiler
      Src: /src/pcre2/src/pcre2_jit_compile.c:13775,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13778,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13780,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13786,1
    - Dst: sljit_emit_enter
      Src: /src/pcre2/src/pcre2_jit_compile.c:13787,1
    - Dst: SLJIT_ARGS1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13787,1
    - Dst: SLJIT_ENTER_VECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13787,1
    - Dst: reset_ovector
      Src: /src/pcre2/src/pcre2_jit_compile.c:13790,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13792,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13792,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13794,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13795,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13796,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13796,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13796,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13797,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13797,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13797,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13798,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13798,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13798,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13799,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13799,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13799,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13800,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13800,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13800,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13801,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13801,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13801,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:13802,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13803,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13803,1
    - Dst: reset_early_fail
      Src: /src/pcre2/src/pcre2_jit_compile.c:13806,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13809,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13809,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13811,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13811,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13813,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13813,1
    - Dst: mainloop_entry
      Src: /src/pcre2/src/pcre2_jit_compile.c:13818,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13819,1
    - Dst: fast_forward_first_n_chars
      Src: /src/pcre2/src/pcre2_jit_compile.c:13823,1
    - Dst: fast_forward_first_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:13826,1
    - Dst: fast_forward_newline
      Src: /src/pcre2/src/pcre2_jit_compile.c:13828,1
    - Dst: fast_forward_start_bits
      Src: /src/pcre2/src/pcre2_jit_compile.c:13830,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13834,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13839,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:13840,1
    - Dst: IN_UCHARS
      Src: /src/pcre2/src/pcre2_jit_compile.c:13840,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13841,1
    - Dst: search_requested_char
      Src: /src/pcre2/src/pcre2_jit_compile.c:13844,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13847,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13847,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13847,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13849,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13849,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13851,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13851,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13853,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13853,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:13853,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13855,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13856,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13856,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13861,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13861,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13862,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13862,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13863,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13866,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13866,1
    - Dst: compile_matchingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13868,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:13869,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:13869,1
    - Dst: sljit_free_compiler
      Src: /src/pcre2/src/pcre2_jit_compile.c:13871,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13872,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13874,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:13875,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13880,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13884,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13884,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13884,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13885,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13888,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13890,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13901,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13902,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13902,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13902,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13906,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13906,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:13906,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13908,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13908,1
    - Dst: OVECTOR
      Src: /src/pcre2/src/pcre2_jit_compile.c:13908,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:13911,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13914,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13915,1
    - Dst: JUMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13915,1
    - Dst: add_jump
      Src: /src/pcre2/src/pcre2_jit_compile.c:13917,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13917,1
    - Dst: copy_ovector
      Src: /src/pcre2/src/pcre2_jit_compile.c:13921,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13922,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13924,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13926,1
    - Dst: SET_LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13928,1
    - Dst: sljit_emit_op0
      Src: /src/pcre2/src/pcre2_jit_compile.c:13930,1
    - Dst: sljit_emit_return
      Src: /src/pcre2/src/pcre2_jit_compile.c:13931,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13935,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13936,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13936,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13937,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13938,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13942,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13946,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:13947,1
    - Dst: return_with_partial_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:13948,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13952,1
    - Dst: compile_backtrackingpath
      Src: /src/pcre2/src/pcre2_jit_compile.c:13953,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:13954,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:13954,1
    - Dst: sljit_free_compiler
      Src: /src/pcre2/src/pcre2_jit_compile.c:13956,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13957,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13959,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:13960,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:13964,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:13965,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:13970,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13970,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13971,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13971,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13972,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13972,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13973,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13973,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:13974,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13980,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13980,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13983,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13983,1
    - Dst: PRIVATE_DATA
      Src: /src/pcre2/src/pcre2_jit_compile.c:13984,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13995,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13996,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:13997,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:13998,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14001,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14005,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14010,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14010,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14013,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14013,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14015,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14016,1
    - Dst: flush_stubs
      Src: /src/pcre2/src/pcre2_jit_compile.c:14018,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14022,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14023,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14024,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14024,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:14024,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:14025,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14026,1
    - Dst: OP2U
      Src: /src/pcre2/src/pcre2_jit_compile.c:14027,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14028,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14029,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14029,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:14029,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14030,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14031,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14040,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:14045,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14046,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_compile.c:14047,1
    - Dst: compile_recurse
      Src: /src/pcre2/src/pcre2_jit_compile.c:14054,1
    - Dst: SLJIT_UNLIKELY
      Src: /src/pcre2/src/pcre2_jit_compile.c:14055,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:14055,1
    - Dst: flush_stubs
      Src: /src/pcre2/src/pcre2_jit_compile.c:14057,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14062,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14068,1
    - Dst: sljit_get_compiler_error
      Src: /src/pcre2/src/pcre2_jit_compile.c:14068,1
    - Dst: sljit_free_compiler
      Src: /src/pcre2/src/pcre2_jit_compile.c:14070,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14071,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14073,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:14074,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14081,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14085,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14085,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14087,1
    - Dst: SSIZE_OF
      Src: /src/pcre2/src/pcre2_jit_compile.c:14087,1
    - Dst: sljit_emit_op_dst
      Src: /src/pcre2/src/pcre2_jit_compile.c:14088,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14088,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14090,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14092,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14092,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14093,1
    - Dst: OP2
      Src: /src/pcre2/src/pcre2_jit_compile.c:14094,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14095,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14095,1
    - Dst: SLJIT_OFFSETOF
      Src: /src/pcre2/src/pcre2_jit_compile.c:14095,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14096,1
    - Dst: sljit_emit_icall
      Src: /src/pcre2/src/pcre2_jit_compile.c:14098,1
    - Dst: SLJIT_ARGS2
      Src: /src/pcre2/src/pcre2_jit_compile.c:14098,1
    - Dst: SLJIT_FUNC_ADDR
      Src: /src/pcre2/src/pcre2_jit_compile.c:14098,1
    - Dst: CMP
      Src: /src/pcre2/src/pcre2_jit_compile.c:14100,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14101,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14102,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14103,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14103,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14104,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14104,1
    - Dst: OP_SRC
      Src: /src/pcre2/src/pcre2_jit_compile.c:14105,1
    - Dst: JUMPHERE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14108,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14110,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14111,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14114,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14114,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14115,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14116,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14120,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14120,1
    - Dst: do_revertframes
      Src: /src/pcre2/src/pcre2_jit_compile.c:14121,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14125,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14125,1
    - Dst: check_wordboundary
      Src: /src/pcre2/src/pcre2_jit_compile.c:14126,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14130,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14130,1
    - Dst: check_wordboundary
      Src: /src/pcre2/src/pcre2_jit_compile.c:14131,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14135,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14135,1
    - Dst: check_anynewline
      Src: /src/pcre2/src/pcre2_jit_compile.c:14136,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14140,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14140,1
    - Dst: check_hspace
      Src: /src/pcre2/src/pcre2_jit_compile.c:14141,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14145,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14145,1
    - Dst: check_vspace
      Src: /src/pcre2/src/pcre2_jit_compile.c:14146,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14150,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14150,1
    - Dst: do_casefulcmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:14151,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14155,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14155,1
    - Dst: do_caselesscmp
      Src: /src/pcre2/src/pcre2_jit_compile.c:14156,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14162,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14162,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14163,1
    - Dst: SLJIT_MEM1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14163,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14166,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14166,1
    - Dst: do_reset_match
      Src: /src/pcre2/src/pcre2_jit_compile.c:14167,1
    - Dst: CMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14169,1
    - Dst: OP1
      Src: /src/pcre2/src/pcre2_jit_compile.c:14170,1
    - Dst: JUMPTO
      Src: /src/pcre2/src/pcre2_jit_compile.c:14171,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14177,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14177,1
    - Dst: do_utfreadchar
      Src: /src/pcre2/src/pcre2_jit_compile.c:14178,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14182,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14182,1
    - Dst: do_utfreadtype8
      Src: /src/pcre2/src/pcre2_jit_compile.c:14183,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14187,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14187,1
    - Dst: do_utfpeakcharback
      Src: /src/pcre2/src/pcre2_jit_compile.c:14188,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14194,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14194,1
    - Dst: do_utfreadchar_invalid
      Src: /src/pcre2/src/pcre2_jit_compile.c:14195,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14199,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14199,1
    - Dst: do_utfreadnewline_invalid
      Src: /src/pcre2/src/pcre2_jit_compile.c:14200,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14204,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14204,1
    - Dst: do_utfmoveback_invalid
      Src: /src/pcre2/src/pcre2_jit_compile.c:14205,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14209,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14209,1
    - Dst: do_utfpeakcharback_invalid
      Src: /src/pcre2/src/pcre2_jit_compile.c:14210,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14215,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14215,1
    - Dst: do_getucd
      Src: /src/pcre2/src/pcre2_jit_compile.c:14216,1
    - Dst: set_jumps
      Src: /src/pcre2/src/pcre2_jit_compile.c:14220,1
    - Dst: LABEL
      Src: /src/pcre2/src/pcre2_jit_compile.c:14220,1
    - Dst: do_getucdtype
      Src: /src/pcre2/src/pcre2_jit_compile.c:14221,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14225,1
    - Dst: SLJIT_FREE
      Src: /src/pcre2/src/pcre2_jit_compile.c:14227,1
    - Dst: sljit_generate_code
      Src: /src/pcre2/src/pcre2_jit_compile.c:14229,1
    - Dst: sljit_get_generated_code_size
      Src: /src/pcre2/src/pcre2_jit_compile.c:14230,1
    - Dst: sljit_free_compiler
      Src: /src/pcre2/src/pcre2_jit_compile.c:14231,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:14235,1
    - Dst: SLJIT_MALLOC
      Src: /src/pcre2/src/pcre2_jit_compile.c:14244,1
    - Dst: sljit_free_code
      Src: /src/pcre2/src/pcre2_jit_compile.c:14249,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_jit_compile.c:14250,1
    - Dst: memset
      Src: /src/pcre2/src/pcre2_jit_compile.c:14253,1
    - Dst: SLJIT_ASSERT
      Src: /src/pcre2/src/pcre2_jit_compile.c:14265,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 502
    argCount: 2
    argNames:
    - code
    - mode
    argTypes:
    - pcre2_code*
    - sljit_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14270
      start: 13530
    functionDepth: 8
    functionLinenumber: 13530
    functionLinenumberEnd: 14270
    functionName: jit_compile
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 5
    functionsReached:
    - fast_forward_first_char
    - sljit_emit_enter
    - SLJIT_FREE
    - copy_ovector
    - do_utfmoveback_invalid
    - fast_forward_start_bits
    - bracketend
    - do_utfpeakcharback
    - sljit_free_code
    - PRIVATE_DATA
    - JUMPTO
    - check_vspace
    - SLJIT_FUNC_ADDR
    - do_utfpeakcharback_invalid
    - check_hspace
    - sljit_get_compiler_error
    - compile_recurse
    - do_utfreadnewline_invalid
    - SLJIT_ARGS2
    - check_anynewline
    - mainloop_entry
    - set_then_offsets
    - do_utfreadchar
    - JUMPHERE
    - SSIZE_OF
    - do_getucd
    - SLJIT_ARGS1
    - SLJIT_UNLIKELY
    - do_caselesscmp
    - reset_early_fail
    - OP_SRC
    - flush_stubs
    - CMPTO
    - do_utfreadtype8
    - detect_early_fail
    - check_wordboundary
    - do_reset_match
    - reset_ovector
    - sljit_free_compiler
    - return_with_partial_match
    - search_requested_char
    - PRIV
    - compile_backtrackingpath
    - sljit_emit_return
    - SET_LABEL
    - LABEL
    - check_opcode_types
    - do_revertframes
    - sljit_emit_op_dst
    - sljit_get_register_index
    - sljit_create_compiler
    - sljit_emit_op0
    - fast_forward_newline
    - sljit_generate_code
    - OP2
    - fast_forward_first_n_chars
    - sljit_get_generated_code_size
    - SLJIT_ASSERT
    - JUMP
    - CMP
    - do_getucdtype
    - do_utfreadchar_invalid
    - IN_UCHARS
    - do_casefulcmp
    - OP1
    - OP2U
    - SLJIT_OFFSETOF
    - compile_matchingpath
    - SLJIT_MALLOC
    - sljit_emit_icall
    - set_private_data_ptrs
    - OVECTOR
    - memset
    - add_jump
    - SLJIT_ENTER_VECTOR
    - set_jumps
    - SLJIT_MEM1
    linkageType: ''
    returnType: int
    signature: int jit_compile(pcre2_code *code, sljit_u32 mode)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SLJIT_MALLOC_EXEC
      Src: /src/pcre2/src/pcre2_jit_compile.c:14306,1
    - Dst: SLJIT_FREE_EXEC
      Src: /src/pcre2/src/pcre2_jit_compile.c:14309,1
    - Dst: SLJIT_EXEC_OFFSET
      Src: /src/pcre2/src/pcre2_jit_compile.c:14309,1
    - Dst: jit_compile
      Src: /src/pcre2/src/pcre2_jit_compile.c:14397,1
    - Dst: jit_compile
      Src: /src/pcre2/src/pcre2_jit_compile.c:14405,1
    - Dst: jit_compile
      Src: /src/pcre2/src/pcre2_jit_compile.c:14413,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 2
    argNames:
    - code
    - options
    argTypes:
    - pcre2_code*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14421
      start: 14292
    functionDepth: 9
    functionLinenumber: 14292
    functionLinenumberEnd: 14421
    functionName: pcre2_jit_compile
    functionSourceFile: /src/pcre2/src/pcre2_jit_compile.c
    functionUses: 5
    functionsReached:
    - SLJIT_MALLOC_EXEC
    - jit_compile
    - SLJIT_EXEC_OFFSET
    - SLJIT_FREE_EXEC
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: PCRE2_EXP_DEFN pcre2_jit_compile(pcre2_code *code, uint32_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: META_CODE
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: META_CODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: META_DATA
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: META_DATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: META_DIFF
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: META_DIFF(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: PUTOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: GETOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: GETPLUSOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETPLUSOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: READPLUSOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READPLUSOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: SKIPOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIPOFFSET(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: PUTOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GETOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: GETPLUSOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETPLUSOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: READPLUSOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READPLUSOFFSET(s,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: SKIPOFFSET
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIPOFFSET(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - utf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: GET_MAX_CHAR_VALUE
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_MAX_CHAR_VALUE(utf)
  - 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: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: SETBIT
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETBIT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value8
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: SELECT_VALUE8
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SELECT_VALUE8(value8, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value8
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: SELECT_VALUE8
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SELECT_VALUE8(value8, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - align
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: CLIST_ALIGN_TO
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIST_ALIGN_TO(base, align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ng
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: NAMED_GROUP_GET_HASH
    functionSourceFile: /src/pcre2/src/pcre2_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAMED_GROUP_GET_HASH(ng)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: GET
      Src: /src/pcre2/src/pcre2_find_bracket.c:81,1
    - Dst: GET
      Src: /src/pcre2/src/pcre2_find_bracket.c:82,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_find_bracket.c:89,1
    - Dst: GET2
      Src: /src/pcre2/src/pcre2_find_bracket.c:97,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_find_bracket.c:99,1
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_find_bracket.c:142,1
    - Dst: HAS_EXTRALEN
      Src: /src/pcre2/src/pcre2_find_bracket.c:207,1
    - Dst: GET_EXTRALEN
      Src: /src/pcre2/src/pcre2_find_bracket.c:207,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 112
    argCount: 3
    argNames:
    - code
    - utf
    - number
    argTypes:
    - PCRE2_SPTR
    - BOOL
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 215
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_find_bracket.c
    functionUses: 99
    functionsReached:
    - GET2
    - GET_EXTRALEN
    - PRIV
    - GET
    - HAS_EXTRALEN
    linkageType: ''
    returnType: PCRE2_SPTR
    signature: PCRE2_SPTR PRIV(find_bracket)(PCRE2_SPTR code, BOOL utf, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: PCRE2_ASSERT
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: PCRE2_ASSERT
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: PCRE2_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: PCRE2_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: PCRE2_DEBUG_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_DEBUG_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: PCRE2_ASSERT
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_ASSERT(x)
  - 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: PCRE2_DEBUG_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_DEBUG_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: PCRE2_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: PCRE2_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: PCRE2_UNREACHABLE
    functionSourceFile: /src/pcre2/src/pcre2_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCRE2_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - string
    - length
    - erroroffset
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_valid_utf.c
    functionUses: 99
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PRIV(valid_utf)(PCRE2_SPTR string, PCRE2_SIZE length, PCRE2_SIZE
      *erroroffset)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/src/pcre2_valid_utf.c:154,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 156
    argCount: 3
    argNames:
    - string
    - length
    - erroroffset
    argTypes:
    - PCRE2_SPTR
    - PCRE2_SIZE
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 394
    functionName: PRIV
    functionSourceFile: /src/pcre2/src/pcre2_valid_utf.c
    functionUses: 100
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: int
    signature: int PRIV(valid_utf)(PCRE2_SPTR string, PCRE2_SIZE length, PCRE2_SIZE
      *erroroffset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FORWARDCHARTEST
      Src: /src/pcre2/src/pcre2_match_next.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - match_data
    - offset
    argTypes:
    - pcre2_match_data*
    - PCRE2_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: do_bumpalong
    functionSourceFile: /src/pcre2/src/pcre2_match_next.c
    functionUses: 0
    functionsReached:
    - FORWARDCHARTEST
    linkageType: ''
    returnType: PCRE2_SIZE
    signature: "PCRE2_SIZE do_bumpalong(pcre2_match_data *match_data,\n  PCRE2_SIZE
      offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCRE2_ASSERT
      Src: /src/pcre2/src/pcre2_match_next.c:116,1
    - Dst: do_bumpalong
      Src: /src/pcre2/src/pcre2_match_next.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - match_data
    - pstart_offset
    - poptions
    argTypes:
    - pcre2_match_data*
    - PCRE2_SIZE*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 169
    functionName: pcre2_next_match
    functionSourceFile: /src/pcre2/src/pcre2_match_next.c
    functionUses: 2
    functionsReached:
    - PCRE2_ASSERT
    - do_bumpalong
    linkageType: ''
    returnType: PCRE2_EXP_DEFN
    signature: "PCRE2_EXP_DEFN pcre2_next_match(pcre2_match_data *match_data, PCRE2_SIZE
      *pstart_offset,\n  uint32_t *poptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config_8
      Src: /src/pcre2/src/pcre2_jit_test.c:108,1
    - Dst: pcre2_config_16
      Src: /src/pcre2/src/pcre2_jit_test.c:110,1
    - Dst: pcre2_config_32
      Src: /src/pcre2/src/pcre2_jit_test.c:112,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:115,1
    - Dst: regression_tests
      Src: /src/pcre2/src/pcre2_jit_test.c:118,1
    - Dst: invalid_utf8_regression_tests
      Src: /src/pcre2/src/pcre2_jit_test.c:119,1
    - Dst: invalid_utf16_regression_tests
      Src: /src/pcre2/src/pcre2_jit_test.c:120,1
    - Dst: invalid_utf32_regression_tests
      Src: /src/pcre2/src/pcre2_jit_test.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 17
    functionsReached:
    - regression_tests
    - invalid_utf16_regression_tests
    - invalid_utf8_regression_tests
    - invalid_utf32_regression_tests
    - pcre2_config_32
    - pcre2_config_8
    - pcre2_config_16
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: BSR
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: GET_NEWLINE
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NEWLINE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: GET_BSR
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BSR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: callback8
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_jit_stack_8
    signature: pcre2_jit_stack_8 * callback8(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: callback16
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_jit_stack_16
    signature: pcre2_jit_stack_16 * callback16(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: callback32
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_jit_stack_32
    signature: pcre2_jit_stack_32 * callback32(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 978
    functionName: getstack8
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_stack_create_8
    linkageType: ''
    returnType: pcre2_jit_stack_8
    signature: pcre2_jit_stack_8 *getstack8(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:984,1
    - Dst: pcre2_jit_stack_assign_8
      Src: /src/pcre2/src/pcre2_jit_test.c:989,1
    - Dst: getstack8
      Src: /src/pcre2/src/pcre2_jit_test.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mcontext
    argTypes:
    - pcre2_match_context_8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 990
    functionName: setstack8
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - getstack8
    - pcre2_jit_stack_assign_8
    - pcre2_jit_stack_free_8
    linkageType: ''
    returnType: void
    signature: void setstack8(pcre2_match_context_8 *mcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: getstack16
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_stack_create_16
    linkageType: ''
    returnType: pcre2_jit_stack_16
    signature: pcre2_jit_stack_16 *getstack16(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1007,1
    - Dst: pcre2_jit_stack_assign_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1012,1
    - Dst: getstack16
      Src: /src/pcre2/src/pcre2_jit_test.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mcontext
    argTypes:
    - pcre2_match_context_16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1013
    functionName: setstack16
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_stack_free_16
    - pcre2_jit_stack_assign_16
    - getstack16
    linkageType: ''
    returnType: void
    signature: void setstack16(pcre2_match_context_16 *mcontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: getstack32
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_stack_create_32
    linkageType: ''
    returnType: pcre2_jit_stack_32
    signature: pcre2_jit_stack_32 *getstack32(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_jit_stack_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1030,1
    - Dst: pcre2_jit_stack_assign_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1035,1
    - Dst: getstack32
      Src: /src/pcre2/src/pcre2_jit_test.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mcontext
    argTypes:
    - pcre2_match_context_32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: setstack32
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_stack_free_32
    - getstack32
    - pcre2_jit_stack_assign_32
    linkageType: ''
    returnType: void
    signature: void setstack32(pcre2_match_context_32 *mcontext)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - input
    - output
    - offsetmap
    - max_length
    argTypes:
    - PCRE2_SPTR8
    - PCRE2_UCHAR16*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1087
    functionName: convert_utf8_to_utf16
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int convert_utf8_to_utf16(PCRE2_SPTR8 input, PCRE2_UCHAR16 *output,
      int *offsetmap, int max_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input
    - output
    - max_length
    argTypes:
    - PCRE2_SPTR8
    - PCRE2_UCHAR16*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1103
    functionName: copy_char8_to_char16
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int copy_char8_to_char16(PCRE2_SPTR8 input, PCRE2_UCHAR16 *output,
      int max_length)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - input
    - output
    - offsetmap
    - max_length
    argTypes:
    - PCRE2_SPTR8
    - PCRE2_UCHAR32*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1147
    functionName: convert_utf8_to_utf32
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int convert_utf8_to_utf32(PCRE2_SPTR8 input, PCRE2_UCHAR32 *output,
      int *offsetmap, int max_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input
    - output
    - max_length
    argTypes:
    - PCRE2_SPTR8
    - PCRE2_UCHAR32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1163
    functionName: copy_char8_to_char32
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int copy_char8_to_char32(PCRE2_SPTR8 input, PCRE2_UCHAR32 *output,
      int max_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    functionName: check_ascii
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_ascii(const char *input)
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1248,1
    - Dst: pcre2_config_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1250,1
    - Dst: pcre2_config_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1252,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1255,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1256,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1258,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1259,1
    - Dst: pcre2_config_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1262,1
    - Dst: pcre2_config_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1264,1
    - Dst: pcre2_config_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1266,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1272,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1275,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1278,1
    - Dst: check_ascii
      Src: /src/pcre2/src/pcre2_jit_test.c:1286,1
    - Dst: check_ascii
      Src: /src/pcre2/src/pcre2_jit_test.c:1286,1
    - Dst: pcre2_compile_context_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1297,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1299,1
    - Dst: pcre2_set_newline_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1300,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1300,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1301,1
    - Dst: pcre2_set_bsr_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1302,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1302,1
    - Dst: pcre2_compile_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1305,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1310,1
    - Dst: pcre2_compile_context_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1312,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1315,1
    - Dst: convert_utf8_to_utf16
      Src: /src/pcre2/src/pcre2_jit_test.c:1319,1
    - Dst: copy_char8_to_char16
      Src: /src/pcre2/src/pcre2_jit_test.c:1321,1
    - Dst: pcre2_compile_context_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1324,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1326,1
    - Dst: pcre2_set_newline_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1327,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1327,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1328,1
    - Dst: pcre2_set_bsr_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1329,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1329,1
    - Dst: pcre2_compile_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1332,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1337,1
    - Dst: pcre2_compile_context_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1339,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1342,1
    - Dst: convert_utf8_to_utf32
      Src: /src/pcre2/src/pcre2_jit_test.c:1346,1
    - Dst: copy_char8_to_char32
      Src: /src/pcre2/src/pcre2_jit_test.c:1348,1
    - Dst: pcre2_compile_context_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1351,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1353,1
    - Dst: pcre2_set_newline_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1354,1
    - Dst: GET_NEWLINE
      Src: /src/pcre2/src/pcre2_jit_test.c:1354,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1355,1
    - Dst: pcre2_set_bsr_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1356,1
    - Dst: GET_BSR
      Src: /src/pcre2/src/pcre2_jit_test.c:1356,1
    - Dst: pcre2_compile_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1359,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1364,1
    - Dst: pcre2_compile_context_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1366,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1369,1
    - Dst: setstack8
      Src: /src/pcre2/src/pcre2_jit_test.c:1375,1
    - Dst: setstack16
      Src: /src/pcre2/src/pcre2_jit_test.c:1378,1
    - Dst: setstack32
      Src: /src/pcre2/src/pcre2_jit_test.c:1381,1
    - Dst: pcre2_match_data_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1388,1
    - Dst: pcre2_match_data_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1389,1
    - Dst: pcre2_match_context_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1390,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1392,1
    - Dst: pcre2_match_data_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1393,1
    - Dst: pcre2_match_data_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1394,1
    - Dst: pcre2_match_context_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1395,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1396,1
    - Dst: pcre2_get_ovector_pointer_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1399,1
    - Dst: pcre2_get_ovector_pointer_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1400,1
    - Dst: pcre2_set_match_limit_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1405,1
    - Dst: pcre2_match_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1408,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_jit_test.c:1408,1
    - Dst: pcre2_jit_compile_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1411,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1412,1
    - Dst: setstack8
      Src: /src/pcre2/src/pcre2_jit_test.c:1414,1
    - Dst: pcre2_match_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1415,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_jit_test.c:1415,1
    - Dst: pcre2_jit_stack_assign_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1418,1
    - Dst: getstack8
      Src: /src/pcre2/src/pcre2_jit_test.c:1418,1
    - Dst: pcre2_jit_match_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1419,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_jit_test.c:1419,1
    - Dst: pcre2_match_data_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1428,1
    - Dst: pcre2_match_data_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1429,1
    - Dst: pcre2_match_context_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1430,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1432,1
    - Dst: pcre2_match_data_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1433,1
    - Dst: pcre2_match_data_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1434,1
    - Dst: pcre2_match_context_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1435,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1436,1
    - Dst: pcre2_get_ovector_pointer_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1439,1
    - Dst: pcre2_get_ovector_pointer_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1440,1
    - Dst: pcre2_set_match_limit_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1445,1
    - Dst: convert_utf8_to_utf16
      Src: /src/pcre2/src/pcre2_jit_test.c:1449,1
    - Dst: copy_char8_to_char16
      Src: /src/pcre2/src/pcre2_jit_test.c:1451,1
    - Dst: pcre2_match_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1453,1
    - Dst: pcre2_jit_compile_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1456,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1457,1
    - Dst: setstack16
      Src: /src/pcre2/src/pcre2_jit_test.c:1459,1
    - Dst: pcre2_match_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1460,1
    - Dst: pcre2_jit_stack_assign_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1463,1
    - Dst: getstack16
      Src: /src/pcre2/src/pcre2_jit_test.c:1463,1
    - Dst: pcre2_jit_match_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1464,1
    - Dst: pcre2_match_data_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1473,1
    - Dst: pcre2_match_data_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1474,1
    - Dst: pcre2_match_context_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1475,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1477,1
    - Dst: pcre2_match_data_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1478,1
    - Dst: pcre2_match_data_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1479,1
    - Dst: pcre2_match_context_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1480,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1481,1
    - Dst: pcre2_get_ovector_pointer_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1484,1
    - Dst: pcre2_get_ovector_pointer_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1485,1
    - Dst: pcre2_set_match_limit_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1490,1
    - Dst: convert_utf8_to_utf32
      Src: /src/pcre2/src/pcre2_jit_test.c:1494,1
    - Dst: copy_char8_to_char32
      Src: /src/pcre2/src/pcre2_jit_test.c:1496,1
    - Dst: pcre2_match_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1498,1
    - Dst: pcre2_jit_compile_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1501,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1502,1
    - Dst: setstack32
      Src: /src/pcre2/src/pcre2_jit_test.c:1504,1
    - Dst: pcre2_match_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1505,1
    - Dst: pcre2_jit_stack_assign_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1508,1
    - Dst: getstack32
      Src: /src/pcre2/src/pcre2_jit_test.c:1508,1
    - Dst: pcre2_jit_match_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1509,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1533,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1540,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1547,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1554,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1562,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1570,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1614,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1622,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1630,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1643,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1654,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1663,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1674,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1683,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1694,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1707,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1713,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1722,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1728,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1737,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1743,1
    - Dst: pcre2_get_mark_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1753,1
    - Dst: pcre2_get_mark_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1753,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1754,1
    - Dst: pcre2_get_mark_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1760,1
    - Dst: pcre2_get_mark_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1760,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1761,1
    - Dst: pcre2_get_mark_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1767,1
    - Dst: pcre2_get_mark_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1767,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1768,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1776,1
    - Dst: pcre2_match_data_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1777,1
    - Dst: pcre2_match_data_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1778,1
    - Dst: pcre2_match_context_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:1779,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1782,1
    - Dst: pcre2_match_data_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1783,1
    - Dst: pcre2_match_data_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1784,1
    - Dst: pcre2_match_context_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:1785,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1788,1
    - Dst: pcre2_match_data_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1789,1
    - Dst: pcre2_match_data_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1790,1
    - Dst: pcre2_match_context_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:1791,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1797,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1800,1
    - Dst: fflush
      Src: /src/pcre2/src/pcre2_jit_test.c:1805,1
    - Dst: setstack8
      Src: /src/pcre2/src/pcre2_jit_test.c:1809,1
    - Dst: setstack16
      Src: /src/pcre2/src/pcre2_jit_test.c:1812,1
    - Dst: setstack32
      Src: /src/pcre2/src/pcre2_jit_test.c:1815,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1819,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1822,1
    CyclomaticComplexity: 150
    EdgeCount: 150
    ICount: 384
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1825
    functionName: regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached:
    - pcre2_match_context_create_8
    - pcre2_set_newline_32
    - pcre2_set_match_limit_32
    - pcre2_get_ovector_pointer_32
    - pcre2_compile_context_create_32
    - pcre2_match_data_free_8
    - pcre2_compile_context_free_16
    - pcre2_match_context_free_32
    - pcre2_match_data_create_16
    - pcre2_match_8
    - pcre2_get_mark_16
    - pcre2_set_newline_16
    - pcre2_jit_stack_assign_16
    - pcre2_set_bsr_32
    - pcre2_match_data_create_32
    - pcre2_jit_stack_assign_32
    - check_ascii
    - pcre2_set_match_limit_16
    - pcre2_set_bsr_16
    - pcre2_compile_16
    - copy_char8_to_char16
    - pcre2_match_context_free_8
    - pcre2_compile_context_create_16
    - pcre2_match_context_create_16
    - pcre2_jit_match_32
    - pcre2_config_32
    - pcre2_jit_stack_assign_8
    - pcre2_config_8
    - pcre2_config_16
    - pcre2_set_match_limit_8
    - pcre2_match_data_free_16
    - setstack32
    - getstack8
    - pcre2_jit_match_8
    - pcre2_match_32
    - pcre2_get_mark_8
    - pcre2_compile_context_create_8
    - pcre2_code_free_32
    - pcre2_match_data_free_32
    - pcre2_compile_context_free_8
    - pcre2_match_context_create_32
    - convert_utf8_to_utf32
    - pcre2_jit_compile_8
    - copy_char8_to_char32
    - pcre2_match_data_create_8
    - pcre2_set_newline_8
    - pcre2_match_context_free_16
    - pcre2_code_free_8
    - GET_BSR
    - GET_NEWLINE
    - convert_utf8_to_utf16
    - pcre2_compile_8
    - pcre2_set_bsr_8
    - setstack16
    - pcre2_code_free_16
    - pcre2_get_ovector_pointer_16
    - pcre2_jit_match_16
    - getstack32
    - pcre2_jit_compile_32
    - pcre2_match_16
    - fflush
    - setstack8
    - pcre2_jit_compile_16
    - getstack16
    - pcre2_get_ovector_pointer_8
    - printf
    - strlen
    - pcre2_compile_32
    - pcre2_get_mark_32
    - pcre2_compile_context_free_32
    linkageType: ''
    returnType: int
    signature: int regression_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1834,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1841,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1846,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:1852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - pattern_index
    - type
    - result
    - match_start
    - match_end
    - ovector
    argTypes:
    - int
    - char*
    - int
    - int
    - int
    - PCRE2_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1858
    functionName: check_invalid_utf_result
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int check_invalid_utf_result(int pattern_index, const char *type,
      int result,\n\tint match_start, int match_end, PCRE2_SIZE *ovector)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2043,1
    - Dst: pcre2_compile_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2048,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2052,1
    - Dst: pcre2_jit_compile_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2056,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2057,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2058,1
    - Dst: strlen
      Src: /src/pcre2/src/pcre2_jit_test.c:2062,1
    - Dst: pcre2_jit_match_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2065,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2068,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2069,1
    - Dst: pcre2_jit_match_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2075,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2078,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2079,1
    - Dst: pcre2_code_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - current
    - pattern_index
    - i
    - ccontext
    - mdata
    argTypes:
    - struct invalid_utf8_regression_test_case*
    - int
    - int
    - pcre2_compile_context_8*
    - pcre2_match_data_8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2086
    functionName: run_invalid_utf8_test
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_match_8
    - pcre2_compile_8
    - pcre2_jit_compile_8
    - pcre2_code_free_8
    - pcre2_get_ovector_pointer_8
    - check_invalid_utf_result
    - printf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int run_invalid_utf8_test(const struct invalid_utf8_regression_test_case
      *current,\n\tint pattern_index, int i, pcre2_compile_context_8 *ccontext, pcre2_match_data_8
      *mdata)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2096,1
    - Dst: pcre2_compile_context_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2098,1
    - Dst: pcre2_set_newline_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2099,1
    - Dst: pcre2_match_data_create_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2100,1
    - Dst: run_invalid_utf8_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2109,1
    - Dst: run_invalid_utf8_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2111,1
    - Dst: pcre2_set_newline_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2114,1
    - Dst: run_invalid_utf8_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2115,1
    - Dst: pcre2_set_newline_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2117,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2124,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2126,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2130,1
    - Dst: pcre2_match_data_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2132,1
    - Dst: pcre2_compile_context_free_8
      Src: /src/pcre2/src/pcre2_jit_test.c:2133,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2136,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2088
    functionDepth: 2
    functionLinenumber: 2088
    functionLinenumberEnd: 2142
    functionName: invalid_utf8_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached:
    - run_invalid_utf8_test
    - pcre2_compile_context_create_8
    - pcre2_match_data_free_8
    - pcre2_compile_context_free_8
    - pcre2_match_data_create_8
    - pcre2_set_newline_8
    - printf
    linkageType: ''
    returnType: int
    signature: int invalid_utf8_regression_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2149
    functionName: invalid_utf8_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invalid_utf8_regression_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2253,1
    - Dst: pcre2_compile_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2258,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2262,1
    - Dst: pcre2_jit_compile_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2266,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2267,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2268,1
    - Dst: pcre2_jit_match_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2281,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2284,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2285,1
    - Dst: pcre2_jit_match_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2291,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2294,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2295,1
    - Dst: pcre2_code_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - current
    - pattern_index
    - i
    - ccontext
    - mdata
    argTypes:
    - struct invalid_utf16_regression_test_case*
    - int
    - int
    - pcre2_compile_context_16*
    - pcre2_match_data_16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2246
    functionDepth: 1
    functionLinenumber: 2246
    functionLinenumberEnd: 2302
    functionName: run_invalid_utf16_test
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_code_free_16
    - pcre2_get_ovector_pointer_16
    - pcre2_jit_match_16
    - pcre2_compile_16
    - pcre2_jit_compile_16
    - check_invalid_utf_result
    - printf
    linkageType: ''
    returnType: int
    signature: "int run_invalid_utf16_test(const struct invalid_utf16_regression_test_case
      *current,\n\tint pattern_index, int i, pcre2_compile_context_16 *ccontext, pcre2_match_data_16
      *mdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2312,1
    - Dst: pcre2_compile_context_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2314,1
    - Dst: pcre2_set_newline_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2315,1
    - Dst: pcre2_match_data_create_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2316,1
    - Dst: run_invalid_utf16_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2323,1
    - Dst: run_invalid_utf16_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2325,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2332,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2334,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2338,1
    - Dst: pcre2_match_data_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2340,1
    - Dst: pcre2_compile_context_free_16
      Src: /src/pcre2/src/pcre2_jit_test.c:2341,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2344,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2304
    functionDepth: 2
    functionLinenumber: 2304
    functionLinenumberEnd: 2350
    functionName: invalid_utf16_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached:
    - run_invalid_utf16_test
    - pcre2_compile_context_free_16
    - pcre2_match_data_create_16
    - pcre2_compile_context_create_16
    - pcre2_match_data_free_16
    - printf
    - pcre2_set_newline_16
    linkageType: ''
    returnType: int
    signature: int invalid_utf16_regression_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2357
    functionName: invalid_utf16_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invalid_utf16_regression_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2440,1
    - Dst: pcre2_compile_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2445,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2449,1
    - Dst: pcre2_jit_compile_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2453,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2454,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2455,1
    - Dst: pcre2_jit_match_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2468,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2471,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2472,1
    - Dst: pcre2_jit_match_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2478,1
    - Dst: check_invalid_utf_result
      Src: /src/pcre2/src/pcre2_jit_test.c:2481,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2482,1
    - Dst: pcre2_code_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - current
    - pattern_index
    - i
    - ccontext
    - mdata
    argTypes:
    - struct invalid_utf32_regression_test_case*
    - int
    - int
    - pcre2_compile_context_32*
    - pcre2_match_data_32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2489
    functionName: run_invalid_utf32_test
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_pointer_32
    - pcre2_code_free_32
    - pcre2_jit_match_32
    - pcre2_compile_32
    - check_invalid_utf_result
    - printf
    - pcre2_jit_compile_32
    linkageType: ''
    returnType: int
    signature: "int run_invalid_utf32_test(const struct invalid_utf32_regression_test_case
      *current,\n\tint pattern_index, int i, pcre2_compile_context_32 *ccontext, pcre2_match_data_32
      *mdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2499,1
    - Dst: pcre2_compile_context_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2501,1
    - Dst: pcre2_set_newline_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2502,1
    - Dst: pcre2_match_data_create_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2503,1
    - Dst: run_invalid_utf32_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2510,1
    - Dst: run_invalid_utf32_test
      Src: /src/pcre2/src/pcre2_jit_test.c:2512,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2519,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2521,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2525,1
    - Dst: pcre2_match_data_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2527,1
    - Dst: pcre2_compile_context_free_32
      Src: /src/pcre2/src/pcre2_jit_test.c:2528,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2531,1
    - Dst: printf
      Src: /src/pcre2/src/pcre2_jit_test.c:2534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2491
    functionDepth: 2
    functionLinenumber: 2491
    functionLinenumberEnd: 2537
    functionName: invalid_utf32_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached:
    - pcre2_set_newline_32
    - pcre2_compile_context_create_32
    - pcre2_compile_context_free_32
    - run_invalid_utf32_test
    - pcre2_match_data_free_32
    - printf
    - pcre2_match_data_create_32
    linkageType: ''
    returnType: int
    signature: int invalid_utf32_regression_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2544
    functionName: invalid_utf32_regression_tests
    functionSourceFile: /src/pcre2/src/pcre2_jit_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invalid_utf32_regression_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/pcre2/maint/ucptest.c:215,1
    - Dst: _fileno
      Src: /src/pcre2/maint/ucptest.c:215,1
    - Dst: isatty
      Src: /src/pcre2/maint/ucptest.c:217,1
    - Dst: fileno
      Src: /src/pcre2/maint/ucptest.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: is_stdin_tty
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 0
    functionsReached:
    - isatty
    - _isatty
    - _fileno
    - fileno
    linkageType: ''
    returnType: BOOL
    signature: BOOL is_stdin_tty(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:241,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:243,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:258,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:258,1
    - Dst: strlen
      Src: /src/pcre2/maint/ucptest.c:259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - prop
    - type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 270
    functionName: get_propname
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 0
    functionsReached:
    - strlen
    - PRIV
    linkageType: ''
    returnType: char
    signature: 'char *

      get_propname(int prop, int type)'
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: UCD_CATEGORY
      Src: /src/pcre2/maint/ucptest.c:280,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/maint/ucptest.c:281,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/maint/ucptest.c:282,1
    - Dst: UCD_SCRIPTX
      Src: /src/pcre2/maint/ucptest.c:283,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/maint/ucptest.c:284,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/maint/ucptest.c:285,1
    - Dst: UCD_OTHERCASE
      Src: /src/pcre2/maint/ucptest.c:286,1
    - Dst: UCD_CASESET
      Src: /src/pcre2/maint/ucptest.c:287,1
    - Dst: UCD_BPROPS
      Src: /src/pcre2/maint/ucptest.c:288,1
    - Dst: get_propname
      Src: /src/pcre2/maint/ucptest.c:294,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:391,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:396,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:399,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:403,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:411,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:412,1
    - Dst: MAPBIT
      Src: /src/pcre2/maint/ucptest.c:414,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:416,1
    - Dst: get_propname
      Src: /src/pcre2/maint/ucptest.c:416,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:419,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:425,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:426,1
    - Dst: MAPBIT
      Src: /src/pcre2/maint/ucptest.c:428,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:430,1
    - Dst: get_propname
      Src: /src/pcre2/maint/ucptest.c:430,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:433,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:439,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:440,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:443,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 273
    argCount: 2
    argNames:
    - c
    - is_just_one
    argTypes:
    - unsigned int
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 444
    functionName: print_prop
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 1
    functionsReached:
    - UCD_CATEGORY
    - UCD_CASESET
    - UCD_OTHERCASE
    - UCD_SCRIPT
    - UCD_CHARTYPE
    - UCD_SCRIPTX
    - get_propname
    - UCD_GRAPHBREAK
    - UCD_BIDICLASS
    - UCD_BPROPS
    - PRIV
    - MAPBIT
    - printf
    linkageType: ''
    returnType: void
    signature: void print_prop(unsigned int c, BOOL is_just_one)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:480,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:482,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:484,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:489,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:491,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:492,1
    - Dst: tolower
      Src: /src/pcre2/maint/ucptest.c:496,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:504,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:506,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:507,1
    - Dst: CS
      Src: /src/pcre2/maint/ucptest.c:507,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:508,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:521,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:533,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:541,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:543,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:548,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:557,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:559,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:560,1
    - Dst: CS
      Src: /src/pcre2/maint/ucptest.c:560,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:561,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:568,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:570,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:575,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:579,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:592,1
    - Dst: CS
      Src: /src/pcre2/maint/ucptest.c:592,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:600,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:606,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:610,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:623,1
    - Dst: CS
      Src: /src/pcre2/maint/ucptest.c:623,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:631,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:637,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:638,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:639,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:643,1
    - Dst: strcasecmp
      Src: /src/pcre2/maint/ucptest.c:655,1
    - Dst: CS
      Src: /src/pcre2/maint/ucptest.c:655,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:663,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:671,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:679,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/maint/ucptest.c:685,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:689,1
    - Dst: UCD_SCRIPTX
      Src: /src/pcre2/maint/ucptest.c:689,1
    - Dst: UCD_SCRIPT
      Src: /src/pcre2/maint/ucptest.c:700,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:717,1
    - Dst: UCD_BPROPS
      Src: /src/pcre2/maint/ucptest.c:717,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/maint/ucptest.c:744,1
    - Dst: UCD_CHARTYPE
      Src: /src/pcre2/maint/ucptest.c:748,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/maint/ucptest.c:756,1
    - Dst: UCD_GRAPHBREAK
      Src: /src/pcre2/maint/ucptest.c:760,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/maint/ucptest.c:768,1
    - Dst: UCD_BIDICLASS
      Src: /src/pcre2/maint/ucptest.c:772,1
    - Dst: GET_UCD
      Src: /src/pcre2/maint/ucptest.c:778,1
    - Dst: GET_UCD
      Src: /src/pcre2/maint/ucptest.c:782,1
    - Dst: memcmp
      Src: /src/pcre2/maint/ucptest.c:783,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:788,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:792,1
    - Dst: print_prop
      Src: /src/pcre2/maint/ucptest.c:794,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:800,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:805,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 223
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 806
    functionName: find_chars
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CS
    - strcasecmp
    - GET_UCD
    - print_prop
    - UCD_SCRIPT
    - UCD_CHARTYPE
    - UCD_SCRIPTX
    - UCD_GRAPHBREAK
    - PRIV
    - tolower
    - UCD_BPROPS
    - isspace
    - UCD_BIDICLASS
    - printf
    - memcmp
    linkageType: ''
    returnType: void
    signature: void find_chars(unsigned char *s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:820,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:823,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:825,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:827,1
    - Dst: GETCHARINC
      Src: /src/pcre2/maint/ucptest.c:840,1
    - Dst: memcmp
      Src: /src/pcre2/maint/ucptest.c:847,1
    - Dst: strtoul
      Src: /src/pcre2/maint/ucptest.c:848,1
    - Dst: CSS
      Src: /src/pcre2/maint/ucptest.c:848,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:851,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:853,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:854,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:859,1
    - Dst: print_prop
      Src: /src/pcre2/maint/ucptest.c:861,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:864,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:868,1
    - Dst: find_chars
      Src: /src/pcre2/maint/ucptest.c:870,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:873,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:878,1
    - Dst: isspace
      Src: /src/pcre2/maint/ucptest.c:880,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:882,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:882,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:884,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:885,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:885,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:886,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:886,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:886,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:889,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:891,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:892,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:893,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:893,1
    - Dst: PRIV
      Src: /src/pcre2/maint/ucptest.c:893,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:896,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:896,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:899,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:902,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:902,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:907,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:909,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:913,1
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:914,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:917,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:922,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:928,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 81
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 929
    functionName: process_command_line
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - find_chars
    - strtoul
    - print_prop
    - GETCHARINC
    - CSS
    - PRIV
    - isspace
    - printf
    - memcmp
    linkageType: ''
    returnType: void
    signature: void process_command_line(unsigned char *buffer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/pcre2/maint/ucptest.c:944,1
    - Dst: memcmp
      Src: /src/pcre2/maint/ucptest.c:957,1
    - Dst: isdigit
      Src: /src/pcre2/maint/ucptest.c:957,1
    - Dst: isxdigit
      Src: /src/pcre2/maint/ucptest.c:961,1
    - Dst: sprintf
      Src: /src/pcre2/maint/ucptest.c:973,1
    - Dst: process_command_line
      Src: /src/pcre2/maint/ucptest.c:976,1
    - Dst: is_stdin_tty
      Src: /src/pcre2/maint/ucptest.c:980,1
    - Dst: using_history
      Src: /src/pcre2/maint/ucptest.c:983,1
    - Dst: readline
      Src: /src/pcre2/maint/ucptest.c:992,1
    - Dst: strlen
      Src: /src/pcre2/maint/ucptest.c:994,1
    - Dst: add_history
      Src: /src/pcre2/maint/ucptest.c:995,1
    - Dst: memcpy
      Src: /src/pcre2/maint/ucptest.c:996,1
    - Dst: free
      Src: /src/pcre2/maint/ucptest.c:999,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:1005,1
    - Dst: fgets
      Src: /src/pcre2/maint/ucptest.c:1006,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:1007,1
    - Dst: process_command_line
      Src: /src/pcre2/maint/ucptest.c:1010,1
    - Dst: printf
      Src: /src/pcre2/maint/ucptest.c:1013,1
    - Dst: clear_history
      Src: /src/pcre2/maint/ucptest.c:1016,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 1020
    functionName: main
    functionSourceFile: /src/pcre2/maint/ucptest.c
    functionUses: 17
    functionsReached:
    - strcmp
    - sprintf
    - is_stdin_tty
    - add_history
    - readline
    - isdigit
    - clear_history
    - using_history
    - isxdigit
    - process_command_line
    - fgets
    - printf
    - strlen
    - free
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cvalue
    - buffer
    argTypes:
    - unsigned long int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ord2utf8
    functionSourceFile: /src/pcre2/maint/utf8.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ord2utf8(unsigned long int cvalue, unsigned char *buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - buffer
    - buffend
    - vptr
    - lenptr
    argTypes:
    - unsigned char*
    - unsigned char*
    - long unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 208
    functionName: utf82ord
    functionSourceFile: /src/pcre2/maint/utf8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int utf82ord(const unsigned char *buffer, const unsigned char *buffend,\n
      \ long unsigned int *vptr, int *lenptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:217,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:218,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:219,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:220,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:221,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:222,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:223,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:224,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:225,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:226,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:227,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: usage
    functionSourceFile: /src/pcre2/maint/utf8.c
    functionUses: 20
    functionsReached:
    - printf
    - puts
    linkageType: ''
    returnType: void
    signature: void usage(const char *argv0)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/pcre2/maint/utf8.c:261,1
    - Dst: usage
      Src: /src/pcre2/maint/utf8.c:268,1
    - Dst: usage
      Src: /src/pcre2/maint/utf8.c:276,1
    - Dst: strlen
      Src: /src/pcre2/maint/utf8.c:284,1
    - Dst: strncmp
      Src: /src/pcre2/maint/utf8.c:285,1
    - Dst: strncmp
      Src: /src/pcre2/maint/utf8.c:285,1
    - Dst: isxdigit
      Src: /src/pcre2/maint/utf8.c:286,1
    - Dst: strtoul
      Src: /src/pcre2/maint/utf8.c:294,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:297,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:302,1
    - Dst: fwrite
      Src: /src/pcre2/maint/utf8.c:308,1
    - Dst: ord2utf8
      Src: /src/pcre2/maint/utf8.c:313,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:314,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:316,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:321,1
    - Dst: fwrite
      Src: /src/pcre2/maint/utf8.c:322,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:324,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:326,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:328,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:331,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:332,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:333,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:336,1
    - Dst: isxdigit
      Src: /src/pcre2/maint/utf8.c:350,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:352,1
    - Dst: tolower
      Src: /src/pcre2/maint/utf8.c:357,1
    - Dst: isdigit
      Src: /src/pcre2/maint/utf8.c:357,1
    - Dst: utf82ord
      Src: /src/pcre2/maint/utf8.c:377,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:381,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:382,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:385,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:386,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:387,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:389,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:394,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:395,1
    - Dst: puts
      Src: /src/pcre2/maint/utf8.c:396,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:403,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:406,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:409,1
    - Dst: fputs
      Src: /src/pcre2/maint/utf8.c:413,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:416,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:419,1
    - Dst: printf
      Src: /src/pcre2/maint/utf8.c:420,1
    - Dst: putchar
      Src: /src/pcre2/maint/utf8.c:421,1
    - Dst: fclose
      Src: /src/pcre2/maint/utf8.c:428,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 142
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 431
    functionName: main
    functionSourceFile: /src/pcre2/maint/utf8.c
    functionUses: 17
    functionsReached:
    - fwrite
    - strtoul
    - isdigit
    - usage
    - puts
    - utf82ord
    - putchar
    - isxdigit
    - tolower
    - fopen
    - fclose
    - printf
    - strlen
    - ord2utf8
    - strncmp
    - fputs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_config
      Src: /src/pcre2/maint/cmake-tests/install-interface/main.c:8,1
    - Dst: printf
      Src: /src/pcre2/maint/cmake-tests/install-interface/main.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/pcre2/maint/cmake-tests/install-interface/main.c
    functionUses: 17
    functionsReached:
    - printf
    - pcre2_config
    linkageType: ''
    returnType: int
    signature: int main(void)
Fuzzer filename: /src/fuzz_tokenize.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- apr_rmm.h
- nks/vm.h
- apr_sha1.h
- sys/stat.h
- openssl/rand.h
- openssl/x509_vfy.h
- pwd.h
- http_protocol.h
- h2_c2_filter.h
- sys/syscall.h
- http_connection.h
- pcre2posix.h
- internal.h
- apr_strings.h
- mod_session.h
- netware.h
- httpd_test_util.c
- pcre2_ucptables_inc.h
- h2_config.h
- mpm_fdqueue.h
- apr_tables.h
- mod_ssl_openssl.h
- h2_version.h
- h2_proxy_session.h
- sys/ipc.h
- memory.h
- locale.h
- h2_request.h
- sys/random.h
- sys/loadavg.h
- editline/readline.h
- poll.h
- test/unit/mod_auth_digest.tests
- crypt.h
- h2_stream.h
- ap_mmn.h
- ssl_util_ssl.h
- sys/processor.h
- pcre2_jit_match_inc.h
- ../modules/cache/cache_common.h
- apr_want.h
- apr_uri.h
- util_ldap_cache.h
- sys/file.h
- ap_regex.h
- simple_children.h
- screen.h
- lualib.h
- apr_allocator.h
- pcrzosfs.h
- sys/socket.h
- mod_core.h
- apr_thread_proc.h
- ssl_ct_sct.h
- pcre2test_inc.h
- bsd/stdlib.h
- apr_xlate.h
- openssl/err.h
- apr_hash.h
- ajp_header.h
- xmltok_impl.h
- openssl/hmac.h
- ../src/pcre2_internal.h
- strings.h
- openssl/ssl.h
- ../src/pcre2_ucp.h
- pthread.h
- md_status.h
- sys/statvfs.h
- sys/procctl.h
- util_charset.h
- objbase.h
- sys/uio.h
- sys/mutex.h
- mod_md_drive.h
- md_acme_authz.h
- md_curl.h
- ApacheMonitor.h
- pcre.h
- stddef.h
- windowsx.h
- lauxlib.h
- ssl_ct_log_config.h
- winuser.h
- apr_lib.h
- h2_bucket_eos.h
- apr_network_io.h
- mpm_common.h
- lua_request.h
- mod_dbd.h
- minicheck.h
- apr_uuid.h
- md_acme_order.h
- mod_http2.h
- motorz.h
- pcre2_tables.c
- mod_status.h
- mod_cache.h
- mod_authz_owner.h
- sed.h
- lua.h
- xmltok_ns.c
- pcre2_printint_inc.h
- apr_thread_rwlock.h
- apr_thread_mutex.h
- apr_anylock.h
- apr_mmap.h
- apr_escape.h
- apr_portable.h
- sys/time.h
- apr_optional.h
- openssl/opensslv.h
- crtdbg.h
- regexp.h
- ../modules/cache/cache_disk_common.h
- string.h
- apr_time.h
- apr_file_io.h
- http_config.h
- mod_proxy_http2.h
- mod_rewrite.h
- priv.h
- apr_memcache.h
- mod_proxy_fdpass.h
- apr_general.h
- math.h
- ap_socache.h
- mod_md_config.h
- sys/param.h
- apr_redis.h
- cache_common.h
- arch/win32/apr_arch_file_io.h
- nks/netware.h
- apr_encode.h
- apr_random.h
- assert.h
- md_acme.h
- apr_ldap.h
- util_varbuf.h
- unilib.h
- curl/curl.h
- ajp.h
- apu.h
- winconfig.h
- sys/syslimits.h
- pcre2_ucp.h
- apu_version.h
- chardata.h
- simple_io.h
- openssl/ech.h
- stdint.h
- errno.h
- sys/prctl.h
- zlib.h
- jansson.h
- lua_passwd.h
- xmlmime.h
- lua_config.h
- util_expr_private.h
- apr_proc_mutex.h
- siphash.h
- util_xml.h
- util_cookies.h
- repos.h
- fcntl.h
- scoreboard.h
- cache_socache_common.h
- expat_config.h
- sanitizer/msan_interface.h
- bzlib.h
- openssl/x509v3.h
- apr_ring.h
- mod_ratelimit.h
- ap_config_layout.h
- mod_request.h
- sys/times.h
- md_log.h
- openssl/ui.h
- h2_c1_io.h
- netdb.h
- ulocks.h
- stdio.h
- httpdunit.h
- ../filters/mod_include.h
- ssl_policies.h
- md_store.h
- shlobj.h
- apr_md5.h
- apr_pools.h
- apr_errno.h
- apr_base64.h
- pcre2_jit_simd_inc.h
- ssl_private.h
- sched.h
- sys/mman.h
- openssl/ct.h
- valgrind/memcheck.h
- mod_serf.h
- ebcdic.h
- md_ocsp.h
- utime.h
- mod_md_private.h
- apr_getopt.h
- http_main.h
- apr_dbd.h
- cache_storage.h
- apache_probes.h
- apache_noprobes.h
- h2_session.h
- simple_event.h
- h2_private.h
- apr_siphash.h
- malloc.h
- mod_crypto.h
- mod_h2test.h
- arch/win32/apr_arch_misc.h
- readline/history.h
- netinet/tcp.h
- os2.h
- distcache/dc_client.h
- setjmp.h
- http_log.h
- ada_fuzz_header.h
- http_core.h
- ssdef.h
- test/unit/util.tests
- openssl/rsa.h
- pcre2_intmodedep.h
- lua_apr.h
- apache_httpd_test.h
- mod_log_config.h
- util_ebcdic.h
- passwd_common.h
- grp.h
- openssl/x509.h
- openssl/core_names.h
- unixd.h
- util_filter.h
- ../../modules/aaa/mod_auth_digest.c
- mod_xml2enc.h
- pcre2_internal.h
- apr_dbm.h
- structdata.h
- apr_reslist.h
- runtests.c
- commctrl.h
- ctype.h
- apr_dso.h
- descrip
- expat_external.h
- sys/sdt.h
- sys/types.h
- md_reg.h
- openssl/engine.h
- xmlfile.h
- test/httpdunit.cases
- http_vhost.h
- linux/limits.h
- libsed.h
- ssl_ct_util.h
- check.h
- test_char.h
- mod_suexec.h
- libintl.h
- mpm_default.h
- syslog.h
- selinux/selinux.h
- serf.h
- clidef
- mod_md_os.h
- nghttp2/nghttp2.h
- ap_hooks.h
- ap_mpm.h
- sys/un.h
- ../deps/sljit/sljit_src/sljitLir.c
- h2_ws.h
- mod_include.h
- apr_buckets.h
- mod_md_ocsp.h
- apr_shm.h
- openssl/store.h
- xmlrole.h
- os.h
- util_fcgi.h
- openssl/dh.h
- heartbeat.h
- cgi_common.h
- ap_config_auto.h
- proxy_util.h
- stdarg.h
- md_json.h
- pcre2_util.h
- apr_global_mutex.h
- mod_optional_hook_export.h
- apr_fnmatch.h
- h2_c2.h
- lib$routines
- pcre2_jit_char_inc.h
- h2_conn_ctx.h
- apr_version.h
- apr_cstr.h
- xmltok_impl.c
- apr_signal.h
- apr_ldap_rebind.h
- mod_cache_disk.h
- apr_crypto.h
- http_request.h
- ../unix/os.h
- readline.h
- mod_md.h
- test/unit/authn.tests
- h2_push.h
- md_result.h
- apr_skiplist.h
- apr_jose.h
- process.h
- ascii.h
- util_time.h
- h2_c1.h
- apr_env.h
- sys/signal.h
- md_acme_acct.h
- ap_provider.h
- alloca.h
- ap_release.h
- md_util.h
- apr_thread_pool.h
- apr_atomic.h
- libxml/HTMLparser.h
- lua_dbd.h
- arch/win32/apr_arch_utf8.h
- cache_disk_common.h
- readline/readline.h
- h2_workers.h
- openssl/pem.h
- apr_queue.h
- cache_util.h
- xmltok.h
- pcrzoscs.h
- httpd.h
- lua_vmprep.h
- codepage.h
- sys/resource.h
- time.h
- ap_listen.h
- edit/readline/readline.h
- mod_lua.h
- md_crypt.h
- sys/sem.h
- core.h
- signal.h
- expat.h
- jansson_config.h
- apr_file_info.h
- ap_regkey.h
- apr_user.h
- http_ssl.h
- scgi.h
- httpd_wrap.h
- ap_hook_probes.h
- util_expr_parse.h
- mswsock.h
- h2_headers.h
- suexec.h
- filemap.h
- arpa/inet.h
- openssl/evp.h
- apreq_parser.h
- md_time.h
- systemd/sd-journal.h
- ap_slotmem.h
- mod_proxy.h
- mod_auth.h
- md_acmev2_drive.h
- md.h
- util_cfgtree.h
- windows.h
- pcre2_valid_utf.c
- h2_mplx.h
- ap_expr.h
- pcre2_compile.h
- mod_optional_fn_export.h
- history.h
- stdbool.h
- apr.h
- apr_poll.h
- systemd/sd-daemon.h
- library.h
- unistd.h
- mod_authz_dbd.h
- config.h
- simple_types.h
- h2_protocol.h
- md_event.h
- nghttp2/nghttp2ver.h
- md_http.h
- libxml/encoding.h
- limits.h
- md_store_fs.h
- pcre2_jit_misc_inc.h
- pthread_np.h
- stdlib.h
- mod_unixd.h
- dirent.h
- io.h
- sys/select.h
- nametab.h
- md_jws.h
- openssl/srp.h
- h2.h
- sys/wait.h
- sys/auxv.h
- mod_dav.h
- apr_xml.h
- apr_date.h
- apr_thread_cond.h
- openssl/ocsp.h
- WtsApi32.h
- util_ldap.h
- novsock2.h
- util_script.h
- test/unit/base64.tests
- apr_optional_hooks.h
- sys/shm.h
- openssl/macros.h
- h2_proxy_util.h
- memcheck.h
- h2_switch.h
- wchar.h
- openssl/crypto.h
- mpm_winnt.h
- util_md5.h
- simple_run.h
- apr_support.h
- brotli/encode.h
- apr_hooks.h
- mod_watchdog.h
- apr_strmatch.h
- mod_md_status.h
- pcre2_ucd.c
- apu_errno.h
- ap_config.h
- xmltchar.h
- util_mutex.h
- mod_cgi.h
- h2_bucket_beam.h
- pcre2_maketables.c
- valgrind.h
- mod_ssl.h
- pcre2.h
- h2_util.h
- mod_isapi.h
- openssl/applink.c
- conio.h
- inttypes.h
- mod_so.h
- ../httpdunit.h
- md_acme_drive.h
- netinet/in.h
- tchar.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_addr_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - http_scheme2
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_tokenize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hookfunc
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_preq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_uri.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/httpd/test/test_limits.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_LONG_REQUEST_LINE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/test/test_limits.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_LONG_REQUEST_FIELDS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/test/test_limits.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TEST_LONG_REQUEST_FIELDSIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/test/test_limits.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_LONG_REQUEST_BODY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/test/test_limits.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - checkmask
  - hex2sec
  - main
  source_file: /src/httpd/test/cls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/httpd/test/test-writev.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/test/test-writev.c
      type_or_value: (-1ul)
    structs: []
    typedefs: []
    union: []
- function_names:
  - accept_mutex_init
  - accept_mutex_on
  - accept_mutex_off
  - accept_mutex_init
  - accept_mutex_child_init
  - accept_mutex_cleanup
  - accept_mutex_on
  - accept_mutex_off
  - accept_mutex_init
  - accept_mutex_on
  - accept_mutex_off
  - accept_mutex_init
  - accept_mutex_on
  - accept_mutex_off
  - accept_mutex_init
  - accept_mutex_on
  - accept_mutex_off
  - get_shared_mem
  - get_shared_mem
  - main
  source_file: /src/httpd/test/time-sem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FNAME
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/test/time-sem.c
      type_or_value: '"test-lock-thing"'
    - item_type: preproc_def
      name: CONF_INITUSERS_MAX
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/httpd/test/time-sem.c
      type_or_value: '15'
    - item_type: preproc_def
      name: BADSHMAT
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/httpd/test/time-sem.c
      type_or_value: ((void *)(-1))
    - item_type: preproc_def
      name: _P
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/httpd/test/time-sem.c
      type_or_value: __P
    - item_type: preproc_def
      name: YIELD
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/httpd/test/time-sem.c
      type_or_value: sched_yield()
    - item_type: preproc_def
      name: YIELD
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/httpd/test/time-sem.c
      type_or_value: do { struct timeval zero; zero.tv_sec = zero.tv_usec = 0; select(0,0,0,0,&zero);
        } while(0)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: val
        type: int
      - name: '*buf'
        type: struct semid_ds
      - name: '*array'
        type: ushort
      item_type: union
      name: semun
      pos:
        line_end: 216
        line_start: 212
        source_file: /src/httpd/test/time-sem.c
- function_names:
  - main
  source_file: /src/httpd/test/test_select.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_block_alarms
  - ap_unblock_alarms
  - ap_log_error
  - main
  source_file: /src/httpd/test/test_find.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_test_suite
  - main
  source_file: /src/httpd/test/httpdunit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_block_alarms
  - ap_unblock_alarms
  - ap_log_error
  - main
  source_file: /src/httpd/test/test_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HTTPD_BEGIN_TEST_CASE
  - HTTPD_BEGIN_TEST_CASE_WITH_FIXTURE
  - HTTPD_START_LOOP_TEST
  source_file: /src/httpd/test/httpdunit.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_END_TEST_CASE
      pos:
        line_end: 106
        line_start: 103
        source_file: /src/httpd/test/httpdunit.h
      type_or_value: 'return testcase; \

        }'
    structs: []
    typedefs: []
    union: []
- function_names:
  - h1test_echo_handler
  - h1test_hooks
  source_file: /src/httpd/test/modules/http1/mod_h1test/mod_h1test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - duration_parse
  - h2test_post_config
  - h2test_child_init
  - h2test_echo_handler
  - h2test_delay_handler
  - h2test_trailer_handler
  - status_from_str
  - h2test_error_handler
  - h2test_hooks
  source_file: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECS_PER_HOUR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
      type_or_value: (60*60)
    - item_type: preproc_def
      name: SECS_PER_DAY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.c
      type_or_value: (24*SECS_PER_HOUR)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/test/modules/http2/mod_h2test/mod_h2test.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - httpd_test_split_qs_numbers
  source_file: /src/httpd/test/pytest_suite/c-modules/httpd_test_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - authn_check_password
  - any_check_authorization
  - extra_hooks
  - require_any_user
  - authany_handler
  - extra_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_EXTRA_HOOKS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
      type_or_value: extra_hooks
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_EXTRA_HOOKS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
      type_or_value: extra_hooks
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HOOK_ORDER
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
      type_or_value: APR_HOOK_FIRST
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_CHECK_USER_ID
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
      type_or_value: authany_handler
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_AUTH_CHECKER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/test/pytest_suite/c-modules/authany/mod_authany.c
      type_or_value: require_any_user
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_session_init
  - test_session_load
  - test_session_save
  - test_session_encode
  - test_session_decode
  - test_session_get
  - test_session_set
  - test_session_handler
  - test_session_dcfg_create
  - test_session_dcfg_merge
  - set_session_enable
  - set_encoder_enable
  - extra_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '2.3'
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_EXTRA_HOOKS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: extra_hooks
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_CHILD_INIT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: test_session_init
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: test_session_handler
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_COMMANDS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: test_session_cmds
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_PER_DIR_CREATE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: test_session_dcfg_create
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_PER_DIR_MERGE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: test_session_dcfg_merge
    - item_type: preproc_def
      name: TEST_SESSION_HANDLER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '"test-session-handler"'
    - item_type: preproc_def
      name: TEST_SESSION_ENCODER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '"test-session-encoder"'
    - item_type: preproc_def
      name: TEST_SESSION_NOTE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '"mod_test_session"'
    - item_type: preproc_def
      name: TEST_SESSION_HEADER
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '"X-Test-Session-Override"'
    - item_type: preproc_def
      name: TEST_SESSION_ENCODING_PREFIX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
      type_or_value: '"TestEncoded:"'
    structs:
    - fields:
      - name: session
        type: int
      - name: session_set
        type: int
      - name: encoder
        type: int
      - name: encoder_set
        type: int
      item_type: struct
      name: test_session_dcfg_t
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/httpd/test/pytest_suite/c-modules/test_session/mod_test_session.c
    typedefs: []
    union: []
- function_names:
  - nntp_like_srv_cfg_create
  - nntp_like_cmd_enable
  - nntp_like_init_connection
  - nntp_like_send_welcome
  - nntp_like_pre_connection
  - nntp_like_process_connection
  - nntp_like_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NNTP_LIKE_WELCOME
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
      type_or_value: '"200 localhost - ready\r\n"'
    structs:
    - fields:
      - name: enabled
        type: int
      item_type: struct
      name: nntp_like_srv_cfg_t
      pos:
        line_end: 40
        line_start: 38
        source_file: /src/httpd/test/pytest_suite/c-modules/nntp_like/mod_nntp_like.c
    typedefs: []
    union: []
- function_names:
  - input_body_filter_dcfg_create
  - input_body_filter_fixup_handler
  - input_body_filter_response_handler
  - reverse_string
  - input_body_filter_handler
  - input_body_filter_insert_filter
  - input_body_filter_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INPUT_BODY_FILTER_NAME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
      type_or_value: '"INPUT_BODY_FILTER"'
    structs:
    - fields:
      - name: enabled
        type: int
      item_type: struct
      name: input_body_filter_dcfg_t
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    - fields:
      - name: '*b'
        type: apr_bucket_brigade
      item_type: struct
      name: input_body_ctx_t
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/httpd/test/pytest_suite/c-modules/input_body_filter/mod_input_body_filter.c
    typedefs: []
    union: []
- function_names:
  - echo_post_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/echo_post/mod_echo_post.c
      type_or_value: echo_post_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - client_add_filter_header
  - client_add_filter_insert
  - client_add_filter_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/client_add_filter/mod_client_add_filter.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - random_chunk_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c
      type_or_value: random_chunk_handler
    - item_type: preproc_def
      name: MAX_SEGMENT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c
      type_or_value: '32'
    - item_type: preproc_def
      name: ONE_WEIGHT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/test/pytest_suite/c-modules/random_chunk/mod_random_chunk.c
      type_or_value: (256-32)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_rwrite_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/test_rwrite/mod_test_rwrite.c
      type_or_value: test_rwrite_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - util_strlen_func
  - util_expr_lookup
  - util_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
      type_or_value: '2.4'
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_EXTRA_HOOKS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/httpd/test/pytest_suite/c-modules/test_utilities/mod_test_utilities.c
      type_or_value: util_register_hooks
    structs: []
    typedefs: []
    union: []
- function_names:
  - fold_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/fold/mod_fold.c
      type_or_value: fold_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - list_modules_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c
      type_or_value: list_modules_handler
    - item_type: preproc_def
      name: ap_top_module
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/test/pytest_suite/c-modules/list_modules/mod_list_modules.c
      type_or_value: top_module
    structs: []
    typedefs: []
    union: []
- function_names:
  - memory_track_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/memory_track/mod_memory_track.c
      type_or_value: memory_track_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - echo_post_chunk_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/echo_post_chunk/mod_echo_post_chunk.c
      type_or_value: echo_post_chunk_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - import_ssl_var_lookup
  - test_ssl_ext_lookup
  - test_ssl_var_lookup
  - test_ssl_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/test_ssl/mod_test_ssl.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_pass_brigade_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c
      type_or_value: '2'
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/httpd/test/pytest_suite/c-modules/test_pass_brigade/mod_test_pass_brigade.c
      type_or_value: test_pass_brigade_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_stpcpy
  - iterate_pieces
  - CHECK
  - DUMP
  - test_apr_uri_handler
  - HEADER
  - test_apr_uri_register_hooks
  source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_TEST_REQUIRE_APACHE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '2'
    - item_type: preproc_def
      name: T_scheme
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: T_user
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: T_password
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: T_hostname
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: T_port_str
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: T_path
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: T_query
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: T_fragment
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: T_MAX
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
      type_or_value: '0x100'
    structs:
    - fields:
      - name: '*scheme'
        type: char
      - name: '*user'
        type: char
      - name: '*password'
        type: char
      - name: '*hostname'
        type: char
      - name: '*port_str'
        type: char
      - name: '*path'
        type: char
      - name: '*query'
        type: char
      - name: '*fragment'
        type: char
      item_type: struct
      name: test_uri_t
      pos:
        line_end: 97
        line_start: 88
        source_file: /src/httpd/test/pytest_suite/c-modules/test_apr_uri/mod_test_apr_uri.c
    typedefs: []
    union: []
- function_names:
  - eat_post_handler
  source_file: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_HTTPD_TEST_HANDLER
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/httpd/test/pytest_suite/c-modules/eat_post/mod_eat_post.c
      type_or_value: eat_post_handler
    structs: []
    typedefs: []
    union: []
- function_names:
  - MAKE_NV
  - MAKE_NV_CS
  - log_out
  - log_err
  - log_info
  - log_debug
  - log_errf
  - log_infof
  - log_debugf
  - parse_host_port
  - parse_uri
  - sock_nonblock_nodelay
  - open_connection
  - h2_session_stream_add
  - h2_session_stream_remove
  - h2_session_stream_get
  - h2_session_send
  - h2_session_recv
  - h2_session_on_frame_send
  - h2_session_on_frame_recv
  - h2_session_on_header
  - h2_session_on_stream_close
  - h2_session_on_data_chunk_recv
  - h2_session_open
  - h2_session_io
  - h2_session_ev
  - h2_stream_ev
  - h2_session_set_poll
  - h2_session_run
  - h2_session_close
  - ws_stream_on_close
  - ws_stream_on_recv_data
  - ws_stream_create
  - ws_stream_read_req_body
  - ws_stream_submit
  - usage
  - main
  source_file: /src/httpd/test/clients/h2ws.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IO_WANT_NONE
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/httpd/test/clients/h2ws.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IO_WANT_READ
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/httpd/test/clients/h2ws.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IO_WANT_WRITE
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/httpd/test/clients/h2ws.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*scheme'
        type: char
      - name: '*host'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: port
        type: uint16_t
      - name: ipv6
        type: int
      item_type: struct
      name: uri
      pos:
        line_end: 211
        line_start: 204
        source_file: /src/httpd/test/clients/h2ws.c
    - fields:
      - name: '*server_name'
        type: char
      - name: '*connect_host'
        type: char
      - name: connect_port
        type: uint16_t
      - name: fd
        type: int
      - name: '*ngh2'
        type: nghttp2_session
      - name: '*streams'
        type: struct h2_stream
      - name: aborted
        type: int
      - name: want_io
        type: int
      item_type: struct
      name: h2_session
      pos:
        line_end: 341
        line_start: 332
        source_file: /src/httpd/test/clients/h2ws.c
    - fields:
      - name: '*next'
        type: struct h2_stream
      - name: '*uri'
        type: struct uri
      - name: id
        type: int32_t
      - name: fdin
        type: int
      - name: http_status
        type: int
      - name: error_code
        type: uint32_t
      - name: input_closed
        type: unsigned
      - name: closed
        type: unsigned
      - name: reset
        type: unsigned
      - name: '*on_close'
        type: h2_stream_closed_cb
      - name: '*on_recv_data'
        type: h2_stream_recv_data
      item_type: struct
      name: h2_stream
      pos:
        line_end: 359
        line_start: 347
        source_file: /src/httpd/test/clients/h2ws.c
    - fields:
      - name: '*session'
        type: struct h2_session
      - name: '*stream'
        type: struct h2_stream
      - name: '*on_ev'
        type: h2_poll_ev_cb
      item_type: struct
      name: h2_poll_ctx
      pos:
        line_end: 707
        line_start: 703
        source_file: /src/httpd/test/clients/h2ws.c
    - fields:
      - name: s
        type: struct h2_stream
      item_type: struct
      name: ws_stream
      pos:
        line_end: 811
        line_start: 809
        source_file: /src/httpd/test/clients/h2ws.c
    typedefs:
    - item_type: typedef
      name: h2_stream_closed_cb(struct h2_stream *stream)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/httpd/test/clients/h2ws.c
      type: void
    - item_type: typedef
      name: "h2_stream_recv_data(struct h2_stream *stream,\n                                 const
        uint8_t *data, size_t len)"
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/httpd/test/clients/h2ws.c
      type: void
    - item_type: typedef
      name: h2_poll_ev_cb(struct h2_poll_ctx *pctx, struct pollfd *pfd)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/httpd/test/clients/h2ws.c
      type: int
    union: []
- function_names:
  - authn_setup
  - authn_teardown
  - HTTPD_START_LOOP_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  source_file: /src/httpd/test/unit/authn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mod_auth_digest_setup
  - mod_auth_digest_teardown
  - START_TEST
  - START_TEST
  source_file: /src/httpd/test/unit/mod_auth_digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - util_setup
  - util_teardown
  - HTTPD_START_LOOP_TEST
  - ap_escape_quotes_case
  - HTTPD_START_LOOP_TEST
  source_file: /src/httpd/test/unit/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ESCQ
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/test/unit/util.c
      type_or_value: '"\\\""'
    structs:
    - fields:
      - name: '*list'
        type: char
      - name: '*token'
        type: char
      - name: expected
        type: int
      item_type: struct
      name: ap_test_token_case
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/httpd/test/unit/util.c
    typedefs: []
    union: []
- function_names:
  - base64_setup
  - base64_teardown
  - HTTPD_START_LOOP_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - HTTPD_START_LOOP_TEST
  - HTTPD_START_LOOP_TEST
  source_file: /src/httpd/test/unit/base64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aptest_post_read_request
  - aptest_hooks
  source_file: /src/httpd/test/pyhttpd/mod_aptest/mod_aptest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_isapi_dir_config
  - merge_isapi_dir_configs
  - isapi_cmd_cachefile
  - isapi_unload
  - cleanup_isapi
  - isapi_load
  - isapi_lookup
  - APR_THREAD_FUNC::regfnGetServerVariable
  - APR_THREAD_FUNC::regfnReadClient
  - send_response_header
  - APR_THREAD_FUNC::regfnWriteClient
  - APR_THREAD_FUNC::regfnServerSupportFunction
  - isapi_handler
  - isapi_pre_config
  - isapi_hooks
  source_file: /src/httpd/modules/arch/win32/mod_isapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISAPI_RETRY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
      type_or_value: apr_time_from_sec(30)
    - item_type: preproc_def
      name: ISAPI_UNDEF
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
      type_or_value: '-1'
    structs:
    - fields:
      - name: read_ahead_buflen
        type: int
      - name: log_unsupported
        type: int
      - name: log_to_errlog
        type: int
      - name: log_to_query
        type: int
      - name: fake_async
        type: int
      item_type: struct
      name: isapi_dir_conf
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*lock'
        type: apr_thread_mutex_t
      - name: '*hash'
        type: apr_hash_t
      item_type: struct
      name: isapi_global_conf
      pos:
        line_end: 202
        line_start: 198
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
    - fields:
      - name: '*filename'
        type: char
      - name: '*in_progress'
        type: apr_thread_rwlock_t
      - name: last_load_rv
        type: apr_status_t
      - name: last_load_time
        type: apr_time_t
      - name: '*handle'
        type: apr_dso_handle_t
      - name: '*isapi_version'
        type: HSE_VERSION_INFO
      - name: report_version
        type: apr_uint32_t
      - name: timeout
        type: apr_uint32_t
      - name: GetExtensionVersion
        type: PFN_GETEXTENSIONVERSION
      - name: HttpExtensionProc
        type: PFN_HTTPEXTENSIONPROC
      - name: TerminateExtension
        type: PFN_TERMINATEEXTENSION
      item_type: struct
      name: isapi_loaded
      pos:
        line_end: 217
        line_start: 205
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
    - fields:
      - name: '*ecb'
        type: EXTENSION_CONTROL_BLOCK
      - name: dconf
        type: isapi_dir_conf
      - name: '*isa'
        type: isapi_loaded
      - name: '*r'
        type: request_rec
      - name: headers_set
        type: int
      - name: response_sent
        type: int
      - name: completion
        type: PFN_HSE_IO_COMPLETION
      - name: '*completion_arg'
        type: void
      - name: '*completed'
        type: apr_thread_mutex_t
      item_type: struct
      name: isapi_cid
      pos:
        line_end: 485
        line_start: 475
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
    typedefs:
    - item_type: typedef
      name: isapi_loaded
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/httpd/modules/arch/win32/mod_isapi.c
      type: isapi_loaded
    union: []
- function_names:
  - create_win32_dir_config
  - merge_win32_dir_configs
  - set_interpreter_source
  - prep_string
  - get_interpreter_from_win32_registry
  - split_argv
  - ap_cgi_build_command
  - register_hooks
  source_file: /src/httpd/modules/arch/win32/mod_win32.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: script_interpreter_source
        type: interpreter_source_e
      item_type: struct
      name: win32_dir_conf
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/httpd/modules/arch/win32/mod_win32.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/arch/win32/mod_isapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HSE_IO_SEND_HEADERS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '8'
    - item_type: preproc_def
      name: HSE_IO_SYNC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HSE_IO_ASYNC
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HSE_IO_DISCONNECT_AFTER_SEND
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HSE_IO_NODELAY
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: HSE_REQ_SEND_URL_REDIRECT_RESP
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HSE_REQ_SEND_URL
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HSE_REQ_SEND_RESPONSE_HEADER
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HSE_REQ_DONE_WITH_SESSION
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HSE_REQ_MAP_URL_TO_PATH
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1001 '
    - item_type: preproc_def
      name: HSE_REQ_GET_SSPI_INFO
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1002 '
    - item_type: preproc_def
      name: HSE_APPEND_LOG_PARAMETER
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1003 '
    - item_type: preproc_def
      name: HSE_REQ_IO_COMPLETION
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1005 '
    - item_type: preproc_def
      name: HSE_REQ_TRANSMIT_FILE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1006 '
    - item_type: preproc_def
      name: HSE_REQ_REFRESH_ISAPI_ACL
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1007 '
    - item_type: preproc_def
      name: HSE_REQ_IS_KEEP_CONN
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1008 '
    - item_type: preproc_def
      name: HSE_REQ_ASYNC_READ_CLIENT
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1010 '
    - item_type: preproc_def
      name: HSE_REQ_GET_IMPERSONATION_TOKEN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1011 '
    - item_type: preproc_def
      name: HSE_REQ_MAP_URL_TO_PATH_EX
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1012 '
    - item_type: preproc_def
      name: HSE_REQ_ABORTIVE_CLOSE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1014 '
    - item_type: preproc_def
      name: HSE_REQ_GET_CERT_INFO_EX
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1015 '
    - item_type: preproc_def
      name: HSE_REQ_SEND_RESPONSE_HEADER_EX
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1016 '
    - item_type: preproc_def
      name: HSE_REQ_CLOSE_CONNECTION
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1017 '
    - item_type: preproc_def
      name: HSE_REQ_IS_CONNECTED
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1018 '
    - item_type: preproc_def
      name: HSE_REQ_EXTENSION_TRIGGER
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1020 '
    - item_type: preproc_def
      name: HSE_STATUS_SUCCESS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HSE_STATUS_SUCCESS_AND_KEEP_CONN
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: HSE_STATUS_PENDING
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: HSE_STATUS_ERROR
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ERROR_INSUFFICIENT_BUFFER
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: ENOBUFS
    - item_type: preproc_def
      name: ERROR_INVALID_INDEX
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: EINVAL
    - item_type: preproc_def
      name: ERROR_INVALID_PARAMETER
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: EINVAL
    - item_type: preproc_def
      name: ERROR_READ_FAULT
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: EIO
    - item_type: preproc_def
      name: ERROR_WRITE_FAULT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: EIO
    - item_type: preproc_def
      name: ERROR_SUCCESS
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HSE_TERM_MUST_UNLOAD
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HSE_TERM_ADVISORY_UNLOAD
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HSE_TERM_MUST_UNLOAD
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HSE_TERM_ADVISORY_UNLOAD
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type_or_value: '2'
    structs:
    - fields:
      - name: dwExtensionVersion
        type: apr_uint32_t
      - name: lpszExtensionDesc[256]
        type: char
      item_type: struct
      name: HSE_VERSION_INFO
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
    - fields:
      - name: cbSize
        type: apr_uint32_t
      - name: dwVersion
        type: apr_uint32_t
      - name: ConnID
        type: HCONN
      - name: dwHttpStatusCode
        type: apr_uint32_t
      - name: lpszLogData[80]
        type: char
      - name: '*lpszMethod'
        type: char
      - name: '*lpszQueryString'
        type: char
      - name: '*lpszPathInfo'
        type: char
      - name: '*lpszPathTranslated'
        type: char
      - name: cbTotalBytes
        type: apr_uint32_t
      - name: cbAvailable
        type: apr_uint32_t
      - name: '*lpbData'
        type: unsigned char
      - name: '*lpszContentType'
        type: char
      - name: GetServerVariable
        type: PFN_GETSERVERVARIABLE
      - name: WriteClient
        type: PFN_WRITECLIENT
      - name: ReadClient
        type: PFN_READCLIENT
      - name: ServerSupportFunction
        type: PFN_SERVERSUPPORTFUNCTION
      item_type: struct
      name: EXTENSION_CONTROL_BLOCK
      pos:
        line_end: 95
        line_start: 76
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
    - fields:
      - name: '* pszStatus'
        type: char
      - name: '* pszHeader'
        type: char
      - name: cchStatus
        type: apr_uint32_t
      - name: cchHeader
        type: apr_uint32_t
      - name: fKeepConn
        type: int
      item_type: struct
      name: HSE_SEND_HEADER_EX_INFO
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
    - fields:
      - name: pfnHseIO
        type: PFN_HSE_IO_COMPLETION
      - name: '*pContext'
        type: void
      - name: hFile
        type: apr_os_file_t
      - name: '*pszStatusCode'
        type: char
      - name: BytesToWrite
        type: apr_uint32_t
      - name: Offset
        type: apr_uint32_t
      - name: '*pHead'
        type: void
      - name: HeadLength
        type: apr_uint32_t
      - name: '*pTail'
        type: void
      - name: TailLength
        type: apr_uint32_t
      - name: dwFlags
        type: apr_uint32_t
      item_type: struct
      name: HSE_TF_INFO
      pos:
        line_end: 168
        line_start: 149
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
    - fields:
      - name: lpszPath[260]
        type: char
      - name: dwFlags
        type: apr_uint32_t
      - name: cchMatchingPath
        type: apr_uint32_t
      - name: cchMatchingURL
        type: apr_uint32_t
      - name: dwReserved1
        type: apr_uint32_t
      - name: dwReserved2
        type: apr_uint32_t
      item_type: struct
      name: HSE_URL_MAPEX_INFO
      pos:
        line_end: 177
        line_start: 170
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
    typedefs:
    - item_type: typedef
      name: (APR_THREAD_FUNC *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO *ver_info)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    - item_type: typedef
      name: isapi_cid
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: isapi_cid
    - item_type: typedef
      name: '*HCONN'
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: isapi_cid
    - item_type: typedef
      name: "(APR_THREAD_FUNC\n                *PFN_GETSERVERVARIABLE)(HCONN         cid,\n
        \                                       char         *variable_name,\n                                        void
        \        *buf_data,\n                                        apr_uint32_t
        *buf_size)"
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    - item_type: typedef
      name: "(APR_THREAD_FUNC\n                *PFN_WRITECLIENT)(HCONN         cid,\n
        \                                 void         *buf_data,\n                                  apr_uint32_t
        *buf_size,\n                                  apr_uint32_t  flags)"
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    - item_type: typedef
      name: "(APR_THREAD_FUNC\n                *PFN_READCLIENT)(HCONN         cid,\n
        \                                void         *buf_data,\n                                 apr_uint32_t
        *buf_size)"
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    - item_type: typedef
      name: "(APR_THREAD_FUNC\n                *PFN_SERVERSUPPORTFUNCTION)(HCONN         cid,\n
        \                                           apr_uint32_t  HSE_code,\n                                            void
        \        *buf_data,\n                                            apr_uint32_t
        *buf_size,\n                                            apr_uint32_t *flags)"
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    - item_type: typedef
      name: "(APR_THREAD_FUNC *PFN_HSE_IO_COMPLETION)\n                                  (EXTENSION_CONTROL_BLOCK
        *ecb,\n                                   void                    *ctxt,\n
        \                                  apr_uint32_t             cbIO,\n                                   apr_uint32_t
        \            dwError)"
      pos:
        line_end: 145
        line_start: 141
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: void
    - item_type: typedef
      name: "(APR_THREAD_FUNC\n                        *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK
        *ecb)"
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: apr_uint32_t
    - item_type: typedef
      name: (APR_THREAD_FUNC *PFN_TERMINATEEXTENSION)(apr_uint32_t flags)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/httpd/modules/arch/win32/mod_isapi.h
      type: int
    union: []
- function_names:
  - CFG_CHECK
  - CR_CHECK
  - priv_cfg_cleanup
  - privileges_merge_cfg
  - privileges_create_cfg
  - privileges_create_dir_cfg
  - privileges_merge_dir_cfg
  - privileges_end_req
  - privileges_req
  - PDROP_CHECK
  - privileges_drop_first
  - privileges_drop_last
  - privileges_term
  - privileges_postconf
  - privileges_init
  - privileges_hooks
  - vhost_user
  - vhost_group
  - vhost_secure
  - vhost_cgimode
  - dtraceenable
  - privs_mode
  - vhost_privs
  - vhost_cgiprivs
  source_file: /src/httpd/modules/arch/unix/mod_privileges.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*priv'
        type: priv_set_t
      - name: '*child_priv'
        type: priv_set_t
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: mode
        type: priv_mode
      item_type: struct
      name: priv_cfg
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/httpd/modules/arch/unix/mod_privileges.c
    - fields:
      - name: mode
        type: priv_mode
      item_type: struct
      name: priv_dir_cfg
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/httpd/modules/arch/unix/mod_privileges.c
    typedefs: []
    union: []
- function_names:
  - systemd_pre_config
  - log_selinux_context
  - systemd_post_config
  - systemd_pre_mpm
  - systemd_monitor
  - ap_find_systemd_socket
  - ap_systemd_listen_fds
  - systemd_register_hooks
  source_file: /src/httpd/modules/arch/unix/mod_systemd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_group_privs
  - unixd_drop_privileges
  - ap_unixd_setup_child
  - unixd_set_user
  - unixd_set_group
  - unixd_set_chroot_dir
  - unixd_set_suexec
  - SETUID_TEST
  - SETUID_TEST
  - unixd_pre_config
  - unixd_dump_config
  - unixd_hooks
  source_file: /src/httpd/modules/arch/unix/mod_unixd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_USER
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/arch/unix/mod_unixd.c
      type_or_value: '"#-1"'
    - item_type: preproc_def
      name: DEFAULT_GROUP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/arch/unix/mod_unixd.c
      type_or_value: '"#-1"'
    structs:
    - fields:
      - name: '*user_name'
        type: char
      - name: user_id
        type: uid_t
      - name: group_id
        type: gid_t
      - name: '*chroot_dir'
        type: char
      item_type: struct
      name: unixd_config_t
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/httpd/modules/arch/unix/mod_unixd.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/arch/unix/mod_unixd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _NonAppStart
  - _NonAppStop
  - _NonAppCheckUnload
  source_file: /src/httpd/modules/arch/netware/libprews.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strEQ
  - strNE
  - strEQn
  - strNEn
  - strcEQ
  - strcNE
  - strcEQn
  - strcNEn
  - strIsEmpty
  - get_nwssl_cfg
  - build_cert_list
  - parse_addr
  - find_secure_listener
  - get_port_key
  - make_secure_socket
  - convert_secure_socket
  - SSLize_Socket
  - set_secure_listener
  - set_secure_upgradeable_listener
  - nwssl_socket_cleanup
  - set_trusted_certs
  - nwssl_pre_config
  - nwssl_pre_connection
  - nwssl_post_config
  - nwssl_config_server_create
  - nwssl_config_server_merge
  - compare_ipports
  - isSecureConnEx
  - isSecureConn
  - isSecureConnUpgradeable
  - isSecure
  - isSecureUpgradeable
  - isSecureUpgraded
  - nwssl_hook_Fixup
  - nwssl_hook_http_scheme
  - nwssl_hook_default_port
  - ssl_proxy_enable
  - ssl_engine_disable
  - ssl_is_https
  - ssl_var_lookup
  - MKTIMESTR
  - ssl_io_filter_Upgrade
  - ssl_hook_Insert_Filter
  - register_hooks
  source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ADDRESS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '512'
    - item_type: preproc_def
      name: MAX_KEY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '80'
    - item_type: preproc_def
      name: SO_TLS_UNCLEAN_SHUTDOWN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SWITCH_STATUS_LINE
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '"HTTP/1.1 101 Switching Protocols"'
    - item_type: preproc_def
      name: UPGRADE_HEADER
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '"Upgrade: TLS/1.0, HTTP/1.1"'
    - item_type: preproc_def
      name: CONNECTION_HEADER
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type_or_value: '"Connection: upgrade"'
    structs:
    - fields:
      - name: '*next'
        type: seclisten_rec
      - name: local_addr
        type: struct sockaddr_in
      - name: fd
        type: int
      - name: used
        type: int
      - name: key[MAX_KEY]
        type: char
      - name: mutual
        type: int
      - name: '*addr'
        type: char
      - name: port
        type: apr_port_t
      item_type: struct
      name: seclisten_rec
      pos:
        line_end: 116
        line_start: 107
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    - fields:
      - name: '*next'
        type: seclistenup_rec
      - name: key[MAX_KEY]
        type: char
      - name: '*addr'
        type: char
      - name: port
        type: apr_port_t
      item_type: struct
      name: seclistenup_rec
      pos:
        line_end: 123
        line_start: 118
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    - fields:
      - name: '*sltable'
        type: apr_table_t
      - name: '*slutable'
        type: apr_table_t
      - name: '*pPool'
        type: apr_pool_t
      item_type: struct
      name: NWSSLSrvConfigRec
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    - fields:
      - name: '* csd'
        type: apr_socket_t
      - name: is_secure
        type: int
      item_type: struct
      name: secsocket_data
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
    typedefs:
    - item_type: typedef
      name: NWSSLSrvConfigRec
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type: NWSSLSrvConfigRec
    - item_type: typedef
      name: seclisten_rec
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type: seclisten_rec
    - item_type: typedef
      name: seclistenup_rec
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type: seclistenup_rec
    - item_type: typedef
      name: secsocket_data
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/httpd/modules/arch/netware/mod_nw_ssl.c
      type: secsocket_data
    union: []
- function_names:
  - create_netware_dir_config
  - merge_netware_dir_configs
  - set_extension_map
  - ap_cgi_build_command
  - netware_pre_config
  - register_hooks
  source_file: /src/httpd/modules/arch/netware/mod_netware.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*file_type_handlers'
        type: apr_table_t
      - name: '*file_handler_mode'
        type: apr_table_t
      - name: '*extra_env_vars'
        type: apr_table_t
      item_type: struct
      name: netware_dir_config
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/httpd/modules/arch/netware/mod_netware.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_passwd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PASSWD_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ALG_APMD5
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ALG_APSHA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ALG_BCRYPT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALG_CRYPT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '3'
    - item_type: preproc_def
      name: BCRYPT_DEFAULT_COST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_FILEPERM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ERR_SYNTAX
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ERR_PWMISMATCH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ERR_INTERRUPTED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ERR_OVERFLOW
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_BADUSER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ERR_INVALID
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '7'
    - item_type: preproc_def
      name: ERR_RANDOM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ERR_GENERAL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '9'
    - item_type: preproc_def
      name: ERR_ALG_NOT_SUPP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '10'
    - item_type: preproc_def
      name: CRYPT_ALGO_SUPPORTED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLAIN_ALGO_SUPPORTED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CRYPT_ALGO_SUPPORTED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLAIN_ALGO_SUPPORTED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BCRYPT_ALGO_SUPPORTED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BCRYPT_ALGO_SUPPORTED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*errstr'
        type: char
      - name: '*out'
        type: char
      - name: out_len
        type: apr_size_t
      - name: '*passwd'
        type: char
      - name: alg
        type: int
      - name: cost
        type: int
      item_type: struct
      name: passwd_ctx
      pos:
        line_end: 75
        line_start: 67
        source_file: /src/httpd/modules/lua/lua_passwd.h
    typedefs:
    - item_type: typedef
      name: passwd_ctx
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/httpd/modules/lua/lua_passwd.h
      type: passwd_ctx
    union: []
- function_names:
  - check_dir_config
  - check_cmd_parms
  - apl_toscope
  - ap_lua_map_handler
  - cfg_lua_map_handler
  - cfg_directory
  - cmd_log_at
  - cmd_emerg
  - cmd_alert
  - cmd_crit
  - cmd_err
  - cmd_warn
  - cmd_notice
  - cmd_info
  - cmd_debug
  - cmd_trace1
  - cmd_trace2
  - cmd_trace3
  - cmd_trace4
  - cmd_trace5
  - cmd_trace6
  - cmd_trace7
  - cmd_trace8
  - ap_lua_load_config_lmodule
  source_file: /src/httpd/modules/lua/lua_config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_lua_check_apr_table
  - ap_lua_push_apr_table
  - lua_table_set
  - lua_table_get
  - ap_lua_init
  source_file: /src/httpd/modules/lua/lua_apr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_lua_check_request_rec
  - lua_get_db_handle
  - lua_get_result_set
  - lua_db_close
  - lua_db_gc
  - lua_db_active
  - lua_db_query
  - lua_db_escape
  - lua_db_get_row
  - lua_db_select
  - lua_db_prepared_select
  - lua_db_prepared_query
  - lua_db_prepare
  - lua_db_prepared
  - lua_push_db_handle
  - lua_db_acquire
  source_file: /src/httpd/modules/lua/lua_dbd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - generate_salt
  - mk_password_hash
  source_file: /src/httpd/modules/lua/lua_passwd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_vmprep.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LUA_SCOPE_UNSET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_LUA_SCOPE_ONCE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_LUA_SCOPE_REQUEST
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_LUA_SCOPE_CONN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_LUA_SCOPE_THREAD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_LUA_SCOPE_SERVER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_LUA_CACHE_UNSET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_LUA_CACHE_NEVER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_LUA_CACHE_STAT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_LUA_CACHE_FOREVER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_LUA_FILTER_INPUT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_LUA_FILTER_OUTPUT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*package_paths'
        type: apr_array_header_t
      - name: '*package_cpaths'
        type: apr_array_header_t
      - name: '*file'
        type: char
      - name: scope
        type: int
      - name: vm_min
        type: unsigned int
      - name: vm_max
        type: unsigned int
      - name: cb
        type: ap_lua_state_open_callback
      - name: '* cb_arg'
        type: void
      - name: '*pool'
        type: apr_pool_t
      - name: '*bytecode'
        type: char
      - name: bytecode_len
        type: apr_size_t
      - name: codecache
        type: int
      item_type: struct
      name: ap_lua_vm_spec
      pos:
        line_end: 85
        line_start: 57
        source_file: /src/httpd/modules/lua/lua_vmprep.h
    - fields:
      - name: '*function_name'
        type: char
      - name: '*file_name'
        type: char
      - name: scope
        type: int
      - name: '*uri_pattern'
        type: ap_regex_t
      - name: '*bytecode'
        type: char
      - name: bytecode_len
        type: apr_size_t
      - name: codecache
        type: int
      item_type: struct
      name: ap_lua_mapped_handler_spec
      pos:
        line_end: 96
        line_start: 87
        source_file: /src/httpd/modules/lua/lua_vmprep.h
    - fields:
      - name: '*function_name'
        type: char
      - name: '*file_name'
        type: char
      - name: '* filter_name'
        type: char
      - name: direction
        type: int
      item_type: struct
      name: ap_lua_filter_handler_spec
      pos:
        line_end: 104
        line_start: 98
        source_file: /src/httpd/modules/lua/lua_vmprep.h
    - fields:
      - name: runs
        type: apr_size_t
      - name: modified
        type: apr_time_t
      - name: size
        type: apr_off_t
      item_type: struct
      name: ap_lua_finfo
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/httpd/modules/lua/lua_vmprep.h
    - fields:
      - name: '* L'
        type: lua_State
      - name: '* finfo'
        type: ap_lua_finfo
      item_type: struct
      name: ap_lua_server_spec
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/httpd/modules/lua/lua_vmprep.h
    typedefs:
    - item_type: typedef
      name: "(*ap_lua_state_open_callback) (lua_State *L, apr_pool_t *p,\n                                             void
        *ctx)"
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/lua/lua_vmprep.h
      type: void
    union: []
- function_names:
  - ap_lua_init_mutex
  - pstack_dump
  - makeintegerfield
  - ap_lua_load_apache2_lmodule
  - cleanup_lua
  - server_cleanup_lua
  - munge_path
  - loadjitmodule
  - vm_construct
  - copy_vm_spec
  - server_vm_construct
  - ap_lua_get_lua_state
  source_file: /src/httpd/modules/lua/lua_vmprep.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LUA_MODULE_EXT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/lua/lua_vmprep.c
      type_or_value: '".nlm"'
    - item_type: preproc_def
      name: AP_LUA_MODULE_EXT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/lua/lua_vmprep.c
      type_or_value: '".dll"'
    - item_type: preproc_def
      name: AP_LUA_MODULE_EXT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/lua/lua_vmprep.c
      type_or_value: '".sl"'
    - item_type: preproc_def
      name: AP_LUA_MODULE_EXT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/lua/lua_vmprep.c
      type_or_value: '".so"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - lua_load
  - lua_resume
  - lua_resume
  - luaL_setfuncs_compat
  - lua_rawlen
  - luaL_setfuncs_compat
  - lua_resume
  - lua_dump
  - AP_LUA_DECLARE
  - AP_LUA_DECLARE_NONSTD
  - AP_LUA_DECLARE
  - AP_LUA_DECLARE_NONSTD
  - AP_LUA_DECLARE
  - AP_LUA_DECLARE_NONSTD
  - AP_LUA_DECLARE
  - AP_LUA_DECLARE_NONSTD
  - lua_boxpointer
  - lua_unboxpointer
  source_file: /src/httpd/modules/lua/mod_lua.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LUA_DECLARE_DATA
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/lua/mod_lua.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AP_LUA_DECLARE_DATA
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/lua/mod_lua.h
      type_or_value: __declspec(dllimport)
    structs:
    - fields:
      - name: '*package_paths'
        type: apr_array_header_t
      - name: '*package_cpaths'
        type: apr_array_header_t
      - name: '*mapped_handlers'
        type: apr_array_header_t
      - name: '*mapped_filters'
        type: apr_array_header_t
      - name: '*pool'
        type: apr_pool_t
      - name: vm_scope
        type: unsigned int
      - name: vm_min
        type: unsigned int
      - name: vm_max
        type: unsigned int
      - name: '*hooks'
        type: apr_hash_t
      - name: '*dir'
        type: char
      - name: inherit
        type: ap_lua_inherit_t
      - name: codecache
        type: unsigned int
      item_type: struct
      name: ap_lua_dir_cfg
      pos:
        line_end: 147
        line_start: 113
        source_file: /src/httpd/modules/lua/mod_lua.h
    - fields:
      - name: '*root_path'
        type: char
      item_type: struct
      name: ap_lua_server_cfg
      pos:
        line_end: 153
        line_start: 149
        source_file: /src/httpd/modules/lua/mod_lua.h
    - fields:
      - name: '*function_name'
        type: char
      - name: '*spec'
        type: ap_lua_vm_spec
      item_type: struct
      name: mapped_request_details
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/httpd/modules/lua/mod_lua.h
    - fields:
      - name: '*mapped_request_details'
        type: mapped_request_details
      - name: '*request_scoped_vms'
        type: apr_hash_t
      item_type: struct
      name: ap_lua_request_cfg
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/httpd/modules/lua/mod_lua.h
    - fields:
      - name: '*L'
        type: lua_State
      - name: '*function'
        type: char
      item_type: struct
      name: ap_lua_filter_ctx
      pos:
        line_end: 171
        line_start: 167
        source_file: /src/httpd/modules/lua/mod_lua.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APL_REQ_FUNTYPE_STRING
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/lua/lua_request.h
      type_or_value: '1'
    - item_type: preproc_def
      name: APL_REQ_FUNTYPE_INT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/lua/lua_request.h
      type_or_value: '2'
    - item_type: preproc_def
      name: APL_REQ_FUNTYPE_TABLE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/lua/lua_request.h
      type_or_value: '3'
    - item_type: preproc_def
      name: APL_REQ_FUNTYPE_LUACFUN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/lua/lua_request.h
      type_or_value: '4'
    - item_type: preproc_def
      name: APL_REQ_FUNTYPE_BOOLEAN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/lua/lua_request.h
      type_or_value: '5'
    structs:
    - fields:
      - name: '*fun'
        type: void
      - name: type
        type: int
      item_type: struct
      name: req_fun_t
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/httpd/modules/lua/lua_request.h
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*t'
        type: apr_table_t
      - name: '*n'
        type: char
      item_type: struct
      name: req_table_t
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/httpd/modules/lua/lua_request.h
    - fields:
      - name: type
        type: int
      - name: size
        type: size_t
      - name: vb_size
        type: size_t
      - name: number
        type: lua_Number
      - name: vb
        type: struct ap_varbuf
      item_type: struct
      name: lua_ivm_object
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/httpd/modules/lua/lua_request.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_dbd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LUA_DBTYPE_APR_DBD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/lua/lua_dbd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LUA_DBTYPE_MOD_DBD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/lua/lua_dbd.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*handle'
        type: apr_dbd_t
      - name: '*driver'
        type: apr_dbd_driver_t
      - name: alive
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: type
        type: char
      - name: '*              dbdhandle'
        type: ap_dbd_t
      - name: '*server'
        type: server_rec
      item_type: struct
      name: lua_db_handle
      pos:
        line_end: 36
        line_start: 27
        source_file: /src/httpd/modules/lua/lua_dbd.h
    - fields:
      - name: '*driver'
        type: apr_dbd_driver_t
      - name: rows
        type: int
      - name: cols
        type: int
      - name: '*results'
        type: apr_dbd_results_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: lua_db_result_set
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/httpd/modules/lua/lua_dbd.h
    - fields:
      - name: '*statement'
        type: apr_dbd_prepared_t
      - name: variables
        type: int
      - name: '*db'
        type: lua_db_handle
      item_type: struct
      name: lua_db_prepared_statement
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/httpd/modules/lua/lua_dbd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/lua/lua_apr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_lua_rstack_dump
  - ap_lua_check_request_rec
  - req_aprtable2luatable_cb
  - req_aprtable2luatable_cb_len
  - lua_read_body
  - lua_write_body
  - req_aprtable2luatable
  - req_headers_in_table
  - req_headers_out_table
  - req_err_headers_out_table
  - req_notes_table
  - req_subprocess_env_table
  - req_parseargs
  - ap_lua_binstrstr
  - req_parsebody
  - lua_ap_requestbody
  - req_puts
  - req_write
  - req_add_output_filter
  - req_construct_url
  - req_escape_html
  - req_ssl_var_lookup
  - req_document_root
  - req_context_prefix
  - req_context_document_root
  - req_uri_field
  - req_method_field
  - req_handler_field
  - req_proxyreq_field
  - req_hostname_field
  - req_args_field
  - req_path_info_field
  - req_canonical_filename_field
  - req_filename_field
  - req_user_field
  - req_unparsed_uri_field
  - req_ap_auth_type_field
  - req_content_encoding_field
  - req_content_type_field
  - req_range_field
  - req_protocol_field
  - req_the_request_field
  - req_log_id_field
  - req_useragent_ip_field
  - req_remaining_field
  - req_status_field
  - req_assbackwards_field
  - req_headers_in
  - req_headers_out
  - req_err_headers_out
  - req_subprocess_env
  - req_notes
  - req_ssl_is_https_field
  - req_ap_get_server_port
  - lua_ap_rflush
  - lua_ap_options
  - lua_ap_allowoverrides
  - lua_ap_started
  - lua_ap_basic_auth_pw
  - lua_ap_limit_req_body
  - lua_ap_is_initial_req
  - lua_ap_some_auth_required
  - lua_ap_sendfile
  - lua_apr_b64encode
  - lua_apr_b64decode
  - lua_ap_unescape
  - lua_ap_escape
  - lua_apr_md5
  - lua_apr_sha1
  - lua_apr_htpassword
  - lua_apr_touch
  - lua_apr_mkdir
  - lua_apr_mkrdir
  - lua_apr_rmdir
  - lua_apr_date_parse_rfc
  - lua_ap_mpm_query
  - lua_ap_expr
  - lua_ap_regex
  - lua_ap_scoreboard_process
  - lua_ap_scoreboard_worker
  - lua_ap_clock
  - lua_ap_add_input_filter
  - lua_ap_module_info
  - lua_ap_runtime_dir_relative
  - lua_ap_set_document_root
  - lua_ap_getdir
  - lua_ap_stat
  - lua_ap_loaded_modules
  - lua_ap_server_info
  - lua_ap_set_context_info
  - lua_ap_os_escape_path
  - lua_ap_escape_logitem
  - lua_ap_strcmp_match
  - lua_ap_set_keepalive
  - lua_ap_make_etag
  - lua_ap_send_interim_response
  - lua_ap_custom_response
  - lua_ap_exists_config_define
  - lua_ap_get_server_name_for_url
  - lua_ap_state_query
  - lua_ap_usleep
  - req_dispatch
  - req_log_at
  - req_emerg
  - req_alert
  - req_crit
  - req_err
  - req_warn
  - req_notice
  - req_info
  - req_debug
  - lua_ivm_get
  - lua_ivm_set
  - lua_get_cookie
  - lua_set_cookie
  - ap_ntoh64
  - lua_websocket_greet
  - lua_websocket_readbytes
  - lua_websocket_peek
  - lua_websocket_read
  - lua_websocket_write
  - lua_websocket_close
  - lua_websocket_ping
  - APLUA_REQ_TRACE
  - req_newindex
  - read_cfg_tree
  - lua_ap_get_config
  - lua_ap_get_active_config
  - lua_ap_auth_name
  - lua_ap_get_server_name
  - makefun
  - ap_lua_load_request_lmodule
  - ap_lua_push_connection
  - ap_lua_push_server
  - ap_lua_push_request
  source_file: /src/httpd/modules/lua/lua_request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POST_MAX_VARS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/lua/lua_request.c
      type_or_value: '500'
    - item_type: preproc_def
      name: MODLUA_MAX_REG_MATCH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/lua/lua_request.c
      type_or_value: '25'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*req_field_string_f) (request_rec * r)'
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/httpd/modules/lua/lua_request.c
      type: char
    - item_type: typedef
      name: (*req_field_int_f) (request_rec * r)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/httpd/modules/lua/lua_request.c
      type: int
    - item_type: typedef
      name: '*(*req_field_apr_table_f) (request_rec * r)'
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/httpd/modules/lua/lua_request.c
      type: req_table_t
    union: []
- function_names:
  - shm_cleanup_wrapper
  - report_lua_error
  - lua_open_callback
  - lua_open_hook
  - scope_to_string
  - ap_lua_release_state
  - create_vm_spec
  - ap_lua_interpolate_string
  - lua_handler
  - lua_setup_filter_ctx
  - lua_output_filter_handle
  - lua_input_filter_handle
  - lua_request_rec_hook_harness
  - lua_map_handler_fixups
  - lua_map_handler
  - config_getstr
  - direct_chunkreader
  - ldump_writer
  - hack_section_handler
  - register_named_block_function_hook
  - register_named_file_function_hook
  - register_mapped_file_function_hook
  - register_filter_function_hook
  - lua_check_user_id_harness
  - lua_pre_trans_name_harness
  - lua_translate_name_harness_first
  - lua_translate_name_harness
  - lua_translate_name_harness_last
  - lua_fixup_harness
  - lua_map_to_storage_harness
  - lua_type_checker_harness
  - lua_access_checker_harness_first
  - lua_access_checker_harness
  - lua_access_checker_harness_last
  - lua_auth_checker_harness_first
  - lua_auth_checker_harness
  - lua_auth_checker_harness_last
  - lua_insert_filter_harness
  - lua_log_transaction_harness
  - lua_quick_harness
  - register_pre_trans_name_hook
  - register_pre_trans_name_block
  - register_translate_name_hook
  - register_translate_name_block
  - register_fixups_hook
  - register_fixups_block
  - register_map_to_storage_hook
  - register_log_transaction_hook
  - register_map_to_storage_block
  - register_check_user_id_hook
  - register_check_user_id_block
  - register_type_checker_hook
  - register_type_checker_block
  - register_access_checker_hook
  - register_access_checker_block
  - register_auth_checker_hook
  - register_auth_checker_block
  - register_insert_filter_hook
  - register_quick_hook
  - register_map_handler
  - register_output_filter
  - register_input_filter
  - register_quick_block
  - register_package_helper
  - register_package_dir
  - register_package_cdir
  - register_lua_inherit
  - register_lua_codecache
  - register_lua_scope
  - register_lua_root
  - ap_lua_ssl_val
  - ap_lua_ssl_is_https
  - lua_authz_parse
  - lua_authz_check
  - register_authz_provider
  - create_dir_config
  - create_request_config
  - create_server_config
  - lua_request_hook
  - lua_pre_config
  - lua_post_config
  - overlay_hook_specs
  - merge_dir_config
  - lua_register_hooks
  source_file: /src/httpd/modules/lua/mod_lua.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LUA_HOOK_FIRST
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/lua/mod_lua.c
      type_or_value: (APR_HOOK_FIRST - 1)
    - item_type: preproc_def
      name: AP_LUA_HOOK_LAST
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/lua/mod_lua.c
      type_or_value: (APR_HOOK_LAST  + 1)
    - item_type: preproc_def
      name: DEFAULT_LUA_SHMFILE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/lua/mod_lua.c
      type_or_value: '"lua_ivm_shm"'
    - item_type: preproc_def
      name: N_LF
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/httpd/modules/lua/mod_lua.c
      type_or_value: '32'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*file_name'
        type: char
      - name: '*function_name'
        type: char
      - name: '*spec'
        type: ap_lua_vm_spec
      item_type: struct
      name: lua_authz_provider_spec
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/httpd/modules/lua/mod_lua.c
    - fields:
      - name: '*spec'
        type: lua_authz_provider_spec
      - name: '*args'
        type: apr_array_header_t
      item_type: struct
      name: lua_authz_provider_func
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/httpd/modules/lua/mod_lua.c
    - fields:
      - name: '*tmpBucket'
        type: apr_bucket_brigade
      - name: '*L'
        type: lua_State
      - name: '*spec'
        type: ap_lua_vm_spec
      - name: broken
        type: int
      item_type: struct
      name: lua_filter_ctx
      pos:
        line_end: 79
        line_start: 73
        source_file: /src/httpd/modules/lua/mod_lua.c
    - fields:
      - name: '*cmd'
        type: cmd_parms
      - name: '*cfp'
        type: ap_configfile_t
      - name: startline
        type: size_t
      - name: '*endstr'
        type: char
      - name: buf[HUGE_STRING_LEN]
        type: char
      item_type: struct
      name: cr_ctx
      pos:
        line_end: 911
        line_start: 904
        source_file: /src/httpd/modules/lua/mod_lua.c
    - fields:
      - name: '*name'
        type: char
      - name: '*spec'
        type: ap_lua_mapped_handler_spec
      - name: apr_hook_when
        type: int
      item_type: struct
      name: hack_section_baton
      pos:
        line_end: 965
        line_start: 960
        source_file: /src/httpd/modules/lua/mod_lua.c
    typedefs: []
    union: []
- function_names:
  - dialup_send_pulse
  - dialup_callback
  - dialup_handler
  - dialup_register_hooks
  - BITRATE_TO_BYTES
  - cmd_modem_standard
  - dialup_dcfg_create
  source_file: /src/httpd/modules/test/mod_dialup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APR_HOOK_ALMOST_LAST
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/httpd/modules/test/mod_dialup.c
      type_or_value: (APR_HOOK_REALLY_LAST - 1)
    structs:
    - fields:
      - name: bytes_per_second
        type: apr_size_t
      item_type: struct
      name: dialup_dcfg_t
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/httpd/modules/test/mod_dialup.c
    - fields:
      - name: bytes_per_second
        type: apr_size_t
      - name: '*r'
        type: request_rec
      - name: '*fd'
        type: apr_file_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: dialup_baton_t
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/httpd/modules/test/mod_dialup.c
    - fields:
      - name: '*name'
        type: char
      - name: bytes_per_second
        type: apr_size_t
      item_type: struct
      name: modem_speed_t
      pos:
        line_end: 249
        line_start: 246
        source_file: /src/httpd/modules/test/mod_dialup.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/test/mod_optional_fn_export.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ImportOptionalHookTestHook
  - ImportRegisterHooks
  source_file: /src/httpd/modules/test/mod_optional_hook_import.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ImportLogTransaction
  - ImportFnRetrieve
  - ImportRegisterHooks
  source_file: /src/httpd/modules/test/mod_optional_fn_import.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ExportLogTransaction
  - ExportRegisterHooks
  source_file: /src/httpd/modules/test/mod_optional_hook_export.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestOptionalFn
  - ExportRegisterHooks
  source_file: /src/httpd/modules/test/mod_optional_fn_export.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_enabled
  - handle_policy
  - policy_type_out_filter
  - policy_length_out_filter
  - policy_keepalive_out_filter
  - vary_test
  - policy_vary_out_filter
  - policy_validation_out_filter
  - policy_conditional_out_filter
  - policy_nocache_out_filter
  - policy_maxage_out_filter
  - version_string
  - policy_version_out_filter
  - create_policy_config
  - merge_policy_config
  - parse_action
  - set_policy
  - set_environment
  - set_type
  - set_type_url
  - set_length
  - set_length_url
  - set_keepalive
  - set_keepalive_url
  - set_vary
  - set_vary_url
  - set_validation
  - set_validation_url
  - set_conditional
  - set_conditional_url
  - set_nocache
  - set_nocache_url
  - set_maxage
  - set_maxage_url
  - set_version
  - set_version_url
  - register_hooks
  source_file: /src/httpd/modules/test/mod_policy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLICY_DEFAULT_TYPE
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/httpd/modules/test/mod_policy.c
      type_or_value: '"*'
    structs:
    - fields:
      - name: policy
        type: int
      - name: policy_set
        type: int
      - name: '*environment'
        type: char
      - name: '*environment_log'
        type: char
      - name: '*environment_ignore'
        type: char
      - name: environment_set
        type: int
      - name: type_action
        type: policy_result
      - name: '*type_matches'
        type: apr_array_header_t
      - name: type_set
        type: int
      - name: '*type_url'
        type: char
      - name: type_url_set
        type: int
      - name: length_action
        type: policy_result
      - name: length_set
        type: int
      - name: '*length_url'
        type: char
      - name: length_url_set
        type: int
      - name: keepalive_action
        type: policy_result
      - name: keepalive_set
        type: int
      - name: '*keepalive_url'
        type: char
      - name: keepalive_url_set
        type: int
      - name: vary_action
        type: policy_result
      - name: '*vary_matches'
        type: apr_array_header_t
      - name: vary_set
        type: int
      - name: '*vary_url'
        type: char
      - name: vary_url_set
        type: int
      - name: validation_action
        type: policy_result
      - name: validation_set
        type: int
      - name: '*validation_url'
        type: char
      - name: validation_url_set
        type: int
      - name: conditional_action
        type: policy_result
      - name: conditional_set
        type: int
      - name: '*conditional_url'
        type: char
      - name: conditional_url_set
        type: int
      - name: nocache_action
        type: policy_result
      - name: nocache_set
        type: int
      - name: '*nocache_url'
        type: char
      - name: nocache_url_set
        type: int
      - name: maxage_action
        type: policy_result
      - name: maxage
        type: apr_int64_t
      - name: maxage_set
        type: int
      - name: '*maxage_url'
        type: char
      - name: maxage_url_set
        type: int
      - name: version_action
        type: policy_result
      - name: '*version'
        type: char
      - name: version_num
        type: int
      - name: version_set
        type: int
      - name: '*version_url'
        type: char
      - name: version_url_set
        type: int
      item_type: struct
      name: policy_conf
      pos:
        line_end: 104
        line_start: 53
        source_file: /src/httpd/modules/test/mod_policy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/test/mod_optional_hook_export.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBG0
  - DBG1
  - DBG2
  - DBG3
  - DAV_DECLARE
  - DAV_DECLARE_NONSTD
  - DAV_DECLARE
  - DAV_DECLARE_NONSTD
  - DAV_DECLARE
  - DAV_DECLARE_NONSTD
  - DAV_DECLARE
  - DAV_DECLARE_NONSTD
  - DAV_GET_HOOKS_PROPDB
  - DAV_GET_HOOKS_LOCKS
  - DAV_GET_HOOKS_VSN
  - DAV_GET_HOOKS_BINDING
  - DAV_GET_HOOKS_SEARCH
  - DAV_PROP_CTX_HAS_ERR
  source_file: /src/httpd/modules/dav/main/mod_dav.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_VERSION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: AP_SERVER_BASEREVISION
    - item_type: preproc_def
      name: DAV_XML_HEADER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"<?xml version=\"1.0\" encoding=\"utf-8\"?>"'
    - item_type: preproc_def
      name: DAV_XML_CONTENT_TYPE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"text/xml; charset=\"utf-8\""'
    - item_type: preproc_def
      name: DAV_READ_BLOCKSIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2048    '
    - item_type: preproc_def
      name: DAV_RESPONSE_BODY_1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n<title>"'
    - item_type: preproc_def
      name: DAV_RESPONSE_BODY_2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"</title>\n</head><body>\n<h1>"'
    - item_type: preproc_def
      name: DAV_RESPONSE_BODY_3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"</h1>\n<p>"'
    - item_type: preproc_def
      name: DAV_RESPONSE_BODY_4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"</p>\n"'
    - item_type: preproc_def
      name: DAV_RESPONSE_BODY_5
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"</body></html>\n"'
    - item_type: preproc_def
      name: DAV_DO_COPY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_DO_MOVE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_DEBUG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_CR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"\n"'
    - item_type: preproc_def
      name: DEBUG_CR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DAV_INFINITY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: 'INT_MAX    '
    - item_type: preproc_def
      name: DAV_DECLARE_DATA
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: DAV_DECLARE_DATA
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: DAV_ERR_IF_PARSE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '100    '
    - item_type: preproc_def
      name: DAV_ERR_IF_MULTIPLE_NOT
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '101    '
    - item_type: preproc_def
      name: DAV_ERR_IF_UNK_CHAR
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '102    '
    - item_type: preproc_def
      name: DAV_ERR_IF_ABSENT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '103    '
    - item_type: preproc_def
      name: DAV_ERR_IF_TAGGED
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '104    '
    - item_type: preproc_def
      name: DAV_ERR_IF_UNCLOSED_PAREN
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '105    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_BAD_MAJOR
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '200    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_READONLY
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '201    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_NO_DATABASE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '202    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_NOT_FOUND
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '203    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_BAD_LOCKDB
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '204    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_OPENING
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '205    '
    - item_type: preproc_def
      name: DAV_ERR_PROP_EXEC
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '206    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_OPENDB
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '400    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_NO_DB
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '401    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_CORRUPT_DB
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '402    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_UNK_STATE_TOKEN
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '403    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_PARSE_TOKEN
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '404    '
    - item_type: preproc_def
      name: DAV_ERR_LOCK_SAVE_LOCK
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '405    '
    - item_type: preproc_def
      name: DAV_BUFFER_MINSIZE
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '256    '
    - item_type: preproc_def
      name: DAV_BUFFER_PAD
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '64     '
    - item_type: preproc_def
      name: DAV_STYLE_ISO8601
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_STYLE_RFC822
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DAV_TIMEBUF_SIZE
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '30'
    - item_type: preproc_def
      name: DAV_IF_COND_NORMAL
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_IF_COND_NOT
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: DAV_PROPID_CORE
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10000   '
    - item_type: preproc_def
      name: DAV_PROPID_FS
      pos:
        line_end: 1199
        line_start: 1197
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10100   '
    - item_type: preproc_def
      name: DAV_PROPID_TEST1
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10300   '
    - item_type: preproc_def
      name: DAV_PROPID_TEST2
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10400   '
    - item_type: preproc_def
      name: DAV_PROPID_TEST3
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10500   '
    - item_type: preproc_def
      name: DAV_TIMEOUT_INFINITE
      pos:
        line_end: 1330
        line_start: 1329
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_VALIDATE_RESOURCE
      pos:
        line_end: 1475
        line_start: 1474
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0010  '
    - item_type: preproc_def
      name: DAV_VALIDATE_PARENT
      pos:
        line_end: 1476
        line_start: 1475
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0020  '
    - item_type: preproc_def
      name: DAV_VALIDATE_ADD_LD
      pos:
        line_end: 1478
        line_start: 1476
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0040  '
    - item_type: preproc_def
      name: DAV_VALIDATE_USE_424
      pos:
        line_end: 1479
        line_start: 1478
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0080  '
    - item_type: preproc_def
      name: DAV_VALIDATE_IS_PARENT
      pos:
        line_end: 1480
        line_start: 1479
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0100  '
    - item_type: preproc_def
      name: DAV_VALIDATE_NO_MODIFY
      pos:
        line_end: 1483
        line_start: 1480
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0200  '
    - item_type: preproc_def
      name: DAV_GETLOCKS_RESOLVED
      pos:
        line_end: 1589
        line_start: 1588
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0    '
    - item_type: preproc_def
      name: DAV_GETLOCKS_PARTIAL
      pos:
        line_end: 1590
        line_start: 1589
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: DAV_GETLOCKS_COMPLETE
      pos:
        line_end: 1591
        line_start: 1590
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: DAV_RESOURCE_LOCK_NULL
      pos:
        line_end: 1694
        line_start: 1693
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '10    '
    - item_type: preproc_def
      name: DAV_RESOURCE_NULL
      pos:
        line_end: 1695
        line_start: 1694
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '11    '
    - item_type: preproc_def
      name: DAV_RESOURCE_EXISTS
      pos:
        line_end: 1696
        line_start: 1695
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '12    '
    - item_type: preproc_def
      name: DAV_RESOURCE_ERROR
      pos:
        line_end: 1697
        line_start: 1696
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '13    '
    - item_type: preproc_def
      name: DAV_PROPDB_NONE
      pos:
        line_end: 1707
        line_start: 1706
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: DAV_PROPDB_RO
      pos:
        line_end: 1708
        line_start: 1707
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_PROPDB_DISABLE_LOCKDISCOVERY
      pos:
        line_end: 1709
        line_start: 1708
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: DAV_PROP_OP_SET
      pos:
        line_end: 1788
        line_start: 1787
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: DAV_PROP_OP_DELETE
      pos:
        line_end: 1789
        line_start: 1788
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: DAV_WALKTYPE_AUTH
      pos:
        line_end: 1842
        line_start: 1841
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0001  '
    - item_type: preproc_def
      name: DAV_WALKTYPE_NORMAL
      pos:
        line_end: 1843
        line_start: 1842
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: DAV_WALKTYPE_LOCKNULL
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0004  '
    - item_type: preproc_def
      name: DAV_WALKTYPE_TOLERANT
      pos:
        line_end: 1845
        line_start: 1844
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '0x0008  '
    - item_type: preproc_def
      name: DAV_PROPFIND_IS_ALLPROP
      pos:
        line_end: 1882
        line_start: 1881
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_PROPFIND_IS_PROPNAME
      pos:
        line_end: 1883
        line_start: 1882
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DAV_PROPFIND_IS_PROP
      pos:
        line_end: 1884
        line_start: 1883
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DAV_OPTIONS_EXTENSION_GROUP
      pos:
        line_end: 2716
        line_start: 2715
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"dav_options"'
    - item_type: preproc_def
      name: DAV_RESOURCE_TYPE_GROUP
      pos:
        line_end: 2749
        line_start: 2748
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type_or_value: '"dav_resource_type"'
    structs:
    - fields:
      - name: status
        type: int
      - name: error_id
        type: int
      - name: '*desc'
        type: char
      - name: aprerr
        type: apr_status_t
      - name: '*namespace'
        type: char
      - name: '*tagname'
        type: char
      - name: '*prev'
        type: struct dav_error
      - name: '*childtags'
        type: char
      item_type: struct
      name: dav_error
      pos:
        line_end: 134
        line_start: 120
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: type
        type: dav_resource_type
      - name: exists
        type: int
      - name: collection
        type: int
      - name: versioned
        type: int
      - name: baselined
        type: int
      - name: working
        type: int
      - name: '*uri'
        type: char
      - name: '*info'
        type: dav_resource_private
      - name: '*hooks'
        type: dav_hooks_repository
      - name: '*pool'
        type: apr_pool_t
      - name: '*acls'
        type: dav_acl_provider
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_resource
      pos:
        line_end: 426
        line_start: 388
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: alloc_len
        type: apr_size_t
      - name: cur_len
        type: apr_size_t
      - name: '*buf'
        type: char
      item_type: struct
      name: dav_buffer
      pos:
        line_end: 459
        line_start: 454
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '* propstats'
        type: apr_text
      - name: '* xmlns'
        type: apr_text
      item_type: struct
      name: dav_get_props_result
      pos:
        line_end: 499
        line_start: 495
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*href'
        type: char
      - name: '*desc'
        type: char
      - name: propresult
        type: dav_get_props_result
      - name: status
        type: int
      - name: '*next'
        type: struct dav_response
      item_type: struct
      name: dav_response
      pos:
        line_end: 513
        line_start: 502
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*rnew'
        type: request_rec
      - name: err
        type: dav_error
      item_type: struct
      name: dav_lookup_result
      pos:
        line_end: 519
        line_start: 515
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*uri_prefix'
        type: apr_hash_t
      - name: '*prefix_uri'
        type: apr_hash_t
      - name: count
        type: int
      item_type: struct
      name: dav_xmlns_info
      pos:
        line_end: 627
        line_start: 622
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*repos'
        type: dav_hooks_repository
      - name: '*propdb'
        type: dav_hooks_propdb
      - name: '*locks'
        type: dav_hooks_locks
      - name: '*vsn'
        type: dav_hooks_vsn
      - name: '*binding'
        type: dav_hooks_binding
      - name: '*search'
        type: dav_hooks_search
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_provider
      pos:
        line_end: 692
        line_start: 683
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: type
        type: dav_if_state_type
      - name: condition
        type: int
      - name: '*etag'
        type: char
      - name: '*locktoken'
        type: dav_locktoken
      - name: '*next'
        type: struct dav_if_state_list
      item_type: struct
      name: dav_if_state_list
      pos:
        line_end: 869
        line_start: 857
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*uri'
        type: char
      - name: uri_len
        type: apr_size_t
      - name: '*state'
        type: struct dav_if_state_list
      - name: '*next'
        type: struct dav_if_header
      - name: dummy_header
        type: int
      item_type: struct
      name: dav_if_header
      pos:
        line_end: 879
        line_start: 871
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*locktoken'
        type: dav_locktoken
      - name: '*next'
        type: struct dav_locktoken_list
      item_type: struct
      name: dav_locktoken_list
      pos:
        line_end: 885
        line_start: 881
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "(*insert_prop)(const dav_resource *resource,\n                                   int
          propid, dav_prop_insert what,\n                                   apr_text_header
          *phdr)"
        type: dav_prop_insert
      - name: (*is_writable)(const dav_resource *resource, int propid)
        type: int
      - name: '* const * namespace_uris'
        type: char
      - name: "* (*patch_validate)(const dav_resource *resource,\n                                  const
          apr_xml_elem *elem,\n                                  int operation,\n
          \                                 void **context,\n                                  int
          *defer_to_dead)"
        type: dav_error
      - name: "* (*patch_exec)(const dav_resource *resource,\n                              const
          apr_xml_elem *elem,\n                              int operation,\n                              void
          *context,\n                              dav_liveprop_rollback **rollback_ctx)"
        type: dav_error
      - name: "(*patch_commit)(const dav_resource *resource,\n                         int
          operation,\n                         void *context,\n                         dav_liveprop_rollback
          *rollback_ctx)"
        type: void
      - name: "* (*patch_rollback)(const dav_resource *resource,\n                                  int
          operation,\n                                  void *context,\n                                  dav_liveprop_rollback
          *rollback_ctx)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_liveprop
      pos:
        line_end: 1016
        line_start: 899
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: ns
        type: int
      - name: '*name'
        type: char
      - name: propid
        type: int
      - name: is_writable
        type: int
      item_type: struct
      name: dav_liveprop_spec
      pos:
        line_end: 1036
        line_start: 1028
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*specs'
        type: dav_liveprop_spec
      - name: '* const *namespace_uris'
        type: char
      - name: '*hooks'
        type: dav_hooks_liveprop
      item_type: struct
      name: dav_liveprop_group
      pos:
        line_end: 1049
        line_start: 1044
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*doc'
        type: apr_xml_doc
      - name: '*elem'
        type: apr_xml_elem
      item_type: struct
      name: dav_liveprop_elem
      pos:
        line_end: 1078
        line_start: 1075
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*ns'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: dav_prop_name
      pos:
        line_end: 1217
        line_start: 1214
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "* (*open)(apr_pool_t *p, const dav_resource *resource, int ro,\n                        dav_db
          **pdb)"
        type: dav_error
      - name: (*close)(dav_db *db)
        type: void
      - name: '* (*define_namespaces)(dav_db *db, dav_xmlns_info *xi)'
        type: dav_error
      - name: "* (*output_value)(dav_db *db, const dav_prop_name *name,\n                                dav_xmlns_info
          *xi,\n                                apr_text_header *phdr, int *found)"
        type: dav_error
      - name: "* (*map_namespaces)(dav_db *db,\n                                  const
          apr_array_header_t *namespaces,\n                                  dav_namespace_map
          **mapping)"
        type: dav_error
      - name: "* (*store)(dav_db *db, const dav_prop_name *name,\n                         const
          apr_xml_elem *elem,\n                         dav_namespace_map *mapping)"
        type: dav_error
      - name: '* (*remove)(dav_db *db, const dav_prop_name *name)'
        type: dav_error
      - name: (*exists)(dav_db *db, const dav_prop_name *name)
        type: int
      - name: '* (*first_name)(dav_db *db, dav_prop_name *pname)'
        type: dav_error
      - name: '* (*next_name)(dav_db *db, dav_prop_name *pname)'
        type: dav_error
      - name: "* (*get_rollback)(dav_db *db, const dav_prop_name *name,\n                                dav_deadprop_rollback
          **prollback)"
        type: dav_error
      - name: "* (*apply_rollback)(dav_db *db,\n                                  dav_deadprop_rollback
          *rollback)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_propdb
      pos:
        line_end: 1320
        line_start: 1220
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*hooks'
        type: dav_hooks_locks
      - name: ro
        type: int
      - name: '*info'
        type: dav_lockdb_private
      item_type: struct
      name: dav_lockdb
      pos:
        line_end: 1358
        line_start: 1351
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: rectype
        type: dav_lock_rectype
      - name: is_locknull
        type: int
      - name: scope
        type: dav_lock_scope
      - name: type
        type: dav_lock_type
      - name: depth
        type: int
      - name: timeout
        type: time_t
      - name: '*locktoken'
        type: dav_locktoken
      - name: '*owner'
        type: char
      - name: '*auth_user'
        type: char
      - name: '*info'
        type: dav_lock_private
      - name: '*next'
        type: struct dav_lock
      item_type: struct
      name: dav_lock
      pos:
        line_end: 1427
        line_start: 1407
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "* (*get_supportedlock)(\n        const dav_resource *resource\n    )"
        type: char
      - name: "* (*parse_locktoken)(\n        apr_pool_t *p,\n        const char *char_token,\n
          \       dav_locktoken **locktoken_p\n    )"
        type: dav_error
      - name: "* (*format_locktoken)(\n        apr_pool_t *p,\n        const dav_locktoken
          *locktoken\n    )"
        type: char
      - name: "(*compare_locktoken)(\n        const dav_locktoken *lt1,\n        const
          dav_locktoken *lt2\n    )"
        type: int
      - name: "* (*open_lockdb)(\n        request_rec *r,\n        int ro,\n        int
          force,\n        dav_lockdb **lockdb\n    )"
        type: dav_error
      - name: "(*close_lockdb)(\n        dav_lockdb *lockdb\n    )"
        type: void
      - name: "* (*remove_locknull_state)(\n        dav_lockdb *lockdb,\n        const
          dav_resource *resource\n    )"
        type: dav_error
      - name: "* (*create_lock)(dav_lockdb *lockdb,\n                               const
          dav_resource *resource,\n                               dav_lock **lock)"
        type: dav_error
      - name: "* (*get_locks)(dav_lockdb *lockdb,\n                             const
          dav_resource *resource,\n                             int calltype,\n                             dav_lock
          **locks)"
        type: dav_error
      - name: "* (*find_lock)(dav_lockdb *lockdb,\n                             const
          dav_resource *resource,\n                             const dav_locktoken
          *locktoken,\n                             int partial_ok,\n                             dav_lock
          **lock)"
        type: dav_error
      - name: "* (*has_locks)(dav_lockdb *lockdb,\n                             const
          dav_resource *resource,\n                             int *locks_present)"
        type: dav_error
      - name: "* (*append_locks)(dav_lockdb *lockdb,\n                                const
          dav_resource *resource,\n                                int make_indirect,\n
          \                               const dav_lock *lock)"
        type: dav_error
      - name: "* (*remove_lock)(dav_lockdb *lockdb,\n                               const
          dav_resource *resource,\n                               const dav_locktoken
          *locktoken)"
        type: dav_error
      - name: "* (*refresh_locks)(dav_lockdb *lockdb,\n                                 const
          dav_resource *resource,\n                                 const dav_locktoken_list
          *ltl,\n                                 time_t new_time,\n                                 dav_lock
          **locks)"
        type: dav_error
      - name: "* (*lookup_resource)(dav_lockdb *lockdb,\n                                   const
          dav_locktoken *locktoken,\n                                   const dav_resource
          *start_resource,\n                                   const dav_resource
          **resource)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_locks
      pos:
        line_end: 1690
        line_start: 1491
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*propdb'
        type: dav_propdb
      - name: '*prop'
        type: apr_xml_elem
      - name: operation
        type: int
      - name: is_liveprop
        type: int
      - name: '*liveprop_ctx'
        type: void
      - name: '*rollback'
        type: struct dav_rollback_item
      - name: '*err'
        type: dav_error
      - name: '*r'
        type: request_rec
      item_type: struct
      name: dav_prop_ctx
      pos:
        line_end: 1801
        line_start: 1780
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*walk_ctx'
        type: void
      - name: '*pool'
        type: apr_pool_t
      - name: '*resource'
        type: dav_resource
      - name: '*response'
        type: dav_response
      item_type: struct
      name: dav_walk_resource
      pos:
        line_end: 1836
        line_start: 1822
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: walk_type
        type: int
      - name: '* (*func)(dav_walk_resource *wres, int calltype)'
        type: dav_error
      - name: '*walk_ctx'
        type: void
      - name: '*pool'
        type: apr_pool_t
      - name: '*root'
        type: dav_resource
      - name: '*lockdb'
        type: dav_lockdb
      item_type: struct
      name: dav_walk_params
      pos:
        line_end: 1859
        line_start: 1838
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: w
        type: dav_walk_params
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*scratchpool'
        type: apr_pool_t
      - name: '*r'
        type: request_rec
      - name: '*doc'
        type: apr_xml_doc
      - name: propfind_type
        type: int
      - name: '*propstat_404'
        type: apr_text
      - name: '*if_header'
        type: dav_if_header
      - name: '*locktoken'
        type: dav_locktoken
      - name: '*lock'
        type: dav_lock
      - name: skip_root
        type: int
      - name: flags
        type: int
      - name: work_buf
        type: dav_buffer
      item_type: struct
      name: dav_walker_ctx
      pos:
        line_end: 1896
        line_start: 1862
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: handle_get
        type: int
      - name: "* (*get_resource)(\n        request_rec *r,\n        const char *root_dir,\n
          \       const char *label,\n        int use_checked_in,\n        dav_resource
          **resource\n    )"
        type: dav_error
      - name: "* (*get_parent_resource)(\n        const dav_resource *resource,\n
          \       dav_resource **parent_resource\n    )"
        type: dav_error
      - name: "(*is_same_resource)(\n        const dav_resource *res1,\n        const
          dav_resource *res2\n    )"
        type: int
      - name: "(*is_parent_resource)(\n        const dav_resource *res1,\n        const
          dav_resource *res2\n    )"
        type: int
      - name: "* (*open_stream)(const dav_resource *resource,\n                               dav_stream_mode
          mode,\n                               dav_stream **stream)"
        type: dav_error
      - name: '* (*close_stream)(dav_stream *stream, int commit)'
        type: dav_error
      - name: "* (*write_stream)(dav_stream *stream,\n                                const
          void *buf, apr_size_t bufsize)"
        type: dav_error
      - name: '* (*seek_stream)(dav_stream *stream, apr_off_t abs_position)'
        type: dav_error
      - name: "* (*set_headers)(request_rec *r,\n                               const
          dav_resource *resource)"
        type: dav_error
      - name: "* (*deliver)(const dav_resource *resource,\n                           ap_filter_t
          *output)"
        type: dav_error
      - name: "* (*create_collection)(\n        dav_resource *resource\n    )"
        type: dav_error
      - name: "* (*copy_resource)(\n        const dav_resource *src,\n        dav_resource
          *dst,\n        int depth,\n        dav_response **response\n    )"
        type: dav_error
      - name: "* (*move_resource)(\n        dav_resource *src,\n        dav_resource
          *dst,\n        dav_response **response\n    )"
        type: dav_error
      - name: "* (*remove_resource)(\n        dav_resource *resource,\n        dav_response
          **response\n    )"
        type: dav_error
      - name: "* (*walk)(const dav_walk_params *params, int depth,\n                        dav_response
          **response)"
        type: dav_error
      - name: '* (*getetag)(const dav_resource *resource)'
        type: char
      - name: '*ctx'
        type: void
      - name: '* (*get_request_rec)(const dav_resource *resource)'
        type: request_rec
      - name: '* (*get_pathname)(const dav_resource *resource)'
        type: char
      - name: '* (*set_mtime)(dav_resource *resource, const apr_time_t mtime)'
        type: dav_error
      item_type: struct
      name: dav_hooks_repository
      pos:
        line_end: 2175
        line_start: 1933
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: resource_versioned
        type: int
      - name: resource_checkedout
        type: int
      - name: parent_checkedout
        type: int
      - name: '*parent_resource'
        type: dav_resource
      item_type: struct
      name: dav_auto_version_info
      pos:
        line_end: 2230
        line_start: 2225
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '*nmspace'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: dav_report_elem
      pos:
        line_end: 2287
        line_start: 2284
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: (*get_vsn_options)(apr_pool_t *p, apr_text_header *phdr)
        type: void
      - name: "* (*get_option)(const dav_resource *resource,\n                              const
          apr_xml_elem *elem,\n                              apr_text_header *option)"
        type: dav_error
      - name: (*versionable)(const dav_resource *resource)
        type: int
      - name: (*auto_versionable)(const dav_resource *resource)
        type: dav_auto_version
      - name: "* (*vsn_control)(dav_resource *resource,\n                               const
          char *target)"
        type: dav_error
      - name: "* (*checkout)(dav_resource *resource,\n                            int
          auto_checkout,\n                            int is_unreserved, int is_fork_ok,\n
          \                           int create_activity,\n                            apr_array_header_t
          *activities,\n                            dav_resource **working_resource)"
        type: dav_error
      - name: '* (*uncheckout)(dav_resource *resource)'
        type: dav_error
      - name: "* (*checkin)(dav_resource *resource,\n                           int
          keep_checked_out,\n                           dav_resource **version_resource)"
        type: dav_error
      - name: "* (*avail_reports)(const dav_resource *resource,\n                                 const
          dav_report_elem **reports)"
        type: dav_error
      - name: (*report_label_header_allowed)(const apr_xml_doc *doc)
        type: int
      - name: "* (*deliver_report)(request_rec *r,\n                                  const
          dav_resource *resource,\n                                  const apr_xml_doc
          *doc,\n                                  ap_filter_t *output)"
        type: dav_error
      - name: "* (*update)(const dav_resource *resource,\n                          const
          dav_resource *version,\n                          const char *label,\n                          int
          depth,\n                          dav_response **response)"
        type: dav_error
      - name: "* (*add_label)(const dav_resource *resource,\n                             const
          char *label,\n                             int replace)"
        type: dav_error
      - name: "* (*remove_label)(const dav_resource *resource,\n                                const
          char *label)"
        type: dav_error
      - name: (*can_be_workspace)(const dav_resource *resource)
        type: int
      - name: "* (*make_workspace)(dav_resource *resource,\n                                  apr_xml_doc
          *doc)"
        type: dav_error
      - name: (*can_be_activity)(const dav_resource *resource)
        type: int
      - name: '* (*make_activity)(dav_resource *resource)'
        type: dav_error
      - name: "* (*merge)(dav_resource *target, dav_resource *source,\n                         int
          no_auto_merge, int no_checkout,\n                         apr_xml_elem *prop_elem,\n
          \                        ap_filter_t *output)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_vsn
      pos:
        line_end: 2588
        line_start: 2291
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: (*is_bindable)(const dav_resource *resource)
        type: int
      - name: "* (*bind_resource)(const dav_resource *resource,\n                                 dav_resource
          *binding)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_binding
      pos:
        line_end: 2618
        line_start: 2597
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: '* (*set_option_head)(request_rec *r)'
        type: dav_error
      - name: "* (*search_resource)(request_rec *r,\n                                   dav_response
          **response)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_hooks_search
      pos:
        line_end: 2656
        line_start: 2627
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: propid
        type: int
      - name: '*provider'
        type: dav_hooks_liveprop
      item_type: struct
      name: dav_elem_private
      pos:
        line_end: 2667
        line_start: 2664
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "* (*acl_check_method)(request_rec *r,\n                                    const
          dav_resource *resource)"
        type: dav_error
      - name: "* (*acl_check_read)(request_rec *r,\n                                  const
          dav_resource *resource)"
        type: dav_error
      - name: "* (*acl_check_prop)(request_rec *r,\n                                  const
          dav_resource *resource,\n                                  const dav_prop_name
          *name,\n                                  dav_prop_insert what)"
        type: dav_error
      - name: "(*acl_post_processing)(request_rec *r,\n                                const
          dav_resource *resource,\n                                int new_resource_created)"
        type: void
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_acl_provider
      pos:
        line_end: 2703
        line_start: 2686
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "* (*dav_header)(request_rec *r,\n                             const
          dav_resource *resource,\n                             apr_text_header *phdr)"
        type: dav_error
      - name: "* (*dav_method)(request_rec *r,\n                             const
          dav_resource *resource,\n                             apr_text_header *phdr)"
        type: dav_error
      - name: '*ctx'
        type: void
      item_type: struct
      name: dav_options_provider
      pos:
        line_end: 2728
        line_start: 2717
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    - fields:
      - name: "(*get_resource_type)(const dav_resource *resource,\n                  const
          char **name,\n                  const char **uri)"
        type: int
      item_type: struct
      name: dav_resource_type_provider
      pos:
        line_end: 2746
        line_start: 2741
        source_file: /src/httpd/modules/dav/main/mod_dav.h
    typedefs:
    - item_type: typedef
      name: dav_response
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_response
    - item_type: typedef
      name: dav_hooks_propdb
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_propdb
    - item_type: typedef
      name: dav_hooks_locks
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_locks
    - item_type: typedef
      name: dav_hooks_vsn
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_vsn
    - item_type: typedef
      name: dav_hooks_repository
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_repository
    - item_type: typedef
      name: dav_hooks_liveprop
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_liveprop
    - item_type: typedef
      name: dav_hooks_binding
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_binding
    - item_type: typedef
      name: dav_hooks_search
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_search
    - item_type: typedef
      name: dav_hooks_db
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_hooks_propdb
    - item_type: typedef
      name: dav_resource_private
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_resource_private
    - item_type: typedef
      name: dav_acl_provider
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_acl_provider
    - item_type: typedef
      name: dav_locktoken
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_locktoken
    - item_type: typedef
      name: dav_liveprop_rollback
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_liveprop_rollback
    - item_type: typedef
      name: dav_db
      pos:
        line_end: 1210
        line_start: 1210
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_db
    - item_type: typedef
      name: dav_namespace_map
      pos:
        line_end: 1211
        line_start: 1211
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_namespace_map
    - item_type: typedef
      name: dav_deadprop_rollback
      pos:
        line_end: 1212
        line_start: 1212
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_deadprop_rollback
    - item_type: typedef
      name: dav_lockdb_private
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_lockdb_private
    - item_type: typedef
      name: dav_lock_private
      pos:
        line_end: 1345
        line_start: 1345
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_lock_private
    - item_type: typedef
      name: dav_propdb
      pos:
        line_end: 1704
        line_start: 1704
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_propdb
    - item_type: typedef
      name: dav_stream
      pos:
        line_end: 1919
        line_start: 1919
        source_file: /src/httpd/modules/dav/main/mod_dav.h
      type: dav_stream
    union: []
- function_names:
  - delete_if_fixup
  - mswdv_echo
  - get_lock_owner
  - mswdv_urlencode
  - mswdv_err_checked_out
  - check_locked_by_other
  - mswdv_combined_lock
  - mswdv_combined_propfind
  - mswdv_combined_proppatch
  - dav_mswdv_preprocessing
  - dav_mswdv_postprocessing
  - dav_mswdv_output
  - dav_mswdv_input
  source_file: /src/httpd/modules/dav/main/ms_wdv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_DOC_CHECKED_OUT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x0009000E'
    - item_type: preproc_def
      name: DAV_CHECKOUT_REQUIRED
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00090075'
    - item_type: preproc_def
      name: DAV_BAD_FILETYPE_NO_URL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x0009006F'
    - item_type: preproc_def
      name: DAV_SHTML_REQUEST_TOO_LONG
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x0006000A'
    - item_type: preproc_def
      name: DAV_FORMS_AUTH_NOT_BROWSER
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x000E0098'
    - item_type: preproc_def
      name: DAV_VIRUS_INFECTED_UL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00960004'
    - item_type: preproc_def
      name: DAV_VIRUS_INFECTED_BLOCKED_DL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00960009'
    - item_type: preproc_def
      name: DAV_VIRUS_DELETED_DL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00960008'
    - item_type: preproc_def
      name: DAV_BAD_CHARS_IN_URL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00090070'
    - item_type: preproc_def
      name: DAV_NO_RENAME_TO_THICKET_FOLDER
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00090071'
    - item_type: preproc_def
      name: DAV_URL_TOO_LONG
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00090068'
    - item_type: preproc_def
      name: DAV_OVER_QUOTA
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/dav/main/ms_wdv.c
      type_or_value: '0x00090063'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dav_new_error
  - dav_new_error_tag
  - dav_push_error
  - dav_join_error
  - dav_check_bufsize
  - dav_set_bufsize
  - dav_buffer_init
  - dav_buffer_append
  - dav_buffer_place
  - dav_buffer_place_mem
  - dav_lookup_uri
  - dav_validate_root_ns
  - dav_validate_root
  - dav_find_next_ns
  - dav_find_child_ns
  - dav_find_child
  - dav_find_attr_ns
  - dav_find_attr
  - dav_xml_get_cdata
  - dav_xmlns_create
  - dav_xmlns_add
  - dav_xmlns_add_uri
  - dav_xmlns_get_uri
  - dav_xmlns_get_prefix
  - dav_xmlns_generate
  - dav_get_timeout
  - dav_get_timeout_string
  - dav_parse_locktoken
  - dav_add_if_resource
  - dav_add_if_state
  - dav_fetch_next_token
  - dav_process_if_header
  - dav_find_submitted_locktoken
  - dav_validate_resource_state
  - dav_validate_walker
  - dav_meets_conditions
  - dav_validate_request
  - dav_get_locktoken_list
  - strip_white
  - dav_add_vary_header
  - dav_can_auto_checkout
  - dav_auto_checkout
  - dav_auto_checkin
  source_file: /src/httpd/modules/dav/main/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_LABEL_HDR
      pos:
        line_end: 1915
        line_start: 1914
        source_file: /src/httpd/modules/dav/main/util.c
      type_or_value: '"Label"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DAV_INHERIT_VALUE
  - dav_init_handler
  - dav_create_server_config
  - dav_merge_server_config
  - dav_create_dir_config
  - dav_merge_dir_config
  - dav_get_provider_name
  - dav_get_provider
  - dav_get_lock_hooks
  - dav_get_propdb_hooks
  - dav_get_vsn_hooks
  - dav_get_binding_hooks
  - dav_get_search_hooks
  - dav_get_base_path
  - dav_cmd_dav
  - dav_cmd_davhonormtimeheader
  - dav_cmd_davbasepath
  - dav_cmd_davdepthinfinity
  - dav_cmd_davlockdiscovery
  - dav_cmd_davmsext
  - dav_cmd_davmintimeout
  - dav_error_response
  - dav_error_response_tag
  - dav_xml_escape_uri
  - dav_send_one_response
  - dav_begin_multistatus
  - dav_finish_multistatus
  - dav_send_multistatus
  - dav_log_err
  - dav_handle_err
  - dav_created
  - dav_get_depth
  - dav_get_overwrite
  - dav_get_resource
  - dav_open_lockdb
  - dav_close_lockdb
  - dav_parse_range
  - dav_parse_mtime
  - dav_method_get
  - dav_method_post
  - dav_method_put
  - dav_stream_response
  - dav_add_response
  - dav_method_delete
  - dav_gen_supported_methods
  - dav_gen_supported_live_props
  - dav_gen_supported_reports
  - dav_method_search
  - dav_method_options
  - dav_cache_badprops
  - dav_propfind_walker
  - dav_method_propfind
  - dav_failed_proppatch
  - dav_success_proppatch
  - dav_prop_log_errors
  - dav_process_ctx_list
  - dav_method_proppatch
  - process_mkcol_body
  - dav_method_mkcol
  - dav_method_copymove
  - dav_method_lock
  - dav_method_unlock
  - dav_method_vsn_control
  - dav_method_checkout
  - dav_method_uncheckout
  - dav_method_checkin
  - dav_method_update
  - dav_label_walker
  - dav_method_label
  - dav_core_deliver_report
  - dav_core_gather_reports
  - dav_method_report
  - dav_method_make_workspace
  - dav_method_make_activity
  - dav_method_baseline_control
  - dav_method_merge
  - dav_method_bind
  - dav_handler
  - dav_fixups
  - register_hooks
  source_file: /src/httpd/modules/dav/main/mod_dav.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_DEFAULT_PROVIDER
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '"filesystem"'
    - item_type: preproc_def
      name: DAV_HANDLER_NAME
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '"dav-handler"'
    - item_type: preproc_def
      name: DAV_MSEXT_OPT_NONE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_MSEXT_OPT_WDV
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: DAV_MSEXT_OPT_ALL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: DAV_MSEXT_OPT_WDV
    - item_type: preproc_def
      name: DAV_LABEL_ADD
      pos:
        line_end: 4335
        line_start: 4334
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_LABEL_SET
      pos:
        line_end: 4336
        line_start: 4335
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DAV_LABEL_REMOVE
      pos:
        line_end: 4337
        line_start: 4336
        source_file: /src/httpd/modules/dav/main/mod_dav.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider'
        type: dav_provider
      - name: '*dir'
        type: char
      - name: '*base'
        type: char
      - name: locktimeout
        type: int
      - name: allow_depthinfinity
        type: int
      - name: allow_lockdiscovery
        type: int
      - name: msext_opts
        type: int
      - name: honor_mtime_header
        type: int
      item_type: struct
      name: dav_dir_conf
      pos:
        line_end: 93
        line_start: 83
        source_file: /src/httpd/modules/dav/main/mod_dav.c
    - fields:
      - name: unused
        type: int
      item_type: struct
      name: dav_server_conf
      pos:
        line_end: 99
        line_start: 96
        source_file: /src/httpd/modules/dav/main/mod_dav.c
    - fields:
      - name: w
        type: dav_walk_params
      - name: '*r'
        type: request_rec
      - name: '*label'
        type: char
      - name: label_op
        type: int
      - name: '*vsn_hooks'
        type: dav_hooks_vsn
      item_type: struct
      name: dav_label_walker_ctx
      pos:
        line_end: 4341
        line_start: 4321
        source_file: /src/httpd/modules/dav/main/mod_dav.c
    typedefs: []
    union: []
- function_names:
  - dav_cleanup_liveprops
  - dav_register_liveprop_namespace
  - dav_get_liveprop_ns_index
  - dav_get_liveprop_ns_count
  - dav_add_all_liveprop_xmlns
  - dav_do_find_liveprop
  - dav_get_liveprop_info
  - dav_register_liveprop_group
  source_file: /src/httpd/modules/dav/main/liveprop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dav_core_insert_prop
  - dav_core_is_writable
  - dav_core_patch_validate
  - dav_core_find_liveprop
  - dav_core_insert_all_liveprops
  - dav_core_register_uris
  source_file: /src/httpd/modules/dav/main/std_liveprop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dav_find_liveprop_provider
  - dav_find_liveprop
  - dav_rw_liveprop
  - dav_do_prop_subreq
  - dav_insert_coreprop
  - dav_insert_liveprop
  - dav_output_prop_name
  - dav_insert_xmlns
  - dav_really_open_db
  - dav_open_propdb
  - dav_popen_propdb
  - dav_close_propdb
  - dav_get_allprops
  - dav_get_props
  - dav_get_liveprop_supported
  - dav_get_liveprop_element
  - dav_prop_validate
  - dav_prop_exec
  - dav_prop_commit
  - dav_prop_rollback
  source_file: /src/httpd/modules/dav/main/props.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_DISABLE_WRITABLE_PROPS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/modules/dav/main/props.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_EMPTY_VALUE
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/modules/dav/main/props.c
      type_or_value: '"\0"    '
    - item_type: preproc_def
      name: DAV_PROP_ELEMENT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/httpd/modules/dav/main/props.c
      type_or_value: '"mod_dav-element"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*r'
        type: request_rec
      - name: '*resource'
        type: dav_resource
      - name: deferred
        type: int
      - name: '*db'
        type: dav_db
      - name: '*ns_xlate'
        type: apr_array_header_t
      - name: '*mapping'
        type: dav_namespace_map
      - name: '*lockdb'
        type: dav_lockdb
      - name: wb_lock
        type: dav_buffer
      - name: flags
        type: int
      - name: '*subreq'
        type: request_rec
      - name: '*db_hooks'
        type: dav_hooks_db
      item_type: struct
      name: dav_propdb
      pos:
        line_end: 194
        line_start: 171
        source_file: /src/httpd/modules/dav/main/props.c
    - fields:
      - name: '*deadprop'
        type: dav_deadprop_rollback
      - name: '*liveprop'
        type: dav_liveprop_rollback
      item_type: struct
      name: dav_rollback_item
      pos:
        line_end: 225
        line_start: 219
        source_file: /src/httpd/modules/dav/main/props.c
    typedefs: []
    union: []
- function_names:
  - dav_register_provider
  - dav_lookup_provider
  - dav_acl_provider_register
  - dav_get_acl_providers
  - dav_options_provider_register
  - dav_get_options_providers
  - dav_resource_type_provider_register
  - dav_get_resource_type_providers
  source_file: /src/httpd/modules/dav/main/providers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_PROVIDER_GROUP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/httpd/modules/dav/main/providers.c
      type_or_value: '"dav"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dav_lock_get_activelock
  - dav_lock_parse_lockinfo
  - dav_lock_walker
  - dav_add_lock
  - dav_lock_query
  - dav_unlock_walker
  - dav_get_direct_resource
  - dav_unlock
  - dav_inherit_walker
  - dav_inherit_locks
  - dav_get_resource_state
  - dav_notify_created
  source_file: /src/httpd/modules/dav/main/util_lock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MAP_IO2HTTP
  - dav_fs_get_request_rec
  - dav_fs_pool
  - dav_fs_pathname
  - dav_fs_fname
  - dav_fs_size
  - dav_fs_dir_file_name
  - dav_format_time
  - dav_fs_copymove_file
  - dav_fs_copymove_state
  - dav_fs_copymoveset
  - dav_fs_deleteset
  - dav_fs_get_parent_resource
  - dav_fs_is_same_resource
  - dav_fs_is_parent_resource
  - tmpfile_cleanup
  - dav_fs_mktemp
  - dav_fs_open_stream
  - dav_fs_close_stream
  - dav_fs_write_stream
  - dav_fs_seek_stream
  - dav_fs_set_headers
  - dav_fs_deliver
  - dav_fs_set_mtime
  - dav_fs_create_collection
  - dav_fs_copymove_walker
  - dav_fs_copymove_resource
  - dav_fs_copy_resource
  - dav_fs_move_resource
  - dav_fs_delete_walker
  - dav_fs_remove_resource
  - dav_fs_walker
  - dav_fs_internal_walk
  - dav_fs_walk
  - dav_fs_getetag
  - dav_fs_insert_prop
  - dav_fs_is_writable
  - dav_fs_patch_validate
  - dav_fs_patch_exec
  - dav_fs_patch_commit
  - dav_fs_patch_rollback
  - dav_fs_gather_propsets
  - dav_fs_find_liveprop
  - dav_fs_insert_all_liveprops
  - dav_fs_method_precondition
  - dav_fs_register
  source_file: /src/httpd/modules/dav/fs/repos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_GET_HANDLER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_FS_COPY_BLOCKSIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '16384   '
    - item_type: preproc_def
      name: DAV_WALKTYPE_HIDDEN
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: DAV_WALKTYPE_POSTFIX
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: DAV_CALLTYPE_POSTFIX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '1000    '
    - item_type: preproc_def
      name: DAV_FINFO_MASK
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: "(APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \\\n                        APR_FINFO_SIZE
        | APR_FINFO_CTIME | APR_FINFO_MTIME | \\\n                        APR_FINFO_PROT)"
    - item_type: preproc_def
      name: DAV_FINFO_MASK
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: "(APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \\\n                        APR_FINFO_SIZE
        | APR_FINFO_CTIME | APR_FINFO_MTIME)"
    - item_type: preproc_def
      name: DAV_PROPID_FS_executable
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/httpd/modules/dav/fs/repos.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*pathname'
        type: char
      - name: finfo
        type: apr_finfo_t
      - name: '*r'
        type: request_rec
      item_type: struct
      name: dav_resource_private
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/httpd/modules/dav/fs/repos.c
    - fields:
      - name: '*params'
        type: dav_walk_params
      - name: wres
        type: dav_walk_resource
      - name: res1
        type: dav_resource
      - name: info1
        type: dav_resource_private
      - name: path1
        type: dav_buffer
      - name: uri_buf
        type: dav_buffer
      - name: res2
        type: dav_resource
      - name: info2
        type: dav_resource_private
      - name: path2
        type: dav_buffer
      - name: locknull_buf
        type: dav_buffer
      item_type: struct
      name: dav_fs_walker_context
      pos:
        line_end: 73
        line_start: 54
        source_file: /src/httpd/modules/dav/fs/repos.c
    - fields:
      - name: is_move
        type: int
      - name: work_buf
        type: dav_buffer
      - name: '*res_dst'
        type: dav_resource
      - name: '*root'
        type: dav_resource
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: dav_fs_copymove_walk_ctx
      pos:
        line_end: 86
        line_start: 75
        source_file: /src/httpd/modules/dav/fs/repos.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*f'
        type: apr_file_t
      - name: '*pathname'
        type: char
      - name: '*temppath'
        type: char
      - name: unlink_on_error
        type: int
      item_type: struct
      name: dav_stream
      pos:
        line_end: 212
        line_start: 206
        source_file: /src/httpd/modules/dav/fs/repos.c
    typedefs: []
    union: []
- function_names:
  - get_dir_used_bytes_walk
  - get_dir_used_bytes
  - get_fs_used_bytes
  - get_fs_available_bytes
  - dav_fs_get_used_bytes
  - dav_fs_get_available_bytes
  - dav_fs_quota_precondition
  source_file: /src/httpd/modules/dav/fs/quota.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_TRUE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/dav/fs/quota.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_FALSE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/dav/fs/quota.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dav_compare_locktoken
  - dav_size_direct
  - dav_size_indirect
  - dav_fs_alloc_lock
  - dav_fs_parse_locktoken
  - dav_fs_format_locktoken
  - dav_fs_compare_locktoken
  - dav_fs_lockdb_cleanup
  - dav_fs_really_open_lockdb
  - dav_fs_open_lockdb
  - dav_fs_close_lockdb
  - dav_fs_build_key
  - dav_fs_lock_expired
  - dav_fs_save_lock_record
  - dav_fs_load_lock_record
  - dav_fs_resolve
  - dav_fs_get_supportedlock
  - dav_fs_load_locknull_list
  - dav_fs_save_locknull_list
  - dav_fs_remove_locknull_member
  - dav_fs_get_locknull_members
  - dav_fs_add_locknull_state
  - dav_fs_remove_locknull_state
  - dav_fs_create_lock
  - dav_fs_get_locks
  - dav_fs_find_lock
  - dav_fs_has_locks
  - dav_fs_append_locks
  - dav_fs_remove_lock
  - dav_fs_do_refresh
  - dav_fs_refresh_locks
  source_file: /src/httpd/modules/dav/fs/lock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_TRUE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_FALSE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_CREATE_LIST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '23'
    - item_type: preproc_def
      name: DAV_APPEND_LIST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '24'
    - item_type: preproc_def
      name: DAV_LOCK_DIRECT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DAV_LOCK_INDIRECT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DAV_TYPE_FNAME
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/dav/fs/lock.c
      type_or_value: '11'
    structs:
    - fields:
      - name: uuid
        type: apr_uuid_t
      item_type: struct
      name: dav_locktoken
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: scope
        type: char
      - name: type
        type: char
      - name: depth
        type: int
      - name: timeout
        type: time_t
      item_type: struct
      name: dav_lock_discovery_fixed
      pos:
        line_end: 120
        line_start: 114
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: f
        type: struct dav_lock_discovery_fixed
      - name: '*locktoken'
        type: dav_locktoken
      - name: '*owner'
        type: char
      - name: '*auth_user'
        type: char
      - name: '*next'
        type: struct dav_lock_discovery
      item_type: struct
      name: dav_lock_discovery
      pos:
        line_end: 130
        line_start: 122
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: '*locktoken'
        type: dav_locktoken
      - name: key
        type: apr_datum_t
      - name: '*next'
        type: struct dav_lock_indirect
      - name: timeout
        type: time_t
      item_type: struct
      name: dav_lock_indirect
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*pool'
        type: apr_pool_t
      - name: '*conf'
        type: dav_fs_server_conf
      - name: opened
        type: int
      - name: '*db'
        type: dav_db
      item_type: struct
      name: dav_lockdb_private
      pos:
        line_end: 186
        line_start: 179
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: pub
        type: dav_lockdb
      - name: priv
        type: dav_lockdb_private
      item_type: struct
      name: dav_lockdb_combined
      pos:
        line_end: 191
        line_start: 187
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: key
        type: apr_datum_t
      item_type: struct
      name: dav_lock_private
      pos:
        line_end: 199
        line_start: 196
        source_file: /src/httpd/modules/dav/fs/lock.c
    - fields:
      - name: pub
        type: dav_lock
      - name: priv
        type: dav_lock_private
      - name: token
        type: dav_locktoken
      item_type: struct
      name: dav_lock_combined
      pos:
        line_end: 205
        line_start: 200
        source_file: /src/httpd/modules/dav/fs/lock.c
    typedefs: []
    union: []
- function_names:
  - dav_dbm_get_statefiles
  - dav_fs_dbm_error
  - dav_fs_ensure_state_dir
  - dav_dbm_open_direct
  - dav_dbm_open
  - dav_dbm_close
  - dav_dbm_fetch
  - dav_dbm_store
  - dav_dbm_delete
  - dav_dbm_exists
  - dav_dbm_firstkey
  - dav_dbm_nextkey
  - dav_dbm_freedatum
  - dav_build_key
  - dav_append_prop
  - dav_propdb_open
  - dav_propdb_close
  - dav_propdb_define_namespaces
  - dav_propdb_output_value
  - dav_propdb_map_namespaces
  - dav_propdb_store
  - dav_propdb_remove
  - dav_propdb_exists
  - dav_get_ns_table_uri
  - dav_set_name
  - dav_propdb_next_name
  - dav_propdb_first_name
  - dav_propdb_get_rollback
  - dav_propdb_apply_rollback
  source_file: /src/httpd/modules/dav/fs/dbm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_PROPDB_DBM_TYPE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/dav/fs/dbm.c
      type_or_value: '"default"'
    - item_type: preproc_def
      name: DAV_GDBM_NS_KEY
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/httpd/modules/dav/fs/dbm.c
      type_or_value: '"METADATA"'
    - item_type: preproc_def
      name: DAV_GDBM_NS_KEY_LEN
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/httpd/modules/dav/fs/dbm.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DAV_DBVSN_MAJOR
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/httpd/modules/dav/fs/dbm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DAV_DBVSN_MINOR
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/httpd/modules/dav/fs/dbm.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*file'
        type: apr_dbm_t
      - name: version
        type: int
      - name: ns_table
        type: dav_buffer
      - name: ns_count
        type: short
      - name: ns_table_dirty
        type: int
      - name: '*uri_index'
        type: apr_hash_t
      - name: wb_key
        type: dav_buffer
      - name: iter
        type: apr_datum_t
      item_type: struct
      name: dav_db
      pos:
        line_end: 71
        line_start: 55
        source_file: /src/httpd/modules/dav/fs/dbm.c
    - fields:
      - name: major
        type: unsigned char
      - name: minor
        type: unsigned char
      - name: ns_count
        type: short
      item_type: struct
      name: dav_propdb_metadata
      pos:
        line_end: 313
        line_start: 282
        source_file: /src/httpd/modules/dav/fs/dbm.c
    - fields:
      - name: key
        type: apr_datum_t
      - name: value
        type: apr_datum_t
      item_type: struct
      name: dav_deadprop_rollback
      pos:
        line_end: 318
        line_start: 315
        source_file: /src/httpd/modules/dav/fs/dbm.c
    - fields:
      - name: '*ns_map'
        type: int
      item_type: struct
      name: dav_namespace_map
      pos:
        line_end: 322
        line_start: 320
        source_file: /src/httpd/modules/dav/fs/dbm.c
    typedefs: []
    union: []
- function_names:
  - dav_fs_get_server_conf
  - dav_fs_get_quota
  - dav_fs_create_server_config
  - dav_fs_merge_server_config
  - dav_fs_create_dir_config
  - dav_fs_merge_dir_config
  - dav_fs_pre_config
  - dav_fs_child_init
  - dav_fs_post_config
  - dav_fs_cmd_davlockdb
  - dav_fs_cmd_davlockdbtype
  - dav_fs_cmd_quota
  - register_hooks
  source_file: /src/httpd/modules/dav/fs/mod_dav_fs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_DAV_LOCKDB
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/dav/fs/mod_dav_fs.c
      type_or_value: '"davlockdb"'
    - item_type: preproc_def
      name: DEFAULT_DAV_LOCKDB_TYPE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/dav/fs/mod_dav_fs.c
      type_or_value: '"default"'
    structs:
    - fields:
      - name: '*dir'
        type: char
      - name: quota
        type: apr_off_t
      item_type: struct
      name: dav_fs_dir_conf
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/httpd/modules/dav/fs/mod_dav_fs.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/dav/fs/repos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAV_FS_STATE_DIR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '".DAV"'
    - item_type: preproc_def
      name: DAV_FS_STATE_FILE_FOR_DIR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '".state_for_dir"'
    - item_type: preproc_def
      name: DAV_FS_LOCK_NULL_FILE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '".locknull"'
    - item_type: preproc_def
      name: DAV_FS_TMP_PREFIX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '".davfs.tmp" '
    - item_type: preproc_def
      name: DAV_FS_QUOTA_UNSET
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DAV_FS_QUOTA_OFF
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DAV_FS_QUOTA_NONE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: DAV_FS_BYTES_ERROR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/dav/fs/repos.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: '*lockdb_path'
        type: char
      - name: '*lockdb_type'
        type: char
      - name: '*lockdb_mutex'
        type: apr_global_mutex_t
      item_type: struct
      name: dav_fs_server_conf
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/httpd/modules/dav/fs/repos.h
    typedefs: []
    union: []
- function_names:
  - DBD_DECLARE
  - DBD_DECLARE_NONSTD
  - DBD_DECLARE
  - DBD_DECLARE_NONSTD
  - DBD_DECLARE
  - DBD_DECLARE_NONSTD
  - DBD_DECLARE
  - DBD_DECLARE_NONSTD
  source_file: /src/httpd/modules/database/mod_dbd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DBD_DECLARE_DATA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/database/mod_dbd.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: DBD_DECLARE_DATA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/database/mod_dbd.h
      type_or_value: __declspec(dllimport)
    structs:
    - fields:
      - name: '*server'
        type: server_rec
      - name: '*name'
        type: char
      - name: '*params'
        type: char
      - name: persist
        type: int
      - name: '*queries'
        type: apr_hash_t
      - name: '*init_queries'
        type: apr_array_header_t
      item_type: struct
      name: dbd_cfg_t
      pos:
        line_end: 73
        line_start: 59
        source_file: /src/httpd/modules/database/mod_dbd.h
    - fields:
      - name: '*handle'
        type: apr_dbd_t
      - name: '*driver'
        type: apr_dbd_driver_t
      - name: '*prepared'
        type: apr_hash_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: ap_dbd_t
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/httpd/modules/database/mod_dbd.h
    typedefs: []
    union: []
- function_names:
  - create_dbd_config
  - merge_dbd_config
  - ap_dbd_sql_init
  - dbd_param
  - dbd_param_int
  - dbd_param_flag
  - dbd_prepare
  - dbd_init_sql
  - dbd_pre_config
  - ap_dbd_prepare
  - dbd_post_config
  - dbd_prepared_init
  - dbd_init_sql_init
  - dbd_close
  - dbd_destruct
  - dbd_construct
  - dbd_destroy
  - dbd_setup
  - dbd_setup_init
  - dbd_child_init
  - dbd_setup_lock
  - ap_dbd_close
  - dbd_check
  - ap_dbd_open
  - dbd_release
  - ap_dbd_acquire
  - ap_dbd_cacquire
  - ap_dbd_acquire
  - ap_dbd_cacquire
  - dbd_hooks
  source_file: /src/httpd/modules/database/mod_dbd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NMIN_SET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: NKEEP_SET
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: NMAX_SET
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: EXPTIME_SET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: DEFAULT_NMIN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_NKEEP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_NMAX
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_EXPTIME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '300'
    - item_type: preproc_def
      name: DEFAULT_SQL_INIT_ARRAY_SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/database/mod_dbd.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*cfg'
        type: dbd_cfg_t
      - name: '*next'
        type: dbd_group_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: dbd_group_t
      pos:
        line_end: 66
        line_start: 55
        source_file: /src/httpd/modules/database/mod_dbd.c
    - fields:
      - name: '*cfg'
        type: dbd_cfg_t
      - name: '*group'
        type: dbd_group_t
      item_type: struct
      name: svr_cfg
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/httpd/modules/database/mod_dbd.c
    - fields:
      - name: '*label'
        type: char
      item_type: struct
      name: dbd_query_t
      pos:
        line_end: 338
        line_start: 336
        source_file: /src/httpd/modules/database/mod_dbd.c
    - fields:
      - name: '*rec'
        type: ap_dbd_t
      - name: '*reslist'
        type: apr_reslist_t
      item_type: struct
      name: dbd_acquire_t
      pos:
        line_end: 863
        line_start: 860
        source_file: /src/httpd/modules/database/mod_dbd.c
    typedefs:
    - item_type: typedef
      name: dbd_group_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/httpd/modules/database/mod_dbd.c
      type: dbd_group_t
    union: []
- function_names:
  - so_sconf_create
  - unload_module
  - dso_load
  - load_module
  - load_file
  - ap_find_loaded_module_symbol
  - print_mod_data
  - dump_loaded_modules
  - load_file
  - load_module
  - register_hooks
  source_file: /src/httpd/modules/core/mod_so.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*loaded_modules'
        type: apr_array_header_t
      item_type: struct
      name: so_server_conf
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/httpd/modules/core/mod_so.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/core/mod_so.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_SO_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/core/mod_so.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug
  - empty_string_p
  - trim
  - get_arguments
  - warn_if_non_blank
  - get_lines_till_end_token
  - looks_like_an_argument
  - check_macro_arguments
  - check_macro_use_arguments
  - number_of_escapes
  - substitute
  - next_substitution
  - substitute_macro_args
  - process_content
  - check_macro_contents
  - next_one
  - array_getch
  - array_getstr
  - array_close
  - make_array_config
  - macro_section
  - CHECK_MACRO_FLAG
  - use_macro
  - undef_macro
  - macro_ignore_empty
  - macro_ignore_bad_nesting
  source_file: /src/httpd/modules/core/mod_macro.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BEGIN_MACRO
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"<Macro"'
    - item_type: preproc_def
      name: END_MACRO
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"</Macro>"'
    - item_type: preproc_def
      name: USE_MACRO
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"Use"'
    - item_type: preproc_def
      name: UNDEF_MACRO
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"UndefMacro"'
    - item_type: preproc_def
      name: IGNORE_EMPTY_MACRO_FLAG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"/IgnoreEmptyArgs"'
    - item_type: preproc_def
      name: IGNORE_BAD_NESTING_MACRO_FLAG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"/IgnoreBadNesting"'
    - item_type: preproc_def
      name: IGNORE_EMPTY_MACRO_DIRECTIVE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"MacroIgnoreEmptyArgs"'
    - item_type: preproc_def
      name: IGNORE_BAD_NESTING_MACRO_DIRECTIVE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"MacroIgnoreBadNesting"'
    - item_type: preproc_def
      name: ESCAPE_ARG
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '''@'''
    - item_type: preproc_def
      name: ARG_PREFIX
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '"$%@"'
    - item_type: preproc_def
      name: ARG_CONTENT
      pos:
        line_end: 228
        line_start: 224
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: "\"abcdefghijklmnopqrstuvwxyz\"   \\\n    \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
        \  \\\n    \"0123456789_\" ARG_PREFIX"
    - item_type: preproc_def
      name: DELIM
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '''"'''
    - item_type: preproc_def
      name: ESCAPE
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/httpd/modules/core/mod_macro.c
      type_or_value: '''\\'''
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*arguments'
        type: apr_array_header_t
      - name: '*contents'
        type: apr_array_header_t
      - name: '*location'
        type: char
      - name: ignore_empty
        type: int
      - name: ignore_bad_nesting
        type: int
      item_type: struct
      name: ap_macro_t
      pos:
        line_end: 66
        line_start: 58
        source_file: /src/httpd/modules/core/mod_macro.c
    - fields:
      - name: index
        type: int
      - name: char_index
        type: int
      - name: length
        type: int
      - name: '*contents'
        type: apr_array_header_t
      - name: '*next'
        type: ap_configfile_t
      - name: '**upper'
        type: ap_configfile_t
      item_type: struct
      name: array_contents_t
      pos:
        line_end: 580
        line_start: 572
        source_file: /src/httpd/modules/core/mod_macro.c
    typedefs: []
    union: []
- function_names:
  - wd_worker_cleanup
  - APR_THREAD_FUNC::wd_worker
  - wd_startup
  - ap_watchdog_get_instance
  - ap_watchdog_set_callback_interval
  - ap_watchdog_register_callback
  - wd_pre_config_hook
  - wd_post_config_hook
  - wd_child_init_hook
  - wd_child_stopping
  - wd_child_stopped
  - wd_cmd_watchdog_int
  - wd_register_hooks
  source_file: /src/httpd/modules/core/mod_watchdog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_WATCHDOG_PGROUP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/core/mod_watchdog.c
      type_or_value: '"watchdog"'
    - item_type: preproc_def
      name: AP_WATCHDOG_PVERSION
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/core/mod_watchdog.c
      type_or_value: '"parent"'
    - item_type: preproc_def
      name: AP_WATCHDOG_CVERSION
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/core/mod_watchdog.c
      type_or_value: '"child"'
    structs:
    - fields:
      - name: '*next'
        type: struct watchdog_list_t
      - name: '*wd'
        type: ap_watchdog_t
      - name: status
        type: apr_status_t
      - name: interval
        type: apr_interval_time_t
      - name: step
        type: apr_interval_time_t
      - name: '*data'
        type: void
      - name: '*callback_fn'
        type: ap_watchdog_callback_fn_t
      item_type: struct
      name: watchdog_list_t
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/httpd/modules/core/mod_watchdog.c
    - fields:
      - name: thread_started
        type: apr_uint32_t
      - name: '*mutex'
        type: apr_proc_mutex_t
      - name: '*name'
        type: char
      - name: '*callbacks'
        type: watchdog_list_t
      - name: is_running
        type: apr_uint32_t
      - name: singleton
        type: int
      - name: active
        type: int
      - name: step
        type: apr_interval_time_t
      - name: '*thread'
        type: apr_thread_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: ap_watchdog_t
      pos:
        line_end: 58
        line_start: 46
        source_file: /src/httpd/modules/core/mod_watchdog.c
    - fields:
      - name: child_workers
        type: int
      - name: parent_workers
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*s'
        type: server_rec
      item_type: struct
      name: wd_server_conf_t
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/httpd/modules/core/mod_watchdog.c
    typedefs:
    - item_type: typedef
      name: watchdog_list_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/httpd/modules/core/mod_watchdog.c
      type: watchdog_list_t
    - item_type: typedef
      name: wd_server_conf_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/httpd/modules/core/mod_watchdog.c
      type: wd_server_conf_t
    union: []
- function_names:
  - AP_WD_DECLARE
  - AP_WD_DECLARE_NONSTD
  - AP_WD_DECLARE
  - AP_WD_DECLARE_NONSTD
  - AP_WD_DECLARE
  - AP_WD_DECLARE_NONSTD
  - AP_WD_DECLARE
  - AP_WD_DECLARE_NONSTD
  source_file: /src/httpd/modules/core/mod_watchdog.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_WATCHDOG_SINGLETON
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: '"_singleton_"'
    - item_type: preproc_def
      name: AP_WATCHDOG_DEFAULT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: '"_default_"'
    - item_type: preproc_def
      name: AP_WD_TM_INTERVAL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: 'APR_TIME_C(1000000)  '
    - item_type: preproc_def
      name: AP_WD_TM_SLICE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: 'APR_TIME_C(100000)   '
    - item_type: preproc_def
      name: AP_WATCHDOG_STATE_STARTING
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_WATCHDOG_STATE_RUNNING
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_WATCHDOG_STATE_STOPPING
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_WD_DECLARE_DATA
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AP_WD_DECLARE_DATA
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs:
    - item_type: typedef
      name: ap_watchdog_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type: ap_watchdog_t
    - item_type: typedef
      name: "ap_watchdog_callback_fn_t(int state, void *data,\n                                               apr_pool_t
        *pool)"
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/core/mod_watchdog.h
      type: apr_status_t
    union: []
- function_names:
  - create_echo_server_config
  - echo_on
  - brigade_peek
  - update_echo_child_status
  - process_echo_connection
  - register_hooks
  source_file: /src/httpd/modules/echo/mod_echo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bEnabled
        type: int
      item_type: struct
      name: EchoConfig
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/httpd/modules/echo/mod_echo.c
    typedefs: []
    union: []
- function_names:
  - AP_SLOTMEM_IS_PREGRAB
  - AP_SLOTMEM_IS_PERSIST
  - AP_SLOTMEM_IS_CLEARINUSE
  - slotmem_size_mul
  - slotmem_size_add
  - slotmem_filenames
  - slotmem_clearinuse
  - store_slotmem
  - restore_slotmem
  - is_child_process
  - cleanup_slotmem
  - slotmem_doall
  - slotmem_create
  - slotmem_attach
  - slotmem_dptr
  - slotmem_get
  - slotmem_put
  - slotmem_num_slots
  - slotmem_num_free_slots
  - slotmem_slot_size
  - slotmem_grab
  - slotmem_fgrab
  - slotmem_release
  - slotmem_shm_getstorage
  - post_config
  - pre_config
  - ap_slotmem_shm_register_hook
  source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SLOTMEM_OFFSET
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
      type_or_value: (APR_ALIGN_DEFAULT(sizeof(sharedslotdesc_t)))
    - item_type: preproc_def
      name: AP_UNSIGNEDINT_OFFSET
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
      type_or_value: (APR_ALIGN_DEFAULT(sizeof(unsigned int)))
    - item_type: preproc_def
      name: DEFAULT_SLOTMEM_PREFIX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
      type_or_value: '"slotmem-shm-"'
    - item_type: preproc_def
      name: DEFAULT_SLOTMEM_SUFFIX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
      type_or_value: '".shm"'
    - item_type: preproc_def
      name: DEFAULT_SLOTMEM_PERSIST_SUFFIX
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
      type_or_value: '".persist"'
    structs:
    - fields:
      - name: size
        type: apr_size_t
      - name: num
        type: unsigned int
      - name: type
        type: ap_slotmem_type_t
      item_type: struct
      name: sharedslotdesc_t
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    - fields:
      - name: '*name'
        type: char
      - name: '*pname'
        type: char
      - name: fbased
        type: int
      - name: '*shm'
        type: void
      - name: '*base'
        type: void
      - name: '*gpool'
        type: apr_pool_t
      - name: '*inuse'
        type: char
      - name: '*num_free'
        type: unsigned int
      - name: '*persist'
        type: void
      - name: '*desc'
        type: sharedslotdesc_t
      - name: '*next'
        type: struct ap_slotmem_instance_t
      item_type: struct
      name: ap_slotmem_instance_t
      pos:
        line_end: 55
        line_start: 43
        source_file: /src/httpd/modules/slotmem/mod_slotmem_shm.c
    typedefs: []
    union: []
- function_names:
  - AP_SLOTMEM_IS_PREGRAB
  - slotmem_size_mul
  - slotmem_size_add
  - slotmem_do
  - slotmem_create
  - slotmem_attach
  - slotmem_dptr
  - slotmem_get
  - slotmem_put
  - slotmem_num_slots
  - slotmem_num_free_slots
  - slotmem_slot_size
  - slotmem_grab
  - slotmem_fgrab
  - slotmem_release
  - pre_config
  - ap_slotmem_plain_register_hook
  source_file: /src/httpd/modules/slotmem/mod_slotmem_plain.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*base'
        type: void
      - name: size
        type: apr_size_t
      - name: num
        type: unsigned int
      - name: '*gpool'
        type: apr_pool_t
      - name: '*inuse'
        type: char
      - name: type
        type: ap_slotmem_type_t
      - name: '*next'
        type: struct ap_slotmem_instance_t
      item_type: struct
      name: ap_slotmem_instance_t
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/httpd/modules/slotmem/mod_slotmem_plain.c
    typedefs: []
    union: []
- function_names:
  - create_setenvif_config
  - create_setenvif_config_svr
  - create_setenvif_config_dir
  - merge_setenvif_config
  - is_header_regex
  - non_regex_pattern
  - add_envvars
  - add_setenvif_core
  - add_setenvif
  - add_setenvifexpr
  - add_browser
  - match_headers
  - sei_pre_config
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_setenvif.c
  types:
    enum:
    - enumerators:
      - name: SPECIAL_NOT
      - name: SPECIAL_REMOTE_HOST
      - name: SPECIAL_REQUEST_METHOD
      - name: SPECIAL_REMOTE_ADDR
      - name: SPECIAL_REQUEST_URI
      - name: SPECIAL_REQUEST_PROTOCOL
      - name: SPECIAL_SERVER_ADDR
      item_type: enum
      name: special
      pos:
        line_end: 104
        line_start: 96
        source_file: /src/httpd/modules/metadata/mod_setenvif.c
    preproc_defs:
    - item_type: preproc_def
      name: ICASE_MAGIC
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/modules/metadata/mod_setenvif.c
      type_or_value: ((void *)(&setenvif_module))
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*pnamereg'
        type: ap_regex_t
      - name: '*regex'
        type: char
      - name: '*preg'
        type: ap_regex_t
      - name: '*pattern'
        type: apr_strmatch_pattern
      - name: '*expr'
        type: ap_expr_info_t
      - name: '*features'
        type: apr_table_t
      - name: special_type
        type: enum special
      - name: icase
        type: int
      - name: early
        type: int
      item_type: struct
      name: sei_entry
      pos:
        line_end: 116
        line_start: 105
        source_file: /src/httpd/modules/metadata/mod_setenvif.c
    - fields:
      - name: '*conditionals'
        type: apr_array_header_t
      item_type: struct
      name: sei_cfg_rec
      pos:
        line_end: 120
        line_start: 118
        source_file: /src/httpd/modules/metadata/mod_setenvif.c
    - fields:
      - name: pass
        type: int
      item_type: struct
      name: sei_request_config
      pos:
        line_end: 125
        line_start: 123
        source_file: /src/httpd/modules/metadata/mod_setenvif.c
    typedefs: []
    union: []
- function_names:
  - constant_item
  - header_request_duration
  - header_request_time
  - unwrap_header
  - header_request_env_var
  - header_request_ssl_var
  - header_request_loadavg
  - header_request_idle
  - header_request_busy
  - create_headers_dir_config
  - merge_headers_config
  - parse_misc_string
  - parse_format_tag
  - parse_format_string
  - header_inout_cmd
  - header_cmd
  - process_tags
  - push_string
  - push_match
  - process_regexp
  - echo_header
  - edit_header
  - add_them_all
  - do_headers_fixup
  - ap_headers_insert_output_filter
  - ap_headers_insert_error_filter
  - ap_headers_output_filter
  - ap_headers_error_filter
  - ap_headers_fixup
  - ap_headers_early
  - register_format_tag_handler
  - header_pre_config
  - header_post_config
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_headers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*func'
        type: format_tag_fn
      - name: '*arg'
        type: char
      item_type: struct
      name: format_tag
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/httpd/modules/metadata/mod_headers.c
    - fields:
      - name: action
        type: hdr_actions
      - name: '*header'
        type: char
      - name: '*ta'
        type: apr_array_header_t
      - name: '*regex'
        type: ap_regex_t
      - name: '*condition_var'
        type: char
      - name: '*subs'
        type: char
      - name: '*expr'
        type: ap_expr_info_t
      - name: '*expr_out'
        type: ap_expr_info_t
      item_type: struct
      name: header_entry
      pos:
        line_end: 135
        line_start: 126
        source_file: /src/httpd/modules/metadata/mod_headers.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*hdr'
        type: header_entry
      item_type: struct
      name: echo_do
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/httpd/modules/metadata/mod_headers.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*hdr'
        type: header_entry
      - name: '*t'
        type: apr_table_t
      item_type: struct
      name: edit_do
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/httpd/modules/metadata/mod_headers.c
    - fields:
      - name: '*fixup_in'
        type: apr_array_header_t
      - name: '*fixup_out'
        type: apr_array_header_t
      - name: '*fixup_err'
        type: apr_array_header_t
      item_type: struct
      name: headers_conf
      pos:
        line_end: 158
        line_start: 154
        source_file: /src/httpd/modules/metadata/mod_headers.c
    typedefs:
    - item_type: typedef
      name: '*format_tag_fn(request_rec *r, char *a)'
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/httpd/modules/metadata/mod_headers.c
      type: char
    union: []
- function_names:
  - create_dir_expires_config
  - set_expiresactive
  - check_code
  - set_expiresbytype
  - set_expiresdefault
  - merge_expires_dir_configs
  - set_expiration_fields
  - expires_filter
  - expires_insert_filter
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_expires.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIR_CMD_PERMS
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/modules/metadata/mod_expires.c
      type_or_value: OR_INDEXES
    - item_type: preproc_def
      name: ACTIVE_ON
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/modules/metadata/mod_expires.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ACTIVE_OFF
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/httpd/modules/metadata/mod_expires.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ACTIVE_DONTCARE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/metadata/mod_expires.c
      type_or_value: '2'
    structs:
    - fields:
      - name: active
        type: int
      - name: wildcards
        type: int
      - name: '*expiresdefault'
        type: char
      - name: '*expiresbytype'
        type: apr_table_t
      item_type: struct
      name: expires_dir_config
      pos:
        line_end: 172
        line_start: 167
        source_file: /src/httpd/modules/metadata/mod_expires.c
    typedefs: []
    union: []
- function_names:
  - make_cookie
  - set_and_comp_regexp
  - spot_cookie
  - make_cookie_log_state
  - make_cookie_dir
  - set_cookie_exp
  - set_cookie_name
  - set_cookie_domain
  - set_cookie_style
  - set_samesite_value
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_usertrack.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_NAME
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/metadata/mod_usertrack.c
      type_or_value: '"Apache"'
    - item_type: preproc_def
      name: NUM_SUBS
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/httpd/modules/metadata/mod_usertrack.c
      type_or_value: '3'
    structs:
    - fields:
      - name: always
        type: int
      - name: expires
        type: int
      item_type: struct
      name: cookie_log_state
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/httpd/modules/metadata/mod_usertrack.c
    - fields:
      - name: enabled
        type: int
      - name: style
        type: cookie_type_e
      - name: '*cookie_name'
        type: char
      - name: '*cookie_domain'
        type: char
      - name: '*regexp_string'
        type: char
      - name: '*regexp'
        type: ap_regex_t
      - name: is_secure
        type: int
      - name: is_httponly
        type: int
      - name: '*samesite'
        type: char
      item_type: struct
      name: cookie_dir_rec
      pos:
        line_end: 91
        line_start: 81
        source_file: /src/httpd/modules/metadata/mod_usertrack.c
    typedefs: []
    union: []
- function_names:
  - create_remoteip_server_config
  - merge_remoteip_server_config
  - header_name_set
  - proxies_header_name_set
  - looks_like_ip
  - proxies_set
  - proxylist_read
  - remoteip_sockaddr_equal
  - sockaddr_is_wildcard
  - remoteip_sockaddr_compat
  - remoteip_addr_in_list
  - remoteip_warn_enable_conflict
  - remoteip_enable_proxy_protocol
  - remoteip_disable_networks
  - remoteip_hook_post_config
  - remoteip_modify_request
  - remoteip_is_server_port
  - remoteip_process_v1_header
  - GET_NEXT_WORD
  - remoteip_hook_pre_connection
  - remoteip_get_v2_len
  - remoteip_process_v2_header
  - remoteip_determine_version
  - remoteip_input_filter
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_remoteip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_V1_HDR_LEN
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MIN_V2_HDR_LEN
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MIN_HDR_LEN
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
      type_or_value: MIN_V1_HDR_LEN
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
      type_or_value: '46'
    - item_type: preproc_def
      name: apr_sockaddr_is_wildcard
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
      type_or_value: sockaddr_is_wildcard
    structs:
    - fields:
      - name: '*ip'
        type: apr_ipsubnet_t
      - name: '*internal'
        type: void
      item_type: struct
      name: remoteip_proxymatch_t
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: '*next'
        type: struct remoteip_addr_info
      - name: '*addr'
        type: apr_sockaddr_t
      - name: '*source'
        type: server_rec
      item_type: struct
      name: remoteip_addr_info
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: '*header_name'
        type: char
      - name: '*proxies_header_name'
        type: char
      - name: '*proxymatch_ip'
        type: apr_array_header_t
      - name: '*proxy_protocol_enabled'
        type: remoteip_addr_info
      - name: '*proxy_protocol_disabled'
        type: remoteip_addr_info
      - name: '*disabled_subnets'
        type: apr_array_header_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: remoteip_config_t
      pos:
        line_end: 68
        line_start: 50
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: '*useragent_addr'
        type: apr_sockaddr_t
      - name: '*useragent_ip'
        type: char
      - name: '*proxy_ips'
        type: char
      - name: '*proxied_remote'
        type: char
      item_type: struct
      name: remoteip_req_t
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: line[108]
        type: char
      item_type: struct
      name: proxy_v1
      pos:
        line_end: 84
        line_start: 82
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: sig[12]
        type: apr_byte_t
      - name: ver_cmd
        type: apr_byte_t
      - name: fam
        type: apr_byte_t
      - name: len
        type: apr_uint16_t
      - name: addr
        type: proxy_v2_addr
      item_type: struct
      name: proxy_v2
      pos:
        line_end: 111
        line_start: 105
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: header[sizeof(proxy_header)]
        type: char
      - name: rcvd
        type: apr_size_t
      - name: need
        type: apr_size_t
      - name: version
        type: int
      - name: mode
        type: ap_input_mode_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: done
        type: int
      item_type: struct
      name: remoteip_filter_context
      pos:
        line_end: 137
        line_start: 129
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: '*client_addr'
        type: apr_sockaddr_t
      - name: '*client_ip'
        type: char
      item_type: struct
      name: remoteip_conn_config_t
      pos:
        line_end: 147
        line_start: 142
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    typedefs: []
    union:
    - fields:
      - name: ip4
        type: "struct {        /* for TCP/UDP over IPv4, len = 12 */\n        apr_uint32_t
          src_addr;\n        apr_uint32_t dst_addr;\n        apr_uint16_t src_port;\n
          \       apr_uint16_t dst_port;\n    }"
      - name: ip6
        type: "struct {        /* for TCP/UDP over IPv6, len = 36 */\n         apr_byte_t
          \ src_addr[16];\n         apr_byte_t  dst_addr[16];\n         apr_uint16_t
          src_port;\n         apr_uint16_t dst_port;\n    }"
      - name: unx
        type: "struct {        /* for AF_UNIX sockets, len = 216 */\n         apr_byte_t
          src_addr[108];\n         apr_byte_t dst_addr[108];\n    }"
      item_type: union
      name: proxy_v2_addr
      pos:
        line_end: 103
        line_start: 86
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
    - fields:
      - name: v1
        type: proxy_v1
      - name: v2
        type: proxy_v2
      item_type: union
      name: proxy_header
      pos:
        line_end: 116
        line_start: 113
        source_file: /src/httpd/modules/metadata/mod_remoteip.c
- function_names:
  - compare_version
  - match_version
  - start_ifversion
  source_file: /src/httpd/modules/metadata/mod_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_env_dir_config
  - merge_env_dir_configs
  - add_env_module_vars_passed
  - add_env_module_vars_set
  - add_env_module_vars_unset
  - fixup_env_module
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_env.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*vars'
        type: apr_table_t
      - name: '*unsetenv'
        type: apr_table_t
      item_type: struct
      name: env_dir_config_rec
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/httpd/modules/metadata/mod_env.c
    typedefs: []
    union: []
- function_names:
  - create_cern_meta_dir_config
  - merge_cern_meta_dir_configs
  - set_metadir
  - set_metasuffix
  - set_metafiles
  - scan_meta_file
  - add_cern_meta_data
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_cern_meta.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIR_CMD_PERMS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/modules/metadata/mod_cern_meta.c
      type_or_value: OR_INDEXES
    - item_type: preproc_def
      name: DEFAULT_METADIR
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/modules/metadata/mod_cern_meta.c
      type_or_value: '".web"'
    - item_type: preproc_def
      name: DEFAULT_METASUFFIX
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/metadata/mod_cern_meta.c
      type_or_value: '".meta"'
    - item_type: preproc_def
      name: DEFAULT_METAFILES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/metadata/mod_cern_meta.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*metadir'
        type: char
      - name: '*metasuffix'
        type: char
      - name: metafiles
        type: int
      item_type: struct
      name: cern_meta_dir_config
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/httpd/modules/metadata/mod_cern_meta.c
    typedefs: []
    union: []
- function_names:
  - create_magic_server_config
  - merge_magic_server_config
  - set_magicfile
  - set_decompression
  - magic_set_config
  - magic_rsl_add
  - magic_rsl_puts
  - magic_rsl_printf
  - magic_rsl_putchar
  - rsl_strdup
  - magic_rsl_to_request
  - magic_process
  - tryit
  - apprentice
  - signextend
  - parse
  - getvalue
  - getstr
  - hextoint
  - fsmagic
  - softmagic
  - match
  - mprint
  - mconvert
  - mget
  - mcheck
  - STREQ
  - ascmagic
  - zmagic
  - create_uncompress_child
  - uncompress
  - isodigit
  - is_tar
  - from_oct
  - revision_suffix
  - magic_init
  - magic_find_ct
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_mime_magic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODNAME
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '"mod_mime_magic"'
    - item_type: preproc_def
      name: MIME_MAGIC_DEBUG
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MIME_BINARY_UNKNOWN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '"application/octet-stream"'
    - item_type: preproc_def
      name: MIME_TEXT_UNKNOWN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '"text/plain"'
    - item_type: preproc_def
      name: MAXMIMESTRING
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '256'
    - item_type: preproc_def
      name: UNSET
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: HOWMANY
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: SMALL_HOWMANY
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAXDESC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '50   '
    - item_type: preproc_def
      name: MAXstring
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '64    '
    - item_type: preproc_def
      name: INDIR
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '1            '
    - item_type: preproc_def
      name: UNSIGNED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '2          '
    - item_type: preproc_def
      name: BYTE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SHORT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LONG
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4'
    - item_type: preproc_def
      name: STRING
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DATE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BESHORT
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BELONG
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BEDATE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LESHORT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LELONG
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LEDATE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RECORDSIZE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '512'
    - item_type: preproc_def
      name: NAMSIZ
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '100'
    - item_type: preproc_def
      name: TUNMLEN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TGNMLEN
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TMAGIC
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '"ustar  "   '
    - item_type: preproc_def
      name: L_HTML
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: L_C
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: L_FORT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: L_MAKE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '3   '
    - item_type: preproc_def
      name: L_PLI
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: L_MACH
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: L_ENG
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6   '
    - item_type: preproc_def
      name: L_PAS
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '7   '
    - item_type: preproc_def
      name: L_MAIL
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: L_NEWS
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '9   '
    - item_type: preproc_def
      name: NNAMES
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: ((sizeof(names)/sizeof(struct names)) - 1)
    - item_type: preproc_def
      name: EATAB
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '{while (apr_isspace(*l))  ++l;}'
    - item_type: preproc_def
      name: NBYTE
      pos:
        line_end: 1180
        line_start: 1179
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NSHORT
      pos:
        line_end: 1181
        line_start: 1180
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NLONG
      pos:
        line_end: 1182
        line_start: 1181
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NSTRING
      pos:
        line_end: 1183
        line_start: 1182
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NDATE
      pos:
        line_end: 1184
        line_start: 1183
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NBESHORT
      pos:
        line_end: 1185
        line_start: 1184
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '7'
    - item_type: preproc_def
      name: NBELONG
      pos:
        line_end: 1186
        line_start: 1185
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NBEDATE
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NLESHORT
      pos:
        line_end: 1188
        line_start: 1187
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '7'
    - item_type: preproc_def
      name: NLELONG
      pos:
        line_end: 1189
        line_start: 1188
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NLEDATE
      pos:
        line_end: 1190
        line_start: 1189
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ncompr
      pos:
        line_end: 2107
        line_start: 2106
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
      type_or_value: (sizeof(compr) / sizeof(compr[0]))
    structs:
    - fields:
      - name: '*next'
        type: struct magic
      - name: lineno
        type: int
      - name: flag
        type: short
      - name: cont_level
        type: short
      - name: in
        type: "struct {\n        char type;          /* byte short long */\n        long
          offset;        /* offset from indirection */\n    }"
      - name: offset
        type: long
      - name: reln
        type: unsigned char
      - name: type
        type: char
      - name: vallen
        type: char
      - name: value
        type: "union VALUETYPE {\n        unsigned char b;\n        unsigned short
          h;\n        unsigned long l;\n        char s[MAXstring];\n        unsigned
          char hs[2];   /* 2 bytes of a fixed-endian \"short\" */\n        unsigned
          char hl[4];   /* 2 bytes of a fixed-endian \"long\" */\n    }"
      - name: mask
        type: unsigned long
      - name: nospflag
        type: char
      - name: desc[MAXDESC]
        type: char
      item_type: struct
      name: magic
      pos:
        line_end: 169
        line_start: 129
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: name[NAMSIZ]
        type: char
      - name: mode[8]
        type: char
      - name: uid[8]
        type: char
      - name: gid[8]
        type: char
      - name: size[12]
        type: char
      - name: mtime[12]
        type: char
      - name: chksum[8]
        type: char
      - name: linkflag
        type: char
      - name: linkname[NAMSIZ]
        type: char
      - name: magic[8]
        type: char
      - name: uname[TUNMLEN]
        type: char
      - name: gname[TGNMLEN]
        type: char
      - name: devmajor[8]
        type: char
      - name: devminor[8]
        type: char
      item_type: struct
      name: header
      pos:
        line_end: 207
        line_start: 192
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: short
      item_type: struct
      name: names
      pos:
        line_end: 280
        line_start: 277
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*str'
        type: char
      - name: '*next'
        type: struct magic_rsl_s
      item_type: struct
      name: magic_rsl_s
      pos:
        line_end: 449
        line_start: 446
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*magicfile'
        type: char
      - name: '*magic'
        type: struct magic
      - name: '*last'
        type: struct magic
      - name: decompression_enabled
        type: int
      item_type: struct
      name: magic_server_config_rec
      pos:
        line_end: 461
        line_start: 456
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*head'
        type: magic_rsl
      - name: '*tail'
        type: magic_rsl
      item_type: struct
      name: magic_req_rec
      pos:
        line_end: 467
        line_start: 464
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*magic'
        type: char
      - name: maglen
        type: apr_size_t
      - name: '*argv[3]'
        type: char
      - name: silent
        type: int
      - name: '*encoding'
        type: char
      item_type: struct
      name: "compr[] = {\n\n    /* we use gzip here rather than uncompress because
        we have to pass\n     * it a full filename -- and uncompress only considers
        filenames\n     * ending with .Z\n     */\n    {\n        \"\\037\\235\",
        2, {\n            \"gzip\", \"-dcq\", NULL\n        }, 0, \"x-compress\"\n
        \   },\n    {\n        \"\\037\\213\", 2, {\n            \"gzip\", \"-dcq\",
        NULL\n        }, 1, \"x-gzip\"\n    },\n    /*\n     * XXX pcat does not work,
        cause I don't know how to make it read stdin,\n     * so we use gzip\n     */\n
        \   {\n        \"\\037\\036\", 2, {\n            \"gzip\", \"-dcq\", NULL\n
        \       }, 0, \"x-gzip\"\n    },\n}"
      pos:
        line_end: 2079
        line_start: 2073
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: method
        type: int
      item_type: struct
      name: uncompress_parms
      pos:
        line_end: 2141
        line_start: 2138
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    typedefs: []
    union:
    - fields:
      - name: b
        type: unsigned char
      - name: h
        type: unsigned short
      - name: l
        type: unsigned long
      - name: s[MAXstring]
        type: char
      - name: hs[2]
        type: unsigned char
      - name: hl[4]
        type: unsigned char
      item_type: union
      name: VALUETYPE
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
    - fields:
      - name: charptr[RECORDSIZE]
        type: char
      - name: header
        type: "struct header {\n        char name[NAMSIZ];\n        char mode[8];\n
          \       char uid[8];\n        char gid[8];\n        char size[12];\n        char
          mtime[12];\n        char chksum[8];\n        char linkflag;\n        char
          linkname[NAMSIZ];\n        char magic[8];\n        char uname[TUNMLEN];\n
          \       char gname[TGNMLEN];\n        char devmajor[8];\n        char devminor[8];\n
          \   }"
      item_type: union
      name: record
      pos:
        line_end: 208
        line_start: 190
        source_file: /src/httpd/modules/metadata/mod_mime_magic.c
- function_names:
  - unique_id_global_init
  - unique_id_child_init
  - gen_unique_id
  - generate_log_id
  - set_unique_id
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_unique_id.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROOT_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/metadata/mod_unique_id.c
      type_or_value: '10'
    - item_type: preproc_def
      name: UNIQUE_ID_REC_MAX
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/modules/metadata/mod_unique_id.c
      type_or_value: '4'
    - item_type: preproc_def
      name: APR_UINT16_MAX
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/metadata/mod_unique_id.c
      type_or_value: 0xffffu
    structs:
    - fields:
      - name: stamp
        type: unsigned int
      - name: root[ROOT_SIZE]
        type: char
      - name: counter
        type: unsigned short
      - name: thread_index
        type: unsigned int
      item_type: struct
      name: unique_id_rec
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/httpd/modules/metadata/mod_unique_id.c
    - fields:
      - name: foo
        type: unique_id_rec
      - name: pad[2]
        type: unsigned char
      item_type: struct
      name: paddedbuf
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/httpd/modules/metadata/mod_unique_id.c
    typedefs: []
    union: []
- function_names:
  - rfc1413_connect
  - rfc1413_query
  - set_idcheck
  - set_timeout
  - create_ident_dir_config
  - merge_ident_dir_config
  - ap_ident_lookup
  - register_hooks
  source_file: /src/httpd/modules/metadata/mod_ident.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_RFC1413
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RFC1413_UNSET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RFC1413_TIMEOUT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '30'
    - item_type: preproc_def
      name: RFC1413_PORT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '113'
    - item_type: preproc_def
      name: RFC1413_USERLEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '512'
    - item_type: preproc_def
      name: RFC1413_MAXDATA
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: FROM_UNKNOWN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/metadata/mod_ident.c
      type_or_value: '"unknown"'
    structs:
    - fields:
      - name: do_rfc1413
        type: int
      - name: timeout_unset
        type: int
      - name: timeout
        type: apr_time_t
      item_type: struct
      name: ident_config_rec
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/httpd/modules/metadata/mod_ident.c
    typedefs: []
    union: []
- function_names:
  - create_mime_dir_config
  - overlay_extension_mappings
  - remove_items
  - merge_mime_dir_configs
  - add_extension_info
  - remove_extension_type
  - remove_extension_info
  - set_types_config
  - multiviews_match
  - add_mime_options
  - mime_post_config
  - zap_sp
  - zap_sp_and_dup
  - is_token
  - is_qtext
  - is_quoted_pair
  - analyze_ct
  - find_ct
  - register_hooks
  source_file: /src/httpd/modules/http/mod_mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MULTIMATCH_UNSET
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/http/mod_mime.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MULTIMATCH_ANY
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/modules/http/mod_mime.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MULTIMATCH_NEGOTIATED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/http/mod_mime.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MULTIMATCH_HANDLERS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/http/mod_mime.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MULTIMATCH_FILTERS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/http/mod_mime.c
      type_or_value: '8'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: offset
        type: apr_size_t
      item_type: struct
      name: attrib_info
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/httpd/modules/http/mod_mime.c
    - fields:
      - name: '*forced_type'
        type: char
      - name: '*encoding_type'
        type: char
      - name: '*language_type'
        type: char
      - name: '*handler'
        type: char
      - name: '*charset_type'
        type: char
      - name: '*input_filters'
        type: char
      - name: '*output_filters'
        type: char
      item_type: struct
      name: extension_info
      pos:
        line_end: 68
        line_start: 60
        source_file: /src/httpd/modules/http/mod_mime.c
    - fields:
      - name: '*extension_mappings'
        type: apr_hash_t
      - name: '*remove_mappings'
        type: apr_array_header_t
      - name: '*default_language'
        type: char
      - name: multimatch
        type: int
      - name: use_path_info
        type: int
      - name: ct_last_ext
        type: enum {CT_LAST_INIT, CT_LAST_ON, CT_LAST_OFF}
      - name: all_last_ext
        type: enum {ALL_LAST_INIT, ALL_LAST_ON, ALL_LAST_OFF}
      - name: nomime
        type: enum {NOMIME_INIT, NOMIME_ON, NOMIME_OFF}
      item_type: struct
      name: mime_dir_config
      pos:
        line_end: 99
        line_start: 76
        source_file: /src/httpd/modules/http/mod_mime.c
    - fields:
      - name: '*attr'
        type: char
      - name: '*val'
        type: char
      - name: '*next'
        type: struct param_s
      item_type: struct
      name: param_s
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/httpd/modules/http/mod_mime.c
    - fields:
      - name: '*type'
        type: char
      - name: type_len
        type: apr_size_t
      - name: '*subtype'
        type: char
      - name: subtype_len
        type: apr_size_t
      - name: '*param'
        type: param
      item_type: struct
      name: content_type
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/httpd/modules/http/mod_mime.c
    typedefs: []
    union: []
- function_names:
  - parse_chunk_size
  - read_chunked_trailers
  - ap_http_filter
  - ap_h1_body_in_filter
  - check_header
  - check_headers_table
  - check_headers
  - check_headers_recursion
  - form_header_field
  - uniq_field_values
  - fixup_vary
  - validate_status_line
  - basic_http_header_check
  - ap_basic_http_header
  - ap_send_http_trace
  - ap_http_header_filter
  - ap_map_http_request_error
  - ap_discard_request_body
  - ap_setup_client_block
  - ap_should_client_block
  - ap_get_client_block
  - ap_http_outerror_filter
  - h1_append_response_head
  - ap_h1_response_out_filter
  - get_status_reason
  - merge_response_headers
  - create_response_bucket
  - create_trailers_bucket
  - read_request_line
  - sanitize_brigade
  - ap_h1_request_in_filter
  source_file: /src/httpd/modules/http/http_filters.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: remaining
        type: apr_off_t
      - name: limit
        type: apr_off_t
      - name: limit_used
        type: apr_off_t
      - name: chunk_used
        type: apr_int32_t
      - name: chunk_bws
        type: apr_int32_t
      - name: chunkbits
        type: apr_int32_t
      - name: state
        type: "enum\n    {\n        BODY_NONE, /* streamed data */\n        BODY_LENGTH,
          /* data constrained by content length */\n        BODY_CHUNK, /* chunk expected
          */\n        BODY_CHUNK_PART, /* chunk digits */\n        BODY_CHUNK_EXT,
          /* chunk extension */\n        BODY_CHUNK_CR, /* got space(s) after digits,
          expect [CR]LF or ext */\n        BODY_CHUNK_LF, /* got CR after digits or
          ext, expect LF */\n        BODY_CHUNK_DATA, /* data constrained by chunked
          encoding */\n        BODY_CHUNK_END, /* chunked data terminating CRLF */\n
          \       BODY_CHUNK_END_LF, /* got CR after data, expect LF */\n        BODY_CHUNK_TRAILER
          /* trailers */\n    }"
      - name: at_eos
        type: unsigned int
      item_type: struct
      name: http_filter_ctx
      pos:
        line_end: 87
        line_start: 63
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: at_trailers
        type: unsigned int
      - name: at_eos
        type: unsigned int
      - name: seen_data
        type: unsigned int
      item_type: struct
      name: h1_in_ctx_t
      pos:
        line_end: 311
        line_start: 306
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: strict
        type: int
      item_type: struct
      name: check_header_ctx
      pos:
        line_end: 732
        line_start: 729
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: header_struct
      pos:
        line_end: 852
        line_start: 849
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: final_status
        type: int
      - name: final_header_only
        type: int
      - name: dying
        type: int
      item_type: struct
      name: header_filter_ctx
      pos:
        line_end: 1167
        line_start: 1163
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: seen_eoc
        type: int
      - name: first_error
        type: int
      item_type: struct
      name: outerror_filter_ctx_t
      pos:
        line_end: 1730
        line_start: 1727
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: final_response_sent
        type: int
      - name: discard_body
        type: int
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: h1_response_ctx
      pos:
        line_end: 1904
        line_start: 1900
        source_file: /src/httpd/modules/http/http_filters.c
    - fields:
      - name: state
        type: "enum\n    {\n        REQ_LINE, /* reading 1st request line */\n        REQ_HEADERS,
          /* reading header lines */\n        REQ_BODY, /* reading body follows, terminal
          */\n        REQ_ERROR, /* failed, terminal */\n    }"
      - name: '*r'
        type: request_rec
      - name: '*request_line'
        type: char
      - name: '*method'
        type: char
      - name: '*uri'
        type: char
      - name: '*protocol'
        type: char
      item_type: struct
      name: h1_request_ctx
      pos:
        line_end: 2187
        line_start: 2173
        source_file: /src/httpd/modules/http/http_filters.c
    typedefs: []
    union: []
- function_names:
  - ap_set_byterange
  - copy_brigade_range
  - send_416
  - ap_byterange_filter
  source_file: /src/httpd/modules/http/byterange_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_DEFAULT_MAX_RANGES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/http/byterange_filter.c
      type_or_value: '200'
    - item_type: preproc_def
      name: AP_DEFAULT_MAX_OVERLAPS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/http/byterange_filter.c
      type_or_value: '20'
    - item_type: preproc_def
      name: AP_DEFAULT_MAX_REVERSALS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/http/byterange_filter.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MAX_PREALLOC_RANGES
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/http/byterange_filter.c
      type_or_value: '100'
    - item_type: preproc_def
      name: BYTERANGE_FMT
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/httpd/modules/http/byterange_filter.c
      type_or_value: '"%" APR_OFF_T_FMT "-%" APR_OFF_T_FMT "/%" APR_OFF_T_FMT'
    structs:
    - fields:
      - name: start
        type: apr_off_t
      - name: end
        type: apr_off_t
      item_type: struct
      name: indexes_t
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/httpd/modules/http/byterange_filter.c
    typedefs: []
    union: []
- function_names:
  - ap_http_chunk_filter
  source_file: /src/httpd/modules/http/chunk_filter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bad_gateway_seen
        type: int
      - name: '*trailers'
        type: apr_table_t
      item_type: struct
      name: chunk_out_ctx
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/httpd/modules/http/chunk_filter.c
    typedefs: []
    union: []
- function_names:
  - update_r_in_filters
  - ap_die_r
  - ap_die
  - ap_check_pipeline
  - ap_process_request_after_handler
  - ap_process_async_request
  - ap_process_request
  - rename_original_env
  - internal_internal_redirect
  - ap_internal_fast_redirect
  - ap_internal_redirect
  - ap_internal_redirect_handler
  - ap_allow_methods
  - ap_allow_standard_methods
  source_file: /src/httpd/modules/http/http_request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_keep_alive_timeout
  - set_keep_alive
  - set_keep_alive_max
  - http_scheme
  - http_port
  - ap_process_http_async_connection
  - ap_process_http_sync_connection
  - ap_process_http_connection
  - http_create_request
  - h1_pre_read_request
  - h1_post_read_request
  - http_send_options
  - http_post_config
  - register_hooks
  source_file: /src/httpd/modules/http/http_core.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_mpm_running
  - ap_h1_set_keepalive
  - ap_set_keepalive
  - ap_condition_if_match
  - ap_condition_if_unmodified_since
  - ap_condition_if_none_match
  - ap_condition_if_modified_since
  - ap_condition_if_range
  - ap_meets_conditions
  - register_one_method
  - ap_method_registry_destroy
  - ap_method_registry_init
  - ap_method_register
  - ap_method_number_of
  - ap_method_name_of
  - index_of_response
  - ap_index_of_response
  - ap_get_status_line_ex
  - ap_get_status_line
  - make_allow
  - ap_send_http_options
  - ap_set_content_type
  - ap_set_content_type_ex
  - ap_set_accept_ranges
  - add_optional_notes
  - get_canned_error_string
  - ap_send_error_response
  - ap_make_method_list
  - ap_copy_method_list
  - ap_method_in_list
  - ap_method_list_add
  - ap_method_list_remove
  - ap_clear_method_list
  - ap_h1_append_header
  - ap_h1_append_headers
  - ap_h1_terminate_header
  - apr_brigade_write
  - rrl_log_error
  - RRL_ERROR
  - tokenize_request_line
  - ap_h1_tokenize_request_line
  source_file: /src/httpd/modules/http/http_protocol.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: METHOD_NUMBER_FIRST
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/httpd/modules/http/http_protocol.c
      type_or_value: (M_INVALID + 1)
    - item_type: preproc_def
      name: METHOD_NUMBER_LAST
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/http/http_protocol.c
      type_or_value: '62'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ldap/util_ldap_cache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALD_MM_FILE_MODE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
      type_or_value: ( S_IRUSR|S_IWUSR )
    - item_type: preproc_def
      name: ALD_MM_FILE_MODE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
      type_or_value: ( _S_IREAD|_S_IWRITE )
    structs:
    - fields:
      - name: '*payload'
        type: void
      - name: add_time
        type: apr_time_t
      - name: '*next'
        type: struct util_cache_node_t
      item_type: struct
      name: util_cache_node_t
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: size
        type: unsigned long
      - name: maxentries
        type: unsigned long
      - name: numentries
        type: unsigned long
      - name: fullmark
        type: unsigned long
      - name: marktime
        type: apr_time_t
      - name: ttl
        type: unsigned long
      - name: (*hash)(void *)
        type: unsigned long
      - name: (*compare)(void *, void *)
        type: int
      - name: '* (*copy)(util_ald_cache_t *cache, void *)'
        type: void
      - name: (*free)(util_ald_cache_t *cache, void *)
        type: void
      - name: (*display)(request_rec *r, util_ald_cache_t *cache, void *)
        type: void
      - name: '**nodes'
        type: util_cache_node_t
      - name: numpurges
        type: unsigned long
      - name: avg_purgetime
        type: double
      - name: last_purge
        type: apr_time_t
      - name: npurged
        type: unsigned long
      - name: fetches
        type: unsigned long
      - name: hits
        type: unsigned long
      - name: inserts
        type: unsigned long
      - name: removes
        type: unsigned long
      item_type: struct
      name: util_ald_cache
      pos:
        line_end: 73
        line_start: 42
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: '*url'
        type: char
      - name: '*search_cache'
        type: util_ald_cache_t
      - name: '*compare_cache'
        type: util_ald_cache_t
      - name: '*dn_compare_cache'
        type: util_ald_cache_t
      item_type: struct
      name: util_url_node_t
      pos:
        line_end: 97
        line_start: 92
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: '**subgroupDNs'
        type: char
      - name: len
        type: int
      item_type: struct
      name: util_compare_subgroup_t
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: '*username'
        type: char
      - name: '*dn'
        type: char
      - name: '*bindpw'
        type: char
      - name: lastbind
        type: apr_time_t
      - name: '**vals'
        type: char
      - name: numvals
        type: int
      item_type: struct
      name: util_search_node_t
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: '*dn'
        type: char
      - name: '*attrib'
        type: char
      - name: '*value'
        type: char
      - name: lastcompare
        type: apr_time_t
      - name: result
        type: int
      - name: sgl_processed
        type: int
      - name: '*subgroupList'
        type: struct util_compare_subgroup_t
      item_type: struct
      name: util_compare_node_t
      pos:
        line_end: 134
        line_start: 126
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    - fields:
      - name: '*reqdn'
        type: char
      - name: '*dn'
        type: char
      item_type: struct
      name: util_dn_compare_node_t
      pos:
        line_end: 143
        line_start: 140
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
    typedefs:
    - item_type: typedef
      name: util_ald_cache_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/httpd/modules/ldap/util_ldap_cache.h
      type: util_ald_cache
    union: []
- function_names:
  - util_ldap_url_node_hash
  - util_ldap_url_node_compare
  - util_ldap_url_node_copy
  - util_ldap_url_node_free
  - util_ldap_url_node_display
  - util_ldap_search_node_hash
  - util_ldap_search_node_compare
  - util_ldap_search_node_copy
  - util_ldap_search_node_free
  - util_ldap_search_node_display
  - util_ldap_compare_node_hash
  - util_ldap_compare_node_compare
  - util_ldap_compare_node_copy
  - util_ldap_compare_node_free
  - util_ldap_compare_node_display
  - util_ldap_dn_compare_node_hash
  - util_ldap_dn_compare_node_compare
  - util_ldap_dn_compare_node_copy
  - util_ldap_dn_compare_node_free
  - util_ldap_dn_compare_node_display
  - util_ldap_cache_init
  source_file: /src/httpd/modules/ldap/util_ldap_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - util_ald_free
  - util_ald_alloc
  - util_ald_strdup
  - util_ald_sgl_dup
  - util_ald_sgl_free
  - util_ald_hash_string
  - util_ald_cache_purge
  - util_ald_create_caches
  - util_ald_create_cache
  - util_ald_destroy_cache
  - util_ald_cache_fetch
  - util_ald_cache_insert
  - util_ald_cache_remove
  - util_ald_cache_display_stats
  - util_ald_cache_display
  source_file: /src/httpd/modules/ldap/util_ldap_cache_mgr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - uldap_rebind_init
  - uldap_rebind_proc
  - uldap_rebind_add
  - uldap_rebind_init
  - uldap_rebind_add
  - apr_status_t::ldap_cache_lock
  - apr_status_t::ldap_cache_unlock
  - util_ldap_strdup
  - util_ldap_cache_module_kill
  - util_ldap_handler
  - uldap_connection_close
  - uldap_connection_unbind
  - util_ldap_connection_remove
  - uldap_connection_init
  - uldap_ld_errno
  - uldap_simple_bind
  - uldap_connection_open
  - compare_client_certs
  - uldap_connection_find
  - uldap_cache_comparedn
  - uldap_cache_compare
  - uldap_get_subgroups
  - uldap_cache_check_subgroups
  - uldap_cache_checkuserid
  - uldap_cache_getuserdn
  - uldap_ssl_supported
  - util_ldap_set_cache_bytes
  - util_ldap_set_cache_file
  - util_ldap_set_cache_ttl
  - util_ldap_set_cache_entries
  - util_ldap_set_opcache_ttl
  - util_ldap_set_opcache_entries
  - util_ldap_parse_cert_type
  - util_ldap_set_trusted_global_cert
  - util_ldap_set_trusted_client_cert
  - util_ldap_set_trusted_mode
  - util_ldap_set_verify_srv_cert
  - util_ldap_set_connection_timeout
  - util_ldap_set_chase_referrals
  - util_ldap_set_debug_level
  - util_ldap_set_referral_hop_limit
  - util_ldap_create_dir_config
  - util_ldap_set_op_timeout
  - util_ldap_set_conn_ttl
  - util_ldap_set_retry_delay
  - util_ldap_set_retries
  - util_ldap_create_config
  - util_ldap_merge_config
  - util_ldap_cleanup_module
  - util_ldap_pre_config
  - util_ldap_cache_module_kill_locked
  - util_ldap_post_config
  - util_ldap_child_init
  - util_ldap_register_hooks
  source_file: /src/httpd/modules/ldap/util_ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APR_LDAP_SIZELIMIT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_LDAP_OPT_DEBUG
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: LDAP_OPT_DEBUG_LEVEL
    - item_type: preproc_def
      name: AP_LDAP_OPT_DEBUG
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: LDAP_OPT_DEBUG
    - item_type: preproc_def
      name: AP_LDAP_HOPLIMIT_UNSET
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_LDAP_CHASEREFERRALS_SDKDEFAULT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_LDAP_CHASEREFERRALS_OFF
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_LDAP_CHASEREFERRALS_ON
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_LDAP_CONNPOOL_DEFAULT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_LDAP_CONNPOOL_INFINITE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: '-2'
    - item_type: preproc_def
      name: LDAP_OPT_NETWORK_TIMEOUT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/ldap/util_ldap.c
      type_or_value: LDAP_OPT_CONNECT_TIMEOUT
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/generators/mod_cgi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MOD_CGI_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/generators/mod_cgi.h
      type_or_value: '1'
    structs:
    - fields:
      - name: in_pipe
        type: apr_int32_t
      - name: out_pipe
        type: apr_int32_t
      - name: err_pipe
        type: apr_int32_t
      - name: process_cgi
        type: int
      - name: cmd_type
        type: apr_cmdtype_e
      - name: detached
        type: apr_int32_t
      - name: prog_type
        type: prog_types
      - name: '**bb'
        type: apr_bucket_brigade
      - name: '*ctx'
        type: include_ctx_t
      - name: '*next'
        type: ap_filter_t
      - name: addrspace
        type: apr_int32_t
      item_type: struct
      name: cgi_exec_info_t
      pos:
        line_end: 44
        line_start: 32
        source_file: /src/httpd/modules/generators/mod_cgi.h
    typedefs: []
    union: []
- function_names:
  - cgid_suexec_id_doer
  - is_scriptaliased
  - create_argv
  - cgid_maint
  - close_unix_socket
  - sock_readhdr
  - sock_read
  - sock_write
  - sock_writev
  - get_req
  - send_req
  - daemon_signal_handler
  - cgid_child_errfn
  - cgid_server
  - cgid_start
  - cgid_pre_config
  - cgid_init
  - create_cgid_config
  - merge_cgid_config
  - create_cgid_dirconf
  - set_scriptlog
  - set_scriptlog_length
  - set_scriptlog_buffer
  - set_script_socket
  - set_script_timeout
  - log_script
  - connect_to_daemon
  - cleanup_nonchild_process
  - get_cgi_pid
  - cleanup_script
  - cgid_handler
  - include_cgi
  - add_ssi_vars
  - include_cmd
  - register_hook
  source_file: /src/httpd/modules/generators/mod_cgid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAEMON_STARTUP_ERROR
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '254'
    - item_type: preproc_def
      name: DEFAULT_LOGBYTES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '10385760'
    - item_type: preproc_def
      name: DEFAULT_BUFBYTES
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: DEFAULT_SOCKET
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '"cgisock"'
    - item_type: preproc_def
      name: CGI_REQ
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SSI_REQ
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GETPID_REQ
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: ERRFN_USERDATA_KEY
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '"CGIDCHILDERRFN"'
    - item_type: preproc_def
      name: DEFAULT_CGID_LISTENBACKLOG
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_CONNECT_ATTEMPTS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '15'
    - item_type: preproc_def
      name: DEFAULT_CONNECT_STARTUP_DELAY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: '60'
    - item_type: preproc_def
      name: ENV_COUNT_MAX
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: (256)
    - item_type: preproc_def
      name: cgi_server_conf
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: cgid_server_conf
    - item_type: preproc_def
      name: cgi_module
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/httpd/modules/generators/mod_cgid.c
      type_or_value: cgid_module
    structs:
    - fields:
      - name: timeout
        type: apr_interval_time_t
      item_type: struct
      name: cgid_dirconf
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/httpd/modules/generators/mod_cgid.c
    - fields:
      - name: '*logname'
        type: char
      - name: logbytes
        type: long
      - name: bufbytes
        type: int
      item_type: struct
      name: cgid_server_conf
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/httpd/modules/generators/mod_cgid.c
    - fields: []
      item_type: struct
      name: cgid_rlimit_t
      pos:
        line_end: 191
        line_start: 177
        source_file: /src/httpd/modules/generators/mod_cgid.c
    - fields:
      - name: req_type
        type: int
      - name: conn_id
        type: unsigned long
      - name: ppid
        type: pid_t
      - name: env_count
        type: unsigned
      - name: ugid
        type: ap_unix_identity_t
      - name: filename_len
        type: apr_size_t
      - name: argv0_len
        type: apr_size_t
      - name: uri_len
        type: apr_size_t
      - name: args_len
        type: apr_size_t
      - name: loglevel
        type: int
      item_type: struct
      name: cgid_req_t
      pos:
        line_end: 216
        line_start: 196
        source_file: /src/httpd/modules/generators/mod_cgid.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*conf'
        type: cgid_server_conf
      - name: pid
        type: pid_t
      item_type: struct
      name: cleanup_script_info
      pos:
        line_end: 1393
        line_start: 1389
        source_file: /src/httpd/modules/generators/mod_cgid.c
    typedefs: []
    union:
    - fields:
      - name: cm
        type: struct cmsghdr
      - name: buf[CMSG_SPACE(sizeof(int))]
        type: char
      item_type: union
      name: u
      pos:
        line_end: 384
        line_start: 381
        source_file: /src/httpd/modules/generators/mod_cgid.c
    - fields:
      - name: buf[CMSG_SPACE(sizeof(int))]
        type: char
      - name: align
        type: struct cmsghdr
      item_type: union
      name: u
      pos:
        line_end: 477
        line_start: 474
        source_file: /src/httpd/modules/generators/mod_cgid.c
- function_names:
  - mkconfig
  - create_mconfig_for_server
  - create_mconfig_for_directory
  - set_suexec_ugid
  - get_suexec_id_doer
  - suexec_post_config
  - suexec_hooks
  source_file: /src/httpd/modules/generators/mod_suexec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUEXEC_POST_CONFIG_USERDATA
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/generators/mod_suexec.c
      type_or_value: '"suexec_post_config_userdata"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - discard_script_output
  - log_scripterror
  - log_script_err
  - cgi_handle_exec
  - cgi_optfns_retrieve
  - cgi_bucket_create
  - cgi_bucket_dup
  - cgi_read_stdout
  - cgi_bucket_read
  - cgi_handle_response
  - cgi_handle_request
  source_file: /src/httpd/modules/generators/cgi_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*r'
        type: request_rec
      - name: timeout
        type: apr_interval_time_t
      item_type: struct
      name: cgi_bucket_data
      pos:
        line_end: 232
        line_start: 228
        source_file: /src/httpd/modules/generators/cgi_common.h
    typedefs: []
    union: []
- function_names:
  - is_scriptaliased
  - create_cgi_config
  - merge_cgi_config
  - create_cgi_dirconf
  - set_scriptlog
  - set_scriptlog_length
  - set_scriptlog_buffer
  - set_script_timeout
  - log_script
  - add_ssi_vars
  - cgi_child_errfn
  - run_cgi_child
  - default_build_command
  - cgi_handler
  - include_cgi
  - include_cmd
  - cgi_post_config
  - register_hooks
  source_file: /src/httpd/modules/generators/mod_cgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_LOGBYTES
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/generators/mod_cgi.c
      type_or_value: '10385760'
    - item_type: preproc_def
      name: DEFAULT_BUFBYTES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/generators/mod_cgi.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*logname'
        type: char
      - name: logbytes
        type: long
      - name: bufbytes
        type: apr_size_t
      item_type: struct
      name: cgi_server_conf
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/httpd/modules/generators/mod_cgi.c
    - fields:
      - name: timeout
        type: apr_interval_time_t
      item_type: struct
      name: cgi_dirconf
      pos:
        line_end: 92
        line_start: 90
        source_file: /src/httpd/modules/generators/mod_cgi.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/generators/mod_suexec.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ugid
        type: ap_unix_identity_t
      - name: active
        type: int
      item_type: struct
      name: suexec_config_t
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/httpd/modules/generators/mod_suexec.h
    typedefs: []
    union: []
- function_names:
  - response_is_html
  - emit_preamble
  - push_item
  - add_alt
  - add_icon
  - add_desc
  - add_ignore
  - add_opts
  - set_default_order
  - create_autoindex_config
  - merge_autoindex_configs
  - find_item
  - find_item_by_request
  - find_icon
  - find_alt
  - find_default_icon
  - find_default_alt
  - find_desc
  - ignore_entry
  - do_emit_plain
  - emit_head
  - emit_tail
  - find_title
  - make_parent_entry
  - make_autoindex_entry
  - terminate_description
  - emit_link
  - output_directories
  - dsortf
  - index_directory
  - handle_autoindex
  - register_hooks
  source_file: /src/httpd/modules/generators/mod_autoindex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_OPTIONS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '(1 <<  0)  '
    - item_type: preproc_def
      name: ICONS_ARE_LINKS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: SCAN_HTML_TITLES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: SUPPRESS_ICON
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  3)
    - item_type: preproc_def
      name: SUPPRESS_LAST_MOD
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  4)
    - item_type: preproc_def
      name: SUPPRESS_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  5)
    - item_type: preproc_def
      name: SUPPRESS_DESC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  6)
    - item_type: preproc_def
      name: SUPPRESS_PREAMBLE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  7)
    - item_type: preproc_def
      name: SUPPRESS_COLSORT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  8)
    - item_type: preproc_def
      name: SUPPRESS_RULES
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 <<  9)
    - item_type: preproc_def
      name: FOLDERS_FIRST
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: VERSION_SORT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: TRACK_MODIFIED
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: FANCY_INDEXING
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: TABLE_INDEXING
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: IGNORE_CLIENT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: IGNORE_CASE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: EMIT_XHTML
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: SHOW_FORBIDDEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 18)
    - item_type: preproc_def
      name: ADDALTCLASS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: OPTION_UNSET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: (1 << 20)
    - item_type: preproc_def
      name: K_NOADJUST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: K_ADJUST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: K_UNSET
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '2'
    - item_type: preproc_def
      name: K_NAME
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''N''              '
    - item_type: preproc_def
      name: K_LAST_MOD
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''M''          '
    - item_type: preproc_def
      name: K_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''S''              '
    - item_type: preproc_def
      name: K_DESC
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''D''              '
    - item_type: preproc_def
      name: K_VALID
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '"NMSD"          '
    - item_type: preproc_def
      name: D_ASCENDING
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''A'''
    - item_type: preproc_def
      name: D_DESCENDING
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '''D'''
    - item_type: preproc_def
      name: D_VALID
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '"AD"            '
    - item_type: preproc_def
      name: DEFAULT_ICON_WIDTH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DEFAULT_ICON_HEIGHT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '22'
    - item_type: preproc_def
      name: DEFAULT_NAME_WIDTH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '23'
    - item_type: preproc_def
      name: DEFAULT_DESC_WIDTH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '23'
    - item_type: preproc_def
      name: BY_ENCODING
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '&c_by_encoding'
    - item_type: preproc_def
      name: BY_TYPE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '&c_by_type'
    - item_type: preproc_def
      name: BY_PATH
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '&c_by_path'
    - item_type: preproc_def
      name: WILDCARDS_REQUIRED
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WILDCARDS_REQUIRED
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DIR_CMD_PERMS
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: OR_INDEXES
    - item_type: preproc_def
      name: MATCH_FLAGS
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: APR_FNM_CASE_BLIND
    - item_type: preproc_def
      name: MATCH_FLAGS
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/httpd/modules/generators/mod_autoindex.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*type'
        type: char
      - name: '*apply_to'
        type: char
      - name: '*apply_path'
        type: char
      - name: '*data'
        type: char
      item_type: struct
      name: item
      pos:
        line_end: 110
        line_start: 105
        source_file: /src/httpd/modules/generators/mod_autoindex.c
    - fields:
      - name: '*pattern'
        type: char
      - name: '*description'
        type: char
      - name: full_path
        type: unsigned int
      - name: wildcards
        type: unsigned int
      item_type: struct
      name: ai_desc_t
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/httpd/modules/generators/mod_autoindex.c
    - fields:
      - name: '*default_icon'
        type: char
      - name: '*style_sheet'
        type: char
      - name: '*head_insert'
        type: char
      - name: '*header'
        type: char
      - name: '*readme'
        type: char
      - name: opts
        type: apr_int32_t
      - name: incremented_opts
        type: apr_int32_t
      - name: decremented_opts
        type: apr_int32_t
      - name: name_width
        type: int
      - name: name_adjust
        type: int
      - name: desc_width
        type: int
      - name: desc_adjust
        type: int
      - name: icon_width
        type: int
      - name: icon_height
        type: int
      - name: not_found
        type: int
      - name: default_keyid
        type: char
      - name: default_direction
        type: char
      - name: '*icon_list'
        type: apr_array_header_t
      - name: '*alt_list'
        type: apr_array_header_t
      - name: '*desc_list'
        type: apr_array_header_t
      - name: '*ign_list'
        type: apr_array_header_t
      - name: ign_noinherit
        type: int
      - name: '*ctype'
        type: char
      - name: '*charset'
        type: char
      - name: '*datetime_format'
        type: char
      item_type: struct
      name: autoindex_config_struct
      pos:
        line_end: 148
        line_start: 119
        source_file: /src/httpd/modules/generators/mod_autoindex.c
    - fields:
      - name: '*name'
        type: char
      - name: '*icon'
        type: char
      - name: '*alt'
        type: char
      - name: '*desc'
        type: char
      - name: size
        type: apr_off_t
      - name: lm
        type: apr_time_t
      - name: '*next'
        type: struct ent
      - name: ascending
        type: unsigned int
      - name: ignore_case
        type: unsigned int
      - name: version_sort
        type: unsigned int
      - name: isdir
        type: unsigned int
      - name: key
        type: char
      item_type: struct
      name: ent
      pos:
        line_end: 770
        line_start: 757
        source_file: /src/httpd/modules/generators/mod_autoindex.c
    typedefs: []
    union: []
- function_names:
  - format_byte_out
  - format_kbyte_out
  - show_time
  - status_handler
  - status_pre_config
  - status_init
  - status_child_init
  - register_hooks
  source_file: /src/httpd/modules/generators/mod_status.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATUS_MAXLINE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '64'
    - item_type: preproc_def
      name: KBYTE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MBYTE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: 1048576L
    - item_type: preproc_def
      name: GBYTE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: 1073741824L
    - item_type: preproc_def
      name: DEFAULT_TIME_FORMAT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '"%A, %d-%b-%Y %H:%M:%S %Z"'
    - item_type: preproc_def
      name: STATUS_MAGIC_TYPE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '"application/x-httpd-status"'
    - item_type: preproc_def
      name: STAT_OPT_END
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: STAT_OPT_REFRESH
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STAT_OPT_NOTABLE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '1'
    - item_type: preproc_def
      name: STAT_OPT_AUTO
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SERVER_DISABLED
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: SERVER_NUM_STATUS
    - item_type: preproc_def
      name: MOD_STATUS_NUM_STATUS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/httpd/modules/generators/mod_status.c
      type_or_value: (SERVER_NUM_STATUS+1)
    structs:
    - fields:
      - name: id
        type: int
      - name: '*form_data_str'
        type: char
      - name: '*hdr_out_str'
        type: char
      item_type: struct
      name: stat_opt
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/httpd/modules/generators/mod_status.c
    typedefs: []
    union: []
- function_names:
  - asis_handler
  - register_hooks
  source_file: /src/httpd/modules/generators/mod_asis.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASIS_MAGIC_TYPE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/generators/mod_asis.c
      type_or_value: '"httpd/send-as-is"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_info_config
  - merge_info_config
  - put_int_flush_right
  - set_fn_info
  - get_fn_info
  - mod_info_indent
  - mod_info_show_cmd
  - mod_info_show_open
  - mod_info_show_close
  - mod_info_has_cmd
  - mod_info_show_parents
  - mod_info_module_cmds
  - module_find_hook
  - module_participate
  - module_request_hook_participate
  - find_more_info
  - show_server_settings
  - dump_a_hook
  - show_active_hooks
  - cmp_provider_groups
  - cmp_provider_names
  - show_providers
  - cmp_module_name
  - get_sorted_modules
  - display_info
  - add_module_info
  - check_config
  - register_hooks
  source_file: /src/httpd/modules/generators/mod_info.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*info'
        type: char
      item_type: struct
      name: info_entry
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/httpd/modules/generators/mod_info.c
    - fields:
      - name: '*more_info'
        type: apr_array_header_t
      item_type: struct
      name: info_svr_conf
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/httpd/modules/generators/mod_info.c
    - fields:
      - name: (*pFunc) (void)
        type: void
      - name: '*szName'
        type: char
      - name: '*const *aszPredecessors'
        type: char
      - name: '*const *aszSuccessors'
        type: char
      - name: nOrder
        type: int
      item_type: struct
      name: hook_struct_t
      pos:
        line_end: 279
        line_start: 272
        source_file: /src/httpd/modules/generators/mod_info.c
    - fields:
      - name: '*name'
        type: char
      - name: get
        type: hook_get_t
      item_type: struct
      name: hook_lookup_t
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/httpd/modules/generators/mod_info.c
    typedefs: []
    union: []
- function_names:
  - STATUS_DECLARE
  - STATUS_DECLARE_NONSTD
  - STATUS_DECLARE
  - STATUS_DECLARE_NONSTD
  - STATUS_DECLARE
  - STATUS_DECLARE_NONSTD
  - STATUS_DECLARE
  - STATUS_DECLARE_NONSTD
  source_file: /src/httpd/modules/generators/mod_status.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_STATUS_SHORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/generators/mod_status.h
      type_or_value: '(0x1)  '
    - item_type: preproc_def
      name: AP_STATUS_NOTABLE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/generators/mod_status.h
      type_or_value: '(0x2)  '
    - item_type: preproc_def
      name: AP_STATUS_EXTENDED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/generators/mod_status.h
      type_or_value: '(0x4)  '
    - item_type: preproc_def
      name: STATUS_DECLARE_DATA
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/generators/mod_status.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: STATUS_DECLARE_DATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/generators/mod_status.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - shm_cleanup_wrapper
  - exipc_pre_config
  - exipc_post_config
  - exipc_child_init
  - exipc_handler
  - exipc_register_hooks
  source_file: /src/httpd/modules/examples/mod_example_ipc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTML_HEADER
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
      type_or_value: "\"<html>\\n<head>\\n<title>Mod_example_IPC Status Page \" \\\n
        \                   \"</title>\\n</head>\\n<body>\\n<h1>Mod_example_IPC Status</h1>\\n\""
    - item_type: preproc_def
      name: HTML_FOOTER
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
      type_or_value: '"</body>\n</html>\n"'
    - item_type: preproc_def
      name: CAMPOUT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAXCAMP
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SLEEPYTIME
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: counter
        type: apr_uint64_t
      item_type: struct
      name: exipc_data
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/httpd/modules/examples/mod_example_ipc.c
    typedefs: []
    union: []
- function_names:
  - CaseFilterCreateServerConfig
  - CaseFilterInsertFilter
  - CaseFilterOutFilter
  - CaseFilterEnable
  - CaseFilterRegisterHooks
  source_file: /src/httpd/modules/examples/mod_case_filter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bEnabled
        type: int
      item_type: struct
      name: CaseFilterConfig
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/httpd/modules/examples/mod_case_filter.c
    typedefs: []
    union: []
- function_names:
  - our_dconfig
  - our_sconfig
  - our_rconfig
  - our_cconfig
  - example_log_each
  - trace_startup
  - trace_request
  - trace_connection
  - trace_nocontext
  - cmd_example
  - x_create_dir_config
  - x_merge_dir_config
  - x_create_server_config
  - x_merge_server_config
  - x_pre_config
  - x_check_config
  - x_test_config
  - x_open_logs
  - x_post_config
  - x_child_exit
  - x_child_init
  - x_http_scheme
  - x_default_port
  - x_insert_filter
  - x_insert_error_filter
  - x_handler
  - x_quick_handler
  - x_pre_connection
  - x_process_connection
  - x_pre_read_request
  - x_post_read_request
  - x_pre_translate_name
  - x_translate_name
  - x_map_to_storage
  - x_header_parser
  - x_check_access
  - x_check_authn
  - x_check_authz
  - x_type_checker
  - x_fixups
  - x_log_transaction
  - x_get_suexec_identity
  - x_create_connection
  - x_get_mgmt_items
  - x_create_request
  - x_pre_mpm
  - x_monitor
  - x_register_hooks
  source_file: /src/httpd/modules/examples/mod_example_hooks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_MODE_SERVER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CONFIG_MODE_DIRECTORY
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CONFIG_MODE_COMBO
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '3     '
    - item_type: preproc_def
      name: EXAMPLE_LOG_EACH
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TRACE_NOTE
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '"example-hooks-trace"'
    - item_type: preproc_def
      name: CONN_NOTE
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
      type_or_value: '"example-hooks-connection"'
    structs:
    - fields:
      - name: cmode
        type: int
      - name: local
        type: int
      - name: congenital
        type: int
      - name: '*trace'
        type: char
      - name: '*loc'
        type: char
      item_type: struct
      name: x_cfg
      pos:
        line_end: 119
        line_start: 106
        source_file: /src/httpd/modules/examples/mod_example_hooks.c
    typedefs: []
    union: []
- function_names:
  - CaseFilterInCreateServerConfig
  - CaseFilterInInsertFilter
  - CaseFilterInFilter
  - CaseFilterInEnable
  - CaseFilterInRegisterHooks
  source_file: /src/httpd/modules/examples/mod_case_filter_in.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bEnabled
        type: int
      item_type: struct
      name: CaseFilterInConfig
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/httpd/modules/examples/mod_case_filter_in.c
    - fields:
      - name: '*pbbTmp'
        type: apr_bucket_brigade
      item_type: struct
      name: CaseFilterInContext
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/httpd/modules/examples/mod_case_filter_in.c
    typedefs: []
    union: []
- function_names:
  - pfmt
  - constant_item
  - log_remote_host
  - log_remote_address
  - log_local_address
  - log_remote_logname
  - log_remote_user
  - log_request_line
  - log_request_file
  - log_request_uri
  - log_request_method
  - log_request_flushed
  - log_log_id
  - log_request_protocol
  - log_request_query
  - log_status
  - log_handler
  - clf_log_bytes_sent
  - log_bytes_sent
  - log_header_in
  - log_trailer_in
  - find_multiple_headers
  - log_header_out
  - log_trailer_out
  - log_note
  - log_env_var
  - log_cookie
  - log_request_time_custom
  - get_request_end_time
  - log_request_time
  - log_request_duration_microseconds
  - log_request_duration_scaled
  - log_virtual_host
  - log_server_port
  - log_server_name
  - log_pid_tid
  - log_connection_status
  - log_requests_on_connection
  - log_ssl_var
  - log_ssl_var_short
  - parse_log_misc_string
  - parse_log_item
  - parse_log_string
  - process_item
  - flush_log
  - config_log_transaction
  - multi_log_transaction
  - make_config_log_state
  - merge_config_log_state
  - log_format
  - add_custom_log
  - add_global_log
  - set_transfer_log
  - set_buffered_logs_on
  - open_config_log
  - open_multi_logs
  - flush_all_logs
  - init_config_log
  - init_child
  - ap_register_log_handler
  - ap_log_set_writer_init
  - ap_log_set_writer
  - ap_default_log_writer
  - ap_default_log_writer_init
  - ap_buffered_log_writer_init
  - ap_buffered_log_writer
  - log_pre_config
  - check_log_dir
  - log_check_config
  - register_hooks
  source_file: /src/httpd/modules/loggers/mod_log_config.c
  types:
    enum:
    - enumerators:
      - name: LOG_WRITER_FD
      - name: LOG_WRITER_PROVIDER
      item_type: enum
      name: default_log_writer_type
      pos:
        line_end: 314
        line_start: 311
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_LOG_FORMAT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '"%h %l %u %t \"%r\" %>s %b"'
    - item_type: preproc_def
      name: LOG_BUFSIZE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: PIPE_BUF
    - item_type: preproc_def
      name: LOG_BUFSIZE
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: (512)
    - item_type: preproc_def
      name: DEFAULT_REQUEST_TIME_SIZE
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TIME_FMT_CUSTOM
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TIME_FMT_CLF
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIME_FMT_ABS_SEC
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TIME_FMT_ABS_MSEC
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TIME_FMT_ABS_USEC
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TIME_FMT_ABS_MSEC_FRAC
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TIME_FMT_ABS_USEC_FRAC
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TIME_CACHE_SIZE
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TIME_CACHE_MASK
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/httpd/modules/loggers/mod_log_config.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*default_format_string'
        type: char
      - name: '*default_format'
        type: apr_array_header_t
      - name: '*config_logs'
        type: apr_array_header_t
      - name: '*server_config_logs'
        type: apr_array_header_t
      - name: '*formats'
        type: apr_table_t
      item_type: struct
      name: multi_log_state
      pos:
        line_end: 244
        line_start: 238
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: '*handle'
        type: apr_file_t
      - name: outcnt
        type: apr_size_t
      - name: outbuf[LOG_BUFSIZE]
        type: char
      - name: mutex
        type: apr_anylock_t
      item_type: struct
      name: buffered_log
      pos:
        line_end: 261
        line_start: 256
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: '*fname'
        type: char
      - name: '*format_string'
        type: char
      - name: '*format'
        type: apr_array_header_t
      - name: '*log_writer'
        type: void
      - name: '*condition_var'
        type: char
      - name: inherit
        type: int
      - name: '*condition_expr'
        type: ap_expr_info_t
      - name: '*directive'
        type: ap_directive_t
      item_type: struct
      name: config_log_state
      pos:
        line_end: 273
        line_start: 263
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: request_end_time
        type: apr_time_t
      item_type: struct
      name: log_request_state
      pos:
        line_end: 281
        line_start: 279
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: '*func'
        type: ap_log_handler_fn_t
      - name: '*arg'
        type: char
      - name: condition_sense
        type: int
      - name: want_orig
        type: int
      - name: '*conditions'
        type: apr_array_header_t
      item_type: struct
      name: log_format_item
      pos:
        line_end: 294
        line_start: 288
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: '*provider'
        type: struct ap_errorlog_provider
      - name: '*handle'
        type: void
      item_type: struct
      name: errorlog_provider_data
      pos:
        line_end: 304
        line_start: 301
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: type
        type: enum default_log_writer_type
      - name: '*log_writer'
        type: void
      item_type: struct
      name: default_log_writer
      pos:
        line_end: 323
        line_start: 320
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: '*next'
        type: struct sle
      - name: '*value'
        type: char
      - name: len
        type: apr_size_t
      item_type: struct
      name: sle
      pos:
        line_end: 496
        line_start: 492
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    - fields:
      - name: t
        type: unsigned
      - name: timestr[DEFAULT_REQUEST_TIME_SIZE]
        type: char
      - name: t_validate
        type: unsigned
      item_type: struct
      name: cached_request_time
      pos:
        line_end: 648
        line_start: 644
        source_file: /src/httpd/modules/loggers/mod_log_config.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/loggers/mod_log_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MOD_LOG_CONFIG_H
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/loggers/mod_log_config.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*func'
        type: ap_log_handler_fn_t
      - name: want_orig_default
        type: int
      item_type: struct
      name: ap_log_handler
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/httpd/modules/loggers/mod_log_config.h
    typedefs:
    - item_type: typedef
      name: '*ap_log_handler_fn_t(request_rec *r, char *a)'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/httpd/modules/loggers/mod_log_config.h
      type: char
    - item_type: typedef
      name: "*ap_log_writer_init(apr_pool_t *p, server_rec *s,\n                                 const
        char *name)"
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/loggers/mod_log_config.h
      type: void
    - item_type: typedef
      name: "ap_log_writer(\n                            request_rec *r,\n                            void
        *handle,\n                            const char **portions,\n                            int
        *lengths,\n                            int nelts,\n                            apr_size_t
        len)"
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/httpd/modules/loggers/mod_log_config.h
      type: apr_status_t
    union: []
- function_names:
  - make_forensic_log_scfg
  - merge_forensic_log_scfg
  - open_log
  - log_init
  - log_escape
  - count_string
  - count_headers
  - log_headers
  - log_before
  - log_after
  - set_forensic_log
  - register_hooks
  source_file: /src/httpd/modules/loggers/mod_log_forensic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*logname'
        type: char
      - name: '*fd'
        type: apr_file_t
      item_type: struct
      name: fcfg
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/httpd/modules/loggers/mod_log_forensic.c
    - fields:
      - name: '*log'
        type: char
      - name: '*pos'
        type: char
      - name: '*end'
        type: char
      - name: '*p'
        type: apr_pool_t
      - name: count
        type: apr_size_t
      item_type: struct
      name: hlog
      pos:
        line_end: 146
        line_start: 140
        source_file: /src/httpd/modules/loggers/mod_log_forensic.c
    typedefs: []
    union: []
- function_names:
  - journald_info_get_priority
  - journald_info_get_pool
  - iovec_add_entry
  - journald_log
  - IOVEC_ADD_LEN
  - IOVEC_ADD
  - journald_error_log_init
  - journald_error_log
  - journald_error_log_parse
  - journald_register_hooks
  source_file: /src/httpd/modules/loggers/mod_journald.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/loggers/mod_journald.c
      type_or_value: APR_INLINE
    - item_type: preproc_def
      name: SD_JOURNAL_SUPPRESS_LOCATION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/loggers/mod_journald.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_ENTRIES
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/loggers/mod_journald.c
      type_or_value: '15'
    structs: []
    typedefs: []
    union: []
- function_names:
  - syslog_error_log_init
  - syslog_error_log
  - syslog_error_log_parse
  - syslog_register_hooks
  source_file: /src/httpd/modules/loggers/mod_syslog.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*t_name'
        type: char
      - name: t_val
        type: int
      item_type: struct
      name: TRANS
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/httpd/modules/loggers/mod_syslog.c
    typedefs: []
    union: []
- function_names:
  - do_debug_log
  - log_debug_log_transaction
  - log_debug_quick_handler
  - log_debug_handler
  - log_debug_pre_translate_name
  - log_debug_translate_name
  - log_debug_map_to_storage
  - log_debug_fixups
  - log_debug_type_checker
  - log_debug_check_access
  - log_debug_check_access_ex
  - log_debug_check_authn
  - log_debug_check_authz
  - log_debug_insert_filter
  - log_debug_create_dconf
  - log_debug_merge_dconf
  - cmd_log_message
  - register_hooks
  source_file: /src/httpd/modules/loggers/mod_log_debug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*msg_expr'
        type: ap_expr_info_t
      - name: '*condition'
        type: ap_expr_info_t
      - name: '*hook'
        type: char
      item_type: struct
      name: msg_entry
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/httpd/modules/loggers/mod_log_debug.c
    - fields:
      - name: '*entries'
        type: apr_array_header_t
      item_type: struct
      name: log_debug_dirconf
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/httpd/modules/loggers/mod_log_debug.c
    typedefs: []
    union: []
- function_names:
  - ap_logio_add_bytes_out
  - ap_logio_add_bytes_in
  - ap_logio_get_last_bytes
  - log_bytes_in
  - log_bytes_out
  - log_bytes_combined
  - log_ttfu
  - log_ttfb
  - logio_transaction
  - logio_in_filter
  - logio_pre_conn
  - logio_pre_config
  - logio_ttfu_filter
  - logio_ttfb_filter
  - logio_insert_filter
  - logio_track_ttfu
  - logio_track_ttfb
  - create_logio_dirconf
  - merge_logio_dirconf
  - register_hooks
  source_file: /src/httpd/modules/loggers/mod_logio.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bytes_in
        type: apr_off_t
      - name: bytes_out
        type: apr_off_t
      - name: bytes_last_request
        type: apr_off_t
      item_type: struct
      name: logio_config_t
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/httpd/modules/loggers/mod_logio.c
    - fields:
      - name: track_ttfu
        type: unsigned int
      - name: track_ttfu_set
        type: unsigned int
      - name: track_ttfb
        type: unsigned int
      - name: track_ttfb_set
        type: unsigned int
      item_type: struct
      name: logio_dirconf_t
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/httpd/modules/loggers/mod_logio.c
    - fields:
      - name: ttfu
        type: apr_time_t
      - name: ttfb
        type: apr_time_t
      item_type: struct
      name: logio_req_t
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/httpd/modules/loggers/mod_logio.c
    typedefs: []
    union: []
- function_names:
  - log_json_dump_bb
  - log_json
  - log_json_pre_config
  - log_json_post_config
  - register_hooks
  source_file: /src/httpd/modules/loggers/mod_log_json.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSL_DECLARE
  - SSL_DECLARE_NONSTD
  - SSL_DECLARE
  - SSL_DECLARE_NONSTD
  - SSL_DECLARE
  - SSL_DECLARE_NONSTD
  - SSL_DECLARE
  - SSL_DECLARE_NONSTD
  source_file: /src/httpd/modules/ssl/mod_ssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_DECLARE_DATA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/ssl/mod_ssl.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SSL_DECLARE_DATA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/ssl/mod_ssl.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/ssl_policies.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_MOD_POLICIES_KEY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '"ssl_module_policies"'
    - item_type: preproc_def
      name: SSL_PROTOCOL_CONSTANTS_SSLV3
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: SSL_PROTOCOL_SSLV3
    - item_type: preproc_def
      name: SSL_PROTOCOL_CONSTANTS_SSLV3
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL_POLICY_LEGACY_PROTOCOLS
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: (SSL_PROTOCOL_CONSTANTS_SSLV3|SSL_PROTOCOL_TLSV1|SSL_PROTOCOL_TLSV1_1)
    - item_type: preproc_def
      name: SSL_POLICY_HONOR_ORDER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_POLICY_COMPRESSION
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL_POLICY_SESSION_TICKETS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL_POLICY_MOZILLA_VERSION
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '4.0'
    - item_type: preproc_def
      name: SSL_POLICY_MODERN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_POLICY_MODERN_SSL_CIPHERS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"'
    - item_type: preproc_def
      name: SSL_POLICY_MODERN_TLS13_CIPHERS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: SSL_POLICY_MODERN_PROTOCOLS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: (SSL_PROTOCOL_TLSV1_2|SSL_PROTOCOL_TLSV1_3)
    - item_type: preproc_def
      name: SSL_POLICY_MODERN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL_POLICY_INTERMEDIATE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_POLICY_INTERMEDIATE_SSL_CIPHERS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '"ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS"'
    - item_type: preproc_def
      name: SSL_POLICY_INTERMEDIATE_TLS13_CIPHERS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: SSL_POLICY_INTERMEDIATE_PROTOCOLS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: (SSL_PROTOCOL_ALL & ~(SSL_PROTOCOL_TLSV1_3|SSL_PROTOCOL_CONSTANTS_SSLV3))
    - item_type: preproc_def
      name: SSL_POLICY_OLD
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_POLICY_OLD_SSL_CIPHERS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: '"ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP"'
    - item_type: preproc_def
      name: SSL_POLICY_OLD_TLS13_CIPHERS
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: SSL_POLICY_OLD_PROTOCOLS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/ssl/ssl_policies.h
      type_or_value: (SSL_PROTOCOL_ALL & ~(SSL_PROTOCOL_TLSV1_3))
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_stapling_certid_free
  - ssl_stapling_certinfo_hash_init
  - stapling_get_issuer
  - ssl_stapling_init_cert
  - stapling_get_certinfo
  - stapling_cache_response
  - stapling_get_cached_response
  - stapling_set_response
  - stapling_check_response
  - stapling_renew_response
  - ssl_stapling_mutex_init
  - stapling_mutex_reinit_helper
  - ssl_stapling_mutex_reinit
  - stapling_mutex_on
  - stapling_mutex_off
  - stapling_cache_mutex_on
  - stapling_cache_mutex_off
  - stapling_refresh_mutex_on
  - stapling_refresh_mutex_off
  - get_and_check_cached_response
  - copy_ocsp_resp
  - stapling_cb
  - modssl_init_stapling
  source_file: /src/httpd/modules/ssl/ssl_util_stapling.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_STAPLING_DER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/ssl/ssl_util_stapling.c
      type_or_value: '10240'
    structs:
    - fields:
      - name: idx[SHA_DIGEST_LENGTH]
        type: UCHAR
      - name: '*cid'
        type: OCSP_CERTID
      - name: '*uri'
        type: char
      item_type: struct
      name: certinfo
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/httpd/modules/ssl/ssl_util_stapling.c
    - fields:
      - name: '*data'
        type: unsigned char
      - name: len
        type: apr_size_t
      item_type: struct
      name: ocsp_resp
      pos:
        line_end: 776
        line_start: 773
        source_file: /src/httpd/modules/ssl/ssl_util_stapling.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/ssl_ct_sct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_ID_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/ssl/ssl_ct_sct.h
      type_or_value: '32'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*cert_arr'
        type: apr_array_header_t
      - name: '*leaf'
        type: X509
      item_type: struct
      name: cert_chain
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/httpd/modules/ssl/ssl_ct_sct.h
    - fields:
      - name: version
        type: unsigned char
      - name: logid[LOG_ID_SIZE]
        type: unsigned char
      - name: timestamp
        type: apr_uint64_t
      - name: time
        type: apr_time_t
      - name: timestr[APR_RFC822_DATE_LEN]
        type: char
      - name: '*extensions'
        type: unsigned char
      - name: extlen
        type: apr_uint16_t
      - name: hash_alg
        type: unsigned char
      - name: sig_alg
        type: unsigned char
      - name: siglen
        type: apr_uint16_t
      - name: '*sig'
        type: unsigned char
      - name: '*signed_data'
        type: unsigned char
      - name: signed_data_len
        type: apr_size_t
      item_type: struct
      name: sct_fields_t
      pos:
        line_end: 49
        line_start: 35
        source_file: /src/httpd/modules/ssl/ssl_ct_sct.h
    typedefs: []
    union: []
- function_names:
  - ssl_util_vhostid
  - ssl_util_vhost_matches
  - modssl_request_is_tls
  - ssl_util_ppopen
  - ssl_util_ppclose
  - ssl_util_readfilter
  - ssl_util_path_check
  - ssl_asn1_table_set
  - ssl_asn1_table_get
  - ssl_util_thr_lock
  - ssl_dyn_create_function
  - ssl_dyn_lock_function
  - ssl_dyn_destroy_function
  - ssl_util_thread_id_setup
  - ssl_util_thr_id_internal
  - ssl_util_thr_id
  - ssl_util_thr_id
  - ssl_util_thr_id_cleanup
  - ssl_util_thread_id_setup
  - ssl_util_thread_cleanup
  - ssl_util_thread_setup
  - modssl_is_engine_id
  source_file: /src/httpd/modules/ssl/ssl_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_THREADID_IS_SAFE
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/httpd/modules/ssl/ssl_util.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '* file'
        type: char
      - name: line
        type: int
      - name: '*mutex'
        type: apr_thread_mutex_t
      item_type: struct
      name: CRYPTO_dynlock_value
      pos:
        line_end: 272
        line_start: 267
        source_file: /src/httpd/modules/ssl/ssl_util.c
    - fields:
      - name: unmapped[540]
        type: char
      - name: PSATOLD
        type: unsigned long
      item_type: struct
      name: PSA
      pos:
        line_end: 387
        line_start: 384
        source_file: /src/httpd/modules/ssl/ssl_util.c
    typedefs: []
    union: []
- function_names:
  - ssl_scache_init
  - ssl_scache_kill
  - ssl_scache_store
  - ssl_scache_retrieve
  - ssl_scache_remove
  - ssl_ext_status_hook
  - ssl_scache_status_register
  source_file: /src/httpd/modules/ssl/ssl_scache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_cert_fingerprint
  - collate_scts
  - url_to_fn
  - submission
  - fetch_sct
  - record_log_urls
  - uri_in_config
  - update_log_list_for_cert
  - refresh_scts_for_cert
  - APR_THREAD_FUNC::run_service_thread
  - wait_for_thread
  - sct_daemon_cycle
  - daemon_signal_handler
  - daemon_maint
  - sct_daemon
  - daemon_start
  - sct_daemon_thread
  - daemon_thread_start
  - ssl_ct_mutex_remove
  - refresh_all_scts
  - num_server_certs
  - ssl_ct_check_config
  - read_scts
  - look_for_server_certs
  - get_conn_config
  - client_is_ct_aware
  - is_client_ct_aware
  - server_cert_has_sct_list
  - cert_chain_init
  - cert_chain_free
  - gen_key
  - deserialize_SCTs
  - validate_server_data
  - save_server_data
  - ocsp_resp_cb
  - client_extension_add_callback
  - client_extension_parse_callback
  - ssl_ct_proxy_post_handshake
  - server_extension_parse_callback
  - server_extension_add_callback
  - tlsext_cb
  - ssl_ct_pre_handshake
  - ssl_ct_init_server
  - ssl_ct_post_read_request
  - ssl_ct_pre_config
  - inactivate_audit_file
  - ssl_ct_child_init
  - create_ct_server_config
  - merge_ct_server_config
  - copy_ct_server_config
  - ssl_ct_detach_backend
  - ct_register_hooks
  - parse_num
  - ct_audit_storage
  - ct_log_config_db
  - ct_max_sct_age
  - ct_proxy_awareness
  - ct_sct_storage
  - ct_sct_limit
  - ct_static_log_config
  - ct_static_scts
  - ct_log_client
  source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOTEXE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '".exe"'
    - item_type: preproc_def
      name: DOTEXE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '""'
    - item_type: preproc_def
      name: CLIENT_STATUS_VAR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"SSL_CT_CLIENT_STATUS"'
    - item_type: preproc_def
      name: PROXY_STATUS_VAR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"SSL_CT_PROXY_STATUS"'
    - item_type: preproc_def
      name: STATUS_VAR_AWARE_VAL
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"peer-aware"'
    - item_type: preproc_def
      name: STATUS_VAR_UNAWARE_VAL
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"peer-unaware"'
    - item_type: preproc_def
      name: PROXY_SCT_SOURCES_VAR
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"SSL_CT_PROXY_SCT_SOURCES"'
    - item_type: preproc_def
      name: DAEMON_NAME
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"SCT maintenance daemon"'
    - item_type: preproc_def
      name: DAEMON_THREAD_NAME
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: DAEMON_NAME " thread"
    - item_type: preproc_def
      name: SERVICE_THREAD_NAME
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"service thread"'
    - item_type: preproc_def
      name: MAX_SCTS_SIZE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAX_LOGLIST_SIZE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: PROXY_AWARENESS_UNSET
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: PROXY_OBLIVIOUS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PROXY_AWARE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: PROXY_REQUIRE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SSL_CT_MUTEX_TYPE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"ssl-ct-sct-update"'
    - item_type: preproc_def
      name: DAEMON_STARTUP_ERROR
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '254'
    - item_type: preproc_def
      name: SERVERCERTS_BASENAME
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"servercerts.pem"'
    - item_type: preproc_def
      name: COLLATED_SCTS_BASENAME
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"collated"'
    - item_type: preproc_def
      name: LOGLIST_BASENAME
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"logs"'
    - item_type: preproc_def
      name: LOG_SCT_PREFIX
      pos:
        line_end: 271
        line_start: 268
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '"AUTO_" '
    - item_type: preproc_def
      name: SERVER_START
      pos:
        line_end: 1850
        line_start: 1849
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: KEY_START
      pos:
        line_end: 1851
        line_start: 1850
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: CERT_START
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: SCT_START
      pos:
        line_end: 1853
        line_start: 1852
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
      type_or_value: '0x0004'
    structs:
    - fields:
      - name: '*db_log_config'
        type: apr_array_header_t
      - name: '*db_log_config_pool'
        type: apr_pool_t
      - name: '*static_log_config'
        type: apr_array_header_t
      - name: '*server_cert_info'
        type: apr_array_header_t
      - name: '*static_cert_sct_dirs'
        type: apr_hash_t
      - name: '*sct_storage'
        type: char
      - name: '*audit_storage'
        type: char
      - name: '*ct_exe'
        type: char
      - name: '*log_config_fname'
        type: char
      - name: max_sct_age
        type: apr_time_t
      - name: max_sh_sct
        type: int
      - name: proxy_awareness
        type: int
      item_type: struct
      name: ct_server_config
      pos:
        line_end: 127
        line_start: 110
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    - fields:
      - name: peer_ct_aware
        type: int
      - name: client_handshake
        type: int
      - name: proxy_handshake
        type: int
      - name: '*certs'
        type: cert_chain
      - name: server_cert_has_sct_list
        type: int
      - name: '*cert_sct_list'
        type: void
      - name: cert_sct_list_size
        type: apr_size_t
      - name: serverhello_has_sct_list
        type: int
      - name: '*serverhello_sct_list'
        type: void
      - name: serverhello_sct_list_size
        type: apr_size_t
      - name: ocsp_has_sct_list
        type: int
      - name: '*ocsp_sct_list'
        type: void
      - name: ocsp_sct_list_size
        type: apr_size_t
      - name: '*all_scts'
        type: apr_array_header_t
      item_type: struct
      name: ct_conn_config
      pos:
        line_end: 145
        line_start: 129
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    - fields:
      - name: '*fingerprint'
        type: char
      - name: '*sct_dir'
        type: char
      item_type: struct
      name: ct_server_cert_info
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    - fields:
      - name: '*data'
        type: void
      - name: len
        type: apr_uint16_t
      item_type: struct
      name: ct_sct_data
      pos:
        line_end: 155
        line_start: 152
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    - fields:
      - name: '*s'
        type: server_rec
      - name: '*c'
        type: conn_rec
      - name: '*conncfg'
        type: ct_conn_config
      item_type: struct
      name: ct_callback_info
      pos:
        line_end: 161
        line_start: 157
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    - fields:
      - name: validation_result
        type: apr_status_t
      item_type: struct
      name: ct_cached_server_data
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/httpd/modules/ssl/mod_ssl_ct.c
    typedefs: []
    union: []
- function_names:
  - ssl_config_global_create
  - ssl_config_global_fix
  - ssl_config_global_isfixed
  - modssl_ctx_config_cleanup
  - modssl_ctx_init
  - modssl_ctx_init_server
  - ssl_config_server_new
  - ssl_config_server_create
  - cfgMerge
  - cfgMergeArray
  - cfgMergeString
  - cfgMergeBool
  - cfgMergeInt
  - modssl_ctx_cfg_merge
  - modssl_ctx_cfg_merge_server
  - ssl_config_server_merge
  - modssl_ctx_init_proxy
  - ssl_config_perdir_create
  - modssl_ctx_cfg_merge_proxy
  - ssl_config_perdir_merge
  - ssl_config_proxy_merge
  - add_policy
  - get_policies
  - policy_collect_names
  - qstrcmp
  - get_policy_names
  - ssl_policy_lookup
  - ssl_cmd_SSLPolicyApply
  - ssl_cmd_SSLPassPhraseDialog
  - ssl_cmd_SSLCryptoDevice
  - ssl_cmd_SSLRandomSeed
  - ssl_cmd_SSLEngine
  - ssl_cmd_SSLECHKeyDir
  - ssl_cmd_SSLFIPS
  - ssl_cmd_SSLCipherSuite
  - ssl_cmd_check_file
  - ssl_cmd_SSLCompression
  - ssl_cmd_SSLClientHelloVars
  - ssl_cmd_SSLHonorCipherOrder
  - ssl_cmd_SSLSessionTickets
  - ssl_cmd_SSLInsecureRenegotiation
  - ssl_cmd_check_dir
  - ssl_cmd_SSLCertificateFile
  - ssl_cmd_SSLCertificateKeyFile
  - ssl_cmd_SSLCertificateChainFile
  - ssl_cmd_SSLSessionTicketKeyFile
  - ssl_cmd_SSLCACertificatePath
  - ssl_cmd_SSLCACertificateFile
  - ssl_cmd_SSLCADNRequestPath
  - ssl_cmd_SSLCADNRequestFile
  - ssl_cmd_SSLCARevocationPath
  - ssl_cmd_SSLCARevocationFile
  - ssl_cmd_crlcheck_parse
  - ssl_cmd_SSLCARevocationCheck
  - ssl_cmd_verify_parse
  - ssl_cmd_SSLVerifyClient
  - ssl_cmd_verify_depth_parse
  - ssl_cmd_SSLVerifyDepth
  - ssl_cmd_SSLSessionCache
  - ssl_cmd_SSLSessionCacheTimeout
  - ssl_cmd_SSLOptions
  - ssl_cmd_SSLRequireSSL
  - ssl_cmd_SSLRequire
  - ssl_cmd_SSLRenegBufferSize
  - ssl_cmd_protocol_parse
  - ssl_cmd_SSLProtocol
  - ssl_cmd_SSLProxyEngine
  - ssl_cmd_SSLProxyProtocol
  - ssl_cmd_SSLProxyCipherSuite
  - ssl_cmd_SSLProxyVerify
  - ssl_cmd_SSLProxyVerifyDepth
  - ssl_cmd_SSLProxyCACertificateFile
  - ssl_cmd_SSLProxyCACertificatePath
  - ssl_cmd_SSLProxyCARevocationPath
  - ssl_cmd_SSLProxyCARevocationFile
  - ssl_cmd_SSLProxyCARevocationCheck
  - ssl_cmd_SSLProxyMachineCertificateFile
  - ssl_cmd_SSLProxyMachineCertificatePath
  - ssl_cmd_SSLProxyMachineCertificateChainFile
  - ssl_cmd_SSLUserName
  - ssl_cmd_ocspcheck_parse
  - ssl_cmd_SSLOCSPEnable
  - ssl_cmd_SSLOCSPOverrideResponder
  - ssl_cmd_SSLOCSPDefaultResponder
  - ssl_cmd_SSLOCSPResponseTimeSkew
  - ssl_cmd_SSLOCSPResponseMaxAge
  - ssl_cmd_SSLOCSPResponderTimeout
  - ssl_cmd_SSLOCSPUseRequestNonce
  - ssl_cmd_SSLOCSPProxyURL
  - ssl_cmd_SSLOCSPNoVerify
  - ssl_cmd_SSLProxyCheckPeerExpire
  - ssl_cmd_SSLProxyCheckPeerCN
  - ssl_cmd_SSLProxyCheckPeerName
  - ssl_cmd_SSLStrictSNIVHostCheck
  - ssl_cmd_SSLVHostSNIPolicy
  - ssl_cmd_SSLStaplingCache
  - ssl_cmd_SSLUseStapling
  - ssl_cmd_SSLStaplingResponseTimeSkew
  - ssl_cmd_SSLStaplingResponseMaxAge
  - ssl_cmd_SSLStaplingStandardCacheTimeout
  - ssl_cmd_SSLStaplingErrorCacheTimeout
  - ssl_cmd_SSLStaplingReturnResponderErrors
  - ssl_cmd_SSLStaplingFakeTryLater
  - ssl_cmd_SSLStaplingResponderTimeout
  - ssl_cmd_SSLStaplingForceURL
  - ssl_cmd_SSLOpenSSLConfCmd
  - ssl_cmd_SSLSRPVerifierFile
  - ssl_cmd_SSLSRPUnknownUserSeed
  - ssl_cmd_SSLOCSPResponderCertificateFile
  - ssl_hook_ConfigTest
  - json_quote
  - val_str_dump
  - val_str_array_dump
  - val_long_dump
  - val_itime_dump
  - val_onoff_dump
  - val_uri_dump
  - val_verify_dump
  - val_enabled_dump
  - val_pphrase_dump
  - val_crl_check_dump
  - protocol_str
  - DMP_STRING
  - DMP_LONG
  - DMP_ITIME
  - DMP_STRARR
  - DMP_VERIFY
  - DMP_ON_OFF
  - DMP_URI
  - DMP_CRLCHK
  - DMP_PHRASE
  - DMP_ENABLD
  - DMP_OPTION
  - modssl_auth_ctx_dump
  - modssl_ctx_dump
  - ssl_srv_dump
  - ssl_policy_dump
  source_file: /src/httpd/modules/ssl/ssl_engine_config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_FLAGS_CHECK_FILE
      pos:
        line_end: 933
        line_start: 931
        source_file: /src/httpd/modules/ssl/ssl_engine_config.c
      type_or_value: (SSL_PCM_EXISTS|SSL_PCM_ISREG|SSL_PCM_ISNONZERO)
    - item_type: preproc_def
      name: SSL_FLAGS_CHECK_DIR
      pos:
        line_end: 936
        line_start: 934
        source_file: /src/httpd/modules/ssl/ssl_engine_config.c
      type_or_value: (SSL_PCM_EXISTS|SSL_PCM_ISDIR)
    - item_type: preproc_def
      name: NO_PER_DIR_SSL_CA
      pos:
        line_end: 1122
        line_start: 1120
        source_file: /src/httpd/modules/ssl/ssl_engine_config.c
      type_or_value: '"Your SSL library does not have support for per-directory CA"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bio_filter_out_ctx_new
  - bio_filter_out_pass
  - bio_filter_out_flush
  - bio_filter_create
  - bio_filter_destroy
  - bio_filter_out_write
  - bio_filter_out_ctrl
  - char_buffer_insert
  - char_buffer_consume
  - char_buffer_read
  - char_buffer_write
  - brigade_consume
  - bio_filter_in_read
  - bio_filter_in_ctrl
  - init_bio_methods
  - free_bio_methods
  - ssl_io_input_read
  - ssl_io_input_getline
  - ssl_filter_write
  - HTTP_ON_HTTPS_PORT_BUCKET
  - ssl_io_filter_disable
  - ssl_io_filter_error
  - ssl_filter_io_shutdown
  - ssl_io_filter_cleanup
  - ssl_io_filter_handshake
  - ssl_io_filter_input
  - ssl_io_filter_coalesce
  - ssl_io_filter_output
  - ssl_io_buffer_fill
  - ssl_io_filter_buffer
  - ssl_io_input_add_filter
  - ssl_io_filter_init
  - ssl_io_filter_register
  - ssl_io_data_dump
  - modssl_io_cb
  - set_bio_callback
  - modssl_set_io_callbacks
  source_file: /src/httpd/modules/ssl/ssl_engine_io.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_ON_HTTPS_PORT
      pos:
        line_end: 946
        line_start: 944
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: '"GET / HTTP/1.0" CRLF'
    - item_type: preproc_def
      name: MODSSL_ERROR_HTTP_ON_HTTPS
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: (APR_OS_START_USERERR + 0)
    - item_type: preproc_def
      name: MODSSL_ERROR_BAD_GATEWAY
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: (APR_OS_START_USERERR + 1)
    - item_type: preproc_def
      name: COALESCE_BYTES
      pos:
        line_end: 1702
        line_start: 1701
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: ((apr_size_t)APR_BUCKET_BUFF_SIZE)
    - item_type: preproc_def
      name: DUMP_WIDTH
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MODSSL_IO_DUMP_MAX
      pos:
        line_end: 2375
        line_start: 2374
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
      type_or_value: APR_UINT16_MAX
    structs:
    - fields:
      - name: '*pssl'
        type: SSL
      - name: '*pbioRead'
        type: BIO
      - name: '*pbioWrite'
        type: BIO
      - name: '*pInputFilter'
        type: ap_filter_t
      - name: '*pOutputFilter'
        type: ap_filter_t
      - name: '*config'
        type: SSLConnRec
      item_type: struct
      name: ssl_filter_ctx_t
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    - fields:
      - name: '*filter_ctx'
        type: ssl_filter_ctx_t
      - name: '*c'
        type: conn_rec
      - name: '*bb'
        type: apr_bucket_brigade
      - name: rc
        type: apr_status_t
      item_type: struct
      name: bio_filter_out_ctx_t
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    - fields:
      - name: '*b'
        type: apr_bucket
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: char_buffer_t
      pos:
        line_end: 291
        line_start: 288
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    - fields:
      - name: '*ssl'
        type: SSL
      - name: '*bio_out'
        type: BIO
      - name: '*f'
        type: ap_filter_t
      - name: rc
        type: apr_status_t
      - name: mode
        type: ap_input_mode_t
      - name: block
        type: apr_read_type_e
      - name: '*bb'
        type: apr_bucket_brigade
      - name: cbuf
        type: char_buffer_t
      - name: '*pool'
        type: apr_pool_t
      - name: buffer[AP_IOBUFSIZE]
        type: char
      - name: '*filter_ctx'
        type: ssl_filter_ctx_t
      item_type: struct
      name: bio_filter_in_ctx_t
      pos:
        line_end: 305
        line_start: 293
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    - fields:
      - name: '*buffer'
        type: apr_bucket_brigade
      - name: bytes
        type: apr_size_t
      item_type: struct
      name: coalesce_ctx
      pos:
        line_end: 1706
        line_start: 1703
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: modssl_buffer_ctx
      pos:
        line_end: 2020
        line_start: 2018
        source_file: /src/httpd/modules/ssl/ssl_engine_io.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/mod_ssl_openssl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_config_readable
  - public_key_cleanup
  - read_public_key
  - digest_public_key
  - parse_log_url
  - parse_time_str
  - save_log_config_entry
  - read_config_db
  - log_valid_for_received_sct
  - log_valid_for_sent_sct
  - log_configured_for_fetching_sct
  source_file: /src/httpd/modules/ssl/ssl_ct_log_config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctutil_path_join
  - ctutil_dir_exists
  - ctutil_file_exists
  - ctutil_buffer_to_array
  - ctutil_fopen
  - ctutil_read_dir
  - ctutil_read_file
  - io_loop
  - io_loop
  - ctutil_run_to_log
  - ctutil_thread_mutex_lock
  - ctutil_thread_mutex_unlock
  - ctutil_file_write_uint16
  - ctutil_file_write_uint24
  - ctutil_log_array
  - deserialize_uint
  - ctutil_deserialize_uint64
  - ctutil_deserialize_uint16
  - serialize_uint
  - ctutil_serialize_uint64
  - ctutil_serialize_uint24
  - ctutil_serialize_uint16
  - ctutil_serialize_uint8
  - ctutil_write_var16_bytes
  - ctutil_write_var24_bytes
  - read_length_prefix
  - read_fixed_bytes
  - ctutil_read_var_bytes
  - ctutil_run_internal_tests
  source_file: /src/httpd/modules/ssl/ssl_ct_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TESTURL1
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/httpd/modules/ssl/ssl_ct_util.c
      type_or_value: '"http://127.0.0.1:8888"'
    - item_type: preproc_def
      name: TESTURL2
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/httpd/modules/ssl/ssl_ct_util.c
      type_or_value: '"http://127.0.0.1:9999"'
    - item_type: preproc_def
      name: TESTURL3
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/httpd/modules/ssl/ssl_ct_util.c
      type_or_value: '"http://127.0.0.1:10000"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODSSL_LIBRARY_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: OPENSSL_VERSION_NUMBER
    - item_type: preproc_def
      name: MODSSL_LIBRARY_NAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: '"OpenSSL"'
    - item_type: preproc_def
      name: MODSSL_LIBRARY_TEXT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: OPENSSL_VERSION_TEXT
    - item_type: preproc_def
      name: MODSSL_LIBRARY_DYNTEXT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: SSLeay_version(SSLEAY_VERSION)
    - item_type: preproc_def
      name: MODSSL_LIBRARY_DYNTEXT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: OpenSSL_version(OPENSSL_VERSION)
    - item_type: preproc_def
      name: MODSSL_SESSION_MAX_DER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: 1024*10
    - item_type: preproc_def
      name: MODSSL_SESSION_ID_STRING_LEN
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/httpd/modules/ssl/ssl_util_ssl.h
      type_or_value: ((SSL_MAX_SSL_SESSION_ID_LENGTH + 1) * 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_mutex_init
  - ssl_mutex_reinit
  - ssl_mutex_on
  - ssl_mutex_off
  source_file: /src/httpd/modules/ssl/ssl_engine_mutex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_log_annotation
  - ssl_die
  - modssl_ERR_peek_error_data
  - ssl_log_ssl_error
  - ssl_log_cert_error
  - ssl_log_xerror
  - ssl_log_cxerror
  - ssl_log_rxerror
  source_file: /src/httpd/modules/ssl/ssl_engine_log.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cpPattern'
        type: char
      - name: '*cpAnnotation'
        type: char
      item_type: struct
      name: "ssl_log_annotate[] = {\n    { \"*envelope*bad*decrypt*\", \"wrong pass
        phrase!?\" },\n    { \"*CLIENT_HELLO*unknown*protocol*\", \"speaking not SSL
        to HTTPS port!?\" },\n    { \"*CLIENT_HELLO*http*request*\", \"speaking HTTP
        to HTTPS port!?\" },\n    { \"*SSL3_READ_BYTES:sslv3*alert*bad*certificate*\",
        \"Subject CN in certificate not server name or identical to CA!?\" },\n    {
        \"*self signed certificate in certificate chain*\", \"Client certificate signed
        by CA not known to server?\" },\n    { \"*peer did not return a certificate*\",
        \"No CAs known to server for verification?\" },\n    { \"*no shared cipher*\",
        \"Too restrictive SSLCipherSuite or using DSA server certificate?\" },\n    {
        \"*no start line*\", \"Bad file contents or format - or even just a forgotten
        SSLCertificateKeyFile?\" },\n    { \"*bad password read*\", \"You entered
        an incorrect pass phrase!?\" },\n    { \"*bad mac decode*\", \"Browser still
        remembered details of a re-created server certificate?\" },\n    { NULL, NULL
        }\n}"
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/httpd/modules/ssl/ssl_engine_log.c
    typedefs: []
    union: []
- function_names:
  - serialize_request
  - send_request
  - get_line
  - read_response
  - modssl_dispatch_ocsp_request
  - modssl_read_ocsp_certificates
  - ssl_init_ocsp_certificates
  source_file: /src/httpd/modules/ssl/ssl_util_ocsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HEADERS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/httpd/modules/ssl/ssl_util_ocsp.c
      type_or_value: (256)
    - item_type: preproc_def
      name: MAX_CONTENT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/httpd/modules/ssl/ssl_util_ocsp.c
      type_or_value: (2048 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/ssl_ct_log_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DISTRUSTED_UNSET
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/ssl/ssl_ct_log_config.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: TRUSTED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/ssl/ssl_ct_log_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DISTRUSTED
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/ssl/ssl_ct_log_config.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*log_id'
        type: char
      - name: '*public_key_pem'
        type: char
      - name: '*public_key'
        type: EVP_PKEY
      - name: distrusted
        type: int
      - name: min_valid_time
        type: apr_time_t
      - name: '*url'
        type: char
      - name: '*uri_str'
        type: char
      - name: uri
        type: apr_uri_t
      item_type: struct
      name: ct_log_config
      pos:
        line_end: 34
        line_start: 22
        source_file: /src/httpd/modules/ssl/ssl_ct_log_config.h
    typedefs: []
    union: []
- function_names:
  - verify_signature
  - sct_verify_signature
  - sct_parse
  - sct_release
  - sct_verify_timestamp
  source_file: /src/httpd/modules/ssl/ssl_ct_sct.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSL_CMD_ALL
  - SSL_CMD_SRV
  - SSL_CMD_PXY
  - SSL_CMD_DIR
  - modssl_is_prelinked
  - ssl_cleanup_pre_config
  - ssl_hook_pre_config
  - ssl_init_connection_ctx
  - ssl_engine_status
  - ssl_hook_ssl_bind_outgoing
  - ssl_init_ssl_connection
  - ssl_hook_http_scheme
  - ssl_hook_default_port
  - ssl_hook_pre_connection
  - ssl_hook_process_connection
  - ssl_register_hooks
  source_file: /src/httpd/modules/ssl/mod_ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_END_CMD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/ssl/mod_ssl.c
      type_or_value: '{ NULL }'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_rand_seed
  - ssl_rand_feedfp
  - ssl_rand_choosenum
  source_file: /src/httpd/modules/ssl/ssl_engine_rand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/modules/ssl/ssl_engine_rand.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: t
        type: time_t
      - name: pid
        type: pid_t
      item_type: struct
      name: my_seed
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/httpd/modules/ssl/ssl_engine_rand.c
    typedefs: []
    union: []
- function_names:
  - modssl_init_app_data2_idx
  - modssl_get_app_data2
  - modssl_set_app_data2
  - modssl_read_privatekey
  - modssl_smart_shutdown
  - modssl_X509_getBC
  - modssl_bio_free_read
  - modssl_ASN1_STRING_convert
  - asn1_string_to_utf8
  - modssl_X509_NAME_ENTRY_to_string
  - modssl_X509_NAME_to_string
  - parse_otherName_value
  - modssl_X509_getSAN
  - getIDs
  - modssl_X509_match_name
  - modssl_dh_from_file
  - modssl_dh_pkey_from_file
  - modssl_ec_group_from_file
  - modssl_SSL_SESSION_id2sz
  - modssl_set_reneg_state
  - modssl_read_cert
  - modssl_cert_get_pem
  source_file: /src/httpd/modules/ssl/ssl_util_ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DH_set0_pqg
  - make_dh_params
  - init_dh_params
  - free_dh_params
  - modssl_get_dh_params
  - ssl_add_version_components
  - load_echkeys
  - md5_str_update
  - md5_ifstr_update
  - md5_fmt_update
  - md5_strarray_cmp
  - md5_strarray_hash
  - hash_sni_policy_pk
  - hash_sni_policy_auth
  - create_sni_policy_hash
  - ssl_is_challenge
  - modssl_fips_cleanup
  - modssl_runtime_lib_version
  - ssl_init_Module
  - ssl_init_Engine
  - ssl_init_ctx_tls_extensions
  - ssl_set_ctx_protocol_option
  - ssl_init_ctx_protocol
  - ssl_init_ctx_session_cache
  - ssl_init_ctx_callbacks
  - modssl_CTX_load_verify_locations
  - ssl_init_ctx_verify
  - ssl_init_ctx_cipher_suite
  - modssl_X509_STORE_load_locations
  - ssl_init_ctx_crl
  - use_certificate_chain
  - ssl_init_ctx_cert_chain
  - ssl_init_ctx
  - ssl_check_public_cert
  - ssl_no_passwd_prompt_cb
  - CHECK_PRIVKEY_ERROR
  - CHECK_PRIVKEY_ERROR
  - LOG_SOURCE
  - LOG_SOURCE
  - ssl_init_server_certs
  - ssl_init_ticket_key
  - ssl_init_proxy_certs
  - MODSSL_CFG_ITEM_FREE
  - ssl_init_ctx_cleanup
  - ssl_cleanup_proxy_ctx
  - ssl_init_proxy_ctx
  - ssl_init_server_ctx
  - ssl_init_ConfigureServer
  - ssl_init_CheckServers
  - ssl_proxy_section_post_config
  - ssl_init_ca_cert_path
  - ssl_init_Child
  - ssl_init_ModuleKill
  source_file: /src/httpd/modules/ssl/ssl_engine_init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYTYPES
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/ssl/ssl_engine_init.c
      type_or_value: '"RSA, DSA or ECC"'
    - item_type: preproc_def
      name: KEYTYPES
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/ssl/ssl_engine_init.c
      type_or_value: '"RSA or DSA"'
    - item_type: preproc_def
      name: MODSSL_BLOCKS_RENEG
      pos:
        line_end: 1176
        line_start: 1175
        source_file: /src/httpd/modules/ssl/ssl_engine_init.c
      type_or_value: (0)
    - item_type: preproc_def
      name: MODSSL_BLOCKS_RENEG
      pos:
        line_end: 1179
        line_start: 1178
        source_file: /src/httpd/modules/ssl/ssl_engine_init.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*(*const prime)(BIGNUM *)'
        type: BIGNUM
      - name: '*dh'
        type: DH
      - name: min
        type: unsigned int
      item_type: struct
      name: dhparam
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/httpd/modules/ssl/ssl_engine_init.c
    typedefs: []
    union: []
- function_names:
  - has_buffered_data
  - fill_reneg_buffer
  - ssl_check_vhost_sni_policy
  - ssl_hook_ReadReq
  - ssl_configure_env
  - ssl_check_post_client_verify
  - ssl_hook_Access_classic
  - MODSSL_CFG_CA_NE
  - ssl_hook_Access_modern
  - ssl_hook_Access
  - ssl_hook_UserCheck
  - ssl_hook_Auth
  - extract_to_env
  - ssl_hook_Fixup
  - ssl_authz_require_ssl_check
  - ssl_authz_require_ssl_parse
  - ssl_authz_verify_client_check
  - ssl_authz_verify_client_parse
  - ssl_callback_TmpDH
  - ssl_callback_SSLVerify
  - modssl_proxy_info_log
  - modssl_set_cert_info
  - ssl_callback_proxy_cert
  - ssl_session_log
  - ssl_callback_NewSessionCacheEntry
  - ssl_callback_GetSessionCacheEntry
  - ssl_callback_DelSessionCacheEntry
  - log_tracing_state
  - ssl_callback_Info
  - set_challenge_creds
  - init_vhost
  - ssl_callback_ECH
  - ssl_callback_ServerNameIndication
  - copy_clienthello_vars
  - ssl_callback_ClientHello
  - ssl_find_vhost
  - ssl_callback_SessionTicket
  - ssl_callback_alpn_select
  - modssl_callback_keylog
  source_file: /src/httpd/modules/ssl/ssl_engine_kernel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSLPROXY_CERT_CB_LOG_FMT
      pos:
        line_end: 1794
        line_start: 1792
        source_file: /src/httpd/modules/ssl/ssl_engine_kernel.c
      type_or_value: '"Proxy client certificate callback: (%s) "'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/ssl/ssl_ct_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - extract_responder_uri
  - determine_responder_uri
  - create_request
  - verify_ocsp_status
  - modssl_verify_ocsp
  source_file: /src/httpd/modules/ssl/ssl_engine_ocsp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSL_CTX_set_min_proto_version
  - SSL_CTX_set_max_proto_version
  - BIO_set_init
  - BIO_get_data
  - BIO_set_data
  - BIO_get_shutdown
  - BIO_set_shutdown
  - DH_bits
  - X509_up_ref
  - EVP_PKEY_up_ref
  - ASN1_STRING_get0_data
  - ASN1_STRING_length
  - X509_get0_serialNumber
  - X509_get0_notBefore
  - X509_get0_notAfter
  - X509_STORE_CTX_get0_store
  - X509_STORE_CTX_get0_current_issuer
  - modssl_fips_is_enabled
  - modssl_fips_enable
  - modssl_fips_is_enabled
  - modssl_fips_enable
  - strEQ
  - strNE
  - strEQn
  - strNEn
  - strcEQ
  - strcNE
  - strcEQn
  - strcNEn
  - strIsEmpty
  - myConnConfig
  - myConnConfigSet
  - mySrvConfig
  - myDirConfig
  - myConnCtxConfig
  - myModConfig
  - mySrvFromConn
  - myDirConfigFromConn
  - mySrvConfigFromConn
  - myModConfigFromConn
  - ssl_verify_error_is_optional
  - MODSSL_SNIVH_NAME
  source_file: /src/httpd/modules/ssl/ssl_private.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '!FALSE'
    - item_type: preproc_def
      name: BOOL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: OPENSSL_API_COMPAT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0x10101000 '
    - item_type: preproc_def
      name: MODSSL_HAVE_ENGINE_API
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODSSL_HAVE_ENGINE_API
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MODSSL_HAVE_OPENSSL_STORE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODSSL_HAVE_OPENSSL_STORE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MODSSL_SSL_CIPHER_CONST
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: const
    - item_type: preproc_def
      name: MODSSL_SSL_METHOD_CONST
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: const
    - item_type: preproc_def
      name: MODSSL_X509_EXT_CONST
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: const
    - item_type: preproc_def
      name: SSL_CTRL_SET_MIN_PROTO_VERSION
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '123'
    - item_type: preproc_def
      name: SSL_CTRL_SET_MAX_PROTO_VERSION
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '124'
    - item_type: preproc_def
      name: MODSSL_USE_OPENSSL_PRE_1_1_API
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODSSL_USE_OPENSSL_PRE_1_1_API
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MODSSL_USE_OPENSSL_PRE_1_1_API
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODSSL_USE_OPENSSL_PRE_1_1_API
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IDCONST
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: const
    - item_type: preproc_def
      name: sk_OPENSSL_STRING_num
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: sk_num
    - item_type: preproc_def
      name: sk_OPENSSL_STRING_value
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: sk_value
    - item_type: preproc_def
      name: sk_OPENSSL_STRING_pop
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: sk_pop
    - item_type: preproc_def
      name: TLSEXT_TICKET_KEY_LEN
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '48'
    - item_type: preproc_def
      name: tlsext_tick_md
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: EVP_sha1
    - item_type: preproc_def
      name: tlsext_tick_md
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: EVP_sha256
    - item_type: preproc_def
      name: BN_get_rfc2409_prime_768
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc2409_prime_768
    - item_type: preproc_def
      name: BN_get_rfc2409_prime_1024
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc2409_prime_1024
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_1536
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_1536
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_2048
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_2048
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_3072
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_3072
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_4096
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_4096
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_6144
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_6144
    - item_type: preproc_def
      name: BN_get_rfc3526_prime_8192
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: get_rfc3526_prime_8192
    - item_type: preproc_def
      name: X509_get_notBefore
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: X509_getm_notBefore
    - item_type: preproc_def
      name: X509_get_notAfter
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: X509_getm_notAfter
    - item_type: preproc_def
      name: HAVE_OPENSSL_KEYLOG
      pos:
        line_end: 330
        line_start: 328
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '#endif'
    - item_type: preproc_def
      name: UNSET
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: NUL
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: UCHAR
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: unsigned char
    - item_type: preproc_def
      name: SSL_SESSION_CACHE_TIMEOUT
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '300'
    - item_type: preproc_def
      name: DEFAULT_RENEG_BUFFER_SIZE
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: DEFAULT_OCSP_MAX_SKEW
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (60 * 5)
    - item_type: preproc_def
      name: DEFAULT_OCSP_TIMEOUT
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '10'
    - item_type: preproc_def
      name: SSL_OPT_NONE
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SSL_OPT_RELSET
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SSL_OPT_STDENVVARS
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SSL_OPT_EXPORTCERTDATA
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: SSL_OPT_FAKEBASICAUTH
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: SSL_OPT_STRICTREQUIRE
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: SSL_OPT_OPTRENEGOTIATE
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: SSL_OPT_LEGACYDNFORMAT
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: SSL_OPT_EXPORTCB64DATA
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: SSL_PROTOCOL_NONE
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SSL_PROTOCOL_SSLV3
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SSL_PROTOCOL_TLSV1
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: SSL_PROTOCOL_BASIC
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
    - item_type: preproc_def
      name: SSL_PROTOCOL_BASIC
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_PROTOCOL_TLSV1)
    - item_type: preproc_def
      name: SSL_PROTOCOL_TLSV1_1
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: SSL_PROTOCOL_TLSV1_2
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: SSL_PROTOCOL_TLSV1_3
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: SSL_HAVE_PROTOCOL_TLSV1_3
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (1)
    - item_type: preproc_def
      name: SSL_PROTOCOL_ALL
      pos:
        line_end: 456
        line_start: 454
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: "(SSL_PROTOCOL_BASIC| \\\n                            SSL_PROTOCOL_TLSV1_1|SSL_PROTOCOL_TLSV1_2|SSL_PROTOCOL_TLSV1_3)"
    - item_type: preproc_def
      name: SSL_HAVE_PROTOCOL_TLSV1_3
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SSL_PROTOCOL_ALL
      pos:
        line_end: 460
        line_start: 458
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: "(SSL_PROTOCOL_BASIC| \\\n                            SSL_PROTOCOL_TLSV1_1|SSL_PROTOCOL_TLSV1_2)"
    - item_type: preproc_def
      name: SSL_PROTOCOL_ALL
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_PROTOCOL_BASIC)
    - item_type: preproc_def
      name: SSL_PROTOCOL_DEFAULT
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_PROTOCOL_ALL & ~SSL_PROTOCOL_SSLV3)
    - item_type: preproc_def
      name: SSL_PROTOCOL_DEFAULT
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_PROTOCOL_ALL)
    - item_type: preproc_def
      name: SSL_VERIFY_PEER_STRICT
      pos:
        line_end: 484
        line_start: 482
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
    - item_type: preproc_def
      name: SSL_PCM_EXISTS
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_PCM_ISREG
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SSL_PCM_ISDIR
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SSL_PCM_ISNONZERO
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MODSSL_RETAINED_KEY
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '"mod_ssl-retained-1"'
    - item_type: preproc_def
      name: SSL_CACHE_MUTEX_TYPE
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '"ssl-cache"'
    - item_type: preproc_def
      name: SSL_STAPLING_CACHE_MUTEX_TYPE
      pos:
        line_end: 1211
        line_start: 1210
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '"ssl-stapling"'
    - item_type: preproc_def
      name: SSL_STAPLING_REFRESH_MUTEX_TYPE
      pos:
        line_end: 1212
        line_start: 1211
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: '"ssl-stapling-refresh"'
    - item_type: preproc_def
      name: SSLLOG_MARK
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type_or_value: __FILE__,__LINE__
    structs:
    - fields:
      - name: '*cpExpr'
        type: char
      - name: '*mpExpr'
        type: ap_expr_info_t
      item_type: struct
      name: ssl_require_t
      pos:
        line_end: 549
        line_start: 546
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: nCtx
        type: ssl_rsctx_t
      - name: nSrc
        type: ssl_rssrc_t
      - name: '*cpPath'
        type: char
      - name: nBytes
        type: int
      item_type: struct
      name: ssl_randseed_t
      pos:
        line_end: 569
        line_start: 564
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: nData
        type: long int
      - name: '*cpData'
        type: unsigned char
      - name: source_mtime
        type: apr_time_t
      item_type: struct
      name: ssl_asn1_t
      pos:
        line_end: 591
        line_start: 587
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: version
        type: unsigned int
      - name: ciphers_len
        type: apr_size_t
      - name: '*ciphers_data'
        type: unsigned char
      - name: extids_len
        type: apr_size_t
      - name: '*extids_data'
        type: int
      - name: ecgroups_len
        type: apr_size_t
      - name: '*ecgroups_data'
        type: unsigned char
      - name: ecformats_len
        type: apr_size_t
      - name: '*ecformats_data'
        type: unsigned char
      - name: sigalgos_len
        type: apr_size_t
      - name: '*sigalgos_data'
        type: unsigned char
      - name: alpn_len
        type: apr_size_t
      - name: '*alpn_data'
        type: unsigned char
      - name: versions_len
        type: apr_size_t
      - name: '*versions_data'
        type: unsigned char
      item_type: struct
      name: modssl_clienthello_vars
      pos:
        line_end: 639
        line_start: 623
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*ssl'
        type: SSL
      - name: '*client_dn'
        type: char
      - name: '*client_cert'
        type: X509
      - name: shutdown_type
        type: ssl_shutdown_type_e
      - name: '*verify_info'
        type: char
      - name: '*verify_error'
        type: char
      - name: verify_depth
        type: int
      - name: disabled
        type: int
      - name: non_ssl_request
        type: "enum {\n        NON_SSL_OK = 0,        /* is SSL request, or error
          handling completed */\n        NON_SSL_SEND_REQLINE,  /* Need to send the
          fake request line */\n        NON_SSL_SEND_HDR_SEP,  /* Need to send the
          header separator */\n        NON_SSL_SET_ERROR_MSG  /* Need to set the error
          message */\n    }"
      - name: '*server'
        type: server_rec
      - name: '*dc'
        type: SSLDirConfigRec
      - name: '*cipher_suite'
        type: char
      - name: service_unavailable
        type: int
      - name: vhost_found
        type: int
      item_type: struct
      name: SSLConnRec
      pos:
        line_end: 676
        line_start: 642
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*key_ids'
        type: apr_hash_t
      - name: '*privkeys'
        type: apr_hash_t
      item_type: struct
      name: modssl_retained_data_t
      pos:
        line_end: 707
        line_start: 690
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: bFixed
        type: BOOL
      - name: sesscache_mode
        type: long
      - name: '*retained'
        type: modssl_retained_data_t
      - name: '*sesscache'
        type: ap_socache_provider_t
      - name: '*sesscache_context'
        type: ap_socache_instance_t
      - name: '*pMutex'
        type: apr_global_mutex_t
      - name: snivh_policy
        type: modssl_snivhpolicy_t
      item_type: struct
      name: SSLModConfigRec
      pos:
        line_end: 751
        line_start: 709
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*cert_files'
        type: apr_array_header_t
      - name: '*key_files'
        type: apr_array_header_t
      - name: '*ca_name_path'
        type: char
      - name: '*ca_name_file'
        type: char
      - name: service_unavailable
        type: int
      item_type: struct
      name: modssl_pk_server_t
      pos:
        line_end: 767
        line_start: 755
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*cert_file'
        type: char
      - name: '*cert_path'
        type: char
      - name: '*ca_cert_file'
        type: char
      - name: '*certs'
        type: STACK_OF
      - name: '**ca_certs'
        type: STACK_OF
      item_type: struct
      name: modssl_pk_proxy_t
      pos:
        line_end: 781
        line_start: 769
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*ca_cert_path'
        type: char
      - name: '*ca_cert_file'
        type: char
      - name: '*cipher_suite'
        type: char
      - name: verify_depth
        type: int
      - name: verify_mode
        type: ssl_verify_t
      - name: '*tls13_ciphers'
        type: char
      item_type: struct
      name: modssl_auth_ctx_t
      pos:
        line_end: 799
        line_start: 784
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*file_path'
        type: char
      - name: key_name[16]
        type: unsigned char
      - name: aes_key[16]
        type: unsigned char
      item_type: struct
      name: modssl_ticket_key_t
      pos:
        line_end: 811
        line_start: 802
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: ssl_ctx_param_t
      pos:
        line_end: 818
        line_start: 815
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*sc'
        type: SSLSrvConfigRec
      - name: '*ssl_ctx'
        type: SSL_CTX
      - name: '*pks'
        type: modssl_pk_server_t
      - name: '*pkp'
        type: modssl_pk_proxy_t
      - name: protocol
        type: ssl_proto_t
      - name: protocol_set
        type: int
      - name: pphrase_dialog_type
        type: ssl_pphrase_t
      - name: '*pphrase_dialog_path'
        type: char
      - name: '*cert_chain'
        type: char
      - name: '*crl_path'
        type: char
      - name: '*crl_file'
        type: char
      - name: crl_check_mask
        type: int
      - name: auth
        type: modssl_auth_ctx_t
      - name: ocsp_mask
        type: int
      - name: ocsp_force_default
        type: BOOL
      - name: '*ocsp_responder'
        type: char
      - name: ocsp_resptime_skew
        type: long
      - name: ocsp_resp_maxage
        type: long
      - name: ocsp_responder_timeout
        type: apr_interval_time_t
      - name: ocsp_use_request_nonce
        type: BOOL
      - name: '*proxy_uri'
        type: apr_uri_t
      - name: ocsp_noverify
        type: BOOL
      - name: ocsp_verify_flags
        type: int
      - name: '*ocsp_certs_file'
        type: char
      - name: '*ocsp_certs'
        type: STACK_OF
      - name: ssl_check_peer_cn
        type: BOOL
      - name: ssl_check_peer_name
        type: BOOL
      - name: ssl_check_peer_expire
        type: BOOL
      item_type: struct
      name: modssl_ctx_t
      pos:
        line_end: 892
        line_start: 821
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: '*mc'
        type: SSLModConfigRec
      - name: enabled
        type: ssl_enabled_t
      - name: '*vhost_id'
        type: char
      - name: '*vhost_md5'
        type: unsigned char
      - name: session_cache_timeout
        type: int
      - name: cipher_server_pref
        type: BOOL
      - name: '*server'
        type: modssl_ctx_t
      - name: session_tickets
        type: BOOL
      - name: clienthello_vars
        type: BOOL
      item_type: struct
      name: SSLSrvConfigRec
      pos:
        line_end: 914
        line_start: 894
        source_file: /src/httpd/modules/ssl/ssl_private.h
    - fields:
      - name: bSSLRequired
        type: BOOL
      - name: '*aRequirement'
        type: apr_array_header_t
      - name: nOptions
        type: ssl_opt_t
      - name: nOptionsAdd
        type: ssl_opt_t
      - name: nOptionsDel
        type: ssl_opt_t
      - name: '*szCipherSuite'
        type: char
      - name: nVerifyClient
        type: ssl_verify_t
      - name: nVerifyDepth
        type: int
      - name: '*szUserName'
        type: char
      - name: nRenegBufferSize
        type: apr_size_t
      - name: '*proxy'
        type: modssl_ctx_t
      - name: proxy_enabled
        type: BOOL
      - name: proxy_post_config
        type: BOOL
      item_type: struct
      name: SSLDirConfigRec
      pos:
        line_end: 936
        line_start: 921
        source_file: /src/httpd/modules/ssl/ssl_private.h
    typedefs:
    - item_type: typedef
      name: ssl_opt_t
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type: int
    - item_type: typedef
      name: ssl_proto_t
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type: int
    - item_type: typedef
      name: ssl_pathcheck_t
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type: unsigned int
    - item_type: typedef
      name: SSLSrvConfigRec
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type: SSLSrvConfigRec
    - item_type: typedef
      name: SSLDirConfigRec
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/httpd/modules/ssl/ssl_private.h
      type: SSLDirConfigRec
    union: []
- function_names:
  - ssl_get_effective_config
  - ssl_conn_is_ssl
  - ssl_var_lookup_ssl_cert_data
  - ssl_get_tls_cb
  - expr_peer_ext_list_fn
  - expr_var_fn
  - expr_func_fn
  - ssl_expr_lookup
  - ssl_var_register
  - ssl_var_lookup
  - MKTIMESTR
  - ssl_var_lookup_ech_status
  - ssl_var_lookup_ssl
  - ssl_var_lookup_ssl_cert_dn_oneline
  - ssl_var_lookup_ssl_cert
  - ssl_var_lookup_ssl_cert_dn
  - ssl_var_lookup_ssl_cert_san
  - ssl_var_lookup_ssl_cert_valid
  - INVALID_ASN1_TIME
  - ssl_var_lookup_ssl_cert_remain
  - DIGIT2NUM
  - ssl_var_lookup_ssl_cert_serial
  - ssl_var_lookup_ssl_cert_chain
  - ssl_var_lookup_ssl_cert_rfc4523_cea
  - ssl_var_lookup_ssl_cert_verify
  - ssl_var_lookup_ssl_cipher
  - ssl_var_lookup_ssl_cipher_bits
  - ssl_var_lookup_ssl_handshake_rtt
  - ssl_var_lookup_ssl_clienthello
  - ssl_var_lookup_ssl_version
  - extract_dn
  - modssl_var_extract_dns
  - extract_san_array
  - modssl_var_extract_san_entries
  - dump_extn_value
  - ssl_ext_list
  source_file: /src/httpd/modules/ssl/ssl_engine_vars.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_CB_MAX
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/modules/ssl/ssl_engine_vars.c
      type_or_value: EVP_MAX_MD_SIZE
    - item_type: preproc_def
      name: TLS_UNIQUE_PREFIX
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/ssl/ssl_engine_vars.c
      type_or_value: '"tls-unique:"'
    - item_type: preproc_def
      name: TLS_SERVER_END_POINT_PREFIX
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/ssl/ssl_engine_vars.c
      type_or_value: '"tls-server-end-point:"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: nid
        type: int
      - name: extract
        type: int
      item_type: struct
      name: "ssl_var_lookup_ssl_cert_dn_rec[] = {\n    { \"C\",     NID_countryName,
        \           1 },\n    { \"ST\",    NID_stateOrProvinceName,    1 }, /* officially
        \   (RFC2156) */\n    { \"SP\",    NID_stateOrProvinceName,    0 }, /* compatibility
        (SSLeay)  */\n    { \"L\",     NID_localityName,           1 },\n    { \"O\",
        \    NID_organizationName,       1 },\n    { \"OU\",    NID_organizationalUnitName,
        1 },\n    { \"CN\",    NID_commonName,             1 },\n    { \"T\",     NID_title,
        \                 1 },\n    { \"I\",     NID_initials,               1 },\n
        \   { \"G\",     NID_givenName,              1 },\n    { \"S\",     NID_surname,
        \               1 },\n    { \"D\",     NID_description,            1 },\n
        \   { \"SerialNumber\", NID_serialNumber,    1 },\n#ifdef NID_userId\n    {
        \"UID\",   NID_userId,                 1 },\n#endif\n    { \"Email\", NID_pkcs9_emailAddress,
        \    1 },\n    { NULL,    0,                          0 }\n}"
      pos:
        line_end: 709
        line_start: 705
        source_file: /src/httpd/modules/ssl/ssl_engine_vars.c
    typedefs: []
    union: []
- function_names:
  - exists_and_readable
  - privkey_vhost_keyid
  - pphrase_array_get
  - ssl_pipe_child_create
  - pipe_get_passwd_cb
  - ssl_pphrase_Handle_CB
  - passphrase_ui_open
  - passphrase_ui_read
  - passphrase_ui_write
  - passphrase_ui_close
  - pp_ui_method_cleanup
  - get_passphrase_ui
  - modssl_engine_cleanup
  - modssl_load_keypair_engine
  - modssl_load_store_uri
  - modssl_load_keypair_store
  - modssl_load_engine_keypair
  source_file: /src/httpd/modules/ssl/ssl_engine_pphrase.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILTIN_DIALOG_BACKOFF
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/modules/ssl/ssl_engine_pphrase.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BUILTIN_DIALOG_RETRIES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/httpd/modules/ssl/ssl_engine_pphrase.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*s'
        type: server_rec
      - name: '*p'
        type: apr_pool_t
      - name: '*aPassPhrase'
        type: apr_array_header_t
      - name: nPassPhraseCur
        type: int
      - name: '*cpPassPhraseCur'
        type: char
      - name: nPassPhraseDialog
        type: int
      - name: nPassPhraseDialogCur
        type: int
      - name: bPassPhraseDialogOnce
        type: BOOL
      - name: '*key_id'
        type: char
      - name: '*pkey_file'
        type: char
      item_type: struct
      name: pphrase_cb_arg_t
      pos:
        line_end: 48
        line_start: 37
        source_file: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: params = { certid, NULL }
      pos:
        line_end: 868
        line_start: 865
        source_file: /src/httpd/modules/ssl/ssl_engine_pphrase.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_store_fs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_FPROT_F_UONLY
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (APR_FPROT_UREAD|APR_FPROT_UWRITE)
    - item_type: preproc_def
      name: MD_FPROT_D_UONLY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (MD_FPROT_F_UONLY|APR_FPROT_UEXECUTE)
    - item_type: preproc_def
      name: MD_FPROT_F_UALL_GREAD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (MD_FPROT_F_UONLY|APR_FPROT_GREAD)
    - item_type: preproc_def
      name: MD_FPROT_D_UALL_GREAD
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (MD_FPROT_D_UONLY|APR_FPROT_GREAD|APR_FPROT_GEXECUTE)
    - item_type: preproc_def
      name: MD_FPROT_F_UALL_WREAD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (MD_FPROT_F_UALL_GREAD|APR_FPROT_WREAD)
    - item_type: preproc_def
      name: MD_FPROT_D_UALL_WREAD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/md/md_store_fs.h
      type_or_value: (MD_FPROT_D_UALL_GREAD|APR_FPROT_WREAD|APR_FPROT_WEXECUTE)
    structs: []
    typedefs:
    - item_type: typedef
      name: "md_store_fs_cb(void *baton, struct md_store_t *store,\n                                    md_store_fs_ev_t
        ev, unsigned int group, \n                                    const char *fname,
        apr_filetype_e ftype,  \n                                    apr_pool_t *p)"
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/httpd/modules/md/md_store_fs.h
      type: apr_status_t
    union: []
- function_names:
  - curl_status
  - req_data_cb
  - resp_data_cb
  - header_cb
  - curlify_headers
  - timeout_msec
  - timeout_sec
  - curl_debug_log
  - internals_setup
  - update_status
  - fire_status
  - md_curl_perform
  - find_curl_request
  - add_to_curlm
  - remove_from_curlm_and_destroy
  - md_curl_multi_perform
  - md_curl_init
  - md_curl_req_cleanup
  - md_curl_cleanup
  - md_curl_get_impl
  source_file: /src/httpd/modules/md/md_curl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*curl'
        type: CURL
      - name: '*curlm'
        type: CURLM
      - name: '*req_hdrs'
        type: struct curl_slist
      - name: '*response'
        type: md_http_response_t
      - name: rv
        type: apr_status_t
      - name: status_fired
        type: int
      item_type: struct
      name: md_curl_internals_t
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/httpd/modules/md/md_curl.c
    - fields:
      - name: '*req'
        type: md_http_request_t
      - name: '*hdrs'
        type: struct curl_slist
      - name: rv
        type: apr_status_t
      item_type: struct
      name: curlify_hdrs_ctx
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/httpd/modules/md/md_curl.c
    typedefs: []
    union: []
- function_names:
  - staple_here
  - md_ocsp_prime_status
  - md_ocsp_provide_status
  - next_run_default
  - run_watchdog
  - ocsp_remove_old_responses
  - md_ocsp_start_watching
  source_file: /src/httpd/modules/md/mod_md_ocsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_OCSP_WATCHDOG_NAME
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/modules/md/mod_md_ocsp.c
      type_or_value: '"_md_ocsp_"'
    structs:
    - fields:
      - name: '*der'
        type: unsigned char
      - name: der_len
        type: apr_size_t
      item_type: struct
      name: ocsp_copy_ctx_t
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/httpd/modules/md/mod_md_ocsp.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*s'
        type: server_rec
      - name: '*mc'
        type: md_mod_conf_t
      - name: '*watchdog'
        type: ap_watchdog_t
      item_type: struct
      name: md_ocsp_ctx_t
      pos:
        line_end: 148
        line_start: 143
        source_file: /src/httpd/modules/md/mod_md_ocsp.c
    typedefs:
    - item_type: typedef
      name: md_ocsp_ctx_t
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/httpd/modules/md/mod_md_ocsp.c
      type: md_ocsp_ctx_t
    union: []
- function_names:
  - HTML_STATUS
  - md_http_cert_status
  - si_val_status
  - si_val_url
  - print_date
  - print_time
  - si_val_valid_time
  - si_add_header
  - si_val_cert_valid_time
  - val_url_print
  - si_val_ca_urls
  - count_certs
  - print_job_summary
  - si_val_activity
  - cert_check_iter
  - si_val_remote_check
  - si_val_stapling
  - json_iter_val
  - add_json_val
  - si_val_names
  - add_status_cell
  - add_md_row
  - md_name_cmp
  - md_domains_status_hook
  - si_val_ocsp_activity
  - add_ocsp_row
  - md_ocsp_status_hook
  - md_status_handler
  source_file: /src/httpd/modules/md/mod_md_status.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_PREFIX
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/md/mod_md_status.c
      type_or_value: '"/.httpd/"'
    - item_type: preproc_def
      name: MD_STATUS_RESOURCE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/md/mod_md_status.c
      type_or_value: APACHE_PREFIX"certificate-status"
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*mc'
        type: md_mod_conf_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: flags
        type: int
      - name: '*prefix'
        type: char
      - name: '*separator'
        type: char
      item_type: struct
      name: status_ctx
      pos:
        line_end: 156
        line_start: 149
        source_file: /src/httpd/modules/md/mod_md_status.c
    - fields:
      - name: '*label'
        type: char
      - name: '*key'
        type: char
      - name: '*fn'
        type: add_status_fn
      item_type: struct
      name: status_info
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/httpd/modules/md/mod_md_status.c
    typedefs:
    - item_type: typedef
      name: status_info
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/httpd/modules/md/mod_md_status.c
      type: status_info
    - item_type: typedef
      name: add_status_fn(status_ctx *ctx, md_json_t *mdj, const status_info *info)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/httpd/modules/md/mod_md_status.c
      type: void
    union: []
- function_names:
  - log_is_level
  - log_print
  - init_ssl
  - cleanup_setups
  - init_setups
  - notify
  - on_event
  - store_file_ev
  - check_group_dir
  - setup_store
  - merge_srv_config
  - check_coverage
  - md_cover_server
  - uses_port
  - detect_supported_protocols
  - get_public_https_server
  - auto_add_domains
  - init_acme_tls_1_domains
  - link_md_to_servers
  - link_mds_to_servers
  - merge_mds_with_conf
  - check_invalid_duplicates
  - check_usage
  - init_cert_watch_status
  - md_post_config_before_ssl
  - md_post_config_after_ssl
  - md_protocol_get
  - md_protocol_propose
  - md_protocol_switch
  - fallback_fnames
  - make_fallback_cert
  - get_certificates
  - md_add_cert_files
  - md_add_fallback_cert_files
  - md_get_challenge_cert
  - md_answer_challenge
  - md_http_challenge_pr
  - md_require_https_maybe
  - md_child_init
  - md_hooks
  source_file: /src/httpd/modules/md/mod_md.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_BUF_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/md/mod_md.c
      type_or_value: 16*1024
    - item_type: preproc_def
      name: WELL_KNOWN_PREFIX
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/httpd/modules/md/mod_md.c
      type_or_value: '"/.well-known/"'
    - item_type: preproc_def
      name: ACME_CHALLENGE_PREFIX
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/httpd/modules/md/mod_md.c
      type_or_value: WELL_KNOWN_PREFIX"acme-challenge/"
    structs:
    - fields:
      - name: '*reason'
        type: char
      - name: min_interim
        type: apr_time_t
      item_type: struct
      name: notify_rate
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/httpd/modules/md/mod_md.c
    - fields:
      - name: '*protocol'
        type: char
      item_type: struct
      name: md_conn_ctx
      pos:
        line_end: 1050
        line_start: 1048
        source_file: /src/httpd/modules/md/mod_md.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_status.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - seed_RAND
  - rand_choosenum
  - seed_RAND
  - md_crypt_init
  - fwrite_buffer
  - md_rand_bytes
  - pem_passwd
  - md_asn1_time_get
  - md_asn1_generalized_time_get
  - get_nid
  - MD_GET_NID
  - md_pkeys_spec_make
  - md_pkeys_spec_add
  - md_pkeys_spec_add_default
  - md_pkeys_spec_contains_rsa
  - md_pkeys_spec_add_rsa
  - md_pkeys_spec_contains_ec
  - md_pkeys_spec_add_ec
  - md_pkey_spec_to_str
  - md_pkey_spec_to_json
  - spec_to_json
  - md_pkeys_spec_to_json
  - md_pkey_spec_from_json
  - spec_from_json
  - md_pkeys_spec_from_json
  - md_pkey_spec_eq
  - md_pkeys_spec_eq
  - pkey_spec_clone
  - md_pkey_spec_name
  - md_pkeys_spec_is_empty
  - md_pkeys_spec_clone
  - md_pkeys_spec_count
  - md_pkeys_spec_get
  - make_pkey
  - pkey_cleanup
  - md_pkey_free
  - md_pkey_get_EVP_PKEY
  - md_pkey_fload
  - md_pkey_fsave
  - md_pkey_read_http
  - pkey_get_MD
  - gen_rsa
  - gen_ec
  - md_pkey_gen
  - RSA_get0_key
  - bn64
  - md_pkey_get_rsa_e64
  - md_pkey_get_rsa_n64
  - md_crypt_sign64
  - sha256_digest
  - md_crypt_sha256_digest64
  - md_crypt_sha256_digest_hex
  - md_crypt_hmac64
  - cert_cleanup
  - md_cert_wrap
  - md_cert_make
  - md_cert_get_X509
  - md_cert_get_serial_number
  - md_certs_are_equal
  - md_cert_is_valid_now
  - md_cert_has_expired
  - md_cert_get_not_after
  - md_cert_get_not_before
  - md_cert_get_valid
  - md_cert_covers_domain
  - md_cert_covers_md
  - md_cert_get_issuer_name
  - md_cert_get_issuers_uri
  - md_cert_get_alt_names
  - md_cert_fload
  - cert_to_buffer
  - md_cert_fsave
  - md_cert_to_base64url
  - md_cert_to_sha256_digest
  - md_cert_to_sha256_fingerprint
  - md_cert_read_pem
  - md_cert_read_http
  - md_cert_chain_read_http
  - md_cert_state_get
  - md_chain_fappend
  - md_chain_fload
  - md_chain_fsave
  - alt_names
  - add_ext
  - md_cert_must_staple
  - md_cert_req_create
  - mk_x509
  - md_cert_self_sign
  - get_acme_validation_nid
  - md_cert_make_tls_alpn_01
  - get_ct_scts_nid
  - md_nid_get_sname
  - md_nid_get_lname
  - md_cert_get_ct_scts
  - md_cert_get_ocsp_responder_url
  - md_check_cert_and_pkey
  - md_cert_get_ari_cert_id
  source_file: /src/httpd/modules/md/md_crypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_HAVE_CT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MD_HAVE_CT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MD_OID_MUST_STAPLE_NUM
      pos:
        line_end: 1819
        line_start: 1818
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"1.3.6.1.5.5.7.1.24"'
    - item_type: preproc_def
      name: MD_OID_MUST_STAPLE_SNAME
      pos:
        line_end: 1820
        line_start: 1819
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"tlsfeature"'
    - item_type: preproc_def
      name: MD_OID_MUST_STAPLE_LNAME
      pos:
        line_end: 1821
        line_start: 1820
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"TLS Feature" '
    - item_type: preproc_def
      name: MD_OID_ACME_VALIDATION_NUM
      pos:
        line_end: 2058
        line_start: 2057
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"1.3.6.1.5.5.7.1.31"'
    - item_type: preproc_def
      name: MD_OID_ACME_VALIDATION_SNAME
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"pe-acmeIdentifier"'
    - item_type: preproc_def
      name: MD_OID_ACME_VALIDATION_LNAME
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"ACME Identifier" '
    - item_type: preproc_def
      name: MD_OID_CT_SCTS_NUM
      pos:
        line_end: 2113
        line_start: 2112
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"1.3.6.1.4.1.11129.2.4.2"'
    - item_type: preproc_def
      name: MD_OID_CT_SCTS_SNAME
      pos:
        line_end: 2114
        line_start: 2113
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"CT-SCTs"'
    - item_type: preproc_def
      name: MD_OID_CT_SCTS_LNAME
      pos:
        line_end: 2115
        line_start: 2114
        source_file: /src/httpd/modules/md/md_crypt.c
      type_or_value: '"CT Certificate SCTs" '
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*pkey'
        type: EVP_PKEY
      item_type: struct
      name: md_pkey_t
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/httpd/modules/md/md_crypt.c
    - fields:
      - name: t
        type: time_t
      - name: pid
        type: pid_t
      item_type: struct
      name: my_seed
      pos:
        line_end: 116
        line_start: 113
        source_file: /src/httpd/modules/md/md_crypt.c
    - fields:
      - name: '*pass_phrase'
        type: char
      - name: pass_len
        type: int
      item_type: struct
      name: passwd_ctx
      pos:
        line_end: 185
        line_start: 182
        source_file: /src/httpd/modules/md/md_crypt.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*x509'
        type: X509
      - name: '*alt_names'
        type: apr_array_header_t
      item_type: struct
      name: md_cert_t
      pos:
        line_end: 1203
        line_start: 1199
        source_file: /src/httpd/modules/md/md_crypt.c
    typedefs: []
    union: []
- function_names:
  - md_contains
  - md_common_name
  - md_domains_overlap
  - md_common_name_count
  - md_is_covered_by_alt_names
  - md_create_empty
  - md_equal_domains
  - md_contains_domains
  - md_get_by_name
  - md_get_by_domain
  - md_get_by_dns_overlap
  - md_cert_count
  - md_create
  - md_copy
  - md_clone
  - md_to_json
  - md_from_json
  - md_to_public_json
  - md_get_ca_name_from_url
  - md_get_ca_url_from_name
  source_file: /src/httpd/modules/md/md_core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LE_ACMEv2_PROD
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/httpd/modules/md/md_core.c
      type_or_value: '"https://acme-v02.api.letsencrypt.org/directory"'
    - item_type: preproc_def
      name: LE_ACMEv2_STAGING
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/httpd/modules/md/md_core.c
      type_or_value: '"https://acme-staging-v02.api.letsencrypt.org/directory"'
    - item_type: preproc_def
      name: BUYPASS_ACME
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/httpd/modules/md/md_core.c
      type_or_value: '"https://api.buypass.com/acme/directory"'
    - item_type: preproc_def
      name: BUYPASS_ACME_TEST
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/httpd/modules/md/md_core.c
      type_or_value: '"https://api.test4.buypass.no/acme/directory"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*url'
        type: char
      item_type: struct
      name: md_ca_t
      pos:
        line_end: 421
        line_start: 418
        source_file: /src/httpd/modules/md/md_core.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: apr_cstr_casecmp
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/md/md_util.h
      type_or_value: apr_strnatcasecmp
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: len
        type: apr_size_t
      - name: '*free_data'
        type: md_data_free_fn
      item_type: struct
      name: md_data_t
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/httpd/modules/md/md_util.h
    typedefs:
    - item_type: typedef
      name: md_util_action(void *baton, apr_pool_t *p, apr_pool_t *ptemp)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/httpd/modules/md/md_util.h
      type: apr_status_t
    - item_type: typedef
      name: md_util_vaction(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list
        ap)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/httpd/modules/md/md_util.h
      type: apr_status_t
    - item_type: typedef
      name: md_data_free_fn(void *data)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/httpd/modules/md/md_util.h
      type: void
    - item_type: typedef
      name: md_data_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/httpd/modules/md/md_util.h
      type: md_data_t
    - item_type: typedef
      name: md_util_file_cb(void *baton, struct apr_file_t *f, apr_pool_t *p)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/httpd/modules/md/md_util.h
      type: apr_status_t
    - item_type: typedef
      name: "md_util_fdo_cb(void *baton, apr_pool_t *p, apr_pool_t *ptemp, \n                                         const
        char *dir, const char *name, \n                                         apr_filetype_e
        ftype)"
      pos:
        line_end: 222
        line_start: 220
        source_file: /src/httpd/modules/md/md_util.h
      type: apr_status_t
    - item_type: typedef
      name: md_util_try_fn(void *baton, int i)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/httpd/modules/md/md_util.h
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_os.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_config.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mds'
        type: apr_array_header_t
      - name: '*base_dir'
        type: char
      - name: '*reg'
        type: struct md_reg_t
      - name: '*ocsp'
        type: struct md_ocsp_reg_t
      - name: local_80
        type: int
      - name: local_443
        type: int
      - name: can_http
        type: int
      - name: can_https
        type: int
      - name: manage_base_server
        type: int
      - name: hsts_max_age
        type: int
      - name: '*hsts_header'
        type: char
      - name: '*unused_names'
        type: apr_array_header_t
      - name: '*init_errors'
        type: struct apr_hash_t
      - name: '*notify_cmd'
        type: char
      - name: '*message_cmd'
        type: char
      - name: '*env'
        type: struct apr_table_t
      - name: dry_run
        type: int
      - name: server_status_enabled
        type: int
      - name: certificate_status_enabled
        type: int
      - name: '*ocsp_keep_window'
        type: md_timeslice_t
      - name: '*ocsp_renew_window'
        type: md_timeslice_t
      - name: '*cert_check_name'
        type: char
      - name: '*cert_check_url'
        type: char
      - name: initial_delay
        type: apr_time_t
      - name: check_interval
        type: apr_time_t
      - name: min_delay
        type: apr_time_t
      - name: retry_failover
        type: int
      - name: use_store_locks
        type: int
      - name: lock_wait_timeout
        type: apr_time_t
      - name: match_mode
        type: md_match_mode_t
      item_type: struct
      name: md_mod_conf_t
      pos:
        line_end: 84
        line_start: 51
        source_file: /src/httpd/modules/md/mod_md_config.h
    - fields:
      - name: '*name'
        type: char
      - name: '*s'
        type: server_rec
      - name: '*mc'
        type: md_mod_conf_t
      - name: transitive
        type: int
      - name: require_https
        type: md_require_t
      - name: renew_mode
        type: int
      - name: must_staple
        type: int
      - name: '*pks'
        type: struct md_pkeys_spec_t
      - name: '*renew_window'
        type: md_timeslice_t
      - name: '*warn_window'
        type: md_timeslice_t
      - name: '*ca_urls'
        type: struct apr_array_header_t
      - name: '*ca_contact'
        type: char
      - name: '*ca_proto'
        type: char
      - name: '*ca_agreement'
        type: char
      - name: '*ca_challenges'
        type: struct apr_array_header_t
      - name: '*ca_eab_kid'
        type: char
      - name: '*ca_eab_hmac'
        type: char
      - name: '*profile'
        type: char
      - name: profile_mandatory
        type: int
      - name: stapling
        type: int
      - name: staple_others
        type: int
      - name: ari_renewals
        type: int
      - name: '*dns01_cmd'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*ca_certs'
        type: char
      - name: '*proxy_ca_certs'
        type: char
      - name: '*current'
        type: md_t
      - name: '*assigned'
        type: struct apr_array_header_t
      - name: is_ssl
        type: int
      item_type: struct
      name: md_srv_conf_t
      pos:
        line_end: 123
        line_start: 86
        source_file: /src/httpd/modules/md/mod_md_config.h
    typedefs:
    - item_type: typedef
      name: md_mod_conf_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/httpd/modules/md/mod_md_config.h
      type: md_mod_conf_t
    union: []
- function_names:
  - md_http_use_implementation
  - http_cleanup
  - md_http_create
  - md_http_clone
  - md_http_set_impl_data
  - md_http_get_impl_data
  - md_http_set_response_limit
  - md_http_set_timeout_default
  - md_http_set_timeout
  - md_http_set_connect_timeout_default
  - md_http_set_connect_timeout
  - md_http_set_stalling_default
  - md_http_set_stalling
  - md_http_set_ca_file
  - md_http_set_proxy_ca_file
  - md_http_set_unix_socket_path
  - req_set_body
  - req_set_body_data
  - req_create
  - md_http_req_destroy
  - md_http_set_on_status_cb
  - md_http_set_on_response_cb
  - md_http_perform
  - proxy_nextreq
  - md_http_multi_perform
  - md_http_GET_create
  - md_http_HEAD_create
  - md_http_POST_create
  - md_http_POSTd_create
  - md_http_GET_perform
  - md_http_HEAD_perform
  - md_http_POST_perform
  - md_http_POSTd_perform
  source_file: /src/httpd/modules/md/md_http.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*bucket_alloc'
        type: apr_bucket_alloc_t
      - name: next_id
        type: int
      - name: resp_limit
        type: apr_off_t
      - name: '*impl'
        type: md_http_impl_t
      - name: '*impl_data'
        type: void
      - name: '*user_agent'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*unix_socket_path'
        type: char
      - name: timeout
        type: md_http_timeouts_t
      - name: '*ca_file'
        type: char
      - name: '*proxy_ca_file'
        type: char
      item_type: struct
      name: md_http_t
      pos:
        line_end: 39
        line_start: 26
        source_file: /src/httpd/modules/md/md_http.c
    - fields:
      - name: '*nextreq'
        type: md_http_next_req
      - name: '*baton'
        type: void
      item_type: struct
      name: nextreq_proxy_t
      pos:
        line_end: 283
        line_start: 280
        source_file: /src/httpd/modules/md/md_http.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_json.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: md_json_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/httpd/modules/md/md_json.h
      type: md_json_t
    - item_type: typedef
      name: md_json_to_cb(void *value, md_json_t *json, apr_pool_t *p, void *baton)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/httpd/modules/md/md_json.h
      type: apr_status_t
    - item_type: typedef
      name: md_json_from_cb(void **pvalue, md_json_t *json, apr_pool_t *p, void *baton)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/httpd/modules/md/md_json.h
      type: apr_status_t
    - item_type: typedef
      name: md_json_itera_cb(void *baton, size_t index, md_json_t *json)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/httpd/modules/md/md_json.h
      type: int
    - item_type: typedef
      name: md_json_iterkey_cb(void *baton, const char* key, md_json_t *json)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/httpd/modules/md/md_json.h
      type: int
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_acmev2_drive.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_http.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*on_status'
        type: md_http_status_cb
      - name: '*on_status_data'
        type: void
      - name: '*on_response'
        type: md_http_response_cb
      - name: '*on_response_data'
        type: void
      item_type: struct
      name: md_http_callbacks_t
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/httpd/modules/md/md_http.h
    - fields:
      - name: overall
        type: apr_time_t
      - name: connect
        type: apr_time_t
      - name: stall_bytes_per_sec
        type: long
      - name: stalled
        type: apr_time_t
      item_type: struct
      name: md_http_timeouts_t
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/httpd/modules/md/md_http.h
    - fields:
      - name: '*http'
        type: md_http_t
      - name: '*pool'
        type: apr_pool_t
      - name: id
        type: int
      - name: '*bucket_alloc'
        type: struct apr_bucket_alloc_t
      - name: '*method'
        type: char
      - name: '*url'
        type: char
      - name: '*user_agent'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*ca_file'
        type: char
      - name: '*proxy_ca_file'
        type: char
      - name: '*unix_socket_path'
        type: char
      - name: '*headers'
        type: apr_table_t
      - name: '*body'
        type: struct apr_bucket_brigade
      - name: body_len
        type: apr_off_t
      - name: resp_limit
        type: apr_off_t
      - name: timeout
        type: md_http_timeouts_t
      - name: cb
        type: md_http_callbacks_t
      - name: '*internals'
        type: void
      item_type: struct
      name: md_http_request_t
      pos:
        line_end: 76
        line_start: 57
        source_file: /src/httpd/modules/md/md_http.h
    - fields:
      - name: '*req'
        type: md_http_request_t
      - name: status
        type: int
      - name: '*headers'
        type: apr_table_t
      - name: '*body'
        type: struct apr_bucket_brigade
      item_type: struct
      name: md_http_response_t
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/httpd/modules/md/md_http.h
    - fields:
      - name: '*init'
        type: md_http_init_cb
      - name: '*req_cleanup'
        type: md_http_req_cleanup_cb
      - name: '*perform'
        type: md_http_perform_cb
      - name: '*multi_perform'
        type: md_http_multi_perform_cb
      - name: '*cleanup'
        type: md_http_cleanup_cb
      item_type: struct
      name: md_http_impl_t
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/httpd/modules/md/md_http.h
    typedefs:
    - item_type: typedef
      name: md_http_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_t
    - item_type: typedef
      name: md_http_request_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_request_t
    - item_type: typedef
      name: md_http_response_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_response_t
    - item_type: typedef
      name: md_http_status_cb(const md_http_request_t *req, apr_status_t status, void
        *data)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: md_http_response_cb(const md_http_response_t *res, void *data)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: md_http_callbacks_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_callbacks_t
    - item_type: typedef
      name: md_http_timeouts_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_timeouts_t
    - item_type: typedef
      name: "md_http_next_req(md_http_request_t **preq, void *baton, \n                                      md_http_t
        *http, int in_flight)"
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: md_http_init_cb(void)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: md_http_cleanup_cb(md_http_t *req, apr_pool_t *p)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/httpd/modules/md/md_http.h
      type: void
    - item_type: typedef
      name: md_http_req_cleanup_cb(md_http_request_t *req)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/httpd/modules/md/md_http.h
      type: void
    - item_type: typedef
      name: md_http_perform_cb(md_http_request_t *req)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: "md_http_multi_perform_cb(md_http_t *http, apr_pool_t *p, \n                                              md_http_next_req
        *nextreq, void *baton)"
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/httpd/modules/md/md_http.h
      type: apr_status_t
    - item_type: typedef
      name: md_http_impl_t
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/httpd/modules/md/md_http.h
      type: md_http_impl_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_status.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: group
        type: md_store_group_t
      - name: '*mdomain'
        type: char
      - name: '*store'
        type: md_store_t
      - name: '*p'
        type: apr_pool_t
      - name: next_run
        type: apr_time_t
      - name: last_run
        type: apr_time_t
      - name: '*last_result'
        type: struct md_result_t
      - name: finished
        type: int
      - name: notified
        type: int
      - name: notified_renewed
        type: int
      - name: valid_from
        type: apr_time_t
      - name: error_runs
        type: int
      - name: fatal_error
        type: int
      - name: '*log'
        type: md_json_t
      - name: max_log
        type: apr_size_t
      - name: dirty
        type: int
      - name: '*observing'
        type: struct md_result_t
      - name: min_delay
        type: apr_time_t
      item_type: struct
      name: md_job_t
      pos:
        line_end: 71
        line_start: 51
        source_file: /src/httpd/modules/md/md_status.h
    typedefs:
    - item_type: typedef
      name: md_job_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/httpd/modules/md/md_status.h
      type: md_job_t
    union: []
- function_names:
  - acct_make
  - mk_acct_id
  - mk_acct_pattern
  - acct_st_from_str
  - md_acme_acct_to_json
  - md_acme_acct_from_json
  - md_acme_acct_save
  - md_acme_acct_load
  - md_acme_acct_matches_url
  - md_acme_acct_matches_md
  - find_acct
  - acct_find
  - acct_find_and_verify
  - md_acme_find_acct_for_md
  - md_acme_acct_id_for_md
  - on_init_acct_upd
  - acct_upd
  - md_acme_acct_update
  - md_acme_acct_validate
  - get_eab
  - on_init_acct_new
  - md_acme_acct_register
  - on_init_acct_del
  - md_acme_acct_deactivate
  - on_init_agree_tos
  - md_acme_agree
  - md_acme_check_agreement
  source_file: /src/httpd/modules/md/md_acme_acct.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*md'
        type: md_t
      - name: '*id'
        type: char
      item_type: struct
      name: find_ctx
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/httpd/modules/md/md_acme_acct.c
    - fields:
      - name: '*acme'
        type: md_acme_t
      - name: '*p'
        type: apr_pool_t
      - name: '*agreement'
        type: char
      - name: '*eab_kid'
        type: char
      - name: '*eab_hmac'
        type: char
      item_type: struct
      name: acct_ctx_t
      pos:
        line_end: 407
        line_start: 401
        source_file: /src/httpd/modules/md/md_acme_acct.c
    typedefs: []
    union: []
- function_names:
  - md_openssl_free
  - md_ocsp_cert_stat_name
  - md_ocsp_cert_stat_value
  - md_ocsp_init_id
  - ostat_req_cleanup
  - ostat_cleanup
  - ostat_should_renew
  - ostat_set
  - ostat_from_json
  - ostat_to_json
  - ocsp_status_refresh
  - ocsp_status_save
  - ocsp_reg_cleanup
  - md_ocsp_reg_make
  - md_ocsp_prime
  - md_ocsp_get_status
  - ocsp_get_meta
  - md_ocsp_get_meta
  - md_ocsp_count
  - certid_as_hex
  - certid_summary
  - certstatus_string
  - single_resp_summary
  - ostat_on_resp
  - ostat_on_req_status
  - ocsp_req_make
  - ocsp_req_assign_der
  - next_todo
  - select_updates
  - select_next_run
  - md_ocsp_renew
  - md_ocsp_remove_responses_older_than
  - add_to_summary
  - md_ocsp_get_summary
  - job_loadj
  - mk_jstat
  - add_ostat
  - md_ostat_cmp
  - md_ocsp_get_status_all
  - md_ocsp_job_make
  source_file: /src/httpd/modules/md/md_ocsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_OCSP_ID_LENGTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: SHA_DIGEST_LENGTH
    - item_type: preproc_def
      name: MD_OCSP_MAX_RESPONSE_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: MD_OCSP_DEFAULT_TIMEOUT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: apr_time_from_sec(60)
    - item_type: preproc_def
      name: MD_OCSP_CONNECT_TIMEOUT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: apr_time_from_sec(30)
    - item_type: preproc_def
      name: MD_OCSP_STALLING_BYTES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MD_OCSP_STALLING_TIME
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/md/md_ocsp.c
      type_or_value: apr_time_from_sec(30)
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*store'
        type: md_store_t
      - name: '*user_agent'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*id_by_external_id'
        type: apr_hash_t
      - name: '*ostat_by_id'
        type: apr_hash_t
      - name: '*mutex'
        type: apr_thread_mutex_t
      - name: renew_window
        type: md_timeslice_t
      - name: '*notify'
        type: md_job_notify_cb
      - name: '*notify_ctx'
        type: void
      - name: min_delay
        type: apr_time_t
      item_type: struct
      name: md_ocsp_reg_t
      pos:
        line_end: 75
        line_start: 63
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: id
        type: md_data_t
      - name: '*hexid'
        type: char
      - name: '*hex_sha256'
        type: char
      - name: '*certid'
        type: OCSP_CERTID
      - name: '*responder_url'
        type: char
      - name: next_run
        type: apr_time_t
      - name: errors
        type: int
      - name: resp_stat
        type: md_ocsp_cert_stat_t
      - name: resp_der
        type: md_data_t
      - name: resp_valid
        type: md_timeperiod_t
      - name: req_der
        type: md_data_t
      - name: '*ocsp_req'
        type: OCSP_REQUEST
      - name: '*reg'
        type: md_ocsp_reg_t
      - name: '*md_name'
        type: char
      - name: '*file_name'
        type: char
      - name: resp_mtime
        type: apr_time_t
      - name: resp_last_check
        type: apr_time_t
      item_type: struct
      name: md_ocsp_status_t
      pos:
        line_end: 101
        line_start: 78
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: id
        type: md_data_t
      - name: external_id
        type: md_data_t
      item_type: struct
      name: md_ocsp_id_map_t
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*ostat'
        type: md_ocsp_status_t
      - name: '*result'
        type: md_result_t
      - name: '*job'
        type: md_job_t
      item_type: struct
      name: md_ocsp_update_t
      pos:
        line_end: 605
        line_start: 600
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: '*reg'
        type: md_ocsp_reg_t
      - name: '*todos'
        type: apr_array_header_t
      - name: '*ptemp'
        type: apr_pool_t
      - name: time
        type: apr_time_t
      - name: max_parallel
        type: int
      item_type: struct
      name: md_ocsp_todo_ctx_t
      pos:
        line_end: 786
        line_start: 780
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*reg'
        type: md_ocsp_reg_t
      - name: good
        type: unsigned
      - name: revoked
        type: unsigned
      - name: unknown
        type: unsigned
      item_type: struct
      name: ocsp_summary_ctx_t
      pos:
        line_end: 965
        line_start: 959
        source_file: /src/httpd/modules/md/md_ocsp.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*reg'
        type: md_ocsp_reg_t
      - name: '*ostats'
        type: apr_array_header_t
      item_type: struct
      name: ocsp_status_ctx_t
      pos:
        line_end: 1013
        line_start: 1009
        source_file: /src/httpd/modules/md/md_ocsp.c
    typedefs:
    - item_type: typedef
      name: md_ocsp_status_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/httpd/modules/md/md_ocsp.c
      type: md_ocsp_status_t
    - item_type: typedef
      name: md_ocsp_id_map_t
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/httpd/modules/md/md_ocsp.c
      type: md_ocsp_id_map_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_drive.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: md_renew_ctx_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/httpd/modules/md/mod_md_drive.h
      type: md_renew_ctx_t
    union: []
- function_names:
  - MD_RESULT_LOG_ID
  source_file: /src/httpd/modules/md/md_result.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*md_name'
        type: char
      - name: status
        type: apr_status_t
      - name: '*problem'
        type: char
      - name: '*detail'
        type: char
      - name: '*subproblems'
        type: struct md_json_t
      - name: '*activity'
        type: char
      - name: ready_at
        type: apr_time_t
      - name: '*on_change'
        type: md_result_change_cb
      - name: '*on_change_data'
        type: void
      - name: '*on_raise'
        type: md_result_raise_cb
      - name: '*on_raise_data'
        type: void
      - name: '*on_holler'
        type: md_result_holler_cb
      - name: '*on_holler_data'
        type: void
      item_type: struct
      name: md_result_t
      pos:
        line_end: 43
        line_start: 28
        source_file: /src/httpd/modules/md/md_result.h
    typedefs:
    - item_type: typedef
      name: md_result_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/httpd/modules/md/md_result.h
      type: md_result_t
    - item_type: typedef
      name: md_result_change_cb(md_result_t *result, void *data)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/httpd/modules/md/md_result.h
      type: void
    - item_type: typedef
      name: md_result_raise_cb(md_result_t *result, void *data, const char *event,
        apr_pool_t *p)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/httpd/modules/md/md_result.h
      type: apr_status_t
    - item_type: typedef
      name: md_result_holler_cb(md_result_t *result, void *data, const char *event,
        apr_pool_t *p)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/httpd/modules/md/md_result.h
      type: void
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_jws.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_reg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_UPD_DOMAINS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00001'
    - item_type: preproc_def
      name: MD_UPD_CA_URL
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00002'
    - item_type: preproc_def
      name: MD_UPD_CA_PROTO
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00004'
    - item_type: preproc_def
      name: MD_UPD_CA_ACCOUNT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00008'
    - item_type: preproc_def
      name: MD_UPD_CONTACTS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00010'
    - item_type: preproc_def
      name: MD_UPD_AGREEMENT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00020'
    - item_type: preproc_def
      name: MD_UPD_DRIVE_MODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00080'
    - item_type: preproc_def
      name: MD_UPD_RENEW_WINDOW
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00100'
    - item_type: preproc_def
      name: MD_UPD_CA_CHALLENGES
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00200'
    - item_type: preproc_def
      name: MD_UPD_PKEY_SPEC
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00400'
    - item_type: preproc_def
      name: MD_UPD_REQUIRE_HTTPS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x00800'
    - item_type: preproc_def
      name: MD_UPD_TRANSITIVE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x01000'
    - item_type: preproc_def
      name: MD_UPD_MUST_STAPLE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x02000'
    - item_type: preproc_def
      name: MD_UPD_PROTO
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x04000'
    - item_type: preproc_def
      name: MD_UPD_WARN_WINDOW
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x08000'
    - item_type: preproc_def
      name: MD_UPD_STAPLING
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: MD_UPD_ALL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/md/md_reg.h
      type_or_value: '0x7FFFFFFF'
    structs:
    - fields:
      - name: '*proto'
        type: md_proto_t
      - name: '*p'
        type: apr_pool_t
      - name: '*baton'
        type: void
      - name: '*env'
        type: struct apr_table_t
      - name: '*reg'
        type: md_reg_t
      - name: '*store'
        type: md_store_t
      - name: '*proxy_url'
        type: char
      - name: '*ca_certs'
        type: char
      - name: '*proxy_ca_certs'
        type: char
      - name: '*md'
        type: md_t
      - name: can_http
        type: int
      - name: can_https
        type: int
      - name: reset
        type: int
      - name: attempt
        type: int
      - name: retry_failover
        type: int
      - name: activation_delay
        type: apr_interval_time_t
      item_type: struct
      name: md_proto_driver_t
      pos:
        line_end: 238
        line_start: 219
        source_file: /src/httpd/modules/md/md_reg.h
    - fields:
      - name: '*protocol'
        type: char
      - name: '*init'
        type: md_proto_init_cb
      - name: '*renew'
        type: md_proto_renew_cb
      - name: '*init_preload'
        type: md_proto_init_preload_cb
      - name: '*preload'
        type: md_proto_preload_cb
      - name: '*complete_md'
        type: md_proto_complete_md_cb
      - name: '*get_ari'
        type: md_proto_get_ari
      item_type: struct
      name: md_proto_t
      pos:
        line_end: 257
        line_start: 249
        source_file: /src/httpd/modules/md/md_reg.h
    typedefs:
    - item_type: typedef
      name: md_reg_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/httpd/modules/md/md_reg.h
      type: md_reg_t
    - item_type: typedef
      name: md_reg_do_cb(void *baton, md_reg_t *reg, md_t *md)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/httpd/modules/md/md_reg.h
      type: int
    - item_type: typedef
      name: md_proto_t
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/httpd/modules/md/md_reg.h
      type: md_proto_t
    - item_type: typedef
      name: md_proto_driver_t
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/httpd/modules/md/md_reg.h
      type: md_proto_driver_t
    - item_type: typedef
      name: md_proto_init_cb(md_proto_driver_t *driver, struct md_result_t *result)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    - item_type: typedef
      name: md_proto_renew_cb(md_proto_driver_t *driver, struct md_result_t *result)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    - item_type: typedef
      name: md_proto_init_preload_cb(md_proto_driver_t *driver, struct md_result_t
        *result)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    - item_type: typedef
      name: "md_proto_preload_cb(md_proto_driver_t *driver, \n                                         md_store_group_t
        group, struct md_result_t *result)"
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    - item_type: typedef
      name: md_proto_complete_md_cb(md_t *md, apr_pool_t *p)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    - item_type: typedef
      name: "md_proto_get_ari(md_proto_driver_t *driver, struct md_result_t *result,\n
        \                                     apr_time_t *prenew_at, const char **purl)"
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/httpd/modules/md/md_reg.h
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_acme_order.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_FN_ORDER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/md/md_acme_order.h
      type_or_value: '"order.json"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*url'
        type: char
      - name: status
        type: md_acme_order_st
      - name: '*authz_urls'
        type: struct apr_array_header_t
      - name: '*challenge_setups'
        type: struct apr_array_header_t
      - name: '*json'
        type: struct md_json_t
      - name: '*finalize'
        type: char
      - name: '*certificate'
        type: char
      item_type: struct
      name: md_acme_order_t
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/httpd/modules/md/md_acme_order.h
    typedefs:
    - item_type: typedef
      name: md_acme_order_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/httpd/modules/md/md_acme_order.h
      type: md_acme_order_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_ocsp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: md_ocsp_reg_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/httpd/modules/md/md_ocsp.h
      type: md_ocsp_reg_t
    - item_type: typedef
      name: md_ocsp_copy_der(const unsigned char *der, apr_size_t der_len, void *userdata)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/modules/md/md_ocsp.h
      type: void
    union: []
- function_names:
  - dup_trim
  - md_result_make
  - md_result_md_make
  - md_result_reset
  - on_change
  - md_result_activity_set
  - md_result_activity_setn
  - md_result_activity_printf
  - md_result_set
  - md_result_problem_set
  - md_result_problem_printf
  - md_result_printf
  - md_result_delay_set
  - md_result_from_json
  - md_result_to_json
  - str_cmp
  - md_result_cmp
  - md_result_assign
  - md_result_dup
  - md_result_log
  - md_result_on_change
  - md_result_raise
  - md_result_holler
  - md_result_on_raise
  - md_result_on_holler
  source_file: /src/httpd/modules/md/md_result.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_setup
  - md_event_init
  - md_event_subscribe
  - md_event_raise
  - md_event_holler
  source_file: /src/httpd/modules/md/md_event.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct md_subscription
      - name: '*cb'
        type: md_event_cb
      - name: '*baton'
        type: void
      item_type: struct
      name: md_subscription
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/httpd/modules/md/md_event.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*subs'
        type: md_subscription
      item_type: struct
      name: EVNT
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/httpd/modules/md/md_event.c
    typedefs: []
    union: []
- function_names:
  - APLOGNO
  source_file: /src/httpd/modules/md/md_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_LOG_MARK
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/md/md_log.h
      type_or_value: __FILE__,__LINE__
    structs: []
    typedefs:
    - item_type: typedef
      name: md_log_level_cb(void *baton, apr_pool_t *p, md_log_level_t level)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/httpd/modules/md/md_log.h
      type: int
    - item_type: typedef
      name: "md_log_print_cb(const char *file, int line, md_log_level_t level, \n
        \               apr_status_t rv, void *baton, apr_pool_t *p, const char *fmt,
        va_list ap)"
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/md/md_log.h
      type: void
    union: []
- function_names:
  - load_props
  - md_reg_create
  - md_reg_store_get
  - check_values
  - state_init
  - reg_md_iter
  - reg_do
  - md_reg_do
  - md_reg_get
  - find_domain
  - md_reg_find
  - find_overlap
  - md_reg_find_overlap
  - p_md_add
  - add_md
  - md_reg_add
  - p_md_update
  - md_reg_update
  - md_reg_delete_acct
  - pubcert_load
  - md_reg_get_pubcert
  - md_reg_get_cred_files
  - md_reg_valid_until
  - md_reg_renew_at
  - md_reg_should_renew
  - md_reg_should_warn
  - md_reg_set_props
  - find_closest_match
  - iter_add_name
  - md_reg_sync_start
  - md_reg_sync_finish
  - md_reg_remove
  - cleanup_challenge_inspector
  - md_reg_cleanup_challenges
  - run_init
  - run_test_init
  - md_reg_test_init
  - run_renew
  - md_reg_renew
  - run_get_ari
  - md_reg_ari_renew_at
  - run_load_staging
  - md_reg_load_staging
  - md_reg_load_stagings
  - md_reg_lock_global
  - md_reg_unlock_global
  - md_reg_freeze_domains
  - md_reg_set_renew_window_default
  - md_reg_set_warn_window_default
  - md_reg_job_make
  - get_cert_count
  - md_reg_has_revoked_certs
  source_file: /src/httpd/modules/md/md_reg.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*store'
        type: struct md_store_t
      - name: '*protos'
        type: struct apr_hash_t
      - name: '*certs'
        type: struct apr_hash_t
      - name: can_http
        type: int
      - name: can_https
        type: int
      - name: '*proxy_url'
        type: char
      - name: '*ca_certs'
        type: char
      - name: '*proxy_ca_certs'
        type: char
      - name: domains_frozen
        type: int
      - name: '*renew_window'
        type: md_timeslice_t
      - name: '*warn_window'
        type: md_timeslice_t
      - name: '*notify'
        type: md_job_notify_cb
      - name: '*notify_ctx'
        type: void
      - name: min_delay
        type: apr_time_t
      - name: retry_failover
        type: int
      - name: use_store_locks
        type: int
      - name: lock_wait_timeout
        type: apr_time_t
      item_type: struct
      name: md_reg_t
      pos:
        line_end: 60
        line_start: 41
        source_file: /src/httpd/modules/md/md_reg.c
    - fields:
      - name: '*reg'
        type: md_reg_t
      - name: '*cb'
        type: md_reg_do_cb
      - name: '*baton'
        type: void
      - name: '*exclude'
        type: char
      - name: '*result'
        type: void
      item_type: struct
      name: reg_do_ctx
      pos:
        line_end: 310
        line_start: 304
        source_file: /src/httpd/modules/md/md_reg.c
    - fields:
      - name: '*domain'
        type: char
      - name: '*md'
        type: md_t
      item_type: struct
      name: find_domain_ctx
      pos:
        line_end: 358
        line_start: 355
        source_file: /src/httpd/modules/md/md_reg.c
    - fields:
      - name: '*md_checked'
        type: md_t
      - name: '*md'
        type: md_t
      - name: '*s'
        type: char
      item_type: struct
      name: find_overlap_ctx
      pos:
        line_end: 390
        line_start: 386
        source_file: /src/httpd/modules/md/md_reg.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*master_mds'
        type: apr_array_header_t
      - name: '*store_names'
        type: apr_array_header_t
      - name: '*maybe_new_mds'
        type: apr_array_header_t
      - name: '*new_mds'
        type: apr_array_header_t
      - name: '*unassigned_mds'
        type: apr_array_header_t
      item_type: struct
      name: sync_ctx_v2
      pos:
        line_end: 830
        line_start: 823
        source_file: /src/httpd/modules/md/md_reg.c
    - fields:
      - name: '*reg'
        type: md_reg_t
      - name: '*p'
        type: apr_pool_t
      - name: '*mds'
        type: apr_array_header_t
      item_type: struct
      name: cleanup_challenge_ctx
      pos:
        line_end: 1039
        line_start: 1035
        source_file: /src/httpd/modules/md/md_reg.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_acme_drive.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_ACME_DEF_URL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/httpd/modules/md/md_acme_drive.h
      type_or_value: '"https://acme-v02.api.letsencrypt.org/directory"'
    structs:
    - fields:
      - name: '*driver'
        type: md_proto_driver_t
      - name: '*sub_driver'
        type: void
      - name: '*acme'
        type: md_acme_t
      - name: '*md'
        type: md_t
      - name: '*domains'
        type: struct apr_array_header_t
      - name: '*ca_challenges'
        type: apr_array_header_t
      - name: '*profile'
        type: char
      - name: profile_mandatory
        type: int
      - name: complete
        type: int
      - name: '*creds'
        type: apr_array_header_t
      - name: '*cred'
        type: struct md_credentials_t
      - name: '*chain_up_link'
        type: char
      - name: '*order'
        type: struct md_acme_order_t
      - name: authz_monitor_timeout
        type: apr_interval_time_t
      - name: '*csr_der_64'
        type: char
      - name: cert_poll_timeout
        type: apr_interval_time_t
      item_type: struct
      name: md_acme_driver_t
      pos:
        line_end: 49
        line_start: 25
        source_file: /src/httpd/modules/md/md_acme_drive.h
    typedefs: []
    union: []
- function_names:
  - ad_setup_order
  - md_acmev2_drive_renew
  source_file: /src/httpd/modules/md/md_acmev2_drive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_jws_get_jwk
  - md_jws_sign
  - md_jws_pkey_thumb
  - md_jws_hmac
  source_file: /src/httpd/modules/md/md_jws.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_try_chown
  - md_make_worker_accessible
  - md_server_graceful
  - md_server_graceful
  source_file: /src/httpd/modules/md/mod_md_os.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_acme_authz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_AUTHZ_TYPE_DNS01
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type_or_value: '"dns-01"'
    - item_type: preproc_def
      name: MD_AUTHZ_TYPE_HTTP01
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type_or_value: '"http-01"'
    - item_type: preproc_def
      name: MD_AUTHZ_TYPE_TLSALPN01
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type_or_value: '"tls-alpn-01"'
    - item_type: preproc_def
      name: MD_FN_HTTP01
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type_or_value: '"acme-http-01.txt"'
    structs:
    - fields:
      - name: '*domain'
        type: char
      - name: '*url'
        type: char
      - name: state
        type: md_acme_authz_state_t
      - name: expires
        type: apr_time_t
      - name: '*error_type'
        type: char
      - name: '*error_detail'
        type: char
      - name: '*error_subproblems'
        type: struct md_json_t
      - name: '*resource'
        type: struct md_json_t
      item_type: struct
      name: md_acme_authz_t
      pos:
        line_end: 55
        line_start: 46
        source_file: /src/httpd/modules/md/md_acme_authz.h
    typedefs:
    - item_type: typedef
      name: md_acme_challenge_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type: md_acme_challenge_t
    - item_type: typedef
      name: md_acme_authz_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/httpd/modules/md/md_acme_authz.h
      type: md_acme_authz_t
    union: []
- function_names:
  - md_store_group_name
  - md_store_load
  - md_store_save
  - md_store_remove
  - md_store_purge
  - md_store_iter
  - md_store_load_json
  - md_store_save_json
  - md_store_move
  - md_store_get_fname
  - md_store_is_newer
  - md_store_get_modified
  - md_store_iter_names
  - md_store_remove_not_modified_since
  - md_store_rename
  - md_exists
  - md_load
  - p_save
  - md_save
  - p_remove
  - md_remove
  - md_is_newer
  - pk_filename
  - md_pkey_filename
  - md_chain_filename
  - md_pkey_load
  - md_pkey_save
  - md_pubcert_load
  - md_pubcert_save
  - md_creds_load
  - md_creds_save
  - insp_md
  - md_store_md_iter
  - md_store_lock_global
  - md_store_unlock_global
  source_file: /src/httpd/modules/md/md_store.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASPECT_MD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '"md.json"'
    - item_type: preproc_def
      name: ASPECT_CERT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '"cert.pem"'
    - item_type: preproc_def
      name: ASPECT_PKEY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '"key.pem"'
    - item_type: preproc_def
      name: ASPECT_CHAIN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '"chain.pem"'
    - item_type: preproc_def
      name: GNAME_ACCOUNTS
      pos:
        line_end: 45
        line_start: 43
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '#define GNAME_CHALLENGES   '
    - item_type: preproc_def
      name: GNAME_DOMAINS
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: '#define GNAME_STAGING      '
    - item_type: preproc_def
      name: GNAME_ARCHIVE
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/httpd/modules/md/md_store.c
      type_or_value: static const char *const GROUP_NAME[] = {
    structs:
    - fields:
      - name: '*store'
        type: md_store_t
      - name: group
        type: md_store_group_t
      item_type: struct
      name: md_group_ctx
      pos:
        line_end: 176
        line_start: 173
        source_file: /src/httpd/modules/md/md_store.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*mds'
        type: apr_array_header_t
      item_type: struct
      name: md_load_ctx
      pos:
        line_end: 260
        line_start: 257
        source_file: /src/httpd/modules/md/md_store.c
    - fields:
      - name: '*store'
        type: md_store_t
      - name: group
        type: md_store_group_t
      - name: '*pattern'
        type: char
      - name: '*aspect'
        type: char
      - name: '*inspect'
        type: md_store_md_inspect
      - name: '*baton'
        type: void
      item_type: struct
      name: inspect_md_ctx
      pos:
        line_end: 354
        line_start: 347
        source_file: /src/httpd/modules/md/md_store.c
    typedefs: []
    union: []
- function_names:
  - MD_VAL_UPDATE
  - MD_SVAL_UPDATE
  - MD_OK
  source_file: /src/httpd/modules/md/md.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_PKEY_RSA_BITS_MIN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: MD_PKEY_RSA_BITS_DEF
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: MD_HSTS_HEADER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"Strict-Transport-Security"'
    - item_type: preproc_def
      name: MD_HSTS_MAX_AGE_DEFAULT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '15768000'
    - item_type: preproc_def
      name: PROTO_ACME_TLS_1
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"acme-tls/1"'
    - item_type: preproc_def
      name: MD_TIME_LIFE_NORM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/md/md.h
      type_or_value: (apr_time_from_sec(100 * MD_SECS_PER_DAY))
    - item_type: preproc_def
      name: MD_TIME_RENEW_WINDOW_DEF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/md/md.h
      type_or_value: (apr_time_from_sec(33 * MD_SECS_PER_DAY))
    - item_type: preproc_def
      name: MD_TIME_WARN_WINDOW_DEF
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/md/md.h
      type_or_value: (apr_time_from_sec(10 * MD_SECS_PER_DAY))
    - item_type: preproc_def
      name: MD_TIME_OCSP_KEEP_NORM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/md/md.h
      type_or_value: (apr_time_from_sec(7 * MD_SECS_PER_DAY))
    - item_type: preproc_def
      name: MD_OTHER
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"other"'
    - item_type: preproc_def
      name: MD_KEY_ACCOUNT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"account"'
    - item_type: preproc_def
      name: MD_KEY_ACME_TLS_1
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"acme-tls/1"'
    - item_type: preproc_def
      name: MD_KEY_ACTIVATION_DELAY
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"activation-delay"'
    - item_type: preproc_def
      name: MD_KEY_ACTIVITY
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"activity"'
    - item_type: preproc_def
      name: MD_KEY_AGREEMENT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"agreement"'
    - item_type: preproc_def
      name: MD_KEY_ARI_CERT_ID
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ari-cert-id"'
    - item_type: preproc_def
      name: MD_KEY_ARI_RENEWALS
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ari-renewals"'
    - item_type: preproc_def
      name: MD_KEY_AUTHORIZATIONS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"authorizations"'
    - item_type: preproc_def
      name: MD_KEY_BITS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"bits"'
    - item_type: preproc_def
      name: MD_KEY_CA
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ca"'
    - item_type: preproc_def
      name: MD_KEY_CA_CERTS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ca-certs"'
    - item_type: preproc_def
      name: MD_KEY_CA_URL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ca-url"'
    - item_type: preproc_def
      name: MD_KEY_CERT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"cert"'
    - item_type: preproc_def
      name: MD_KEY_CERT_FILES
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"cert-files"'
    - item_type: preproc_def
      name: MD_KEY_CERTIFICATE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"certificate"'
    - item_type: preproc_def
      name: MD_KEY_CHALLENGE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"challenge"'
    - item_type: preproc_def
      name: MD_KEY_CHALLENGES
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"challenges"'
    - item_type: preproc_def
      name: MD_KEY_CMD_DNS01
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"cmd-dns-01"'
    - item_type: preproc_def
      name: MD_KEY_DNS01_VERSION
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"cmd-dns-01-version"'
    - item_type: preproc_def
      name: MD_KEY_COMPLETE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"complete"'
    - item_type: preproc_def
      name: MD_KEY_CONTACT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"contact"'
    - item_type: preproc_def
      name: MD_KEY_CONTACTS
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"contacts"'
    - item_type: preproc_def
      name: MD_KEY_CSR
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"csr"'
    - item_type: preproc_def
      name: MD_KEY_CURVE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"curve"'
    - item_type: preproc_def
      name: MD_KEY_DETAIL
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"detail"'
    - item_type: preproc_def
      name: MD_KEY_DISABLED
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"disabled"'
    - item_type: preproc_def
      name: MD_KEY_DIR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"dir"'
    - item_type: preproc_def
      name: MD_KEY_DOMAIN
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"domain"'
    - item_type: preproc_def
      name: MD_KEY_DOMAINS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"domains"'
    - item_type: preproc_def
      name: MD_KEY_EAB
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"eab"'
    - item_type: preproc_def
      name: MD_KEY_EAB_REQUIRED
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"externalAccountRequired"'
    - item_type: preproc_def
      name: MD_KEY_ENTRIES
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"entries"'
    - item_type: preproc_def
      name: MD_KEY_ERRORED
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"errored"'
    - item_type: preproc_def
      name: MD_KEY_ERROR
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"error"'
    - item_type: preproc_def
      name: MD_KEY_ERRORS
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"errors"'
    - item_type: preproc_def
      name: MD_KEY_EXPIRES
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"expires"'
    - item_type: preproc_def
      name: MD_KEY_FINALIZE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"finalize"'
    - item_type: preproc_def
      name: MD_KEY_FINISHED
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"finished"'
    - item_type: preproc_def
      name: MD_KEY_FROM
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"from"'
    - item_type: preproc_def
      name: MD_KEY_GOOD
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"good"'
    - item_type: preproc_def
      name: MD_KEY_HMAC
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"hmac"'
    - item_type: preproc_def
      name: MD_KEY_HTTP
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"http"'
    - item_type: preproc_def
      name: MD_KEY_HTTPS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"https"'
    - item_type: preproc_def
      name: MD_KEY_ID
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"id"'
    - item_type: preproc_def
      name: MD_KEY_IDENTIFIER
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"identifier"'
    - item_type: preproc_def
      name: MD_KEY_ISSUER_NAME
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"issuer-name"'
    - item_type: preproc_def
      name: MD_KEY_ISSUER_URI
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"issuer-uri"'
    - item_type: preproc_def
      name: MD_KEY_KEY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"key"'
    - item_type: preproc_def
      name: MD_KEY_KID
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"kid"'
    - item_type: preproc_def
      name: MD_KEY_KEYAUTHZ
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"keyAuthorization"'
    - item_type: preproc_def
      name: MD_KEY_LAST
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"last"'
    - item_type: preproc_def
      name: MD_KEY_LAST_RUN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"last-run"'
    - item_type: preproc_def
      name: MD_KEY_LOCATION
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"location"'
    - item_type: preproc_def
      name: MD_KEY_LOG
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"log"'
    - item_type: preproc_def
      name: MD_KEY_MDS
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"managed-domains"'
    - item_type: preproc_def
      name: MD_KEY_MESSAGE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"message"'
    - item_type: preproc_def
      name: MD_KEY_MUST_STAPLE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"must-staple"'
    - item_type: preproc_def
      name: MD_KEY_NAME
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"name"'
    - item_type: preproc_def
      name: MD_KEY_NEXT_RUN
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"next-run"'
    - item_type: preproc_def
      name: MD_KEY_NOTIFIED
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"notified"'
    - item_type: preproc_def
      name: MD_KEY_NOTIFIED_RENEWED
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"notified-renewed"'
    - item_type: preproc_def
      name: MD_KEY_OCSP
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ocsp"'
    - item_type: preproc_def
      name: MD_KEY_OCSPS
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ocsps"'
    - item_type: preproc_def
      name: MD_KEY_ORDERS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"orders"'
    - item_type: preproc_def
      name: MD_KEY_PERMANENT
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"permanent"'
    - item_type: preproc_def
      name: MD_KEY_PKEY
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"privkey"'
    - item_type: preproc_def
      name: MD_KEY_PKEY_FILES
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"pkey-files"'
    - item_type: preproc_def
      name: MD_KEY_PROBLEM
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"problem"'
    - item_type: preproc_def
      name: MD_KEY_PROFILE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"profile"'
    - item_type: preproc_def
      name: MD_KEY_PROFILE_MANDATORY
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"profile-mandatory"'
    - item_type: preproc_def
      name: MD_KEY_PROTO
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"proto"'
    - item_type: preproc_def
      name: MD_KEY_PROXY_CA_CERTS
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"proxy-ca-certs"'
    - item_type: preproc_def
      name: MD_KEY_PROXY_URL
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"proxy-url"'
    - item_type: preproc_def
      name: MD_KEY_READY
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"ready"'
    - item_type: preproc_def
      name: MD_KEY_REGISTRATION
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"registration"'
    - item_type: preproc_def
      name: MD_KEY_RENEW
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renew"'
    - item_type: preproc_def
      name: MD_KEY_RENEW_AT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renew-at"'
    - item_type: preproc_def
      name: MD_KEY_RENEW_MODE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renew-mode"'
    - item_type: preproc_def
      name: MD_KEY_RENEWAL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renewal"'
    - item_type: preproc_def
      name: MD_KEY_RENEWING
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renewing"'
    - item_type: preproc_def
      name: MD_KEY_RENEW_WINDOW
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"renew-window"'
    - item_type: preproc_def
      name: MD_KEY_REQUIRE_HTTPS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"require-https"'
    - item_type: preproc_def
      name: MD_KEY_RESOURCE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"resource"'
    - item_type: preproc_def
      name: MD_KEY_RESPONSE
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"response"'
    - item_type: preproc_def
      name: MD_KEY_REVOKED
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"revoked"'
    - item_type: preproc_def
      name: MD_KEY_SERIAL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"serial"'
    - item_type: preproc_def
      name: MD_KEY_SHA256_FINGERPRINT
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"sha256-fingerprint"'
    - item_type: preproc_def
      name: MD_KEY_STAPLING
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"stapling"'
    - item_type: preproc_def
      name: MD_KEY_STATE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"state"'
    - item_type: preproc_def
      name: MD_KEY_STATE_DESCR
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"state-descr"'
    - item_type: preproc_def
      name: MD_KEY_STATUS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: MD_KEY_STORE
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"store"'
    - item_type: preproc_def
      name: MD_KEY_SUBPROBLEMS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"subproblems"'
    - item_type: preproc_def
      name: MD_KEY_TEMPORARY
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"temporary"'
    - item_type: preproc_def
      name: MD_KEY_TOS
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"termsOfService"'
    - item_type: preproc_def
      name: MD_KEY_TOKEN
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"token"'
    - item_type: preproc_def
      name: MD_KEY_TOTAL
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"total"'
    - item_type: preproc_def
      name: MD_KEY_TRANSITIVE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"transitive"'
    - item_type: preproc_def
      name: MD_KEY_TYPE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"type"'
    - item_type: preproc_def
      name: MD_KEY_UNKNOWN
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: MD_KEY_UNTIL
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"until"'
    - item_type: preproc_def
      name: MD_KEY_URL
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"url"'
    - item_type: preproc_def
      name: MD_KEY_URLS
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"urls"'
    - item_type: preproc_def
      name: MD_KEY_URI
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"uri"'
    - item_type: preproc_def
      name: MD_KEY_VALID
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"valid"'
    - item_type: preproc_def
      name: MD_KEY_VALID_FROM
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"valid-from"'
    - item_type: preproc_def
      name: MD_KEY_VALUE
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"value"'
    - item_type: preproc_def
      name: MD_KEY_VERSION
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"version"'
    - item_type: preproc_def
      name: MD_KEY_WATCHED
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"watched"'
    - item_type: preproc_def
      name: MD_KEY_WHEN
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"when"'
    - item_type: preproc_def
      name: MD_KEY_WARN_WINDOW
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/httpd/modules/md/md.h
      type_or_value: '"warn-window"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*domains'
        type: struct apr_array_header_t
      - name: '*contacts'
        type: struct apr_array_header_t
      - name: '*pks'
        type: struct md_pkeys_spec_t
      - name: '*renew_window'
        type: md_timeslice_t
      - name: '*warn_window'
        type: md_timeslice_t
      - name: '*ca_proto'
        type: char
      - name: '*ca_urls'
        type: struct apr_array_header_t
      - name: '*ca_effective'
        type: char
      - name: '*ca_account'
        type: char
      - name: '*ca_agreement'
        type: char
      - name: '*ca_challenges'
        type: struct apr_array_header_t
      - name: '*cert_files'
        type: struct apr_array_header_t
      - name: '*pkey_files'
        type: struct apr_array_header_t
      - name: '*ca_eab_kid'
        type: char
      - name: '*ca_eab_hmac'
        type: char
      - name: '*profile'
        type: char
      - name: profile_mandatory
        type: int
      - name: ari_renewals
        type: int
      - name: '*state_descr'
        type: char
      - name: '*acme_tls_1_domains'
        type: struct apr_array_header_t
      - name: '*dns01_cmd'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*ca_certs'
        type: char
      - name: '*proxy_ca_certs'
        type: char
      - name: '*sc'
        type: struct md_srv_conf_t
      - name: '*defn_name'
        type: char
      - name: defn_line_number
        type: unsigned
      - name: '*configured_name'
        type: char
      - name: renew_mode
        type: int
      - name: require_https
        type: md_require_t
      - name: state
        type: md_state_t
      - name: transitive
        type: int
      - name: must_staple
        type: int
      - name: stapling
        type: int
      - name: watched
        type: int
      item_type: struct
      name: md_t
      pos:
        line_end: 118
        line_start: 74
        source_file: /src/httpd/modules/md/md.h
    - fields:
      - name: '*certs'
        type: struct apr_array_header_t
      - name: '*alt_names'
        type: struct apr_array_header_t
      - name: '*cert_file'
        type: char
      - name: '*key_file'
        type: char
      item_type: struct
      name: md_pubcert_t
      pos:
        line_end: 340
        line_start: 335
        source_file: /src/httpd/modules/md/md.h
    typedefs:
    - item_type: typedef
      name: md_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/httpd/modules/md/md.h
      type: md_t
    - item_type: typedef
      name: "md_job_notify_cb(struct md_job_t *job, const char *reason, \n                                      struct
        md_result_t *result, apr_pool_t *p, void *baton)"
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/httpd/modules/md/md.h
      type: apr_status_t
    - item_type: typedef
      name: md_pubcert_t
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/httpd/modules/md/md.h
      type: md_pubcert_t
    union: []
- function_names:
  - process_drive_job
  - md_will_renew_cert
  - next_run_default
  - run_watchdog
  - md_renew_start_watching
  source_file: /src/httpd/modules/md/mod_md_drive.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_RENEW_WATCHDOG_NAME
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/md/mod_md_drive.c
      type_or_value: '"_md_renew_"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*s'
        type: server_rec
      - name: '*mc'
        type: md_mod_conf_t
      - name: '*watchdog'
        type: ap_watchdog_t
      - name: '*jobs'
        type: apr_array_header_t
      item_type: struct
      name: md_renew_ctx_t
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/httpd/modules/md/mod_md_drive.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FS_STORE
  - init_store_file
  - rename_pkey
  - mk_pubcert
  - upgrade_from_1_0
  - read_store_file
  - setup_store_file
  - md_store_fs_init
  - md_store_fs_default_perms_set
  - md_store_fs_group_perms_set
  - md_store_fs_set_event_cb
  - gperms
  - fs_get_fname
  - fs_get_dname
  - get_pass
  - fs_fload
  - pfs_load
  - dispatch
  - mk_group_dir
  - pfs_is_newer
  - fs_is_newer
  - pfs_get_modified
  - fs_get_modified
  - pfs_save
  - pfs_remove
  - fs_load
  - fs_save
  - fs_remove
  - pfs_purge
  - fs_purge
  - insp
  - insp_dir
  - fs_iterate
  - insp_name
  - fs_iterate_names
  - remove_nms_file
  - remove_nms_dir
  - fs_remove_nms
  - pfs_move
  - fs_move
  - pfs_rename
  - fs_rename
  - fs_lock_global
  - fs_unlock_global
  source_file: /src/httpd/modules/md/md_store_fs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_STORE_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/md/md_store_fs.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MD_FS_LOCK_NAME
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/md/md_store_fs.c
      type_or_value: '"store.lock"'
    - item_type: preproc_def
      name: FS_STORE_JSON
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/md/md_store_fs.c
      type_or_value: '"md_store.json"'
    - item_type: preproc_def
      name: FS_STORE_KLEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/md/md_store_fs.c
      type_or_value: '48'
    structs:
    - fields:
      - name: dir
        type: apr_fileperms_t
      - name: file
        type: apr_fileperms_t
      item_type: struct
      name: perms_t
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/httpd/modules/md/md_store_fs.c
    - fields:
      - name: s
        type: md_store_t
      - name: '*base'
        type: char
      - name: def_perms
        type: perms_t
      - name: group_perms[MD_SG_COUNT]
        type: perms_t
      - name: '*event_cb'
        type: md_store_fs_cb
      - name: '*event_baton'
        type: void
      - name: key
        type: md_data_t
      - name: plain_pkey[MD_SG_COUNT]
        type: int
      - name: port_80
        type: int
      - name: port_443
        type: int
      - name: '*global_lock'
        type: apr_file_t
      item_type: struct
      name: md_store_fs_t
      pos:
        line_end: 64
        line_start: 48
        source_file: /src/httpd/modules/md/md_store_fs.c
    - fields:
      - name: '*s_fs'
        type: md_store_fs_t
      - name: group
        type: md_store_group_t
      - name: '*pattern'
        type: char
      - name: '*aspect'
        type: char
      - name: vtype
        type: md_store_vtype_t
      - name: '*inspect'
        type: md_store_inspect
      - name: '*dirname'
        type: char
      - name: '*baton'
        type: void
      - name: ts
        type: apr_time_t
      item_type: struct
      name: inspect_ctx
      pos:
        line_end: 790
        line_start: 780
        source_file: /src/httpd/modules/md/md_store_fs.c
    typedefs:
    - item_type: typedef
      name: md_store_fs_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/httpd/modules/md/md_store_fs.c
      type: md_store_fs_t
    union: []
- function_names:
  - md_job_json_seems_valid
  - job_loadj
  - status_get_cert_json_ex
  - get_cert_count
  - get_cert_name
  - status_get_certs_json
  - get_staging_certs_json
  - status_get_md_json
  - md_status_get_md_json
  - md_status_get_json
  - md_job_make
  - md_job_set_group
  - md_job_from_json
  - job_to_json
  - md_job_load
  - md_job_save
  - md_job_log_append
  - find_first_log_entry
  - md_job_log_get_latest
  - md_job_log_get_time_of_latest
  - md_status_take_stock
  - job_result_update
  - job_result_raise
  - job_result_holler
  - job_observation_start
  - job_observation_end
  - md_job_start_run
  - md_job_delay_on_errors
  - md_job_end_run
  - md_job_retry_at
  - md_job_notify
  source_file: /src/httpd/modules/md/md_status.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_STATUS_WITH_SCTS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/md/md_status.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*job'
        type: md_job_t
      - name: '*type'
        type: char
      - name: '*entry'
        type: md_json_t
      - name: index
        type: size_t
      item_type: struct
      name: log_find_ctx
      pos:
        line_end: 461
        line_start: 456
        source_file: /src/httpd/modules/md/md_status.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*job'
        type: md_job_t
      - name: '*store'
        type: md_store_t
      - name: '*last'
        type: md_result_t
      - name: last_save
        type: apr_time_t
      item_type: struct
      name: md_job_result_ctx
      pos:
        line_end: 549
        line_start: 543
        source_file: /src/httpd/modules/md/md_status.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_SECS_PER_HOUR
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/httpd/modules/md/md_time.h
      type_or_value: (60*60)
    - item_type: preproc_def
      name: MD_SECS_PER_DAY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/modules/md/md_time.h
      type_or_value: (24*MD_SECS_PER_HOUR)
    structs:
    - fields:
      - name: start
        type: apr_time_t
      - name: end
        type: apr_time_t
      item_type: struct
      name: md_timeperiod_t
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/httpd/modules/md/md_time.h
    - fields:
      - name: norm
        type: apr_interval_time_t
      - name: len
        type: apr_interval_time_t
      item_type: struct
      name: md_timeslice_t
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/httpd/modules/md/md_time.h
    typedefs:
    - item_type: typedef
      name: md_timeperiod_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/httpd/modules/md/md_time.h
      type: md_timeperiod_t
    union: []
- function_names:
  - json_pool_cleanup
  - json_create
  - md_json_create
  - md_json_create_s
  - md_json_destroy
  - md_json_copy
  - md_json_clone
  - jselect
  - jselect_parent
  - jselect_add
  - jselect_insert
  - jselect_set
  - jselect_set_new
  - md_json_has_key
  - md_json_is
  - md_json_type_name
  - md_json_getb
  - md_json_setb
  - md_json_getn
  - md_json_setn
  - md_json_getl
  - md_json_setl
  - md_json_gets
  - md_json_dups
  - md_json_sets
  - md_json_get_time
  - md_json_set_time
  - md_json_getj
  - md_json_dupj
  - md_json_getcj
  - md_json_setj
  - md_json_addj
  - md_json_insertj
  - md_json_limita
  - md_json_clr
  - md_json_del
  - md_json_gets_dict
  - json_object_foreach
  - object_set
  - md_json_sets_dict
  - md_json_pass_to
  - md_json_pass_from
  - md_json_clone_to
  - md_json_clone_from
  - md_json_geta
  - json_array_foreach
  - md_json_seta
  - md_json_itera
  - json_array_foreach
  - md_json_iterkey
  - json_object_foreach
  - md_json_getsa
  - json_array_foreach
  - md_json_dupsa
  - json_array_foreach
  - md_json_setsa
  - fmt_to_flags
  - dump_cb
  - md_json_writeb
  - chunk_cb
  - md_json_writep
  - md_json_writef
  - md_json_fcreatex
  - write_json
  - md_json_freplace
  - md_json_readd
  - load_cb
  - md_json_readb
  - load_file_cb
  - md_json_readf
  - md_json_read_http
  - json_resp_cb
  - md_json_http_get
  - md_json_copy_to
  - md_json_dump_state
  - md_json_set_timeperiod
  - md_json_get_timeperiod
  source_file: /src/httpd/modules/md/md_json.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_INLINE
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/httpd/modules/md/md_json.c
      type_or_value: '#include <jansson.h>'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*j'
        type: json_t
      item_type: struct
      name: md_json_t
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/httpd/modules/md/md_json.c
    - fields:
      - name: '*json'
        type: md_json_t
      - name: fmt
        type: md_json_fmt_t
      - name: '*fname'
        type: char
      - name: '*f'
        type: apr_file_t
      item_type: struct
      name: j_write_ctx
      pos:
        line_end: 950
        line_start: 945
        source_file: /src/httpd/modules/md/md_json.c
    - fields:
      - name: rv
        type: apr_status_t
      - name: '*pool'
        type: apr_pool_t
      - name: '*json'
        type: md_json_t
      item_type: struct
      name: resp_data
      pos:
        line_end: 1210
        line_start: 1206
        source_file: /src/httpd/modules/md/md_json.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_acme_acct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_FN_ACCOUNT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/md/md_acme_acct.h
      type_or_value: '"account.json"'
    - item_type: preproc_def
      name: MD_FN_ACCT_KEY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/md/md_acme_acct.h
      type_or_value: '"account.pem"'
    - item_type: preproc_def
      name: MD_ACME_ACCT_PKEY_BITS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/md/md_acme_acct.h
      type_or_value: '3072'
    - item_type: preproc_def
      name: MD_ACME_ACCT_STAGED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/md/md_acme_acct.h
      type_or_value: '"staged"'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: '*url'
        type: char
      - name: '*ca_url'
        type: char
      - name: status
        type: md_acme_acct_st
      - name: '*contacts'
        type: apr_array_header_t
      - name: '*tos_required'
        type: char
      - name: '*agreement'
        type: char
      - name: '*orders'
        type: char
      - name: '*eab_kid'
        type: char
      - name: '*eab_hmac'
        type: char
      - name: '*registration'
        type: struct md_json_t
      item_type: struct
      name: md_acme_acct_t
      pos:
        line_end: 49
        line_start: 37
        source_file: /src/httpd/modules/md/md_acme_acct.h
    typedefs:
    - item_type: typedef
      name: md_acme_acct_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/httpd/modules/md/md_acme_acct.h
      type: md_acme_acct_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_crypt.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bits
        type: apr_uint32_t
      item_type: struct
      name: md_pkey_rsa_params_t
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/httpd/modules/md/md_crypt.h
    - fields:
      - name: '*curve'
        type: char
      item_type: struct
      name: md_pkey_ec_params_t
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/httpd/modules/md/md_crypt.h
    - fields:
      - name: type
        type: md_pkey_type_t
      - name: params
        type: "union {\n        md_pkey_rsa_params_t rsa;\n        md_pkey_ec_params_t
          ec;\n    }"
      item_type: struct
      name: md_pkey_spec_t
      pos:
        line_end: 68
        line_start: 62
        source_file: /src/httpd/modules/md/md_crypt.h
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*specs'
        type: struct apr_array_header_t
      item_type: struct
      name: md_pkeys_spec_t
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/httpd/modules/md/md_crypt.h
    - fields:
      - name: version
        type: int
      - name: timestamp
        type: apr_time_t
      - name: '*logid'
        type: struct md_data_t
      - name: signature_type_nid
        type: int
      - name: '*signature'
        type: struct md_data_t
      item_type: struct
      name: md_sct
      pos:
        line_end: 258
        line_start: 252
        source_file: /src/httpd/modules/md/md_crypt.h
    typedefs:
    - item_type: typedef
      name: md_pkey_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/httpd/modules/md/md_crypt.h
      type: md_pkey_t
    - item_type: typedef
      name: md_cert_t
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/httpd/modules/md/md_crypt.h
      type: md_cert_t
    - item_type: typedef
      name: md_sct
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/httpd/modules/md/md_crypt.h
      type: md_sct
    union: []
- function_names:
  - md_acme_authz_create
  - authz_req_ctx_init
  - md_acme_authz_retrieve
  - copy_challenge_error
  - md_acme_authz_update
  - cha_from_json
  - on_init_authz_resp
  - authz_http_set
  - setup_key_authz
  - cha_http_01_setup
  - tls_alpn01_fnames
  - cha_tls_alpn_01_setup
  - cha_dns_01_setup
  - cha_dns_01_teardown
  - cha_teardown_dir
  - collect_offered
  - find_type
  - md_acme_authz_respond
  - md_acme_authz_teardown
  source_file: /src/httpd/modules/md/md_acme_authz.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: size_t
      - name: '*type'
        type: char
      - name: '*uri'
        type: char
      - name: '*token'
        type: char
      - name: '*key_authz'
        type: char
      item_type: struct
      name: md_acme_authz_cha_t
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*acme'
        type: md_acme_t
      - name: '*domain'
        type: char
      - name: '*authz'
        type: md_acme_authz_t
      - name: '*challenge'
        type: md_acme_authz_cha_t
      item_type: struct
      name: authz_req_ctx
      pos:
        line_end: 66
        line_start: 60
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*authz'
        type: md_acme_authz_t
      item_type: struct
      name: error_ctx_t
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - fields:
      - name: '*name'
        type: char
      - name: '*setup'
        type: cha_setup
      - name: '*teardown'
        type: cha_teardown
      item_type: struct
      name: cha_type
      pos:
        line_end: 563
        line_start: 559
        source_file: /src/httpd/modules/md/md_acme_authz.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*type'
        type: char
      - name: '*accepted'
        type: md_acme_authz_cha_t
      - name: '*offered'
        type: apr_array_header_t
      item_type: struct
      name: cha_find_ctx
      pos:
        line_end: 577
        line_start: 572
        source_file: /src/httpd/modules/md/md_acme_authz.c
    typedefs:
    - item_type: typedef
      name: "cha_setup(md_acme_authz_cha_t *cha, md_acme_authz_t *authz, \n                               md_acme_t
        *acme, md_store_t *store, \n                               md_pkeys_spec_t
        *key_specs,\n                               apr_array_header_t *acme_tls_1_domains,
        const md_t *md,\n                               apr_table_t *env, md_result_t
        *result,\n                               const char **psetup_token, apr_pool_t
        *p)"
      pos:
        line_end: 554
        line_start: 549
        source_file: /src/httpd/modules/md/md_acme_authz.c
      type: apr_status_t
    - item_type: typedef
      name: "cha_teardown(md_store_t *store, const char *domain, const md_t *md,\n
        \                                 apr_table_t *env, apr_pool_t *p)"
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/httpd/modules/md/md_acme_authz.c
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_store.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_FN_MD
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"md.json"'
    - item_type: preproc_def
      name: MD_FN_JOB
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"job.json"'
    - item_type: preproc_def
      name: MD_FN_HTTPD_JSON
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"httpd.json"'
    - item_type: preproc_def
      name: MD_FN_PRIVKEY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"privkey.pem"'
    - item_type: preproc_def
      name: MD_FN_PUBCERT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"pubcert.pem"'
    - item_type: preproc_def
      name: MD_FN_CERT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/md/md_store.h
      type_or_value: '"cert.pem"'
    structs:
    - fields:
      - name: '*spec'
        type: struct md_pkey_spec_t
      - name: '*pkey'
        type: struct md_pkey_t
      - name: '*chain'
        type: struct apr_array_header_t
      item_type: struct
      name: md_credentials_t
      pos:
        line_end: 271
        line_start: 267
        source_file: /src/httpd/modules/md/md_store.h
    - fields:
      - name: '*save'
        type: md_store_save_cb
      - name: '*load'
        type: md_store_load_cb
      - name: '*remove'
        type: md_store_remove_cb
      - name: '*move'
        type: md_store_move_cb
      - name: '*rename'
        type: md_store_rename_cb
      - name: '*iterate'
        type: md_store_iter_cb
      - name: '*iterate_names'
        type: md_store_names_iter_cb
      - name: '*purge'
        type: md_store_purge_cb
      - name: '*get_fname'
        type: md_store_get_fname_cb
      - name: '*is_newer'
        type: md_store_is_newer_cb
      - name: '*get_modified'
        type: md_store_get_modified_cb
      - name: '*remove_nms'
        type: md_store_remove_nms_cb
      - name: '*lock_global'
        type: md_store_lock_global_cb
      - name: '*unlock_global'
        type: md_store_unlock_global_cb
      item_type: struct
      name: md_store_t
      pos:
        line_end: 341
        line_start: 326
        source_file: /src/httpd/modules/md/md_store.h
    typedefs:
    - item_type: typedef
      name: md_store_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/httpd/modules/md/md_store.h
      type: md_store_t
    - item_type: typedef
      name: "md_store_inspect(void *baton, const char *name, const char *aspect, \n
        \                            md_store_vtype_t vtype, void *value, apr_pool_t
        *ptemp)"
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/md/md_store.h
      type: int
    - item_type: typedef
      name: md_store_md_inspect(void *baton, md_store_t *store, md_t *md, apr_pool_t
        *ptemp)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/httpd/modules/md/md_store.h
      type: int
    - item_type: typedef
      name: md_credentials_t
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/httpd/modules/md/md_store.h
      type: md_credentials_t
    - item_type: typedef
      name: "md_store_load_cb(md_store_t *store, md_store_group_t group, \n                                      const
        char *name, const char *aspect, \n                                      md_store_vtype_t
        vtype, void **pvalue, \n                                      apr_pool_t *p)"
      pos:
        line_end: 284
        line_start: 281
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_save_cb(md_store_t *store, apr_pool_t *p, md_store_group_t group,
        \n                                      const char *name, const char *aspect,
        \n                                      md_store_vtype_t vtype, void *value,
        \n                                      int create)"
      pos:
        line_end: 288
        line_start: 285
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_remove_cb(md_store_t *store, md_store_group_t group, \n                                        const
        char *name, const char *aspect,  \n                                        apr_pool_t
        *p, int force)"
      pos:
        line_end: 291
        line_start: 289
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_purge_cb(md_store_t *store, apr_pool_t *p, md_store_group_t
        group, \n                                        const char *name)"
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_iter_cb(md_store_inspect *inspect, void *baton, md_store_t *store,
        \n                                      apr_pool_t *p, md_store_group_t group,
        const char *pattern,\n                                      const char *aspect,
        md_store_vtype_t vtype)"
      pos:
        line_end: 297
        line_start: 295
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_names_iter_cb(md_store_inspect *inspect, void *baton, md_store_t
        *store, \n                                            apr_pool_t *p, md_store_group_t
        group, const char *pattern)"
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_move_cb(md_store_t *store, apr_pool_t *p, md_store_group_t from,
        \n                                      md_store_group_t to, const char *name,
        int archive)"
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_rename_cb(md_store_t *store, apr_pool_t *p, md_store_group_t
        group, \n                                        const char *from, const char
        *to)"
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_get_fname_cb(const char **pfname, \n                                           md_store_t
        *store, md_store_group_t group, \n                                           const
        char *name, const char *aspect, \n                                           apr_pool_t
        *p)"
      pos:
        line_end: 311
        line_start: 308
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: "md_store_is_newer_cb(md_store_t *store, \n                                 md_store_group_t
        group1, md_store_group_t group2,  \n                                 const
        char *name, const char *aspect, apr_pool_t *p)"
      pos:
        line_end: 315
        line_start: 313
        source_file: /src/httpd/modules/md/md_store.h
      type: int
    - item_type: typedef
      name: "md_store_get_modified_cb(md_store_t *store, md_store_group_t group,  \n
        \                                           const char *name, const char *aspect,
        apr_pool_t *p)"
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_time_t
    - item_type: typedef
      name: "md_store_remove_nms_cb(md_store_t *store, apr_pool_t *p, \n                                            apr_time_t
        modified, md_store_group_t group, \n                                            const
        char *name, const char *aspect)"
      pos:
        line_end: 322
        line_start: 320
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: md_store_lock_global_cb(md_store_t *store, apr_pool_t *p, apr_time_t max_wait)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/httpd/modules/md/md_store.h
      type: apr_status_t
    - item_type: typedef
      name: md_store_unlock_global_cb(md_store_t *store, apr_pool_t *p)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/httpd/modules/md/md_store.h
      type: void
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/mod_md_ocsp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_acme_order_create
  - order_st_from_str
  - order_st_to_str
  - md_acme_order_to_json
  - order_update_from_json
  - md_acme_order_from_json
  - md_acme_order_add
  - md_acme_order_remove
  - add_setup_token
  - md_acme_order_load
  - p_save
  - md_acme_order_save
  - p_purge
  - md_acme_order_purge
  - ORDER_CTX_INIT
  - identifier_to_json
  - on_init_order_register
  - on_order_upd
  - md_acme_order_register
  - md_acme_order_update
  - await_ready
  - md_acme_order_await_ready
  - await_valid
  - md_acme_order_await_valid
  - md_acme_order_start_challenges
  - check_challenges
  - md_acme_order_monitor_authzs
  source_file: /src/httpd/modules/md/md_acme_order.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_KEY_CHALLENGE_SETUPS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/md/md_acme_order.c
      type_or_value: '"challenge-setups"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*order'
        type: md_acme_order_t
      - name: '*acme'
        type: md_acme_t
      - name: '*name'
        type: char
      - name: '*profile'
        type: char
      - name: '*ari_cert_id'
        type: char
      - name: '*domains'
        type: apr_array_header_t
      - name: '*result'
        type: md_result_t
      item_type: struct
      name: order_ctx_t
      pos:
        line_end: 269
        line_start: 260
        source_file: /src/httpd/modules/md/md_acme_order.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_event.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "md_event_cb(const char *event, \n                                 const
        char *mdomain, \n                                 void *baton,\n                                 struct
        md_job_t *job, \n                                 struct md_result_t *result,
        \n                                 apr_pool_t *p)"
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/httpd/modules/md/md_event.h
      type: apr_status_t
    union: []
- function_names:
  - cleanup_mod_config
  - md_mod_conf_get
  - CONF_S_NAME
  - srv_conf_props_clear
  - srv_conf_props_copy
  - srv_conf_props_apply
  - md_config_create_svr
  - md_config_merge
  - md_config_merge_svr
  - inside_section
  - inside_md_section
  - md_section_check
  - md_conf_check_location
  - set_on_off
  - add_domain_name
  - set_transitive
  - md_config_sec_start
  - md_config_sec_add_members
  - md_config_set_names
  - md_config_set_ca
  - md_config_set_contact
  - md_config_set_ca_proto
  - md_config_set_agreement
  - md_config_set_renew_mode
  - md_config_set_profile
  - md_config_set_profile_mandatory
  - md_config_set_must_staple
  - md_config_set_stapling
  - md_config_set_staple_others
  - md_config_set_ari
  - md_config_set_base_server
  - md_config_set_initial_delay
  - md_config_set_check_interval
  - md_config_set_min_delay
  - md_config_set_retry_failover
  - md_config_set_store_locks
  - md_config_set_match_mode
  - md_config_set_require_https
  - md_config_set_renew_window
  - md_config_set_warn_window
  - md_config_set_proxy
  - md_config_set_store_dir
  - set_port_map
  - md_config_set_port_map
  - md_config_set_cha_tyes
  - md_config_set_pkeys
  - md_config_set_notify_cmd
  - md_config_set_msg_cmd
  - md_config_set_dns01_cmd
  - md_config_set_dns01_version
  - md_config_add_cert_file
  - md_config_add_key_file
  - md_config_set_server_status
  - md_config_set_certificate_status
  - md_config_set_ocsp_keep_window
  - md_config_set_ocsp_renew_window
  - md_config_set_cert_check
  - md_config_set_activation_delay
  - md_config_set_ca_certs
  - md_config_set_proxy_ca_certs
  - md_config_set_eab
  - md_config_post_config
  - config_get_int
  - md_config_get
  - md_config_get_unique
  - md_config_cget
  - md_config_gets
  - md_config_geti
  - md_config_get_timespan
  - md_get_for_domain
  source_file: /src/httpd/modules/md/mod_md_config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_CMD_MD_SECTION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: '"<MDomainSet"'
    - item_type: preproc_def
      name: MD_CMD_MD2_SECTION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: '"<MDomain"'
    - item_type: preproc_def
      name: DEF_VAL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: MD_DEFAULT_BASE_DIR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: '"md"'
    - item_type: preproc_def
      name: MD_LOC_GLOBAL
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (0x01)
    - item_type: preproc_def
      name: MD_LOC_MD
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (0x02)
    - item_type: preproc_def
      name: MD_LOC_ELSE
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (0x04)
    - item_type: preproc_def
      name: MD_LOC_ALL
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (0x07)
    - item_type: preproc_def
      name: MD_LOC_NOT_MD
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/httpd/modules/md/mod_md_config.c
      type_or_value: (0x102)
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_timeperiod_length
  - md_timeperiod_contains
  - md_timeperiod_has_started
  - md_timeperiod_has_ended
  - md_timeperiod_remaining
  - md_timeperiod_print
  - duration_print
  - md_duration_print
  - md_duration_roughly
  - duration_format
  - md_duration_format
  - md_duration_parse
  - percentage_parse
  - md_timeslice_create
  - md_timeslice_parse
  - md_timeslice_format
  - md_timeperiod_slice_before_end
  - md_timeslice_eq
  - md_timeperiod_common
  - md_time_parse_rfc3339
  source_file: /src/httpd/modules/md/md_time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - problem_status_get
  - md_acme_problem_is_input_related
  - req_update_nonce
  - http_update_nonce
  - md_acme_req_create
  - acmev2_new_nonce
  - md_acme_init
  - inspect_problem
  - acmev2_req_init
  - md_acme_req_body_init
  - md_acme_req_done
  - on_response
  - acmev2_GET_as_POST_init
  - md_acme_req_send
  - md_acme_POST
  - md_acme_GET
  - md_acme_report_result
  - on_got_json
  - md_acme_get_json
  - md_acme_clear_acct
  - md_acme_acct_id_get
  - md_acme_acct_url_get
  - md_acme_use_acct
  - md_acme_use_acct_for_md
  - md_acme_save_acct
  - acmev2_POST_new_account
  - md_acme_POST_new_account
  - md_acme_create
  - collect_profiles
  - update_directory
  - md_acme_setup
  source_file: /src/httpd/modules/md/md_acme.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*type'
        type: char
      - name: rv
        type: apr_status_t
      - name: input_related
        type: int
      item_type: struct
      name: acme_problem_status_t
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/httpd/modules/md/md_acme.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*json'
        type: md_json_t
      item_type: struct
      name: json_ctx
      pos:
        line_end: 499
        line_start: 496
        source_file: /src/httpd/modules/md/md_acme.c
    - fields:
      - name: '*acme'
        type: md_acme_t
      - name: '*result'
        type: md_result_t
      item_type: struct
      name: update_dir_ctx
      pos:
        line_end: 671
        line_start: 668
        source_file: /src/httpd/modules/md/md_acme.c
    typedefs:
    - item_type: typedef
      name: acme_problem_status_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/httpd/modules/md/md_acme.c
      type: acme_problem_status_t
    union: []
- function_names:
  - use_staged_acct
  - save_acct_staged
  - md_acme_drive_set_acct
  - get_up_link
  - add_http_certs
  - on_add_cert
  - get_cert
  - md_acme_drive_cert_poll
  - on_init_csr_req
  - csr_req
  - md_acme_drive_setup_cred_chain
  - on_add_chain
  - get_chain
  - ad_chain_retrieve
  - acme_driver_preload_init
  - acme_driver_init
  - load_missing_creds
  - acme_renew
  - acme_driver_renew
  - acme_preload
  - acme_driver_preload
  - acme_complete_md
  - acme_get_ari
  - md_acme_protos_add
  source_file: /src/httpd/modules/md/md_acme_drive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/md/md_curl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_log_level_name
  - md_log_set
  - md_log_is_level
  - md_log_perror
  source_file: /src/httpd/modules/md/md_log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_BUFFER_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/modules/md/md_log.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_util_pool_do
  - pool_vado
  - md_util_pool_vdo
  - md_data_pinit
  - md_data_pmake
  - md_data_init
  - md_data_init_str
  - md_data_null
  - md_data_clear
  - md_data_make_pcopy
  - md_data_assign_copy
  - md_data_assign_pcopy
  - md_data_to_hex
  - md_array_remove_at
  - md_array_remove
  - md_array_is_empty
  - md_util_str_tolower
  - md_array_str_index
  - md_array_str_eq
  - md_array_str_clone
  - md_array_str_compact
  - md_array_str_remove
  - md_array_str_add_missing
  - md_util_fopen
  - md_util_fcreatex
  - md_util_is_dir
  - md_util_is_file
  - md_util_is_unix_socket
  - md_file_exists
  - md_util_path_merge
  - md_util_freplace
  - md_text_fread8k
  - write_text
  - md_text_fcreatex
  - md_text_freplace
  - rm_recursive
  - prm_recursive
  - md_util_rm_recursive
  - match_and_do
  - files_do_start
  - md_util_files_do
  - tree_do
  - tree_start_do
  - md_util_tree_do
  - rm_cb
  - md_util_ftree_remove
  - md_dns_is_name
  - md_dns_is_wildcard
  - md_dns_matches
  - md_dns_make_minimal
  - md_dns_domains_match
  - md_is_wild_match
  - md_util_schemify
  - uri_check
  - md_util_abs_uri_check
  - md_util_abs_http_uri_check
  - md_util_try
  - md_util_exec
  - BASE64URL_CHAR
  - md_util_base64url_decode
  - md_util_base64url_encode
  - attr_char
  - ptoken_char
  - skip_ws
  - skip_nonws
  - find_chr
  - read_chr
  - skip_qstring
  - skip_ptoken
  - read_link
  - skip_pname
  - skip_pvalue
  - skip_param
  - pv_contains
  - find_url
  - md_link_find_relation
  - md_util_parse_ct
  source_file: /src/httpd/modules/md/md_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N6
      pos:
        line_end: 1124
        line_start: 1123
        source_file: /src/httpd/modules/md/md_util.c
      type_or_value: (unsigned int)-1
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*patterns'
        type: apr_array_header_t
      - name: follow_links
        type: int
      - name: '*baton'
        type: void
      - name: '*cb'
        type: md_util_fdo_cb
      item_type: struct
      name: md_util_fwalk_t
      pos:
        line_end: 532
        line_start: 526
        source_file: /src/httpd/modules/md/md_util.c
    - fields:
      - name: '*s'
        type: char
      - name: slen
        type: apr_size_t
      - name: i
        type: apr_size_t
      - name: link_start
        type: apr_size_t
      - name: link_len
        type: apr_size_t
      - name: pn_start
        type: apr_size_t
      - name: pn_len
        type: apr_size_t
      - name: pv_start
        type: apr_size_t
      - name: pv_len
        type: apr_size_t
      item_type: struct
      name: link_ctx
      pos:
        line_end: 1249
        line_start: 1239
        source_file: /src/httpd/modules/md/md_util.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*relation'
        type: char
      - name: '*url'
        type: char
      item_type: struct
      name: find_ctx
      pos:
        line_end: 1505
        line_start: 1501
        source_file: /src/httpd/modules/md/md_util.c
    typedefs: []
    union: []
- function_names:
  - MD_ACME_VERSION_MAJOR
  source_file: /src/httpd/modules/md/md_acme.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_PROTO_ACME
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '"ACME"'
    - item_type: preproc_def
      name: MD_AUTHZ_CHA_HTTP_01
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '"http-01"'
    - item_type: preproc_def
      name: MD_AUTHZ_CHA_SNI_01
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '"tls-sni-01"'
    - item_type: preproc_def
      name: MD_ACME_VERSION_UNKNOWN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: MD_ACME_VERSION_1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '0x010000'
    - item_type: preproc_def
      name: MD_ACME_VERSION_2
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/md/md_acme.h
      type_or_value: '0x020000'
    structs:
    - fields:
      - name: '*url'
        type: char
      - name: '*sname'
        type: char
      - name: '*p'
        type: apr_pool_t
      - name: '*user_agent'
        type: char
      - name: '*proxy_url'
        type: char
      - name: '*ca_file'
        type: char
      - name: '*proxy_ca_file'
        type: char
      - name: '*acct_id'
        type: char
      - name: '*acct'
        type: struct md_acme_acct_t
      - name: '*acct_key'
        type: struct md_pkey_t
      - name: version
        type: int
      - name: api
        type: "union {\n        struct { /* obsolete */\n            const char *new_authz;\n
          \           const char *new_cert;\n            const char *new_reg;\n            const
          char *revoke_cert;\n            \n        } v1;\n        struct {\n            const
          char *new_account;\n            const char *new_order;\n            const
          char *key_change;\n            const char *revoke_cert;\n            const
          char *new_nonce;\n            const char *renewal_info;\n            struct
          apr_array_header_t *profiles;\n        } v2;\n    }"
      - name: '*ca_agreement'
        type: char
      - name: '*acct_name'
        type: char
      - name: eab_required
        type: int
      - name: '*new_nonce_fn'
        type: md_acme_new_nonce_fn
      - name: '*req_init_fn'
        type: md_acme_req_init_fn
      - name: '*post_new_account_fn'
        type: md_acme_post_fn
      - name: '*http'
        type: struct md_http_t
      - name: '*nonce'
        type: char
      - name: max_retries
        type: int
      - name: '*last'
        type: struct md_result_t
      item_type: struct
      name: md_acme_t
      pos:
        line_end: 138
        line_start: 93
        source_file: /src/httpd/modules/md/md_acme.h
    - fields:
      - name: '*acme'
        type: md_acme_t
      - name: '*p'
        type: apr_pool_t
      - name: '*url'
        type: char
      - name: '*method'
        type: char
      - name: '*prot_fields'
        type: struct md_json_t
      - name: '*req_json'
        type: struct md_json_t
      - name: '*resp_hdrs'
        type: apr_table_t
      - name: '*resp_json'
        type: struct md_json_t
      - name: rv
        type: apr_status_t
      - name: '*on_init'
        type: md_acme_req_init_cb
      - name: '*on_json'
        type: md_acme_req_json_cb
      - name: '*on_res'
        type: md_acme_req_res_cb
      - name: '*on_err'
        type: md_acme_req_err_cb
      - name: max_retries
        type: int
      - name: '*baton'
        type: void
      - name: '*result'
        type: struct md_result_t
      item_type: struct
      name: md_acme_req_t
      pos:
        line_end: 273
        line_start: 252
        source_file: /src/httpd/modules/md/md_acme.h
    typedefs:
    - item_type: typedef
      name: md_acme_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/httpd/modules/md/md_acme.h
      type: md_acme_t
    - item_type: typedef
      name: md_acme_req_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/httpd/modules/md/md_acme.h
      type: md_acme_req_t
    - item_type: typedef
      name: "md_acme_req_res_cb(md_acme_t *acme, \n                                        const
        struct md_http_response_t *res, void *baton)"
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: md_acme_req_init_cb(md_acme_req_t *req, void *baton)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: "md_acme_req_json_cb(md_acme_t *acme, apr_pool_t *p, \n                                         const
        apr_table_t *headers, \n                                         struct md_json_t
        *jbody, void *baton)"
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: "md_acme_req_err_cb(md_acme_req_t *req, \n                                        const
        struct md_result_t *result, void *baton)"
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: md_acme_new_nonce_fn(md_acme_t *acme)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: md_acme_req_init_fn(md_acme_req_t *req, struct md_json_t *jpayload)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    - item_type: typedef
      name: "md_acme_post_fn(md_acme_t *acme, \n                                     md_acme_req_init_cb
        *on_init,\n                                     md_acme_req_json_cb *on_json,\n
        \                                    md_acme_req_res_cb *on_res,\n                                     md_acme_req_err_cb
        *on_err,\n                                     void *baton)"
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/httpd/modules/md/md_acme.h
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_post_config
  - http2_get_num_workers
  - h2_child_init
  - h2_hooks
  - val_HTTP2
  - val_H2_PUSH
  - val_H2_PUSHED
  - val_H2_PUSHED_ON
  - val_H2_STREAM_TAG
  - val_H2_STREAM_ID
  - H2_ALEN
  - http2_is_h2
  - http2_var_lookup
  - h2_h2_fixups
  source_file: /src/httpd/modules/http2/mod_http2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: change_prio
        type: unsigned int
      - name: sha256
        type: unsigned int
      - name: inv_headers
        type: unsigned int
      - name: dyn_windows
        type: unsigned int
      item_type: struct
      name: features
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/httpd/modules/http2/mod_http2.c
    - fields:
      - name: '*name'
        type: char
      - name: '*lookup'
        type: h2_var_lookup
      - name: subprocess
        type: unsigned int
      item_type: struct
      name: h2_var_def
      pos:
        line_end: 296
        line_start: 292
        source_file: /src/httpd/modules/http2/mod_http2.c
    typedefs:
    - item_type: typedef
      name: "*h2_var_lookup(apr_pool_t *p, server_rec *s,\n                                  conn_rec
        *c, request_rec *r, h2_conn_ctx_t *ctx)"
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/httpd/modules/http2/mod_http2.c
      type: char
    union: []
- function_names:
  - is_unsafe
  - bucket_read
  - h2_bucket_headers_make
  - h2_bucket_headers_create
  - h2_bucket_headers_get
  - bucket_destroy
  - h2_bucket_headers_clone
  - h2_headers_create
  - add_header_lengths
  - h2_headers_length
  - h2_bucket_headers_headers_length
  - h2_headers_rcreate
  - h2_headers_copy
  - h2_headers_clone
  - h2_headers_die
  - h2_headers_are_final_response
  source_file: /src/httpd/modules/http2/h2_headers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*headers'
        type: h2_headers
      item_type: struct
      name: h2_bucket_headers
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/httpd/modules/http2/h2_headers.c
    typedefs: []
    union: []
- function_names:
  - bucket_cleanup
  - bucket_read
  - h2_bucket_eos_make
  - h2_bucket_eos_create
  - bucket_destroy
  source_file: /src/httpd/modules/http2/h2_bucket_eos.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*stream'
        type: h2_stream
      item_type: struct
      name: h2_bucket_eos
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/httpd/modules/http2/h2_bucket_eos.c
    typedefs: []
    union: []
- function_names:
  - policy_str
  - attr_char
  - ptoken_char
  - skip_ws
  - find_chr
  - read_chr
  - mk_str
  - read_qstring
  - read_ptoken
  - read_link
  - read_pname
  - read_pvalue
  - read_param
  - read_sep
  - init_params
  - same_authority
  - set_push_header
  - has_param
  - has_relation
  - add_push
  - inspect_link
  - head_iter
  - h2_push_collect
  - sha256_update
  - calc_sha256_hash
  - val_apr_hash
  - calc_apr_hash
  - ceil_power_of_2
  - diary_create
  - h2_push_diary_create
  - h2_push_diary_find
  - move_to_last
  - remove_first
  - h2_push_diary_append
  - h2_push_diary_update
  - h2_push_collect_update
  source_file: /src/httpd/modules/http2/h2_push.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GCSLOG_LEVEL
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/httpd/modules/http2/h2_push.c
      type_or_value: APLOG_TRACE1
    structs:
    - fields:
      - name: '*req'
        type: h2_request
      - name: push_policy
        type: apr_uint32_t
      - name: '*pool'
        type: apr_pool_t
      - name: '*pushes'
        type: apr_array_header_t
      - name: '*s'
        type: char
      - name: slen
        type: size_t
      - name: i
        type: size_t
      - name: '*link'
        type: char
      - name: '*params'
        type: apr_table_t
      - name: b[4096]
        type: char
      item_type: struct
      name: link_ctx
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/httpd/modules/http2/h2_push.c
    - fields:
      - name: hash
        type: apr_uint64_t
      item_type: struct
      name: h2_push_diary_entry
      pos:
        line_end: 478
        line_start: 476
        source_file: /src/httpd/modules/http2/h2_push.c
    typedefs: []
    union: []
- function_names:
  - H2_ALEN
  source_file: /src/httpd/modules/http2/h2_proxy_session.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H2_PROXY_REQ_URL_NOTE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/http2/h2_proxy_session.h
      type_or_value: '"h2-proxy-req-url"'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: '*c'
        type: conn_rec
      - name: '*p_conn'
        type: proxy_conn_rec
      - name: '*conf'
        type: proxy_server_conf
      - name: '*pool'
        type: apr_pool_t
      - name: '*ngh2'
        type: nghttp2_session
      - name: aborted
        type: unsigned int
      - name: h2_front
        type: unsigned int
      - name: '*done'
        type: h2_proxy_request_done
      - name: '*user_data'
        type: void
      - name: window_bits_stream
        type: unsigned char
      - name: window_bits_connection
        type: unsigned char
      - name: state
        type: h2_proxys_state
      - name: wait_timeout
        type: apr_interval_time_t
      - name: '*streams'
        type: struct h2_proxy_ihash_t
      - name: '*suspended'
        type: struct h2_proxy_iqueue
      - name: remote_max_concurrent
        type: apr_size_t
      - name: last_stream_id
        type: int
      - name: last_frame_received
        type: apr_time_t
      - name: '*input'
        type: apr_bucket_brigade
      - name: '*output'
        type: apr_bucket_brigade
      - name: ping_state
        type: h2_ping_state_t
      - name: ping_timeout
        type: apr_time_t
      - name: save_timeout
        type: apr_time_t
      item_type: struct
      name: h2_proxy_session
      pos:
        line_end: 105
        line_start: 73
        source_file: /src/httpd/modules/http2/h2_proxy_session.h
    typedefs:
    - item_type: typedef
      name: h2_proxy_session
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/httpd/modules/http2/h2_proxy_session.h
      type: h2_proxy_session
    - item_type: typedef
      name: "h2_proxy_request_done(h2_proxy_session *s, request_rec *r,\n                                   apr_status_t
        status, int touched,\n                                   int error_code)"
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/httpd/modules/http2/h2_proxy_session.h
      type: void
    union: []
- function_names:
  - h2_log2
  - h2_util_hex_dump
  - h2_util_camel_case_header
  - BASE64URL_CHAR
  - h2_util_base64url_decode
  - h2_util_base64url_encode
  - ihash
  - h2_ihash_create
  - h2_ihash_count
  - h2_ihash_empty
  - h2_ihash_get
  - ihash_iter
  - h2_ihash_iter
  - h2_ihash_add
  - h2_ihash_remove
  - h2_ihash_remove_val
  - h2_ihash_clear
  - collect_iter
  - h2_ihash_shift
  - h2_iq_create
  - h2_iq_empty
  - h2_iq_count
  - h2_iq_add
  - h2_iq_append
  - h2_iq_remove
  - h2_iq_clear
  - h2_iq_sort
  - h2_iq_shift
  - h2_iq_mshift
  - iq_grow
  - iq_swap
  - iq_bubble_up
  - iq_bubble_down
  - h2_iq_contains
  - fifo_destroy
  - index_of
  - create_int
  - h2_fifo_create
  - h2_fifo_set_create
  - h2_fifo_term
  - h2_fifo_count
  - check_not_empty
  - fifo_push_int
  - fifo_push
  - h2_fifo_push
  - h2_fifo_try_push
  - pull_head
  - fifo_pull
  - h2_fifo_pull
  - h2_fifo_try_pull
  - fifo_peek
  - h2_fifo_peek
  - h2_fifo_try_peek
  - h2_fifo_remove
  - inth_index
  - ififo_destroy
  - iindex_of
  - icreate_int
  - h2_ififo_create
  - h2_ififo_set_create
  - h2_ififo_term
  - h2_ififo_count
  - icheck_not_empty
  - ififo_push_int
  - ififo_push
  - h2_ififo_push
  - h2_ififo_try_push
  - ipull_head
  - ififo_pull
  - h2_ififo_pull
  - h2_ififo_try_pull
  - ififo_peek
  - h2_ififo_peek
  - h2_ififo_try_peek
  - ififo_remove
  - h2_ififo_remove
  - count_bytes
  - h2_util_table_bytes
  - fit_bucket_into
  - h2_brigade_concat_length
  - h2_brigade_copy_length
  - h2_util_bucket_print
  - h2_util_bb_print
  - h2_append_brigade
  - h2_brigade_mem_size
  - count_header
  - inv_field_name_chr
  - inv_field_value_chr
  - strip_field_value_ws
  - add_header
  - add_table_header
  - ngheader_create
  - is_unsafe
  - h2_res_create_ngtrailer
  - h2_res_create_ngheader
  - is_unsafe
  - h2_res_create_ngtrailer
  - h2_res_create_ngheader
  - h2_req_create_ngheader
  - H2_DEF_LITERAL
  - H2_LIT_ARGS
  - contains_name
  - h2_util_ignore_resp_header
  - h2_req_ignore_header
  - h2_ignore_req_trailer
  - h2_ignore_resp_trailer
  - req_add_header
  - h2_req_add_header
  - h2_util_frame_print
  - h2_push_policy_determine
  - h2_util_drain_pipe
  - h2_util_wait_on_pipe
  - add_header_lengths
  - headers_length_estimate
  - response_length_estimate
  source_file: /src/httpd/modules/http2/h2_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N6
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/http2/h2_util.c
      type_or_value: (unsigned int)-1
    structs:
    - fields:
      - name: '*hash'
        type: apr_hash_t
      - name: ioff
        type: size_t
      item_type: struct
      name: h2_ihash_t
      pos:
        line_end: 217
        line_start: 214
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '*iter'
        type: h2_ihash_iter_t
      - name: '*ctx'
        type: void
      item_type: struct
      name: iter_ctx
      pos:
        line_end: 250
        line_start: 247
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '*ih'
        type: h2_ihash_t
      - name: '**buffer'
        type: void
      - name: max
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: collect_ctx
      pos:
        line_end: 294
        line_start: 289
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '**elems'
        type: void
      - name: capacity
        type: int
      - name: set
        type: int
      - name: in
        type: int
      - name: out
        type: int
      - name: count
        type: int
      - name: aborted
        type: int
      - name: '*lock'
        type: apr_thread_mutex_t
      - name: '*not_empty'
        type: apr_thread_cond_t
      - name: '*not_full'
        type: apr_thread_cond_t
      item_type: struct
      name: h2_fifo
      pos:
        line_end: 536
        line_start: 525
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '*elems'
        type: int
      - name: capacity
        type: int
      - name: set
        type: int
      - name: head
        type: int
      - name: count
        type: int
      - name: aborted
        type: int
      - name: '*lock'
        type: apr_thread_mutex_t
      - name: '*not_empty'
        type: apr_thread_cond_t
      - name: '*not_full'
        type: apr_thread_cond_t
      item_type: struct
      name: h2_ififo
      pos:
        line_end: 861
        line_start: 851
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: bytes
        type: apr_size_t
      - name: pair_extra
        type: apr_size_t
      item_type: struct
      name: table_bytes_ctx
      pos:
        line_end: 1142
        line_start: 1139
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: unsafe
        type: int
      - name: '*ngh'
        type: h2_ngheader
      - name: status
        type: apr_status_t
      item_type: struct
      name: ngh_ctx
      pos:
        line_end: 1431
        line_start: 1426
        source_file: /src/httpd/modules/http2/h2_util.c
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: literal
      pos:
        line_end: 1598
        line_start: 1595
        source_file: /src/httpd/modules/http2/h2_util.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_switch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/mod_http2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: h2_req_engine
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/httpd/modules/http2/mod_http2.h
      type: h2_req_engine
    - item_type: typedef
      name: http2_output_consumed(void *ctx, conn_rec *c, apr_off_t consumed)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/httpd/modules/http2/mod_http2.h
      type: void
    - item_type: typedef
      name: "http2_req_engine_init(h2_req_engine *engine, \n                                           const
        char *id, \n                                           const char *type,\n
        \                                          apr_pool_t *pool, \n                                           apr_size_t
        req_buffer_size,\n                                           request_rec *r,\n
        \                                          http2_output_consumed **pconsumed,\n
        \                                          void **pbaton)"
      pos:
        line_end: 79
        line_start: 72
        source_file: /src/httpd/modules/http2/mod_http2.h
      type: apr_status_t
    union: []
- function_names:
  - activate_slot
  - join_zombies
  - wake_idle_worker
  - get_next
  - APR_THREAD_FUNC::slot_run
  - wake_all_idles
  - workers_pool_cleanup
  - h2_workers_create
  - h2_workers_get_max_workers
  - h2_workers_shutdown
  - h2_workers_register
  - h2_workers_join
  - h2_workers_activate
  source_file: /src/httpd/modules/http2/h2_workers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (ap_conn_producer_t)
        type: APR_RING_ENTRY
      - name: '*name'
        type: char
      - name: '*baton'
        type: void
      - name: '*fn_next'
        type: ap_conn_producer_next
      - name: '*fn_done'
        type: ap_conn_producer_done
      - name: '*fn_shutdown'
        type: ap_conn_producer_shutdown
      - name: state
        type: prod_state_t
      - name: conns_active
        type: int
      item_type: struct
      name: ap_conn_producer_t
      pos:
        line_end: 50
        line_start: 41
        source_file: /src/httpd/modules/http2/h2_workers.c
    - fields:
      - name: link
        type: APR_RING_ENTRY
      - name: id
        type: apr_uint32_t
      - name: '*pool'
        type: apr_pool_t
      - name: state
        type: h2_slot_state_t
      - name: should_shutdown
        type: int
      - name: is_idle
        type: int
      - name: '*workers'
        type: h2_workers
      - name: '*prod'
        type: ap_conn_producer_t
      - name: '*thread'
        type: apr_thread_t
      - name: '*more_work'
        type: struct apr_thread_cond_t
      - name: activations
        type: int
      item_type: struct
      name: h2_slot
      pos:
        line_end: 72
        line_start: 60
        source_file: /src/httpd/modules/http2/h2_workers.c
    - fields:
      - name: '*s'
        type: server_rec
      - name: '*pool'
        type: apr_pool_t
      - name: max_slots
        type: apr_uint32_t
      - name: min_active
        type: apr_uint32_t
      - name: idle_limit
        type: apr_time_t
      - name: aborted
        type: int
      - name: shutdown
        type: int
      - name: dynamic
        type: int
      - name: active_slots
        type: apr_uint32_t
      - name: idle_slots
        type: apr_uint32_t
      - name: '*thread_attr'
        type: apr_threadattr_t
      - name: '*slots'
        type: h2_slot
      - name: '*lock'
        type: struct apr_thread_mutex_t
      - name: '*prod_done'
        type: struct apr_thread_cond_t
      - name: '*all_done'
        type: struct apr_thread_cond_t
      item_type: struct
      name: h2_workers
      pos:
        line_end: 102
        line_start: 74
        source_file: /src/httpd/modules/http2/h2_workers.c
    typedefs:
    - item_type: typedef
      name: h2_slot
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/httpd/modules/http2/h2_workers.c
      type: h2_slot
    union: []
- function_names:
  - h2_c1_io_bb_log
  - if
  - if
  - C1_IO_BB_LOG
  - h2_c1_io_init
  - append_scratch
  - assure_scratch_space
  - read_to_scratch
  - pass_output
  - h2_c1_io_needs_flush
  - h2_c1_io_pending
  - h2_c1_io_pass
  - h2_c1_io_assure_flushed
  - h2_c1_io_add_data
  - h2_c1_io_append
  - c1_in_feed_bucket
  - c1_in_feed_brigade
  - read_and_feed
  - h2_c1_read
  source_file: /src/httpd/modules/http2/h2_c1_io.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_DATA_MAX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/http2/h2_c1_io.c
      type_or_value: '(16*1024) '
    - item_type: preproc_def
      name: WRITE_SIZE_INITIAL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/http2/h2_c1_io.c
      type_or_value: '1300'
    - item_type: preproc_def
      name: WRITE_SIZE_MAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/http2/h2_c1_io.c
      type_or_value: '(TLS_DATA_MAX) '
    - item_type: preproc_def
      name: BUF_REMAIN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/http2/h2_c1_io.c
      type_or_value: ((apr_size_t)(bmax-off))
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_conn_ctx_get
  source_file: /src/httpd/modules/http2/h2_conn_ctx.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H2_PIPE_OUT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/http2/h2_conn_ctx.h
      type_or_value: '0'
    - item_type: preproc_def
      name: H2_PIPE_IN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/http2/h2_conn_ctx.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: '*server'
        type: server_rec
      - name: '*protocol'
        type: char
      - name: '*session'
        type: struct h2_session
      - name: '*mplx'
        type: struct h2_mplx
      - name: '*transit'
        type: struct h2_c2_transit
      - name: stream_id
        type: int
      - name: '*req_pool'
        type: apr_pool_t
      - name: '*request'
        type: struct h2_request
      - name: '*beam_out'
        type: struct h2_bucket_beam
      - name: '*beam_in'
        type: struct h2_bucket_beam
      - name: input_chunked
        type: unsigned
      - name: is_upgrade
        type: unsigned
      - name: '*pipe_in[2]'
        type: apr_file_t
      - name: pfd
        type: apr_pollfd_t
      - name: has_final_response
        type: int
      - name: last_err
        type: apr_status_t
      - name: bytes_sent
        type: apr_off_t
      - name: started
        type: apr_uint32_t
      - name: started_at
        type: apr_time_t
      - name: done
        type: apr_uint32_t
      - name: done_at
        type: apr_time_t
      item_type: struct
      name: h2_conn_ctx_t
      pos:
        line_end: 69
        line_start: 39
        source_file: /src/httpd/modules/http2/h2_conn_ctx.h
    typedefs:
    - item_type: typedef
      name: h2_conn_ctx_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/httpd/modules/http2/h2_conn_ctx.h
      type: h2_conn_ctx_t
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_HTTP2_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/http2/h2_version.h
      type_or_value: '"2.0.42"'
    - item_type: preproc_def
      name: MOD_HTTP2_VERSION_NUM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/http2/h2_version.h
      type_or_value: '0x02002a'
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2_STREAM_CLIENT_INITIATED
  - H2_ALEN
  - H2MAX
  - H2MIN
  source_file: /src/httpd/modules/http2/h2.h
  types:
    enum:
    - enumerators:
      - name: H2_SS_IDLE
      - name: H2_SS_RSVD_L
      - name: H2_SS_OPEN
      - name: H2_SS_CLOSED_R
      - name: H2_SS_RSVD_R
      - name: H2_SS_CLOSED_L
      - name: H2_SS_CLOSED
      - name: H2_SS_CLEANUP
      - name: H2_SS_MAX
      item_type: enum
      name: h2_stream_state_t
      pos:
        line_end: 150
        line_start: 140
        source_file: /src/httpd/modules/http2/h2.h
    preproc_defs:
    - item_type: preproc_def
      name: H2_USE_PIPES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: H2_USE_PIPES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (APR_FILES_AS_SOCKETS && APR_VERSION_AT_LEAST(1,6,0))
    - item_type: preproc_def
      name: H2_USE_POLLFD_FROM_CONN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_USE_POLLFD_FROM_CONN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: H2_USE_WEBSOCKETS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_USE_WEBSOCKETS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: H2_ERR_NO_ERROR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x00)
    - item_type: preproc_def
      name: H2_ERR_PROTOCOL_ERROR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x01)
    - item_type: preproc_def
      name: H2_ERR_INTERNAL_ERROR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x02)
    - item_type: preproc_def
      name: H2_ERR_FLOW_CONTROL_ERROR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x03)
    - item_type: preproc_def
      name: H2_ERR_SETTINGS_TIMEOUT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x04)
    - item_type: preproc_def
      name: H2_ERR_STREAM_CLOSED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x05)
    - item_type: preproc_def
      name: H2_ERR_FRAME_SIZE_ERROR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x06)
    - item_type: preproc_def
      name: H2_ERR_REFUSED_STREAM
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x07)
    - item_type: preproc_def
      name: H2_ERR_CANCEL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x08)
    - item_type: preproc_def
      name: H2_ERR_COMPRESSION_ERROR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x09)
    - item_type: preproc_def
      name: H2_ERR_CONNECT_ERROR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x0a)
    - item_type: preproc_def
      name: H2_ERR_ENHANCE_YOUR_CALM
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x0b)
    - item_type: preproc_def
      name: H2_ERR_INADEQUATE_SECURITY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x0c)
    - item_type: preproc_def
      name: H2_ERR_HTTP_1_1_REQUIRED
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0x0d)
    - item_type: preproc_def
      name: H2_HEADER_METHOD
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '":method"'
    - item_type: preproc_def
      name: H2_HEADER_METHOD_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '7'
    - item_type: preproc_def
      name: H2_HEADER_SCHEME
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '":scheme"'
    - item_type: preproc_def
      name: H2_HEADER_SCHEME_LEN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '7'
    - item_type: preproc_def
      name: H2_HEADER_AUTH
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '":authority"'
    - item_type: preproc_def
      name: H2_HEADER_AUTH_LEN
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '10'
    - item_type: preproc_def
      name: H2_HEADER_PATH
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '":path"'
    - item_type: preproc_def
      name: H2_HEADER_PATH_LEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '5'
    - item_type: preproc_def
      name: H2_HEADER_PROTO
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '":protocol"'
    - item_type: preproc_def
      name: H2_HEADER_PROTO_LEN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '9'
    - item_type: preproc_def
      name: H2_CRLF
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: H2_FRAME_HDR_LEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '9'
    - item_type: preproc_def
      name: H2_DATA_CHUNK_SIZE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '((16*1024) - 100 - H2_FRAME_HDR_LEN) '
    - item_type: preproc_def
      name: H2_MAX_PADLEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '256'
    - item_type: preproc_def
      name: H2_INITIAL_WINDOW_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: ((64*1024)-1)
    - item_type: preproc_def
      name: H2_HTTP_STATUS_UNSET
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: (0)
    - item_type: preproc_def
      name: H2_HDR_CONFORMANCE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '"http2-hdr-conformance"'
    - item_type: preproc_def
      name: H2_HDR_CONFORMANCE_UNSAFE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '"unsafe"'
    - item_type: preproc_def
      name: H2_PUSH_MODE_NOTE
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '"http2-push-mode"'
    - item_type: preproc_def
      name: AP_HAS_RESPONSE_BUCKETS
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HAS_RESPONSE_BUCKETS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/httpd/modules/http2/h2.h
      type_or_value: '0'
    structs:
    - fields:
      - name: dependency
        type: h2_dependency
      - name: weight
        type: int
      item_type: struct
      name: h2_priority
      pos:
        line_end: 111
        line_start: 108
        source_file: /src/httpd/modules/http2/h2.h
    - fields:
      - name: accepted_max
        type: int
      - name: completed_max
        type: int
      - name: emitted_count
        type: int
      - name: emitted_max
        type: int
      - name: error
        type: int
      - name: '*error_msg'
        type: char
      - name: accepting
        type: unsigned int
      - name: shutdown
        type: unsigned int
      item_type: struct
      name: h2_session_props
      pos:
        line_end: 138
        line_start: 129
        source_file: /src/httpd/modules/http2/h2.h
    - fields:
      - name: '*method'
        type: char
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: '*protocol'
        type: char
      - name: '*headers'
        type: apr_table_t
      - name: request_time
        type: apr_time_t
      - name: raw_bytes
        type: apr_off_t
      - name: http_status
        type: int
      item_type: struct
      name: h2_request
      pos:
        line_end: 183
        line_start: 168
        source_file: /src/httpd/modules/http2/h2.h
    typedefs:
    - item_type: typedef
      name: h2_request
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/httpd/modules/http2/h2.h
      type: h2_request
    - item_type: typedef
      name: h2_io_data_cb(void *ctx, const char *data, apr_off_t len)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/httpd/modules/http2/h2.h
      type: apr_status_t
    - item_type: typedef
      name: h2_stream_pri_cmp_fn(int stream_id1, int stream_id2, void *session)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/httpd/modules/http2/h2.h
      type: int
    - item_type: typedef
      name: '*h2_stream_get_fn(struct h2_session *session, int stream_id)'
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/httpd/modules/http2/h2.h
      type: h2_stream
    union: []
- function_names:
  - h2_conn_ctx_detach
  - ctx_create
  - h2_conn_ctx_create_for_c1
  - h2_conn_ctx_assign_session
  - h2_conn_ctx_init_for_c2
  - h2_conn_ctx_set_timeout
  source_file: /src/httpd/modules/http2/h2_conn_ctx.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2_BUCKET_IS_HEADERS
  source_file: /src/httpd/modules/http2/h2_headers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: status
        type: int
      - name: '*headers'
        type: apr_table_t
      - name: '*notes'
        type: apr_table_t
      - name: raw_bytes
        type: apr_off_t
      item_type: struct
      name: h2_headers
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/httpd/modules/http2/h2_headers.h
    typedefs:
    - item_type: typedef
      name: h2_headers
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/httpd/modules/http2/h2_headers.h
      type: h2_headers
    union: []
- function_names:
  - H2_BUCKET_IS_H2EOS
  source_file: /src/httpd/modules/http2/h2_bucket_eos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2_SSSN_MSG
  - H2_SSSN_LOG
  - H2_SSSN_STRM_MSG
  source_file: /src/httpd/modules/http2/h2_session.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: child_num
        type: int
      - name: id
        type: apr_uint32_t
      - name: '*c1'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: '*s'
        type: server_rec
      - name: '*pool'
        type: apr_pool_t
      - name: '*mplx'
        type: struct h2_mplx
      - name: '*workers'
        type: struct h2_workers
      - name: '*cin'
        type: struct h2_c1_io_in_ctx_t
      - name: io
        type: h2_c1_io
      - name: padding_max
        type: unsigned int
      - name: padding_always
        type: int
      - name: '*ngh2'
        type: struct nghttp2_session
      - name: state
        type: h2_session_state
      - name: local
        type: h2_session_props
      - name: remote
        type: h2_session_props
      - name: reprioritize
        type: unsigned int
      - name: flush
        type: unsigned int
      - name: wait_us
        type: apr_interval_time_t
      - name: '*push_diary'
        type: struct h2_push_diary
      - name: '*monitor'
        type: struct h2_stream_monitor
      - name: open_streams
        type: unsigned int
      - name: streams_done
        type: unsigned int
      - name: responses_submitted
        type: unsigned int
      - name: streams_reset
        type: unsigned int
      - name: pushes_promised
        type: unsigned int
      - name: pushes_submitted
        type: unsigned int
      - name: pushes_reset
        type: unsigned int
      - name: max_stream_errors
        type: unsigned int
      - name: stream_errors
        type: unsigned int
      - name: frames_received
        type: apr_size_t
      - name: frames_sent
        type: apr_size_t
      - name: max_stream_count
        type: apr_size_t
      - name: max_stream_mem
        type: apr_size_t
      - name: max_data_frame_len
        type: apr_size_t
      - name: idle_frames
        type: apr_size_t
      - name: idle_delay
        type: apr_interval_time_t
      - name: '*bbtmp'
        type: apr_bucket_brigade
      - name: status[64]
        type: char
      - name: last_status_code
        type: int
      - name: '*last_status_msg'
        type: char
      - name: input_flushed
        type: int
      - name: '*out_c1_blocked'
        type: struct h2_iqueue
      - name: '*ready_to_process'
        type: struct h2_iqueue
      - name: hd_scratch
        type: h2_hd_scratch
      item_type: struct
      name: h2_session
      pos:
        line_end: 139
        line_start: 65
        source_file: /src/httpd/modules/http2/h2_session.h
    typedefs: []
    union: []
- function_names:
  - h2_protocol_err_description
  - cipher_init
  - cipher_is_blacklisted
  - h2_protocol_init
  - h2_protocol_is_acceptable_c1
  source_file: /src/httpd/modules/http2/h2_protocol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_proxy_util.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*elts'
        type: int
      - name: head
        type: int
      - name: nelts
        type: int
      - name: nalloc
        type: int
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: h2_proxy_iqueue
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
    - fields:
      - name: '*nv'
        type: nghttp2_nv
      - name: nvlen
        type: apr_size_t
      item_type: struct
      name: h2_proxy_ngheader
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
    - fields:
      - name: '*method'
        type: char
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: '*headers'
        type: apr_table_t
      - name: request_time
        type: apr_time_t
      - name: chunked
        type: int
      item_type: struct
      name: h2_proxy_request
      pos:
        line_end: 188
        line_start: 177
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
    typedefs:
    - item_type: typedef
      name: h2_proxy_ihash_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
      type: h2_proxy_ihash_t
    - item_type: typedef
      name: h2_proxy_ihash_iter_t(void *ctx, void *val)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
      type: int
    - item_type: typedef
      name: h2_proxy_iq_cmp(int i1, int i2, void *ctx)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
      type: int
    - item_type: typedef
      name: h2_proxy_request
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
      type: h2_proxy_request
    - item_type: typedef
      name: h2_proxy_fifo
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/httpd/modules/http2/h2_proxy_util.h
      type: h2_proxy_fifo
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/mod_proxy_http2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_ws.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_c2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2_STRM_ASSIGN_MAGIC
  - H2_STRM_ASSERT_MAGIC
  - H2_STRM_ASSIGN_MAGIC
  - H2_STRM_ASSERT_MAGIC
  - H2_STREAM_RST
  - H2_STRM_MSG
  - H2_STRM_LOG
  source_file: /src/httpd/modules/http2/h2_stream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H2_STRM_MAGIC_OK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/http2/h2_stream.h
      type_or_value: '0x5354524d'
    - item_type: preproc_def
      name: H2_STRM_MAGIC_SDEL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/http2/h2_stream.h
      type_or_value: '0x5344454c'
    - item_type: preproc_def
      name: H2_STRM_MAGIC_PDEL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/http2/h2_stream.h
      type_or_value: '0x5044454c'
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '*on_state_enter'
        type: h2_stream_state_cb
      - name: '*on_state_invalid'
        type: h2_stream_state_cb
      - name: '*on_state_event'
        type: h2_stream_event_cb
      - name: '*on_event'
        type: h2_stream_event_cb
      item_type: struct
      name: h2_stream_monitor
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/httpd/modules/http2/h2_stream.h
    - fields:
      - name: id
        type: int
      - name: initiated_on
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*session'
        type: struct h2_session
      - name: state
        type: h2_stream_state_t
      - name: created
        type: apr_time_t
      - name: '*request'
        type: struct h2_request
      - name: '*rtmp'
        type: struct h2_request
      - name: '*trailers_in'
        type: apr_table_t
      - name: request_headers_added
        type: int
      - name: request_headers_failed
        type: int
      - name: '*input'
        type: struct h2_bucket_beam
      - name: '*in_buffer'
        type: apr_bucket_brigade
      - name: in_window_size
        type: int
      - name: in_last_write
        type: apr_time_t
      - name: '*output'
        type: struct h2_bucket_beam
      - name: '*out_buffer'
        type: apr_bucket_brigade
      - name: rst_error
        type: int
      - name: aborted
        type: unsigned int
      - name: scheduled
        type: unsigned int
      - name: input_closed
        type: unsigned int
      - name: push_policy
        type: unsigned int
      - name: sent_trailers
        type: unsigned int
      - name: output_eos
        type: unsigned int
      - name: '*c2'
        type: conn_rec
      - name: '*pref_priority'
        type: h2_priority
      - name: out_frames
        type: apr_off_t
      - name: out_frame_octets
        type: apr_off_t
      - name: out_data_frames
        type: apr_off_t
      - name: out_data_octets
        type: apr_off_t
      - name: in_data_frames
        type: apr_off_t
      - name: in_data_octets
        type: apr_off_t
      - name: in_trailer_octets
        type: apr_off_t
      - name: '*monitor'
        type: h2_stream_monitor
      item_type: struct
      name: h2_stream
      pos:
        line_end: 129
        line_start: 77
        source_file: /src/httpd/modules/http2/h2_stream.h
    typedefs:
    - item_type: typedef
      name: h2_stream
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/httpd/modules/http2/h2_stream.h
      type: h2_stream
    - item_type: typedef
      name: h2_stream_state_cb(void *ctx, h2_stream *stream)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/httpd/modules/http2/h2_stream.h
      type: void
    - item_type: typedef
      name: "h2_stream_event_cb(void *ctx, h2_stream *stream, \n                                h2_stream_event_t
        ev)"
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/http2/h2_stream.h
      type: void
    union: []
- function_names:
  - h2_proxy_log2
  - ihash
  - h2_proxy_ihash_create
  - h2_proxy_ihash_count
  - h2_proxy_ihash_empty
  - h2_proxy_ihash_get
  - ihash_iter
  - h2_proxy_ihash_iter
  - h2_proxy_ihash_add
  - h2_proxy_ihash_remove
  - h2_proxy_ihash_remove_val
  - h2_proxy_ihash_clear
  - collect_iter
  - h2_proxy_ihash_shift
  - icollect_iter
  - h2_proxy_ihash_ishift
  - h2_proxy_iq_create
  - h2_proxy_iq_empty
  - h2_proxy_iq_count
  - h2_proxy_iq_add
  - h2_proxy_iq_remove
  - h2_proxy_iq_clear
  - h2_proxy_iq_sort
  - h2_proxy_iq_shift
  - iq_grow
  - iq_swap
  - iq_bubble_up
  - iq_bubble_down
  - H2_HD_MATCH_LIT_CS
  - h2_util_ignore_header
  - count_header
  - NV_ADD_LIT_CS
  - NV_ADD_CS_CS
  - add_header
  - add_table_header
  - h2_proxy_util_nghd_make_req
  - h2_proxy_util_nghd_make
  - H2_DEF_LITERAL
  - H2_LIT_ARGS
  - ignore_header
  - h2_proxy_req_ignore_header
  - h2_proxy_res_ignore_header
  - h2_proxy_util_camel_case_header
  - H2_HD_MATCH_LIT
  - h2_headers_add_h1
  - h2_proxy_req_createn
  - h2_proxy_req_create
  - set_h1_header
  - h2_proxy_req_make
  - h2_proxy_util_frame_print
  - attr_char
  - ptoken_char
  - skip_ws
  - find_chr
  - read_chr
  - skip_qstring
  - skip_ptoken
  - read_link
  - skip_pname
  - skip_pvalue
  - skip_param
  - read_sep
  - subst_str
  - map_link
  - h2_proxy_link_reverse_map
  - nth_index
  - fifo_destroy
  - index_of
  - create_int
  - h2_proxy_fifo_create
  - h2_proxy_fifo_set_create
  - h2_proxy_fifo_term
  - h2_proxy_fifo_interrupt
  - h2_proxy_fifo_count
  - h2_proxy_fifo_capacity
  - check_not_empty
  - fifo_push
  - h2_proxy_fifo_push
  - h2_proxy_fifo_try_push
  - pull_head
  - fifo_pull
  - h2_proxy_fifo_pull
  - h2_proxy_fifo_try_pull
  - h2_proxy_fifo_remove
  source_file: /src/httpd/modules/http2/h2_proxy_util.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hash'
        type: apr_hash_t
      - name: ioff
        type: size_t
      item_type: struct
      name: h2_proxy_ihash_t
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*iter'
        type: h2_proxy_ihash_iter_t
      - name: '*ctx'
        type: void
      item_type: struct
      name: iter_ctx
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*ih'
        type: h2_proxy_ihash_t
      - name: '**buffer'
        type: void
      - name: max
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: collect_ctx
      pos:
        line_end: 148
        line_start: 143
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*ih'
        type: h2_proxy_ihash_t
      - name: '*buffer'
        type: int
      - name: max
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: icollect_ctx
      pos:
        line_end: 181
        line_start: 176
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: literal
      pos:
        line_end: 477
        line_start: 474
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*headers'
        type: apr_table_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: h1_ctx
      pos:
        line_end: 607
        line_start: 604
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*r'
        type: request_rec
      - name: '*conf'
        type: proxy_dir_conf
      - name: '*s'
        type: char
      - name: slen
        type: int
      - name: i
        type: int
      - name: '*server_uri'
        type: char
      - name: su_len
        type: int
      - name: '*real_backend_uri'
        type: char
      - name: rbu_len
        type: int
      - name: '*p_server_uri'
        type: char
      - name: psu_len
        type: int
      - name: link_start
        type: int
      - name: link_end
        type: int
      item_type: struct
      name: link_ctx
      pos:
        line_end: 750
        line_start: 735
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    - fields:
      - name: '**elems'
        type: void
      - name: nelems
        type: int
      - name: set
        type: int
      - name: head
        type: int
      - name: count
        type: int
      - name: aborted
        type: int
      - name: '*lock'
        type: apr_thread_mutex_t
      - name: '*not_empty'
        type: apr_thread_cond_t
      - name: '*not_full'
        type: apr_thread_cond_t
      item_type: struct
      name: h2_proxy_fifo
      pos:
        line_end: 1096
        line_start: 1086
        source_file: /src/httpd/modules/http2/h2_proxy_util.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_c1_io.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*session'
        type: struct h2_session
      - name: '*output'
        type: apr_bucket_brigade
      - name: unflushed
        type: int
      - name: cooldown_usecs
        type: apr_time_t
      - name: warmup_size
        type: apr_int64_t
      - name: write_size
        type: apr_size_t
      - name: last_write
        type: apr_time_t
      - name: bytes_read
        type: apr_int64_t
      - name: bytes_written
        type: apr_int64_t
      - name: buffered_len
        type: apr_off_t
      - name: flush_threshold
        type: apr_off_t
      - name: is_flushed
        type: unsigned int
      - name: is_passing
        type: unsigned int
      - name: '*scratch'
        type: char
      - name: ssize
        type: apr_size_t
      - name: slen
        type: apr_size_t
      item_type: struct
      name: h2_c1_io
      pos:
        line_end: 49
        line_start: 28
        source_file: /src/httpd/modules/http2/h2_c1_io.h
    typedefs: []
    union: []
- function_names:
  - H2_MPLX_MSG
  source_file: /src/httpd/modules/http2/h2_mplx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*bucket_alloc'
        type: apr_bucket_alloc_t
      item_type: struct
      name: h2_c2_transit
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/httpd/modules/http2/h2_mplx.h
    - fields:
      - name: child_num
        type: int
      - name: id
        type: apr_uint32_t
      - name: '*c1'
        type: conn_rec
      - name: '*pool'
        type: apr_pool_t
      - name: '*stream0'
        type: struct h2_stream
      - name: '*s'
        type: server_rec
      - name: shutdown
        type: int
      - name: aborted
        type: int
      - name: polling
        type: int
      - name: '*producer'
        type: ap_conn_producer_t
      - name: '*streams'
        type: struct h2_ihash_t
      - name: '*shold'
        type: struct h2_ihash_t
      - name: '*spurge'
        type: apr_array_header_t
      - name: '*q'
        type: struct h2_iqueue
      - name: stream_max_mem
        type: apr_size_t
      - name: max_streams
        type: apr_uint32_t
      - name: max_stream_id_started
        type: apr_uint32_t
      - name: processing_count
        type: apr_uint32_t
      - name: processing_limit
        type: apr_uint32_t
      - name: processing_max
        type: apr_uint32_t
      - name: last_mood_change
        type: apr_time_t
      - name: mood_update_interval
        type: apr_interval_time_t
      - name: irritations_since
        type: apr_uint32_t
      - name: '*lock'
        type: apr_thread_mutex_t
      - name: '*join_wait'
        type: struct apr_thread_cond_t
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*streams_ev_in'
        type: apr_array_header_t
      - name: '*streams_ev_out'
        type: apr_array_header_t
      - name: '*poll_lock'
        type: apr_thread_mutex_t
      - name: '*streams_input_read'
        type: struct h2_iqueue
      - name: '*streams_output_written'
        type: struct h2_iqueue
      - name: '*workers'
        type: struct h2_workers
      - name: max_spare_transits
        type: apr_uint32_t
      - name: '*c2_transits'
        type: apr_array_header_t
      item_type: struct
      name: h2_mplx
      pos:
        line_end: 103
        line_start: 57
        source_file: /src/httpd/modules/http2/h2_mplx.h
    typedefs:
    - item_type: typedef
      name: h2_c2_transit
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/modules/http2/h2_mplx.h
      type: h2_c2_transit
    - item_type: typedef
      name: h2_mplx
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/httpd/modules/http2/h2_mplx.h
      type: h2_mplx
    - item_type: typedef
      name: stream_ev_callback(void *ctx, struct h2_stream *stream)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/httpd/modules/http2/h2_mplx.h
      type: void
    - item_type: typedef
      name: h2_mplx_stream_cb(struct h2_stream *s, void *userdata)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/httpd/modules/http2/h2_mplx.h
      type: int
    union: []
- function_names:
  - H2_BLIST_INIT
  - H2_BLIST_SENTINEL
  - H2_BLIST_EMPTY
  - H2_BLIST_FIRST
  - H2_BLIST_LAST
  - H2_BLIST_INSERT_HEAD
  - H2_BLIST_INSERT_TAIL
  - H2_BLIST_CONCAT
  - H2_BLIST_PREPEND
  - h2_blist_count
  - H2_BEAM_LOG
  - bucket_is_mmap
  - bucket_mem_used
  - report_consumption
  - calc_buffered
  - purge_consumed_buckets
  - purge_eor_buckets
  - calc_space_left
  - buffer_is_empty
  - wait_not_empty
  - wait_not_full
  - h2_blist_cleanup
  - beam_shutdown
  - beam_cleanup
  - h2_beam_destroy
  - h2_beam_create
  - h2_beam_buffer_size_set
  - h2_beam_set_copy_files
  - h2_beam_buffer_size_get
  - h2_beam_timeout_get
  - h2_beam_timeout_set
  - h2_beam_abort
  - h2_beam_close
  - append_bucket
  - h2_beam_send
  - h2_beam_receive
  - if
  - if
  - if
  - if
  - if
  - if
  - if
  - h2_beam_on_consumed
  - h2_beam_on_received
  - h2_beam_on_eagain
  - h2_beam_on_send
  - h2_beam_on_was_empty
  - get_buffered_data_len
  - h2_beam_get_buffered
  - h2_beam_get_mem_used
  - h2_beam_empty
  - h2_beam_report_consumption
  - h2_beam_is_complete
  source_file: /src/httpd/modules/http2/h2_bucket_beam.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_request_create
  - set_h1_header
  - h2_request_rcreate
  - h2_request_add_header
  - h2_request_end_headers
  - h2_request_clone
  - my_ap_create_request
  - h2_request_create_bucket
  - assign_headers
  - h2_create_request_rec
  source_file: /src/httpd/modules/http2/h2_request.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*headers'
        type: apr_table_t
      - name: '*pool'
        type: apr_pool_t
      - name: status
        type: apr_status_t
      - name: '*scratch'
        type: h2_hd_scratch
      item_type: struct
      name: h1_ctx
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/httpd/modules/http2/h2_request.c
    typedefs: []
    union: []
- function_names:
  - h2_c1_child_init
  - h2_c1_child_stopping
  - h2_c1_setup
  - h2_c1_run
  - h2_c1_pre_close
  - h2_c1_allows_direct
  - h2_c1_can_upgrade
  - h2_c1_hook_process_connection
  - h2_c1_hook_pre_close
  - h2_c1_register_hooks
  source_file: /src/httpd/modules/http2/h2_c1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2MIN
  - h2_proxy_post_config
  - proxy_http2_canon
  - add_request
  - request_done
  - session_req_done
  - ctx_run
  - proxy_http2_handler
  - register_hook
  source_file: /src/httpd/modules/http2/mod_proxy_http2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: '*cfront'
        type: conn_rec
      - name: '*pool'
        type: apr_pool_t
      - name: '*server'
        type: server_rec
      - name: '*proxy_func'
        type: char
      - name: server_portstr[32]
        type: char
      - name: '*p_conn'
        type: proxy_conn_rec
      - name: '*worker'
        type: proxy_worker
      - name: '*conf'
        type: proxy_server_conf
      - name: req_buffer_size
        type: apr_size_t
      - name: capacity
        type: int
      - name: is_ssl
        type: unsigned
      - name: '*r'
        type: request_rec
      - name: r_status
        type: apr_status_t
      - name: r_done
        type: int
      - name: r_may_retry
        type: int
      - name: has_reusable_session
        type: int
      item_type: struct
      name: h2_proxy_ctx
      pos:
        line_end: 71
        line_start: 50
        source_file: /src/httpd/modules/http2/mod_proxy_http2.c
    typedefs: []
    union: []
- function_names:
  - h2_switch_init
  - h2_protocol_propose
  - remove_output_filters_below
  - remove_input_filters_below
  - h2_protocol_switch
  - h2_protocol_get
  - h2_switch_register_hooks
  source_file: /src/httpd/modules/http2/h2_switch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_ping_timeout
  - unset_ping_timeout
  - enter_ping_state
  - ping_new_session
  - ping_reuse_session
  - ping_ev_frame_received
  - proxy_session_pre_close
  - proxy_pass_brigade
  - raw_send
  - on_frame_recv
  - before_frame_send
  - add_header
  - process_proxy_header
  - h2_proxy_stream_add_header_out
  - log_header
  - h2_proxy_stream_end_headers_out
  - stream_response_data
  - on_stream_close
  - on_header
  - stream_request_data
  - on_invalid_header_cb
  - h2_proxy_session_setup
  - session_start
  - open_stream
  - submit_stream
  - submit_trailers
  - feed_brigade
  - h2_proxy_session_read
  - h2_proxy_session_submit
  - stream_resume
  - is_waiting_for_backend
  - check_suspended
  - session_shutdown
  - state_name
  - is_accepting_streams
  - transit
  - ev_init
  - ev_local_goaway
  - ev_remote_goaway
  - ev_conn_error
  - ev_proto_error
  - ev_conn_timeout
  - ev_no_io
  - ev_stream_submitted
  - ev_stream_done
  - ev_stream_resumed
  - ev_data_read
  - ev_ngh2_done
  - ev_pre_close
  - dispatch_event
  - send_loop
  - h2_proxy_session_process
  - cancel_iter
  - h2_proxy_session_cancel_all
  - done_iter
  - h2_proxy_session_cleanup
  - h2_proxy_session_is_reusable
  - ping_arrived_iter
  - ping_arrived
  source_file: /src/httpd/modules/http2/h2_proxy_session.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*session'
        type: h2_proxy_session
      - name: '*url'
        type: char
      - name: '*r'
        type: request_rec
      - name: '*cfront'
        type: conn_rec
      - name: '*req'
        type: h2_proxy_request
      - name: '*real_server_uri'
        type: char
      - name: '*p_server_uri'
        type: char
      - name: standalone
        type: int
      - name: state
        type: h2_proxy_stream_state_t
      - name: suspended
        type: unsigned int
      - name: waiting_on_100
        type: unsigned int
      - name: waiting_on_ping
        type: unsigned int
      - name: headers_ended
        type: unsigned int
      - name: error_code
        type: uint32_t
      - name: proxy_status
        type: int
      - name: '*input'
        type: apr_bucket_brigade
      - name: data_sent
        type: apr_off_t
      - name: '*output'
        type: apr_bucket_brigade
      - name: data_received
        type: apr_off_t
      - name: '*saves'
        type: apr_table_t
      item_type: struct
      name: h2_proxy_stream
      pos:
        line_end: 59
        line_start: 32
        source_file: /src/httpd/modules/http2/h2_proxy_session.c
    - fields:
      - name: '*name'
        type: char
      - name: func
        type: ap_proxy_header_reverse_map_fn
      item_type: struct
      name: "transform_hdrs[] = {\n        { \"Location\", ap_proxy_location_reverse_map
        },\n        { \"Content-Location\", ap_proxy_location_reverse_map },\n        {
        \"URI\", ap_proxy_location_reverse_map },\n        { \"Destination\", ap_proxy_location_reverse_map
        },\n        { \"Set-Cookie\", ap_proxy_cookie_reverse_map },\n        { NULL,
        NULL }\n    }"
      pos:
        line_end: 377
        line_start: 374
        source_file: /src/httpd/modules/http2/h2_proxy_session.c
    - fields:
      - name: '*session'
        type: h2_proxy_session
      - name: '*done'
        type: h2_proxy_request_done
      item_type: struct
      name: cleanup_iter_ctx
      pos:
        line_end: 1676
        line_start: 1673
        source_file: /src/httpd/modules/http2/h2_proxy_session.c
    - fields:
      - name: '*session'
        type: h2_proxy_session
      - name: '*c'
        type: conn_rec
      - name: bytes
        type: apr_off_t
      - name: updated
        type: int
      item_type: struct
      name: win_update_ctx
      pos:
        line_end: 1757
        line_start: 1752
        source_file: /src/httpd/modules/http2/h2_proxy_session.c
    typedefs: []
    union: []
- function_names:
  - H2_HD_MATCH_LIT
  - h2_util_bb_log
  source_file: /src/httpd/modules/http2/h2_util.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*elts'
        type: int
      - name: head
        type: int
      - name: nelts
        type: int
      - name: nalloc
        type: int
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: h2_iqueue
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/httpd/modules/http2/h2_util.h
    - fields:
      - name: '*nv'
        type: nghttp2_nv
      - name: nvlen
        type: apr_size_t
      item_type: struct
      name: h2_ngheader
      pos:
        line_end: 381
        line_start: 378
        source_file: /src/httpd/modules/http2/h2_util.h
    - fields:
      - name: max_len
        type: size_t
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: h2_hd_scratch
      pos:
        line_end: 404
        line_start: 399
        source_file: /src/httpd/modules/http2/h2_util.h
    typedefs:
    - item_type: typedef
      name: h2_ihash_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/httpd/modules/http2/h2_util.h
      type: h2_ihash_t
    - item_type: typedef
      name: h2_ihash_iter_t(void *ctx, void *val)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/httpd/modules/http2/h2_util.h
      type: int
    - item_type: typedef
      name: h2_iq_cmp(int i1, int i2, void *ctx)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/httpd/modules/http2/h2_util.h
      type: int
    - item_type: typedef
      name: h2_fifo
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/httpd/modules/http2/h2_util.h
      type: h2_fifo
    - item_type: typedef
      name: h2_fifo_peek_fn(void *head, void *ctx)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/httpd/modules/http2/h2_util.h
      type: h2_fifo_op_t
    - item_type: typedef
      name: h2_ififo
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/httpd/modules/http2/h2_util.h
      type: h2_ififo
    - item_type: typedef
      name: h2_ififo_peek_fn(int head, void *ctx)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/httpd/modules/http2/h2_util.h
      type: h2_fifo_op_t
    - item_type: typedef
      name: "h2_util_pass_cb(void *ctx,\n                                     const
        char *data, apr_off_t len)"
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/httpd/modules/http2/h2_util.h
      type: apr_status_t
    - item_type: typedef
      name: h2_bucket_gate(apr_bucket *b)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/httpd/modules/http2/h2_util.h
      type: int
    union: []
- function_names:
  - h2_ss_str
  - h2_stream_state_str
  - on_map
  - on_frame
  - on_frame_send
  - on_frame_recv
  - on_event
  - H2_STREAM_OUT_LOG
  - stream_setup_input
  - h2_stream_prepare_processing
  - input_buffer_is_empty
  - input_flush
  - input_append_bucket
  - input_append_data
  - close_input
  - on_state_enter
  - on_state_event
  - on_state_invalid
  - transit
  - h2_stream_set_monitor
  - h2_stream_dispatch
  - set_policy_for
  - h2_stream_send_frame
  - h2_stream_recv_frame
  - h2_stream_recv_DATA
  - stream_pool_destroy
  - h2_stream_create
  - h2_stream_cleanup
  - h2_stream_destroy
  - h2_stream_rst
  - h2_stream_set_request_rec
  - h2_stream_set_request
  - set_error_response
  - add_trailer
  - h2_stream_add_header
  - table_check_val_len
  - h2_stream_end_headers
  - get_first_response_bucket
  - stream_do_error_bucket
  - buffer_output_receive
  - bucket_pass_to_c1
  - h2_stream_read_to
  - h2_stream_submit_pushes
  - h2_stream_get_trailers
  - h2_stream_get_priority
  - h2_stream_is_ready
  - h2_stream_wants_send_data
  - h2_stream_is_at
  - h2_stream_is_at_or_past
  - h2_stream_in_consumed
  - output_data_buffered
  - if
  - if
  - if
  - stream_data_cb
  - stream_do_responses
  - h2_stream_on_output_change
  - h2_stream_on_input_change
  source_file: /src/httpd/modules/http2/h2_stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_XXX
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: '(-2)                      '
    - item_type: preproc_def
      name: S_ERR
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: '(-1)                      '
    - item_type: preproc_def
      name: S_NOP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: '(0)                       '
    - item_type: preproc_def
      name: S_IDL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_IDL + 1)
    - item_type: preproc_def
      name: S_RS_L
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_RSVD_L + 1)
    - item_type: preproc_def
      name: S_RS_R
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_RSVD_R + 1)
    - item_type: preproc_def
      name: S_OPEN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_OPEN + 1)
    - item_type: preproc_def
      name: S_CL_L
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_CLOSED_L + 1)
    - item_type: preproc_def
      name: S_CL_R
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_CLOSED_R + 1)
    - item_type: preproc_def
      name: S_CLS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_CLOSED + 1)
    - item_type: preproc_def
      name: S_CLN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/http2/h2_stream.c
      type_or_value: (H2_SS_CLEANUP + 1)
    structs:
    - fields:
      - name: maxlen
        type: apr_size_t
      - name: '*failed_key'
        type: char
      item_type: struct
      name: val_len_check_ctx
      pos:
        line_end: 852
        line_start: 849
        source_file: /src/httpd/modules/http2/h2_stream.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_c2_filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_c1.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_workers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: h2_workers
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/httpd/modules/http2/h2_workers.h
      type: h2_workers
    - item_type: typedef
      name: ap_conn_producer_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/httpd/modules/http2/h2_workers.h
      type: ap_conn_producer_t
    - item_type: typedef
      name: '*ap_conn_producer_next(void *baton, int *pmore)'
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/httpd/modules/http2/h2_workers.h
      type: conn_rec
    - item_type: typedef
      name: ap_conn_producer_done(void *baton, conn_rec *conn)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/httpd/modules/http2/h2_workers.h
      type: void
    - item_type: typedef
      name: ap_conn_producer_shutdown(void *baton, int graceful)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/httpd/modules/http2/h2_workers.h
      type: void
    union: []
- function_names:
  - h2_session_status_from_apr_status
  - get_stream
  - h2_session_event
  - rst_unprocessed_stream
  - cleanup_unprocessed_streams
  - h2_session_open_stream
  - spri_cmp
  - stream_pri_cmp
  - send_cb
  - on_invalid_frame_recv_cb
  - on_data_chunk_recv_cb
  - on_stream_close_cb
  - on_begin_headers_cb
  - on_header_cb
  - on_frame_recv_cb
  - on_send_data_cb
  - on_frame_send_cb
  - on_frame_not_send_cb
  - on_invalid_header_cb
  - select_padding_cb
  - NGH2_SET_CALLBACK
  - init_callbacks
  - update_child_status
  - h2_session_shutdown_notice
  - h2_session_shutdown
  - session_cleanup
  - session_pool_cleanup
  - h2_session_create
  - h2_session_start
  - h2_session_push
  - valid_weight
  - h2_session_set_prio
  - h2_session_push_enabled
  - h2_session_want_send
  - h2_session_send
  - on_stream_input
  - on_stream_output
  - h2_session_state_str
  - transit
  - h2_session_ev_init
  - h2_session_ev_input_pending
  - h2_session_ev_input_exhausted
  - h2_session_ev_local_goaway
  - h2_session_ev_remote_goaway
  - h2_session_ev_conn_error
  - h2_session_ev_proto_error
  - h2_session_ev_conn_timeout
  - h2_session_ev_ngh2_done
  - h2_session_ev_mpm_stopping
  - h2_session_ev_bad_client
  - h2_session_ev_pre_close
  - h2_session_ev_no_more_streams
  - ev_stream_created
  - ev_stream_open
  - ev_stream_closed
  - on_stream_state_enter
  - on_stream_event
  - on_stream_state_event
  - h2_session_dispatch_event
  - unblock_c1_out
  - h2_send_flow_blocked
  - h2_session_process
  - h2_session_pre_close
  source_file: /src/httpd/modules/http2/h2_session.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - abort_on_oom
  - h2_mplx_c1_child_init
  - H2_MPLX_ENTER
  - H2_MPLX_LEAVE
  - H2_MPLX_ENTER_ALWAYS
  - H2_MPLX_ENTER_MAYBE
  - H2_MPLX_LEAVE_MAYBE
  - c1_input_consumed
  - stream_is_running
  - h2_mplx_c1_stream_is_running
  - add_for_purge
  - c1c2_stream_joined
  - m_stream_cleanup
  - c2_transit_create
  - c2_transit_destroy
  - c2_transit_get
  - c2_transit_recycle
  - h2_mplx_c1_create
  - h2_mplx_c1_shutdown
  - m_stream_iter_wrap
  - h2_mplx_c1_streams_do
  - m_stream_want_send_data
  - h2_mplx_c1_all_streams_want_send_data
  - m_stream_send_win_exh
  - h2_mplx_c1_all_streams_send_win_exhausted
  - m_report_stream_iter
  - m_unexpected_stream_iter
  - m_stream_cancel_iter
  - h2_mplx_c1_destroy
  - h2_mplx_c1_stream_cleanup
  - h2_mplx_c2_stream_get
  - c1_purge_streams
  - h2_mplx_c1_going_keepalive
  - h2_mplx_c1_poll
  - h2_mplx_c1_reprioritize
  - c1_process_stream
  - h2_mplx_c1_process
  - c2_beam_input_write_notify
  - add_stream_poll_event
  - c2_beam_input_read_notify
  - c2_beam_input_read_eagain
  - c2_beam_output_write_notify
  - c2_setup_io
  - s_next_c2
  - c2_prod_next
  - s_c2_done
  - c2_prod_done
  - workers_shutdown
  - s_mplx_be_happy
  - m_be_annoyed
  - reset_is_acceptable
  - h2_mplx_c1_client_rst
  - mplx_pollset_create
  - mplx_pollset_poll
  source_file: /src/httpd/modules/http2/h2_mplx.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m'
        type: h2_mplx
      - name: '*stream'
        type: h2_stream
      - name: now
        type: apr_time_t
      - name: count
        type: apr_size_t
      item_type: struct
      name: stream_iter_ctx
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/httpd/modules/http2/h2_mplx.c
    - fields:
      - name: '*cb'
        type: h2_mplx_stream_cb
      - name: '*ctx'
        type: void
      item_type: struct
      name: stream_iter_ctx_t
      pos:
        line_end: 388
        line_start: 385
        source_file: /src/httpd/modules/http2/h2_mplx.c
    - fields:
      - name: stream_count
        type: int
      - name: stream_want_send
        type: int
      - name: stream_send_win_exhausted
        type: int
      item_type: struct
      name: stream_iter_aws_t
      pos:
        line_end: 415
        line_start: 411
        source_file: /src/httpd/modules/http2/h2_mplx.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_push.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*req'
        type: struct h2_request
      - name: '*priority'
        type: h2_priority
      item_type: struct
      name: h2_push
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/httpd/modules/http2/h2_push.h
    - fields:
      - name: '*entries'
        type: apr_array_header_t
      - name: NMax
        type: int
      - name: N
        type: int
      - name: mask
        type: apr_uint64_t
      - name: mask_bits
        type: unsigned int
      - name: '*authority'
        type: char
      - name: dtype
        type: h2_push_digest_type
      - name: '*dcalc'
        type: h2_push_digest_calc
      item_type: struct
      name: h2_push_diary
      pos:
        line_end: 90
        line_start: 81
        source_file: /src/httpd/modules/http2/h2_push.h
    typedefs:
    - item_type: typedef
      name: h2_push_diary
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/httpd/modules/http2/h2_push.h
      type: h2_push_diary
    - item_type: typedef
      name: h2_push_digest_calc(h2_push_diary *diary, apr_uint64_t *phash, h2_push
        *push)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/httpd/modules/http2/h2_push.h
      type: void
    union: []
- function_names:
  - h2_c2_filter_notes_out
  - h2_c2_filter_request_in
  - H2_FILTER_LOG
  - uniq_field_values
  - fix_vary
  - create_response
  - parse_header
  - get_line
  - make_table
  - pass_response
  - parse_status
  - parse_response
  - h2_c2_filter_catch_h1_out
  - h2_c2_filter_response_out
  - make_chunk
  - ser_header
  - read_and_chunk
  - h2_c2_filter_request_in
  - h2_c2_filter_trailers_out
  source_file: /src/httpd/modules/http2/h2_c2_filter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: state
        type: h2_rp_state_t
      - name: '*c'
        type: conn_rec
      - name: '*pool'
        type: apr_pool_t
      - name: http_status
        type: int
      - name: '*hlines'
        type: apr_array_header_t
      - name: '*tmp'
        type: apr_bucket_brigade
      - name: '*saveto'
        type: apr_bucket_brigade
      item_type: struct
      name: h2_response_parser
      pos:
        line_end: 391
        line_start: 382
        source_file: /src/httpd/modules/http2/h2_c2_filter.c
    - fields:
      - name: '*id'
        type: char
      - name: eos_chunk_added
        type: int
      - name: '*bbchunk'
        type: apr_bucket_brigade
      - name: chunked_total
        type: apr_off_t
      item_type: struct
      name: h2_chunk_filter_t
      pos:
        line_end: 787
        line_start: 782
        source_file: /src/httpd/modules/http2/h2_c2_filter.c
    typedefs:
    - item_type: typedef
      name: h2_response_parser
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/httpd/modules/http2/h2_c2_filter.c
      type: h2_response_parser
    - item_type: typedef
      name: h2_chunk_filter_t
      pos:
        line_end: 788
        line_start: 788
        source_file: /src/httpd/modules/http2/h2_c2_filter.c
      type: h2_chunk_filter_t
    union: []
- function_names:
  - H2_CONFIG_GET
  - H2_CONFIG_SET
  - CONFIG_CMD_SET
  - CONFIG_CMD_SET64
  - h2_config_init
  - h2_config_create_svr
  - h2_config_merge
  - h2_config_merge_svr
  - h2_config_create_dir
  - h2_config_merge_dir
  - h2_srv_config_geti64
  - h2_srv_config_seti
  - h2_srv_config_seti64
  - h2_config_sget
  - h2_config_rget
  - h2_dir_config_geti64
  - h2_config_seti
  - h2_config_seti64
  - h2_config_get
  - h2_config_cgeti
  - h2_config_cgeti64
  - h2_config_sgeti
  - h2_config_sgeti64
  - h2_config_geti
  - h2_config_geti64
  - h2_config_rgeti
  - h2_config_rgeti64
  - h2_config_push_list
  - h2_config_early_headers
  - h2_cconfig_get_priority
  - h2_conf_set_max_streams
  - h2_conf_set_window_size
  - h2_conf_set_min_workers
  - h2_conf_set_max_workers
  - h2_conf_set_max_worker_idle_limit
  - h2_conf_set_stream_max_mem_size
  - h2_conf_set_max_data_frame_len
  - h2_conf_set_max_hd_block_len
  - h2_conf_set_max_stream_errors
  - h2_conf_set_session_extra_files
  - h2_conf_set_serialize_headers
  - h2_conf_set_direct
  - h2_conf_set_push
  - h2_conf_set_websockets
  - h2_conf_add_push_priority
  - h2_conf_set_modern_tls_only
  - h2_conf_set_upgrade
  - h2_conf_set_tls_warmup_size
  - h2_conf_set_tls_cooldown_secs
  - h2_conf_set_push_diary_size
  - h2_conf_set_copy_files
  - add_push
  - h2_conf_add_push_res
  - h2_conf_add_early_hint
  - h2_conf_set_early_hints
  - h2_conf_set_padding
  - h2_conf_set_output_buffer
  - h2_conf_set_stream_timeout
  - h2_conf_set_proxy_requests
  - h2_get_workers_config
  source_file: /src/httpd/modules/http2/h2_config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_VAL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/http2/h2_config.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: AP_END_CMD
      pos:
        line_end: 1065
        line_start: 1064
        source_file: /src/httpd/modules/http2/h2_config.c
      type_or_value: AP_INIT_TAKE1(NULL, NULL, NULL, RSRC_CONF, NULL)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: h2_max_streams
        type: int
      - name: h2_window_size
        type: int
      - name: min_workers
        type: int
      - name: max_workers
        type: int
      - name: idle_limit
        type: apr_interval_time_t
      - name: stream_max_mem_size
        type: int
      - name: h2_direct
        type: int
      - name: modern_tls_only
        type: int
      - name: h2_upgrade
        type: int
      - name: tls_warmup_size
        type: apr_int64_t
      - name: tls_cooldown_secs
        type: int
      - name: h2_push
        type: int
      - name: '*priorities'
        type: struct apr_hash_t
      - name: push_diary_size
        type: int
      - name: copy_files
        type: int
      - name: '*push_list'
        type: apr_array_header_t
      - name: '*early_headers'
        type: apr_table_t
      - name: early_hints
        type: int
      - name: padding_bits
        type: int
      - name: padding_always
        type: int
      - name: output_buffered
        type: int
      - name: stream_timeout
        type: apr_interval_time_t
      - name: max_data_frame_len
        type: int
      - name: max_hd_block_len
        type: int
      - name: max_stream_errors
        type: int
      - name: proxy_requests
        type: int
      - name: h2_websockets
        type: int
      item_type: struct
      name: h2_config
      pos:
        line_end: 83
        line_start: 53
        source_file: /src/httpd/modules/http2/h2_config.c
    - fields:
      - name: '*name'
        type: char
      - name: h2_upgrade
        type: int
      - name: h2_push
        type: int
      - name: '*push_list'
        type: apr_array_header_t
      - name: '*early_headers'
        type: apr_table_t
      - name: early_hints
        type: int
      - name: stream_timeout
        type: apr_interval_time_t
      item_type: struct
      name: h2_dir_config
      pos:
        line_end: 93
        line_start: 85
        source_file: /src/httpd/modules/http2/h2_config.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_protocol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gen_ws_accept
  - h2_ws_rewrite_request
  - make_valid_resp
  - make_invalid_resp
  - ws_handle_resp
  - ws_post_read
  - h2_ws_register_hooks
  - h2_ws_rewrite_request
  - h2_ws_register_hooks
  source_file: /src/httpd/modules/http2/h2_ws.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ws_accept_base64'
        type: char
      - name: has_final_response
        type: int
      - name: override_body
        type: int
      item_type: struct
      name: ws_filter_ctx
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/httpd/modules/http2/h2_ws.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_config.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*uri_ref'
        type: char
      - name: critical
        type: int
      item_type: struct
      name: h2_push_res
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/httpd/modules/http2/h2_config.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_bucket_beam.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: h2_blist
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/httpd/modules/http2/h2_bucket_beam.h
    - fields:
      - name: id
        type: int
      - name: '*name'
        type: char
      - name: '*from'
        type: conn_rec
      - name: '*pool'
        type: apr_pool_t
      - name: buckets_to_send
        type: h2_blist
      - name: buckets_consumed
        type: h2_blist
      - name: buckets_eor
        type: h2_blist
      - name: max_buf_size
        type: apr_size_t
      - name: timeout
        type: apr_interval_time_t
      - name: aborted
        type: int
      - name: closed
        type: int
      - name: tx_mem_limits
        type: int
      - name: copy_files
        type: int
      - name: '*lock'
        type: struct apr_thread_mutex_t
      - name: '*change'
        type: struct apr_thread_cond_t
      - name: '*was_empty_cb'
        type: h2_beam_ev_callback
      - name: '*was_empty_ctx'
        type: void
      - name: '*recv_cb'
        type: h2_beam_ev_callback
      - name: '*recv_ctx'
        type: void
      - name: '*send_cb'
        type: h2_beam_ev_callback
      - name: '*send_ctx'
        type: void
      - name: '*eagain_cb'
        type: h2_beam_ev_callback
      - name: '*eagain_ctx'
        type: void
      - name: recv_bytes
        type: apr_off_t
      - name: recv_bytes_reported
        type: apr_off_t
      - name: '*cons_io_cb'
        type: h2_beam_io_callback
      - name: '*cons_ctx'
        type: void
      item_type: struct
      name: h2_bucket_beam
      pos:
        line_end: 76
        line_start: 43
        source_file: /src/httpd/modules/http2/h2_bucket_beam.h
    typedefs:
    - item_type: typedef
      name: h2_bucket_beam
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/httpd/modules/http2/h2_bucket_beam.h
      type: h2_bucket_beam
    - item_type: typedef
      name: "h2_beam_io_callback(void *ctx, h2_bucket_beam *beam,\n                                 apr_off_t
        bytes)"
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/http2/h2_bucket_beam.h
      type: void
    - item_type: typedef
      name: h2_beam_ev_callback(void *ctx, h2_bucket_beam *beam)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/httpd/modules/http2/h2_bucket_beam.h
      type: void
    union: []
- function_names: []
  source_file: /src/httpd/modules/http2/h2_request.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_modules
  - h2_conn_mpm_name
  - h2_mpm_supported
  - h2_c2_child_init
  - h2_c2_log_io
  - h2_c2_destroy
  - h2_c2_abort
  - h2_c2_filter_in
  - beam_out
  - h2_c2_filter_out
  - addn_headers
  - check_early_hints
  - c2_hook_fixups
  - http2_get_pollfd_from_conn
  - c2_pre_read_request
  - c2_post_read_request
  - c2_hook_pre_connection
  - h2_c2_register_hooks
  - c2_run_pre_connection
  - h2_c2_process
  - c2_process
  - h2_c2_create
  - h2_c2_hook_post_read_request
  - h2_c2_hook_process
  - h2_c2_register_hooks
  source_file: /src/httpd/modules/http2/h2_c2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      - name: did_upgrade_eos
        type: unsigned
      item_type: struct
      name: h2_c2_fctx_in_t
      pos:
        line_end: 178
        line_start: 175
        source_file: /src/httpd/modules/http2/h2_c2.c
    typedefs: []
    union: []
- function_names:
  - dumpit
  - whichmode
  - dumpio_input_filter
  - dumpio_output_filter
  - dumpio_pre_conn
  - dumpio_register_hooks
  - dumpio_create_sconfig
  - dumpio_enable_input
  - dumpio_enable_output
  source_file: /src/httpd/modules/debugging/mod_dumpio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: dumpio_MAX_STRING_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/debugging/mod_dumpio.c
      type_or_value: (MAX_STRING_LEN / 4 - 80)
    structs:
    - fields:
      - name: enable_input
        type: int
      - name: enable_output
        type: int
      item_type: struct
      name: dumpio_conf_t
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/httpd/modules/debugging/mod_dumpio.c
    typedefs: []
    union: []
- function_names:
  - filter_output_cleanup
  - filter_input_cleanup
  - pumpit_cleanup
  - pumpit
  - firehose_input_filter
  - firehose_output_filter
  - firehose_create_request
  - firehose_pre_conn
  - firehose_open_logs
  - firehose_register_hooks
  - firehose_create_sconfig
  - firehose_merge_sconfig
  - firehose_enable_connection
  - firehose_enable_connection_input
  - firehose_enable_connection_output
  - firehose_enable_request_input
  - firehose_enable_request_output
  - firehose_enable_proxy_connection_input
  - firehose_enable_proxy_connection_output
  source_file: /src/httpd/modules/debugging/mod_firehose.c
  types:
    enum:
    - enumerators:
      - name: FIREHOSE_PROXY
      - name: FIREHOSE_NORMAL
      item_type: enum
      name: proxy_enum
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    - enumerators:
      - name: FIREHOSE_CONNECTION
      - name: FIREHOSE_REQUEST
      item_type: enum
      name: request_enum
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    - enumerators:
      - name: FIREHOSE_IN
        value: '''<'''
      - name: FIREHOSE_OUT
        value: '''>'''
      item_type: enum
      name: direction_enum
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    preproc_defs:
    - item_type: preproc_def
      name: HEADER_LEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/debugging/mod_firehose.c
      type_or_value: (sizeof(apr_uint64_t)*6 + APR_UUID_FORMATTED_LENGTH + 7)
    - item_type: preproc_def
      name: BODY_LEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/debugging/mod_firehose.c
      type_or_value: (PIPE_BUF - HEADER_LEN - 2)
    - item_type: preproc_def
      name: HEADER_FMT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/debugging/mod_firehose.c
      type_or_value: '"%" APR_UINT64_T_HEX_FMT " %" APR_UINT64_T_HEX_FMT " %c %s %"
        APR_UINT64_T_HEX_FMT CRLF'
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*file'
        type: apr_file_t
      - name: proxy
        type: proxy_enum
      - name: direction
        type: direction_enum
      - name: request
        type: request_enum
      - name: suppress
        type: int
      - name: nonblock
        type: apr_int32_t
      item_type: struct
      name: firehose_conn_t
      pos:
        line_end: 81
        line_start: 72
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    - fields:
      - name: '*firehoses'
        type: apr_array_header_t
      item_type: struct
      name: firehose_conf_t
      pos:
        line_end: 86
        line_start: 83
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    - fields:
      - name: '*conf'
        type: firehose_conf_t
      - name: '*conn'
        type: firehose_conn_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmp'
        type: apr_bucket_brigade
      - name: uuid[APR_UUID_FORMATTED_LENGTH + 1]
        type: char
      - name: count
        type: apr_uint64_t
      - name: direction
        type: int
      - name: '*c'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: '*f'
        type: ap_filter_t
      item_type: struct
      name: firehose_ctx_t
      pos:
        line_end: 100
        line_start: 88
        source_file: /src/httpd/modules/debugging/mod_firehose.c
    typedefs: []
    union: []
- function_names:
  - create_bucketeer_server_config
  - bucketeer_out_filter
  - register_hooks
  source_file: /src/httpd/modules/debugging/mod_bucketeer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bucketdelimiter
        type: char
      - name: passdelimiter
        type: char
      - name: flushdelimiter
        type: char
      item_type: struct
      name: bucketeer_filter_config_t
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/httpd/modules/debugging/mod_bucketeer.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: bucketeer_ctx_t
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/httpd/modules/debugging/mod_bucketeer.c
    typedefs: []
    union: []
- function_names:
  - session_included
  - ap_session_load
  - ap_session_save
  - ap_session_get
  - ap_session_set
  - identity_count
  - identity_concat
  - session_identity_encode
  - session_identity_decode
  - session_output_filter
  - session_insert_output_filter
  - session_fixups
  - create_session_dir_config
  - merge_session_dir_config
  - set_session_enable
  - set_session_maxage
  - set_session_header
  - set_session_env
  - add_session_include
  - add_session_exclude
  - set_session_expiry_update
  - register_hooks
  source_file: /src/httpd/modules/session/mod_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_EXPIRY
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/modules/session/mod_session.c
      type_or_value: '"expiry"'
    - item_type: preproc_def
      name: HTTP_SESSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/session/mod_session.c
      type_or_value: '"HTTP_SESSION"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTL64
  - U8TO64_LE
  - U64TO8_LE
  - SIPROUND
  - ap_siphash24
  - ap_siphash24_auth
  - compute_auth
  - crypt_init
  - encrypt_string
  - decrypt_string
  - session_crypto_encode
  - session_crypto_decode
  - session_crypto_init
  - create_session_crypto_config
  - create_session_crypto_dir_config
  - merge_session_crypto_dir_config
  - set_crypto_driver
  - set_crypto_passphrase
  - set_crypto_passphrase_file
  - set_crypto_cipher
  - register_hooks
  source_file: /src/httpd/modules/session/mod_session_crypto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRYPTO_KEY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: '"session_crypto_context"'
    - item_type: preproc_def
      name: AP_SIPHASH_DSIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: APR_SIPHASH_DSIZE
    - item_type: preproc_def
      name: AP_SIPHASH_KSIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: APR_SIPHASH_KSIZE
    - item_type: preproc_def
      name: ap_siphash24_auth
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: apr_siphash24_auth
    - item_type: preproc_def
      name: AP_SIPHASH_DSIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_SIPHASH_KSIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/session/mod_session_crypto.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*passphrases'
        type: apr_array_header_t
      - name: passphrases_set
        type: int
      - name: '*cipher'
        type: char
      - name: cipher_set
        type: int
      item_type: struct
      name: session_crypto_dir_conf
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/httpd/modules/session/mod_session_crypto.c
    - fields:
      - name: '*library'
        type: char
      - name: '*params'
        type: char
      - name: library_set
        type: int
      item_type: struct
      name: session_crypto_conf
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/httpd/modules/session/mod_session_crypto.c
    typedefs: []
    union: []
- function_names:
  - dbd_init
  - dbd_load
  - session_dbd_load
  - dbd_save
  - dbd_remove
  - dbd_clean
  - session_dbd_save
  - session_dbd_monitor
  - create_session_dbd_dir_config
  - merge_session_dbd_dir_config
  - check_string
  - set_dbd_peruser
  - set_dbd_cookie_remove
  - set_cookie_name
  - set_cookie_name2
  - register_hooks
  source_file: /src/httpd/modules/session/mod_session_dbd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_SESSION_DBD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/session/mod_session_dbd.c
      type_or_value: '"mod_session_dbd"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: name_set
        type: int
      - name: '*name_attrs'
        type: char
      - name: '*name2'
        type: char
      - name: name2_set
        type: int
      - name: '*name2_attrs'
        type: char
      - name: peruser
        type: int
      - name: peruser_set
        type: int
      - name: remove
        type: int
      - name: remove_set
        type: int
      - name: '*selectlabel'
        type: char
      - name: '*insertlabel'
        type: char
      - name: '*updatelabel'
        type: char
      - name: '*deletelabel'
        type: char
      item_type: struct
      name: session_dbd_dir_conf
      pos:
        line_end: 47
        line_start: 32
        source_file: /src/httpd/modules/session/mod_session_dbd.c
    typedefs: []
    union: []
- function_names:
  - session_cookie_save
  - session_cookie_load
  - create_session_cookie_dir_config
  - merge_session_cookie_dir_config
  - check_string
  - set_cookie_name
  - set_cookie_name2
  - set_remove
  - set_maxage
  - register_hooks
  source_file: /src/httpd/modules/session/mod_session_cookie.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_SESSION_COOKIE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/modules/session/mod_session_cookie.c
      type_or_value: '"mod_session_cookie"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: name_set
        type: int
      - name: '*name_attrs'
        type: char
      - name: '*name2'
        type: char
      - name: name2_set
        type: int
      - name: '*name2_attrs'
        type: char
      - name: remove
        type: int
      - name: remove_set
        type: int
      - name: maxage
        type: int
      - name: maxage_set
        type: int
      item_type: struct
      name: session_cookie_dir_conf
      pos:
        line_end: 40
        line_start: 29
        source_file: /src/httpd/modules/session/mod_session_cookie.c
    typedefs: []
    union: []
- function_names:
  - SESSION_DECLARE
  - SESSION_DECLARE_NONSTD
  - SESSION_DECLARE
  - SESSION_DECLARE_NONSTD
  - SESSION_DECLARE
  - SESSION_DECLARE_NONSTD
  - SESSION_DECLARE
  - SESSION_DECLARE_NONSTD
  source_file: /src/httpd/modules/session/mod_session.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_DECLARE_DATA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/session/mod_session.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SESSION_DECLARE_DATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/session/mod_session.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: MOD_SESSION_NOTES_KEY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/session/mod_session.h
      type_or_value: '"mod_session_key"'
    - item_type: preproc_def
      name: MOD_SESSION_USER
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/session/mod_session.h
      type_or_value: '"user"'
    - item_type: preproc_def
      name: MOD_SESSION_PW
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/session/mod_session.h
      type_or_value: '"pw"'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*uuid'
        type: apr_uuid_t
      - name: '*remote_user'
        type: char
      - name: '*entries'
        type: apr_table_t
      - name: '*encoded'
        type: char
      - name: expiry
        type: apr_time_t
      - name: maxage
        type: long
      - name: dirty
        type: int
      - name: cached
        type: int
      - name: written
        type: int
      item_type: struct
      name: session_rec
      pos:
        line_end: 97
        line_start: 83
        source_file: /src/httpd/modules/session/mod_session.h
    - fields:
      - name: enabled
        type: int
      - name: enabled_set
        type: int
      - name: maxage
        type: long
      - name: maxage_set
        type: int
      - name: '*header'
        type: char
      - name: header_set
        type: int
      - name: env
        type: int
      - name: env_set
        type: int
      - name: '*includes'
        type: apr_array_header_t
      - name: '*excludes'
        type: apr_array_header_t
      - name: expiry_update_time
        type: apr_time_t
      - name: expiry_update_set
        type: int
      item_type: struct
      name: session_dir_conf
      pos:
        line_end: 120
        line_start: 102
        source_file: /src/httpd/modules/session/mod_session.h
    typedefs: []
    union: []
- function_names:
  - hm_listen
  - qs_to_table
  - hm_update
  - hm_readid
  - hm_slotmem_update_stat
  - hm_slotmem_remove_stat
  - hm_file_update_stat
  - hm_update_stat
  - hm_file_update_stats
  - hm_slotmem_update_stats
  - hm_update_stats
  - hm_get_server
  - hm_processmsg
  - hm_recv
  - hm_watchdog_callback
  - hm_post_config
  - hm_handler
  - hm_register_hooks
  - hm_create_config
  - cmd_hm_storage
  - cmd_hm_listen
  - cmd_hm_maxworkers
  source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HM_UPDATE_SEC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
      type_or_value: (5)
    - item_type: preproc_def
      name: HM_WATHCHDOG_NAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
      type_or_value: ("_heartmonitor_")
    - item_type: preproc_def
      name: SEEN_TIMEOUT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
      type_or_value: (30)
    - item_type: preproc_def
      name: MAX_MSG_LEN
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
      type_or_value: (1000)
    structs:
    - fields:
      - name: '*ip'
        type: char
      - name: busy
        type: int
      - name: ready
        type: int
      - name: port
        type: unsigned int
      - name: seen
        type: apr_time_t
      item_type: struct
      name: hm_server_t
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
    - fields:
      - name: active
        type: int
      - name: '*storage_path'
        type: char
      - name: '*watchdog'
        type: ap_watchdog_t
      - name: interval
        type: apr_interval_time_t
      - name: '*mcast_addr'
        type: apr_sockaddr_t
      - name: status
        type: apr_status_t
      - name: keep_running
        type: int
      - name: '*sock'
        type: apr_socket_t
      - name: '*p'
        type: apr_pool_t
      - name: '*servers'
        type: apr_hash_t
      - name: '*s'
        type: server_rec
      item_type: struct
      name: hm_ctx_t
      pos:
        line_end: 67
        line_start: 54
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
    - fields:
      - name: '*s'
        type: hm_server_t
      - name: found
        type: int
      - name: item_id
        type: unsigned int
      item_type: struct
      name: hm_slot_server_ctx_t
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/httpd/modules/cluster/mod_heartmonitor.c
    typedefs: []
    union: []
- function_names:
  - hb_monitor
  - hb_watchdog_init
  - hb_watchdog_exit
  - hb_watchdog_step
  - hb_watchdog_need
  - hb_register_hooks
  - hb_create_config
  - cmd_hb_address
  source_file: /src/httpd/modules/cluster/mod_heartbeat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEARTBEAT_INTERVAL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/cluster/mod_heartbeat.c
      type_or_value: (1)
    - item_type: preproc_def
      name: MSG_VERSION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/cluster/mod_heartbeat.c
      type_or_value: (1)
    structs:
    - fields:
      - name: active
        type: int
      - name: '*mcast_addr'
        type: apr_sockaddr_t
      - name: server_limit
        type: int
      - name: thread_limit
        type: int
      - name: status
        type: apr_status_t
      item_type: struct
      name: hb_ctx_t
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/httpd/modules/cluster/mod_heartbeat.c
    typedefs: []
    union: []
- function_names:
  - socache_dc_create
  - socache_dc_init
  - socache_dc_destroy
  - socache_dc_store
  - socache_dc_retrieve
  - socache_dc_remove
  - socache_dc_status
  - socache_dc_iterate
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_socache_dc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_CTX_FLAGS
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/httpd/modules/cache/mod_socache_dc.c
      type_or_value: "SESSION_CTX_FLAG_PERSISTENT | \\\n                                 SESSION_CTX_FLAG_PERSISTENT_PIDCHECK
        | \\\n                                 SESSION_CTX_FLAG_PERSISTENT_RETRY |
        \\\n                                 SESSION_CTX_FLAG_PERSISTENT_LATE"
    - item_type: preproc_def
      name: SESSION_CTX_FLAGS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/cache/mod_socache_dc.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*target'
        type: char
      - name: '*dc'
        type: DC_CTX
      item_type: struct
      name: ap_socache_instance_t
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/httpd/modules/cache/mod_socache_dc.c
    typedefs: []
    union: []
- function_names:
  - create_server_config
  - cache_the_file
  - cachefilehandle
  - cachefilemmap
  - file_cache_post_config
  - file_cache_xlat
  - mmap_handler
  - sendfile_handler
  - file_cache_handler
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_file_cache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: finfo
        type: apr_finfo_t
      - name: is_mmapped
        type: int
      - name: mtimestr[APR_RFC822_DATE_LEN]
        type: char
      - name: sizestr[21]
        type: char
      item_type: struct
      name: a_file
      pos:
        line_end: 109
        line_start: 97
        source_file: /src/httpd/modules/cache/mod_file_cache.c
    - fields:
      - name: '*fileht'
        type: apr_hash_t
      item_type: struct
      name: a_server_config
      pos:
        line_end: 113
        line_start: 111
        source_file: /src/httpd/modules/cache/mod_file_cache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/cache/cache_socache_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_SOCACHE_VARY_FORMAT_VERSION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/cache/cache_socache_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CACHE_SOCACHE_DISK_FORMAT_VERSION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/cache/cache_socache_common.h
      type_or_value: '2'
    structs:
    - fields:
      - name: format
        type: apr_uint32_t
      - name: status
        type: int
      - name: name_len
        type: apr_size_t
      - name: entity_version
        type: apr_size_t
      - name: date
        type: apr_time_t
      - name: expire
        type: apr_time_t
      - name: request_time
        type: apr_time_t
      - name: response_time
        type: apr_time_t
      - name: header_only
        type: unsigned int
      - name: control
        type: cache_control_t
      item_type: struct
      name: cache_socache_info_t
      pos:
        line_end: 53
        line_start: 35
        source_file: /src/httpd/modules/cache/cache_socache_common.h
    typedefs: []
    union: []
- function_names:
  - cache_quick_handler
  - cache_replace_filter
  - cache_get_filter
  - cache_handler
  - cache_out_filter
  - cache_save_store
  - cache_header_cmp
  - cache_save_filter
  - cache_remove_url_filter
  - cache_invalidate_filter
  - cache_filter
  - cache_status
  - cache_insert_error_filter
  - create_dir_config
  - merge_dir_config
  - create_cache_config
  - merge_cache_config
  - set_cache_quick_handler
  - set_cache_ignore_no_last_mod
  - set_cache_ignore_cachecontrol
  - set_cache_store_expired
  - set_cache_store_private
  - set_cache_store_nostore
  - add_ignore_header
  - add_ignore_session_id
  - add_cache_enable
  - add_cache_disable
  - set_cache_maxex
  - set_cache_minex
  - set_cache_defex
  - set_cache_factor
  - set_cache_ignore_querystring
  - set_cache_lock
  - set_cache_lock_path
  - set_cache_lock_maxage
  - set_cache_x_cache
  - set_cache_x_cache_detail
  - set_cache_key_base_url
  - set_cache_stale_on_error
  - cache_post_config
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/cache/cache_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: parsed
        type: unsigned int
      - name: cache_control
        type: unsigned int
      - name: pragma
        type: unsigned int
      - name: no_cache
        type: unsigned int
      - name: no_cache_header
        type: unsigned int
      - name: no_store
        type: unsigned int
      - name: max_age
        type: unsigned int
      - name: max_stale
        type: unsigned int
      - name: min_fresh
        type: unsigned int
      - name: no_transform
        type: unsigned int
      - name: only_if_cached
        type: unsigned int
      - name: public
        type: unsigned int
      - name: private
        type: unsigned int
      - name: private_header
        type: unsigned int
      - name: must_revalidate
        type: unsigned int
      - name: proxy_revalidate
        type: unsigned int
      - name: s_maxage
        type: unsigned int
      - name: invalidated
        type: unsigned int
      - name: max_age_value
        type: apr_int64_t
      - name: max_stale_value
        type: apr_int64_t
      - name: min_fresh_value
        type: apr_int64_t
      - name: s_maxage_value
        type: apr_int64_t
      item_type: struct
      name: cache_control
      pos:
        line_end: 52
        line_start: 29
        source_file: /src/httpd/modules/cache/cache_common.h
    typedefs: []
    union: []
- function_names:
  - cache_remove_url
  - cache_create_entity
  - filter_header_do
  - remove_header_do
  - add_header_do
  - cache_accept_headers
  - cache_select
  - cache_canonicalise_key
  - cache_generate_key_default
  - cache_invalidate
  source_file: /src/httpd/modules/cache/cache_storage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CACHE_DECLARE
  - CACHE_DECLARE_NONSTD
  - CACHE_DECLARE
  - CACHE_DECLARE_NONSTD
  - CACHE_DECLARE
  - CACHE_DECLARE_NONSTD
  - CACHE_DECLARE
  - CACHE_DECLARE_NONSTD
  source_file: /src/httpd/modules/cache/mod_cache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_DECLARE_DATA
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: CACHE_DECLARE_DATA
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: CACHE_PROVIDER_GROUP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache"'
    - item_type: preproc_def
      name: AP_CACHE_HIT_ENV
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache-hit"'
    - item_type: preproc_def
      name: AP_CACHE_REVALIDATE_ENV
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache-revalidate"'
    - item_type: preproc_def
      name: AP_CACHE_MISS_ENV
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache-miss"'
    - item_type: preproc_def
      name: AP_CACHE_INVALIDATE_ENV
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache-invalidate"'
    - item_type: preproc_def
      name: AP_CACHE_STATUS_ENV
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/httpd/modules/cache/mod_cache.h
      type_or_value: '"cache-status"'
    structs:
    - fields:
      - name: date
        type: apr_time_t
      - name: expire
        type: apr_time_t
      - name: request_time
        type: apr_time_t
      - name: response_time
        type: apr_time_t
      - name: status
        type: int
      - name: control
        type: cache_control_t
      item_type: struct
      name: cache_info
      pos:
        line_end: 77
        line_start: 58
        source_file: /src/httpd/modules/cache/mod_cache.h
    - fields:
      - name: '*key'
        type: char
      - name: '*next'
        type: cache_object_t
      - name: info
        type: cache_info
      - name: '*vobj'
        type: void
      item_type: struct
      name: cache_object
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/httpd/modules/cache/mod_cache.h
    - fields:
      - name: '*cache_obj'
        type: cache_object_t
      - name: '*req_hdrs'
        type: apr_table_t
      - name: '*resp_hdrs'
        type: apr_table_t
      item_type: struct
      name: cache_handle
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/httpd/modules/cache/mod_cache.h
    - fields:
      - name: (*remove_entity) (cache_handle_t *h)
        type: int
      - name: (*store_headers)(cache_handle_t *h, request_rec *r, cache_info *i)
        type: apr_status_t
      - name: "(*store_body)(cache_handle_t *h, request_rec *r, apr_bucket_brigade
          *in,\n                           apr_bucket_brigade *out)"
        type: apr_status_t
      - name: (*recall_headers) (cache_handle_t *h, request_rec *r)
        type: apr_status_t
      - name: (*recall_body) (cache_handle_t *h, apr_pool_t *p, apr_bucket_brigade
          *bb)
        type: apr_status_t
      - name: "(*create_entity) (cache_handle_t *h, request_rec *r,\n                           const
          char *urlkey, apr_off_t len, apr_bucket_brigade *bb)"
        type: int
      - name: "(*open_entity) (cache_handle_t *h, request_rec *r,\n                           const
          char *urlkey)"
        type: int
      - name: (*remove_url) (cache_handle_t *h, request_rec *r)
        type: int
      - name: (*commit_entity)(cache_handle_t *h, request_rec *r)
        type: apr_status_t
      - name: (*invalidate_entity)(cache_handle_t *h, request_rec *r)
        type: apr_status_t
      item_type: struct
      name: cache_provider
      pos:
        line_end: 112
        line_start: 98
        source_file: /src/httpd/modules/cache/mod_cache.h
    typedefs:
    - item_type: typedef
      name: cache_info
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/httpd/modules/cache/mod_cache.h
      type: cache_info
    - item_type: typedef
      name: cache_object_t
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/httpd/modules/cache/mod_cache.h
      type: cache_object
    - item_type: typedef
      name: cache_handle_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/httpd/modules/cache/mod_cache.h
      type: cache_handle
    union: []
- function_names:
  - socache_rd_create
  - socache_rd_init
  - socache_rd_destroy
  - socache_rd_id2key
  - socache_rd_store
  - socache_rd_retrieve
  - socache_rd_remove
  - socache_rd_status
  - socache_rd_iterate
  - create_server_config
  - socache_rd_set_ttl
  - socache_rd_set_rwto
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_socache_redis.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_APU_REDIS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_KEY_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: '254'
    - item_type: preproc_def
      name: RD_DEFAULT_SERVER_PORT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: '6379'
    - item_type: preproc_def
      name: RD_DEFAULT_SERVER_MIN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_DEFAULT_SERVER_SMAX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_DEFAULT_SERVER_TTL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: apr_time_from_sec(15)
    - item_type: preproc_def
      name: RD_DEFAULT_SERVER_RWTO
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
      type_or_value: apr_time_from_sec(5)
    structs:
    - fields:
      - name: ttl
        type: apr_uint32_t
      - name: rwto
        type: apr_uint32_t
      item_type: struct
      name: socache_rd_svr_cfg
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
    - fields:
      - name: '*servers'
        type: char
      - name: '*rc'
        type: apr_redis_t
      - name: '*tag'
        type: char
      - name: taglen
        type: apr_size_t
      item_type: struct
      name: ap_socache_instance_t
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/httpd/modules/cache/mod_socache_redis.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/cache/mod_cache_disk.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHEFILE_LEN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '20        '
    - item_type: preproc_def
      name: DEFAULT_DIRLEVELS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_DIRLENGTH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_MIN_FILE_SIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_FILE_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: DEFAULT_READSIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_READTIME
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*file'
        type: char
      - name: '*fd'
        type: apr_file_t
      - name: '*tempfile'
        type: char
      - name: '*tempfd'
        type: apr_file_t
      item_type: struct
      name: disk_cache_file_t
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
    - fields:
      - name: '*root'
        type: char
      - name: root_len
        type: apr_size_t
      - name: '*prefix'
        type: char
      - name: data
        type: disk_cache_file_t
      - name: hdrs
        type: disk_cache_file_t
      - name: vary
        type: disk_cache_file_t
      - name: '*hashfile'
        type: char
      - name: '*name'
        type: char
      - name: '*key'
        type: char
      - name: file_size
        type: apr_off_t
      - name: disk_info
        type: disk_cache_info_t
      - name: '*headers_in'
        type: apr_table_t
      - name: '*headers_out'
        type: apr_table_t
      - name: offset
        type: apr_off_t
      - name: timeout
        type: apr_time_t
      - name: done
        type: unsigned int
      item_type: struct
      name: disk_cache_object
      pos:
        line_end: 56
        line_start: 39
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
    - fields:
      - name: '* cache_root'
        type: char
      - name: cache_root_len
        type: apr_size_t
      - name: dirlevels
        type: int
      - name: dirlength
        type: int
      item_type: struct
      name: disk_cache_conf
      pos:
        line_end: 76
        line_start: 71
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
    - fields:
      - name: minfs
        type: apr_off_t
      - name: maxfs
        type: apr_off_t
      - name: readsize
        type: apr_off_t
      - name: readtime
        type: apr_time_t
      - name: minfs_set
        type: unsigned int
      - name: maxfs_set
        type: unsigned int
      - name: readsize_set
        type: unsigned int
      - name: readtime_set
        type: unsigned int
      item_type: struct
      name: disk_cache_dir_conf
      pos:
        line_end: 87
        line_start: 78
        source_file: /src/httpd/modules/cache/mod_cache_disk.h
    typedefs: []
    union: []
- function_names:
  - read_array
  - store_array
  - read_table
  - store_table
  - regen_key
  - array_alphasort
  - tokens_to_array
  - create_entity
  - sobj_body_pre_cleanup
  - open_entity
  - remove_entity
  - remove_url
  - recall_headers
  - recall_body
  - store_headers
  - store_body
  - commit_entity
  - invalidate_entity
  - create_dir_config
  - merge_dir_config
  - create_config
  - merge_config
  - set_cache_socache
  - set_cache_max
  - set_cache_maxtime
  - set_cache_mintime
  - set_cache_readsize
  - set_cache_readtime
  - remove_lock
  - destroy_cache
  - socache_status_hook
  - socache_status_register
  - socache_precfg
  - socache_post_config
  - socache_child_init
  - cache_socache_register_hook
  source_file: /src/httpd/modules/cache/mod_cache_socache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAX_FILE_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
      type_or_value: 100*1024
    - item_type: preproc_def
      name: DEFAULT_MAXTIME
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
      type_or_value: '86400'
    - item_type: preproc_def
      name: DEFAULT_MINTIME
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
      type_or_value: '600'
    - item_type: preproc_def
      name: DEFAULT_READSIZE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_READTIME
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*buffer'
        type: unsigned char
      - name: buffer_len
        type: apr_size_t
      - name: '*body'
        type: apr_bucket_brigade
      - name: '*headers_in'
        type: apr_table_t
      - name: '*headers_out'
        type: apr_table_t
      - name: socache_info
        type: cache_socache_info_t
      - name: body_offset
        type: apr_size_t
      - name: body_length
        type: apr_off_t
      - name: expire
        type: apr_time_t
      - name: '*name'
        type: char
      - name: '*key'
        type: char
      - name: offset
        type: apr_off_t
      - name: timeout
        type: apr_time_t
      - name: newbody
        type: unsigned int
      - name: done
        type: unsigned int
      item_type: struct
      name: cache_socache_object_t
      pos:
        line_end: 93
        line_start: 74
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
    - fields:
      - name: '*args'
        type: char
      - name: '*socache_provider'
        type: ap_socache_provider_t
      - name: '*socache_instance'
        type: ap_socache_instance_t
      item_type: struct
      name: cache_socache_provider_conf
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
    - fields:
      - name: '*provider'
        type: cache_socache_provider_conf
      item_type: struct
      name: cache_socache_conf
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
    - fields:
      - name: max
        type: apr_off_t
      - name: maxtime
        type: apr_time_t
      - name: mintime
        type: apr_time_t
      - name: readsize
        type: apr_off_t
      - name: readtime
        type: apr_time_t
      - name: max_set
        type: unsigned int
      - name: maxtime_set
        type: unsigned int
      - name: mintime_set
        type: unsigned int
      - name: readsize_set
        type: unsigned int
      - name: readtime_set
        type: unsigned int
      item_type: struct
      name: cache_socache_dir_conf
      pos:
        line_end: 128
        line_start: 116
        source_file: /src/httpd/modules/cache/mod_cache_socache.c
    typedefs: []
    union: []
- function_names:
  - uri_meets_conditions
  - cache_use_early_url
  - get_provider
  - cache_get_providers
  - ap_cache_current_age
  - cache_try_lock
  - cache_remove_lock
  - ap_cache_check_no_cache
  - ap_cache_check_no_store
  - cache_check_freshness
  - ap_cache_tokstr
  - ap_cache_hex2usec
  - ap_cache_usec2hex
  - cache_hash
  - ap_cache_generate_name
  - cache_strqtok
  - ap_cache_control
  - cache_control_remove
  - ap_cache_cacheable_headers
  - ap_cache_cacheable_headers_in
  - ap_cache_cacheable_headers_out
  - cache_merge_headers_out
  - cache_table_getm_do
  - cache_table_getm
  source_file: /src/httpd/modules/cache/cache_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_TOKEN_SEPS
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/httpd/modules/cache/cache_util.c
      type_or_value: '"\t ,"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*first'
        type: char
      - name: '*merged'
        type: apr_array_header_t
      item_type: struct
      name: cache_table_getm_t
      pos:
        line_end: 1317
        line_start: 1312
        source_file: /src/httpd/modules/cache/cache_util.c
    typedefs: []
    union: []
- function_names:
  - socache_dbm_create
  - try_chown
  - socache_dbm_init
  - socache_dbm_destroy
  - socache_dbm_store
  - socache_dbm_retrieve
  - socache_dbm_remove
  - socache_dbm_expire
  - socache_dbm_status
  - socache_dbm_iterate
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_socache_dbm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DBM_FILE_MODE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
    - item_type: preproc_def
      name: DEFAULT_DBM_PREFIX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '"socache-dbm-"'
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_DIR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: DBM_SUFFIX
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_PAG
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: DBM_SUFFIX
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_DIR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '".db"'
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_PAG
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '".db"'
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_DIR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '".dir"'
    - item_type: preproc_def
      name: DBM_FILE_SUFFIX_PAG
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '".pag"'
    - item_type: preproc_def
      name: KEYMAX
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*data_file'
        type: char
      - name: '*pool'
        type: apr_pool_t
      - name: last_expiry
        type: apr_time_t
      - name: expiry_interval
        type: apr_interval_time_t
      item_type: struct
      name: ap_socache_instance_t
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/httpd/modules/cache/mod_socache_dbm.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/cache/cache_storage.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - socache_mc_create
  - socache_mc_init
  - socache_mc_destroy
  - socache_mc_id2key
  - socache_mc_store
  - socache_mc_retrieve
  - socache_mc_remove
  - socache_mc_status
  - socache_mc_iterate
  - create_server_config
  - socache_mc_set_ttl
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_socache_memcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MC_KEY_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
      type_or_value: '254'
    - item_type: preproc_def
      name: MC_DEFAULT_SERVER_PORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
      type_or_value: '11211'
    - item_type: preproc_def
      name: MC_DEFAULT_SERVER_MIN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MC_DEFAULT_SERVER_SMAX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MC_DEFAULT_SERVER_TTL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
      type_or_value: apr_time_from_sec(15)
    structs:
    - fields:
      - name: ttl
        type: apr_uint32_t
      item_type: struct
      name: socache_mc_svr_cfg
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
    - fields:
      - name: '*servers'
        type: char
      - name: '*mc'
        type: apr_memcache_t
      - name: '*tag'
        type: char
      - name: taglen
        type: apr_size_t
      item_type: struct
      name: ap_socache_instance_t
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/httpd/modules/cache/mod_socache_memcache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/cache/cache_disk_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VARY_FORMAT_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DISK_FORMAT_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: CACHE_HEADER_SUFFIX
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '".header"'
    - item_type: preproc_def
      name: CACHE_DATA_SUFFIX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '".data"'
    - item_type: preproc_def
      name: CACHE_VDIR_SUFFIX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '".vary"'
    - item_type: preproc_def
      name: AP_TEMPFILE_PREFIX
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '"/"'
    - item_type: preproc_def
      name: AP_TEMPFILE_BASE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '"aptmp"'
    - item_type: preproc_def
      name: AP_TEMPFILE_SUFFIX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: '"XXXXXX"'
    - item_type: preproc_def
      name: AP_TEMPFILE_BASELEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: strlen(AP_TEMPFILE_BASE)
    - item_type: preproc_def
      name: AP_TEMPFILE_NAMELEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX)
    - item_type: preproc_def
      name: AP_TEMPFILE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/cache/cache_disk_common.h
      type_or_value: AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX
    structs:
    - fields:
      - name: format
        type: apr_uint32_t
      - name: status
        type: int
      - name: name_len
        type: apr_size_t
      - name: entity_version
        type: apr_size_t
      - name: date
        type: apr_time_t
      - name: expire
        type: apr_time_t
      - name: request_time
        type: apr_time_t
      - name: response_time
        type: apr_time_t
      - name: inode
        type: apr_ino_t
      - name: device
        type: apr_dev_t
      - name: has_body
        type: unsigned int
      - name: header_only
        type: unsigned int
      - name: control
        type: cache_control_t
      item_type: struct
      name: disk_cache_info_t
      pos:
        line_end: 64
        line_start: 42
        source_file: /src/httpd/modules/cache/cache_disk_common.h
    typedefs: []
    union: []
- function_names:
  - MAX
  - MIN
  source_file: /src/httpd/modules/cache/cache_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSEC_ONE_DAY
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '((apr_time_t)(86400*APR_USEC_PER_SEC)) '
    - item_type: preproc_def
      name: MSEC_ONE_HR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '((apr_time_t)(3600*APR_USEC_PER_SEC))  '
    - item_type: preproc_def
      name: MSEC_ONE_MIN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '((apr_time_t)(60*APR_USEC_PER_SEC))    '
    - item_type: preproc_def
      name: MSEC_ONE_SEC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '((apr_time_t)(APR_USEC_PER_SEC))       '
    - item_type: preproc_def
      name: DEFAULT_CACHE_MAXEXPIRE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: MSEC_ONE_DAY
    - item_type: preproc_def
      name: DEFAULT_CACHE_MINEXPIRE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_CACHE_EXPIRE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: MSEC_ONE_HR
    - item_type: preproc_def
      name: DEFAULT_CACHE_LMFACTOR
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: (0.1)
    - item_type: preproc_def
      name: DEFAULT_CACHE_MAXAGE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_X_CACHE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_X_CACHE_DETAIL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_CACHE_STALE_ON_ERROR
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_CACHE_LOCKPATH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '"mod_cache-lock"'
    - item_type: preproc_def
      name: CACHE_LOCKNAME_KEY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '"mod_cache-lockname"'
    - item_type: preproc_def
      name: CACHE_LOCKFILE_KEY
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '"mod_cache-lockfile"'
    - item_type: preproc_def
      name: CACHE_CTX_KEY
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '"mod_cache-ctx"'
    - item_type: preproc_def
      name: CACHE_IGNORE_HEADERS_SET
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CACHE_IGNORE_HEADERS_UNSET
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CACHE_IGNORE_SESSION_ID_SET
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CACHE_IGNORE_SESSION_ID_UNSET
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/httpd/modules/cache/cache_util.h
      type_or_value: '0'
    structs:
    - fields:
      - name: url
        type: apr_uri_t
      - name: '*type'
        type: char
      - name: pathlen
        type: apr_size_t
      item_type: struct
      name: cache_enable
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/httpd/modules/cache/cache_util.h
    - fields:
      - name: url
        type: apr_uri_t
      - name: pathlen
        type: apr_size_t
      item_type: struct
      name: cache_disable
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/httpd/modules/cache/cache_util.h
    - fields:
      - name: '*cacheenable'
        type: apr_array_header_t
      - name: '*cachedisable'
        type: apr_array_header_t
      - name: '*ignore_headers'
        type: apr_array_header_t
      - name: '*ignore_session_id'
        type: apr_array_header_t
      - name: '*lockpath'
        type: char
      - name: lockmaxage
        type: apr_time_t
      - name: '*base_uri'
        type: apr_uri_t
      - name: ignorecachecontrol
        type: unsigned int
      - name: ignorequerystring
        type: unsigned int
      - name: quick
        type: unsigned int
      - name: lock
        type: unsigned int
      - name: x_cache
        type: unsigned int
      - name: x_cache_detail
        type: unsigned int
      - name: ignore_headers_set
        type: unsigned int
      - name: ignore_session_id_set
        type: unsigned int
      - name: base_uri_set
        type: unsigned int
      - name: ignorecachecontrol_set
        type: unsigned int
      - name: ignorequerystring_set
        type: unsigned int
      - name: quick_set
        type: unsigned int
      - name: lock_set
        type: unsigned int
      - name: lockpath_set
        type: unsigned int
      - name: lockmaxage_set
        type: unsigned int
      - name: x_cache_set
        type: unsigned int
      - name: x_cache_detail_set
        type: unsigned int
      item_type: struct
      name: cache_server_conf
      pos:
        line_end: 155
        line_start: 118
        source_file: /src/httpd/modules/cache/cache_util.h
    - fields:
      - name: minex
        type: apr_time_t
      - name: maxex
        type: apr_time_t
      - name: defex
        type: apr_time_t
      - name: factor
        type: double
      - name: '*cacheenable'
        type: apr_array_header_t
      - name: disable
        type: unsigned int
      - name: x_cache
        type: unsigned int
      - name: x_cache_detail
        type: unsigned int
      - name: stale_on_error
        type: unsigned int
      - name: no_last_mod_ignore
        type: unsigned int
      - name: store_expired
        type: unsigned int
      - name: store_private
        type: unsigned int
      - name: store_nostore
        type: unsigned int
      - name: minex_set
        type: unsigned int
      - name: maxex_set
        type: unsigned int
      - name: defex_set
        type: unsigned int
      - name: factor_set
        type: unsigned int
      - name: x_cache_set
        type: unsigned int
      - name: x_cache_detail_set
        type: unsigned int
      - name: stale_on_error_set
        type: unsigned int
      - name: no_last_mod_ignore_set
        type: unsigned int
      - name: store_expired_set
        type: unsigned int
      - name: store_private_set
        type: unsigned int
      - name: store_nostore_set
        type: unsigned int
      - name: enable_set
        type: unsigned int
      - name: disable_set
        type: unsigned int
      item_type: struct
      name: cache_dir_conf
      pos:
        line_end: 196
        line_start: 157
        source_file: /src/httpd/modules/cache/cache_util.h
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider'
        type: cache_provider
      - name: '*next'
        type: cache_provider_list
      item_type: struct
      name: cache_provider_list
      pos:
        line_end: 205
        line_start: 201
        source_file: /src/httpd/modules/cache/cache_util.h
    - fields:
      - name: '*providers'
        type: cache_provider_list
      - name: '*provider'
        type: cache_provider
      - name: '*provider_name'
        type: char
      - name: fresh
        type: int
      - name: '*handle'
        type: cache_handle_t
      - name: '*stale_handle'
        type: cache_handle_t
      - name: '*stale_headers'
        type: apr_table_t
      - name: in_checked
        type: int
      - name: block_response
        type: int
      - name: '*saved_brigade'
        type: apr_bucket_brigade
      - name: saved_size
        type: apr_off_t
      - name: exp
        type: apr_time_t
      - name: lastmod
        type: apr_time_t
      - name: '*info'
        type: cache_info
      - name: '*save_filter'
        type: ap_filter_t
      - name: '*remove_url_filter'
        type: ap_filter_t
      - name: '*key'
        type: char
      - name: size
        type: apr_off_t
      - name: '*out'
        type: apr_bucket_brigade
      - name: control_in
        type: cache_control_t
      item_type: struct
      name: cache_request_rec
      pos:
        line_end: 231
        line_start: 208
        source_file: /src/httpd/modules/cache/cache_util.h
    typedefs:
    - item_type: typedef
      name: cache_provider_list
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/httpd/modules/cache/cache_util.h
      type: cache_provider_list
    union: []
- function_names:
  - header_file
  - data_file
  - mkdir_structure
  - safe_file_rename
  - file_cache_el_final
  - file_cache_temp_cleanup
  - file_cache_create
  - file_cache_recall_mydata
  - regen_key
  - array_alphasort
  - tokens_to_array
  - create_entity
  - open_entity
  - close_disk_cache_fd
  - remove_entity
  - remove_url
  - read_array
  - store_array
  - read_table
  - recall_headers
  - recall_body
  - store_table
  - store_headers
  - write_headers
  - store_body
  - commit_entity
  - invalidate_entity
  - create_dir_config
  - merge_dir_config
  - create_config
  - set_cache_root
  - set_cache_dirlevels
  - set_cache_dirlength
  - set_cache_minfs
  - set_cache_maxfs
  - set_cache_readsize
  - set_cache_readtime
  - disk_cache_register_hook
  source_file: /src/httpd/modules/cache/mod_cache_disk.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SHMCB_SUBCACHE
  - SHMCB_MASK
  - SHMCB_MASK_DBG
  - SHMCB_INDEX
  - SHMCB_DATA
  - SHMCB_CYCLIC_INCREMENT
  - SHMCB_CYCLIC_SPACE
  - shmcb_cyclic_ntoc_memcpy
  - shmcb_cyclic_cton_memcpy
  - shmcb_cyclic_memcmp
  - socache_shmcb_create
  - socache_shmcb_cleanup
  - socache_shmcb_init
  - socache_shmcb_destroy
  - socache_shmcb_store
  - socache_shmcb_retrieve
  - socache_shmcb_remove
  - socache_shmcb_status
  - socache_shmcb_iterate
  - shmcb_subcache_expire
  - shmcb_subcache_store
  - shmcb_subcache_retrieve
  - shmcb_subcache_remove
  - shmcb_subcache_iterate
  - register_hooks
  source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHMCB_MAX_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: '(UINT_MAX<APR_SIZE_MAX ? UINT_MAX : APR_SIZE_MAX)'
    - item_type: preproc_def
      name: DEFAULT_SHMCB_PREFIX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: '"socache-shmcb-"'
    - item_type: preproc_def
      name: DEFAULT_SHMCB_SUFFIX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: '".cache"'
    - item_type: preproc_def
      name: ALIGNED_HEADER_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(SHMCBHeader))
    - item_type: preproc_def
      name: ALIGNED_SUBCACHE_SIZE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(SHMCBSubcache))
    - item_type: preproc_def
      name: ALIGNED_INDEX_SIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(SHMCBIndex))
    structs:
    - fields:
      - name: stat_stores
        type: unsigned long
      - name: stat_replaced
        type: unsigned long
      - name: stat_expiries
        type: unsigned long
      - name: stat_scrolled
        type: unsigned long
      - name: stat_retrieves_hit
        type: unsigned long
      - name: stat_retrieves_miss
        type: unsigned long
      - name: stat_removes_hit
        type: unsigned long
      - name: stat_removes_miss
        type: unsigned long
      - name: subcache_num
        type: unsigned int
      - name: index_num
        type: unsigned int
      - name: subcache_size
        type: unsigned int
      - name: subcache_data_offset
        type: unsigned int
      - name: subcache_data_size
        type: unsigned int
      item_type: struct
      name: SHMCBHeader
      pos:
        line_end: 77
        line_start: 57
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
    - fields:
      - name: idx_pos
        type: unsigned int
      - name: data_pos
        type: unsigned int
      item_type: struct
      name: SHMCBSubcache
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
    - fields:
      - name: expires
        type: apr_time_t
      - name: data_pos
        type: unsigned int
      - name: data_used
        type: unsigned int
      - name: id_len
        type: unsigned int
      - name: removed
        type: unsigned char
      item_type: struct
      name: SHMCBIndex
      pos:
        line_end: 104
        line_start: 93
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*data_file'
        type: char
      - name: shm_size
        type: apr_size_t
      - name: '*shm'
        type: apr_shm_t
      - name: '*header'
        type: SHMCBHeader
      item_type: struct
      name: ap_socache_instance_t
      pos:
        line_end: 112
        line_start: 106
        source_file: /src/httpd/modules/cache/mod_socache_shmcb.c
    typedefs: []
    union: []
- function_names:
  - noloris_conn
  - noloris_monitor
  - noloris_post
  - noloris_pre
  - noloris_hooks
  - noloris_trusted
  - noloris_recheck
  - noloris_max_conn
  source_file: /src/httpd/modules/experimental/mod_noloris.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ADDR_MAX_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/experimental/mod_noloris.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_action_dir_config
  - merge_action_dir_configs
  - add_action
  - set_script
  - action_handler
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_actions.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*action_types'
        type: apr_table_t
      - name: '*scripted[METHODS]'
        type: char
      - name: configured
        type: int
      item_type: struct
      name: action_dir_config
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/httpd/modules/mappers/mod_actions.c
    typedefs: []
    union: []
- function_names:
  - create_alias_config
  - create_alias_dir_config
  - merge_alias_config
  - merge_alias_dir_config
  - add_alias_internal
  - add_alias
  - add_alias_regex
  - add_redirect_internal
  - add_redirect
  - add_redirect2
  - add_redirect_regex
  - alias_matches
  - try_alias
  - try_redirect
  - try_alias_list
  - translate_alias_redir
  - fixup_redir
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_alias.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALIAS_FLAG_DEFAULT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: ALIAS_FLAG_OFF
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ALIAS_FLAG_ON
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ALIAS_PRESERVE_PATH_DEFAULT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PREGSUB_ERROR
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: (&magic_pregsub_error_value)
    - item_type: preproc_def
      name: MERGE_ERROR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/mappers/mod_alias.c
      type_or_value: (&magic_merge_error_value)
    structs:
    - fields:
      - name: '*real'
        type: char
      - name: '*fake'
        type: char
      - name: '*handler'
        type: char
      - name: '*regexp'
        type: ap_regex_t
      - name: redir_status
        type: int
      item_type: struct
      name: alias_entry
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/httpd/modules/mappers/mod_alias.c
    - fields:
      - name: '*aliases'
        type: apr_array_header_t
      - name: '*redirects'
        type: apr_array_header_t
      item_type: struct
      name: alias_server_conf
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/httpd/modules/mappers/mod_alias.c
    - fields:
      - name: alias_set
        type: unsigned int
      - name: redirect_set
        type: unsigned int
      - name: '*redirects'
        type: apr_array_header_t
      - name: '*alias'
        type: ap_expr_info_t
      - name: '*alias_fake'
        type: char
      - name: '*handler'
        type: char
      - name: '*redirect'
        type: ap_expr_info_t
      - name: redirect_status
        type: int
      - name: allow_relative
        type: int
      - name: alias_preserve_path
        type: int
      item_type: struct
      name: alias_dir_conf
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/httpd/modules/mappers/mod_alias.c
    typedefs: []
    union: []
- function_names:
  - create_userdir_config
  - merge_userdir_config
  - set_user_dir
  - translate_userdir
  - get_suexec_id_doer
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_userdir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_USER_DIR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/mappers/mod_userdir.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: O_DEFAULT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/mappers/mod_userdir.c
      type_or_value: '0'
    - item_type: preproc_def
      name: O_ENABLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/mappers/mod_userdir.c
      type_or_value: '1'
    - item_type: preproc_def
      name: O_DISABLE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/mappers/mod_userdir.c
      type_or_value: '2'
    structs:
    - fields:
      - name: globally_disabled
        type: int
      - name: '*userdir'
        type: char
      - name: '*enabled_users'
        type: apr_table_t
      - name: '*disabled_users'
        type: apr_table_t
      item_type: struct
      name: userdir_config
      pos:
        line_end: 95
        line_start: 90
        source_file: /src/httpd/modules/mappers/mod_userdir.c
    typedefs: []
    union: []
- function_names:
  - mkconfig
  - create_mconfig_for_server
  - create_mconfig_for_directory
  - spdist
  - sort_by_quality
  - check_speling
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_speling.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: enabled
        type: int
      - name: check_case_only
        type: int
      - name: check_basename_match
        type: int
      item_type: struct
      name: spconfig
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/httpd/modules/mappers/mod_speling.c
    - fields:
      - name: '*name'
        type: char
      - name: quality
        type: sp_reason
      item_type: struct
      name: misspelled_file
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/httpd/modules/mappers/mod_speling.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/mappers/mod_rewrite.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_REWRITE_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/mappers/mod_rewrite.h
      type_or_value: '1'
    - item_type: preproc_def
      name: REWRITE_REDIRECT_HANDLER_NAME
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/mappers/mod_rewrite.h
      type_or_value: '"rewrite-redirect-handler"'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(rewrite_mapfunc_t)(request_rec *r, char *key)'
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/httpd/modules/mappers/mod_rewrite.h
      type: char
    union: []
- function_names:
  - mva_create_server_config
  - mva_merge_server_config
  - vhost_alias_set
  - vhost_alias_checkspace
  - vhost_alias_interpolate
  - mva_translate
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_vhost_alias.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*doc_root'
        type: char
      - name: '*cgi_root'
        type: char
      - name: doc_root_mode
        type: mva_mode_e
      - name: cgi_root_mode
        type: mva_mode_e
      item_type: struct
      name: mva_sconf_t
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/httpd/modules/mappers/mod_vhost_alias.c
    typedefs: []
    union: []
- function_names:
  - rewritelog
  - subreq_ok
  - is_absolute_uri
  - is_absolute_path
  - c2x
  - escape_backref
  - escape_absolute_uri
  - splitout_queryargs
  - reduce_uri
  - fully_qualify_uri
  - startsWith
  - prefix_stat
  - subst_prefix_path
  - set_cache_value
  - get_cache_value
  - init_cache
  - rewrite_mapfunc_toupper
  - rewrite_mapfunc_tolower
  - rewrite_mapfunc_escape
  - rewrite_mapfunc_unescape
  - select_random_value_part
  - rewrite_child_errfn
  - rewritemap_program_child
  - run_rewritemap_programs
  - lookup_map_txtfile
  - lookup_map_dbmfile
  - lookup_map_dbd
  - lookup_map_program
  - lookup_map
  - lookup_header
  - la_u
  - lookup_variable
  - find_closing_curly
  - find_char_in_curlies
  - do_expand
  - do_expand_env
  - add_cookie
  - do_expand_cookie
  - expand_tildepaths
  - rewritelock_create
  - rewritelock_remove
  - parseargline
  - config_server_create
  - config_server_merge
  - config_perdir_create
  - config_perdir_merge
  - cmd_rewriteengine
  - cmd_rewriteoptions
  - cmd_rewritemap
  - cmd_rewritebase
  - cmd_parseflagfield
  - cmd_rewritecond_setflag
  - cmd_rewritecond
  - cmd_rewriterule_setflag
  - cmd_rewriterule
  - compare_lexicography
  - apply_rewrite_cond
  - force_type_handler
  - apply_rewrite_rule
  - apply_rewrite_list
  - pre_config
  - post_config
  - init_child
  - hook_uri2file
  - hook_fixup
  - hook_mimetype
  - handler_redirect
  - ap_register_rewrite_mapfunc
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_rewrite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: rewritelog
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: do_rewritelog
    - item_type: preproc_def
      name: REWRITELOG_MODE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
    - item_type: preproc_def
      name: REWRITELOG_FLAGS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: ( APR_WRITE | APR_APPEND | APR_CREATE )
    - item_type: preproc_def
      name: rewritelog
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: do_rewritelog
    - item_type: preproc_def
      name: REWRITE_FORCED_MIMETYPE_NOTEVAR
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"rewrite-forced-mimetype"'
    - item_type: preproc_def
      name: REWRITE_FORCED_HANDLER_NOTEVAR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"rewrite-forced-handler"'
    - item_type: preproc_def
      name: ENVVAR_SCRIPT_URL
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"SCRIPT_URL"'
    - item_type: preproc_def
      name: REDIRECT_ENVVAR_SCRIPT_URL
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"REDIRECT_" ENVVAR_SCRIPT_URL'
    - item_type: preproc_def
      name: ENVVAR_SCRIPT_URI
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"SCRIPT_URI"'
    - item_type: preproc_def
      name: CONDFLAG_NONE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CONDFLAG_NOCASE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CONDFLAG_NOTMATCH
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CONDFLAG_ORNEXT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CONDFLAG_NOVARY
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: RULEFLAG_NONE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: RULEFLAG_FORCEREDIRECT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: RULEFLAG_LASTRULE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: RULEFLAG_NEWROUND
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: RULEFLAG_CHAIN
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: RULEFLAG_IGNOREONSUBREQ
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: RULEFLAG_NOTMATCH
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: RULEFLAG_PROXY
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: RULEFLAG_PASSTHROUGH
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: RULEFLAG_QSAPPEND
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: RULEFLAG_NOCASE
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: RULEFLAG_NOESCAPE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: RULEFLAG_NOSUB
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: RULEFLAG_STATUS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: RULEFLAG_ESCAPEBACKREF
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: RULEFLAG_DISCARDPATHINFO
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: RULEFLAG_QSDISCARD
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: RULEFLAG_END
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<17)
    - item_type: preproc_def
      name: RULEFLAG_ESCAPENOPLUS
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: RULEFLAG_QSLAST
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<19)
    - item_type: preproc_def
      name: RULEFLAG_QSNONE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '(1<<20) '
    - item_type: preproc_def
      name: RULEFLAG_ESCAPECTLS
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<21)
    - item_type: preproc_def
      name: RULEFLAG_UNSAFE_PREFIX_STAT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<22)
    - item_type: preproc_def
      name: RULEFLAG_UNSAFE_ALLOW3F
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<23)
    - item_type: preproc_def
      name: RULEFLAG_UNC
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<24)
    - item_type: preproc_def
      name: ACTION_NORMAL
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: ACTION_NOESCAPE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: ACTION_STATUS
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: ACTION_STATUS_SET
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MAPTYPE_TXT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MAPTYPE_DBM
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MAPTYPE_PRG
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MAPTYPE_INT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MAPTYPE_RND
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: MAPTYPE_DBD
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: MAPTYPE_DBD_CACHE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: ENGINE_DISABLED
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: ENGINE_ENABLED
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: OPTION_NONE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: OPTION_INHERIT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: OPTION_INHERIT_BEFORE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: OPTION_NOSLASH
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: OPTION_ANYURI
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: OPTION_MERGEBASE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: OPTION_INHERIT_DOWN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: OPTION_INHERIT_DOWN_BEFORE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: OPTION_IGNORE_INHERIT
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: OPTION_IGNORE_CONTEXT_INFO
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: OPTION_LEGACY_PREFIX_DOCROOT
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: OPTION_LONGOPT
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: OPTION_UNSAFE_PREFIX_STAT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: REWRITE_MAX_TXT_MAP_LINE
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: REWRITE_PRG_MAP_BUF
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: LEFT_CURLY
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '''{'''
    - item_type: preproc_def
      name: RIGHT_CURLY
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '''}'''
    - item_type: preproc_def
      name: SMALL_EXPANSION
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '5'
    - item_type: preproc_def
      name: REWRITE_MAX_ROUNDS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: EXPAND_SPECIALS
      pos:
        line_end: 2420
        line_start: 2419
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
      type_or_value: '"\\$%"'
    structs:
    - fields:
      - name: '*datafile'
        type: char
      - name: '*dbmtype'
        type: char
      - name: '*checkfile'
        type: char
      - name: '*cachename'
        type: char
      - name: type
        type: int
      - name: '*fpin'
        type: apr_file_t
      - name: '*fpout'
        type: apr_file_t
      - name: '*fperr'
        type: apr_file_t
      - name: "*(*func)(request_rec *,   /* function pointer for internal maps  */\n
          \                 char *)"
        type: char
      - name: '**argv'
        type: char
      - name: '*dbdq'
        type: char
      - name: '*checkfile2'
        type: char
      - name: '*user'
        type: char
      - name: '*group'
        type: char
      item_type: struct
      name: rewritemap_entry
      pos:
        line_end: 279
        line_start: 262
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*input'
        type: char
      - name: '*pattern'
        type: char
      - name: '*regexp'
        type: ap_regex_t
      - name: '*expr'
        type: ap_expr_info_t
      - name: flags
        type: int
      - name: ptype
        type: pattern_type
      - name: pskip
        type: int
      item_type: struct
      name: rewritecond_entry
      pos:
        line_end: 326
        line_start: 318
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*next'
        type: struct data_item
      - name: '*data'
        type: char
      item_type: struct
      name: data_item
      pos:
        line_end: 332
        line_start: 329
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*rewriteconds'
        type: apr_array_header_t
      - name: '*pattern'
        type: char
      - name: '*regexp'
        type: ap_regex_t
      - name: '*output'
        type: char
      - name: flags
        type: int
      - name: '*forced_mimetype'
        type: char
      - name: '*forced_handler'
        type: char
      - name: forced_responsecode
        type: int
      - name: '*env'
        type: data_item
      - name: '*cookie'
        type: data_item
      - name: skip
        type: int
      - name: maxrounds
        type: int
      - name: '*escapes'
        type: char
      - name: '*noescapes'
        type: char
      item_type: struct
      name: rewriterule_entry
      pos:
        line_end: 349
        line_start: 334
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: state
        type: int
      - name: options
        type: int
      - name: '*rewritemaps'
        type: apr_hash_t
      - name: '*rewriteconds'
        type: apr_array_header_t
      - name: '*rewriterules'
        type: apr_array_header_t
      - name: '*server'
        type: server_rec
      - name: state_set
        type: unsigned int
      - name: options_set
        type: unsigned int
      item_type: struct
      name: rewrite_server_conf
      pos:
        line_end: 360
        line_start: 351
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: state
        type: int
      - name: options
        type: int
      - name: '*rewriteconds'
        type: apr_array_header_t
      - name: '*rewriterules'
        type: apr_array_header_t
      - name: '*directory'
        type: char
      - name: '*baseurl'
        type: char
      - name: state_set
        type: unsigned int
      - name: options_set
        type: unsigned int
      - name: baseurl_set
        type: unsigned int
      item_type: struct
      name: rewrite_perdir_conf
      pos:
        line_end: 372
        line_start: 362
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*maps'
        type: apr_hash_t
      item_type: struct
      name: cache
      pos:
        line_end: 382
        line_start: 376
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: mtime
        type: apr_time_t
      - name: '*pool'
        type: apr_pool_t
      - name: '*entries'
        type: apr_hash_t
      item_type: struct
      name: cachedmap
      pos:
        line_end: 391
        line_start: 387
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*source'
        type: char
      - name: regmatch[AP_MAX_REG_MATCH]
        type: ap_regmatch_t
      item_type: struct
      name: backrefinfo
      pos:
        line_end: 399
        line_start: 396
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*next'
        type: struct result_list
      - name: len
        type: apr_size_t
      - name: '*string'
        type: char
      item_type: struct
      name: result_list
      pos:
        line_end: 408
        line_start: 404
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*uri'
        type: char
      - name: '*vary_this'
        type: char
      - name: '*vary'
        type: char
      - name: '*perdir'
        type: char
      - name: briRR
        type: backrefinfo
      - name: briRC
        type: backrefinfo
      - name: '*temp_pool'
        type: apr_pool_t
      item_type: struct
      name: rewrite_ctx
      pos:
        line_end: 421
        line_start: 412
        source_file: /src/httpd/modules/mappers/mod_rewrite.c
    typedefs: []
    union: []
- function_names:
  - create_imap_dir_config
  - merge_imap_dir_configs
  - pointinrect
  - pointincircle
  - fmin
  - fmax
  - pointinpoly
  - is_closer
  - get_x_coord
  - get_y_coord
  - read_quoted
  - imap_url
  - imap_reply
  - menu_header
  - menu_blank
  - menu_comment
  - menu_default
  - menu_directive
  - menu_footer
  - imap_handler_internal
  - imap_handler
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_imagemap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMAP_MAGIC_TYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '"application/x-httpd-imap"'
    - item_type: preproc_def
      name: MAXVERTS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '100'
    - item_type: preproc_def
      name: X
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: Y
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IMAP_MENU_DEFAULT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '"formatted"'
    - item_type: preproc_def
      name: IMAP_DEFAULT_DEFAULT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '"nocontent"'
    - item_type: preproc_def
      name: IMAP_BASE_DEFAULT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
      type_or_value: '"map"'
    structs:
    - fields:
      - name: '*imap_menu'
        type: char
      - name: '*imap_default'
        type: char
      - name: '*imap_base'
        type: char
      item_type: struct
      name: imap_conf_rec
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/httpd/modules/mappers/mod_imagemap.c
    typedefs: []
    union: []
- function_names:
  - add_index
  - configure_slash
  - configure_checkhandler
  - configure_redirect
  - create_dir_config
  - merge_dir_configs
  - fixup_dflt
  - fixup_dir
  - dir_fixups
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_dir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REDIRECT_OFF
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/mappers/mod_dir.c
      type_or_value: '0'
    - item_type: preproc_def
      name: REDIRECT_UNSET
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/mappers/mod_dir.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DIR_CMD_PERMS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/mappers/mod_dir.c
      type_or_value: OR_INDEXES
    structs:
    - fields:
      - name: '*index_names'
        type: apr_array_header_t
      - name: do_slash
        type: moddir_doslash
      - name: checkhandler
        type: moddir_cfg
      - name: redirect_index
        type: int
      - name: '*dflt'
        type: char
      item_type: struct
      name: dir_config_struct
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/httpd/modules/mappers/mod_dir.c
    typedefs: []
    union: []
- function_names:
  - create_neg_dir_config
  - merge_neg_dir_configs
  - set_language_priority
  - set_force_priority
  - cache_negotiated_docs
  - do_cache_negotiated_docs
  - clean_var_rec
  - set_mime_fields
  - set_vlist_validator
  - atoq
  - get_entry
  - do_header_line
  - do_languages_line
  - parse_accept_headers
  - parse_negotiate_header
  - maybe_add_default_accepts
  - get_header_line
  - get_body
  - strip_paren_comments
  - lcase_header_name_return_body
  - read_type_map
  - variantsortf
  - mime_match
  - level_cmp
  - find_lang_index
  - set_default_lang_quality
  - set_language_quality
  - find_content_length
  - set_accept_quality
  - set_charset_quality
  - is_identity_encoding
  - set_encoding_quality
  - is_variant_better_rvsa
  - is_variant_better
  - variant_has_language
  - discard_variant_by_env
  - best_match
  - set_neg_headers
  - make_variant_list
  - store_variant_list
  - setup_choice_response
  - do_negotiation
  - handle_map_file
  - handle_multi
  - fix_encoding
  - register_hooks
  source_file: /src/httpd/modules/mappers/mod_negotiation.c
  types:
    enum:
    - enumerators:
      - name: header_eof
      - name: header_sep
      - name: header_seen
      item_type: enum
      name: header_state
      pos:
        line_end: 741
        line_start: 739
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    - enumerators:
      - name: alg_choice
        value: '1'
      - name: alg_list
      item_type: enum
      name: algorithm_results
      pos:
        line_end: 2007
        line_start: 2004
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    preproc_defs:
    - item_type: preproc_def
      name: MAP_FILE_MAGIC_TYPE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '"application/x-type-map"'
    - item_type: preproc_def
      name: FLP_UNDEF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '0    '
    - item_type: preproc_def
      name: FLP_NONE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: FLP_PREFER
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '2    '
    - item_type: preproc_def
      name: FLP_FALLBACK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '4    '
    - item_type: preproc_def
      name: FLP_DEFAULT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: FLP_PREFER
    - item_type: preproc_def
      name: DISCARD_ALL_ENCODINGS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: DISCARD_ALL_BUT_HTML
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
      type_or_value: '2  '
    structs:
    - fields:
      - name: forcelangpriority
        type: int
      - name: '*language_priority'
        type: apr_array_header_t
      item_type: struct
      name: neg_dir_config
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    - fields:
      - name: '*name'
        type: char
      - name: quality
        type: float
      - name: level
        type: float
      - name: '*charset'
        type: char
      item_type: struct
      name: accept_rec
      pos:
        line_end: 179
        line_start: 174
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    - fields:
      - name: '*sub_req'
        type: request_rec
      - name: '*mime_type'
        type: char
      - name: '*file_name'
        type: char
      - name: body
        type: apr_off_t
      - name: '*content_encoding'
        type: char
      - name: '*content_languages'
        type: apr_array_header_t
      - name: '*content_charset'
        type: char
      - name: '*description'
        type: char
      - name: lang_quality
        type: float
      - name: encoding_quality
        type: float
      - name: charset_quality
        type: float
      - name: mime_type_quality
        type: float
      - name: source_quality
        type: float
      - name: level
        type: float
      - name: bytes
        type: apr_off_t
      - name: lang_index
        type: int
      - name: is_pseudo_html
        type: int
      - name: level_matched
        type: float
      - name: mime_stars
        type: int
      - name: definite
        type: int
      item_type: struct
      name: var_rec
      pos:
        line_end: 239
        line_start: 201
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*r'
        type: request_rec
      - name: '*conf'
        type: neg_dir_config
      - name: '*dir_name'
        type: char
      - name: accept_q
        type: int
      - name: default_lang_quality
        type: float
      - name: '*accepts'
        type: apr_array_header_t
      - name: '*accept_encodings'
        type: apr_array_header_t
      - name: '*accept_charsets'
        type: apr_array_header_t
      - name: '*accept_langs'
        type: apr_array_header_t
      - name: '*avail_vars'
        type: apr_array_header_t
      - name: count_multiviews_variants
        type: int
      - name: is_transparent
        type: int
      - name: dont_fiddle_headers
        type: int
      - name: ua_supports_trans
        type: int
      - name: send_alternates
        type: int
      - name: may_choose
        type: int
      - name: use_rvsa
        type: int
      item_type: struct
      name: negotiation_state
      pos:
        line_end: 272
        line_start: 245
        source_file: /src/httpd/modules/mappers/mod_negotiation.c
    typedefs: []
    union: []
- function_names:
  - extend_timeout
  - check_time_left
  - have_lf_or_eos
  - brigade_append
  - MIN
  - reqtimeout_filter
  - reqtimeout_eor
  - INIT_STAGE
  - reqtimeout_init
  - reqtimeout_before_header
  - reqtimeout_before_body
  - UNSET_STAGE
  - reqtimeout_create_srv_config
  - MERGE_INT
  - MERGE_STAGE
  - reqtimeout_merge_srv_config
  - parse_int
  - set_reqtimeout_param
  - set_reqtimeouts
  - reqtimeout_hooks
  source_file: /src/httpd/modules/filters/mod_reqtimeout.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNSET
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: MRT_DEFAULT_handshake_TIMEOUT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MRT_DEFAULT_handshake_MAX_TIMEOUT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MRT_DEFAULT_handshake_MIN_RATE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MRT_DEFAULT_header_TIMEOUT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MRT_DEFAULT_header_MAX_TIMEOUT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MRT_DEFAULT_header_MIN_RATE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '500'
    - item_type: preproc_def
      name: MRT_DEFAULT_body_TIMEOUT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MRT_DEFAULT_body_MAX_TIMEOUT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MRT_DEFAULT_body_MIN_RATE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
      type_or_value: '500'
    structs:
    - fields:
      - name: timeout
        type: int
      - name: max_timeout
        type: int
      - name: min_rate
        type: int
      - name: rate_factor
        type: apr_time_t
      item_type: struct
      name: reqtimeout_stage_t
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
    - fields:
      - name: handshake
        type: reqtimeout_stage_t
      - name: header
        type: reqtimeout_stage_t
      - name: body
        type: reqtimeout_stage_t
      item_type: struct
      name: reqtimeout_srv_cfg
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
    - fields:
      - name: timeout_at
        type: apr_time_t
      - name: max_timeout_at
        type: apr_time_t
      - name: cur_stage
        type: reqtimeout_stage_t
      - name: in_keep_alive
        type: int
      - name: '*type'
        type: char
      - name: '*socket'
        type: apr_socket_t
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: reqtimeout_con_cfg
      pos:
        line_end: 66
        line_start: 57
        source_file: /src/httpd/modules/filters/mod_reqtimeout.c
    typedefs: []
    union: []
- function_names:
  - filter_trace
  - filter_init
  - filter_lookup
  - filter_harness
  - filter_protocol
  - filter_declare
  - add_filter
  - filter_provider
  - filter_chain
  - filter_bytype1
  - filter_bytype
  - filter_debug
  - filter_insert
  - filter_hooks
  - filter_config
  - filter_merge
  source_file: /src/httpd/modules/filters/mod_filter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*expr'
        type: ap_expr_info_t
      - name: '**types'
        type: char
      - name: '*frec'
        type: ap_filter_rec_t
      - name: '*next'
        type: ap_filter_provider_t
      item_type: struct
      name: ap_filter_provider_t
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_filter.c
    - fields:
      - name: '*provider'
        type: ap_filter_provider_t
      - name: '*ctx'
        type: void
      - name: '*next'
        type: provider_ctx
      item_type: struct
      name: provider_ctx
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/httpd/modules/filters/mod_filter.c
    - fields:
      - name: func
        type: ap_out_filter_func
      - name: '*fctx'
        type: void
      - name: '*init_ctx'
        type: provider_ctx
      item_type: struct
      name: harness_ctx
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/httpd/modules/filters/mod_filter.c
    - fields:
      - name: '*fname'
        type: char
      - name: '*next'
        type: struct mod_filter_chain
      item_type: struct
      name: mod_filter_chain
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/httpd/modules/filters/mod_filter.c
    - fields:
      - name: '*live_filters'
        type: apr_hash_t
      - name: '*chain'
        type: mod_filter_chain
      item_type: struct
      name: mod_filter_cfg
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/httpd/modules/filters/mod_filter.c
    - fields:
      - name: '* range'
        type: char
      item_type: struct
      name: mod_filter_ctx
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/httpd/modules/filters/mod_filter.c
    typedefs:
    - item_type: typedef
      name: provider_ctx
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/httpd/modules/filters/mod_filter.c
      type: provider_ctx
    union: []
- function_names:
  - GETC
  - PEEKC
  - UNGETC
  - SEDCOMPILE_ERROR
  - ecmp
  - uletter
  - comperr
  - regerr
  - sed_compile
  - sed_step
  - _advance
  - getrnge
  source_file: /src/httpd/modules/filters/regexp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - command_errf
  - sed_init_commands
  - sed_destroy_commands
  - sed_compile_string
  - sed_compile_file
  - sed_get_finalize_error
  - sed_canbe_finalized
  - check_finalized
  - dechain
  - fcomp
  - compsub
  - rline
  - address
  - text
  - search
  - ycomp
  - comple
  - alloc_reptr
  source_file: /src/httpd/modules/filters/sed0.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CCEOF
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/filters/sed0.c
      type_or_value: '22'
    structs: []
    typedefs: []
    union: []
- function_names:
  - data_out_filter
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_data.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATA_FILTER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/filters/mod_data.c
      type_or_value: '"DATA"'
    structs:
    - fields:
      - name: overflow[3]
        type: unsigned char
      - name: count
        type: int
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: data_ctx
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/httpd/modules/filters/mod_data.c
    typedefs: []
    union: []
- function_names:
  - create_ef_dir_conf
  - create_ef_server_conf
  - merge_ef_dir_conf
  - add_options
  - parse_cmd
  - define_filter
  - ef_init
  - register_hooks
  - set_resource_limits
  - ef_close_file
  - child_errfn
  - init_ext_filter_process
  - get_cfg_string
  - find_filter_def
  - init_filter_instance
  - drain_available_output
  - pass_data_to_filter
  - check_filter_process_on_eos
  - ef_unified_filter
  - ef_output_filter
  - ef_input_filter
  source_file: /src/httpd/modules/filters/mod_ext_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INTYPE_ALL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
      type_or_value: (char *)1
    - item_type: preproc_def
      name: OUTTYPE_UNCHANGED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
      type_or_value: (char *)1
    - item_type: preproc_def
      name: ERRFN_USERDATA_KEY
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
      type_or_value: '"EXTFILTCHILDERRFN"'
    structs:
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*h'
        type: apr_hash_t
      item_type: struct
      name: ef_server_t
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
    - fields:
      - name: '*name'
        type: char
      - name: mode
        type: enum {INPUT_FILTER=1, OUTPUT_FILTER}
      - name: ftype
        type: ap_filter_type
      - name: '*command'
        type: char
      - name: '*enable_env'
        type: char
      - name: '*disable_env'
        type: char
      - name: '**args'
        type: char
      - name: '*intype'
        type: char
      - name: '*outtype'
        type: char
      - name: preserves_content_length
        type: int
      item_type: struct
      name: ef_filter_t
      pos:
        line_end: 55
        line_start: 42
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
    - fields:
      - name: log_stderr
        type: int
      - name: onfail
        type: int
      item_type: struct
      name: ef_dir_t
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*proc'
        type: apr_proc_t
      - name: '*procattr'
        type: apr_procattr_t
      - name: '*dc'
        type: ef_dir_t
      - name: '*filter'
        type: ef_filter_t
      - name: noop
        type: int
      item_type: struct
      name: ef_ctx_t
      pos:
        line_end: 72
        line_start: 62
        source_file: /src/httpd/modules/filters/mod_ext_filter.c
    typedefs: []
    union: []
- function_names:
  - XML2ENC_DECLARE
  - XML2ENC_DECLARE_NONSTD
  - XML2ENC_DECLARE
  - XML2ENC_DECLARE_NONSTD
  - XML2ENC_DECLARE
  - XML2ENC_DECLARE_NONSTD
  - XML2ENC_DECLARE
  - XML2ENC_DECLARE_NONSTD
  source_file: /src/httpd/modules/filters/mod_xml2enc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENCIO_INPUT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ENCIO_OUTPUT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ENCIO_INPUT_CHECKS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ENCIO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: (ENCIO_INPUT|ENCIO_OUTPUT|ENCIO_INPUT_CHECKS)
    - item_type: preproc_def
      name: ENCIO_SKIPTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: XML2ENC_DECLARE_DATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: XML2ENC_DECLARE_DATA
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/filters/mod_xml2enc.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/filters/libsed.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SED_NLINES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/filters/libsed.h
      type_or_value: '256'
    - item_type: preproc_def
      name: SED_DEPTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/filters/libsed.h
      type_or_value: '20'
    - item_type: preproc_def
      name: SED_LABSIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/libsed.h
      type_or_value: '50'
    - item_type: preproc_def
      name: SED_ABUFSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/filters/libsed.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NWFILES
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/filters/libsed.h
      type_or_value: '11 '
    structs:
    - fields:
      - name: '*next'
        type: sed_reptr_t
      - name: '*ad1'
        type: char
      - name: '*ad2'
        type: char
      - name: '*re1'
        type: char
      - name: '*lb1'
        type: sed_reptr_t
      - name: '*rhs'
        type: char
      - name: findex
        type: int
      - name: command
        type: char
      - name: gfl
        type: int
      - name: pfl
        type: char
      - name: negfl
        type: char
      - name: nrep
        type: int
      item_type: struct
      name: sed_reptr_s
      pos:
        line_end: 51
        line_start: 38
        source_file: /src/httpd/modules/filters/libsed.h
    - fields:
      - name: asc[9]
        type: char
      - name: '*chain'
        type: sed_reptr_t
      - name: '*address'
        type: sed_reptr_t
      item_type: struct
      name: sed_label_s
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/httpd/modules/filters/libsed.h
    - fields:
      - name: '*errfn'
        type: sed_err_fn_t
      - name: '*data'
        type: void
      - name: lsize
        type: apr_size_t
      - name: '*linebuf'
        type: char
      - name: '*lbend'
        type: char
      - name: '*saveq'
        type: char
      - name: '*cp'
        type: char
      - name: '*lastre'
        type: char
      - name: '*respace'
        type: char
      - name: sseof
        type: char
      - name: '*reend'
        type: char
      - name: '*earg'
        type: char
      - name: eflag
        type: int
      - name: gflag
        type: int
      - name: nflag
        type: int
      - name: tlno[SED_NLINES]
        type: apr_int64_t
      - name: nlno
        type: int
      - name: depth
        type: int
      - name: '*fname[NWFILES]'
        type: char
      - name: nfiles
        type: int
      - name: ltab[SED_LABSIZE]
        type: sed_label_t
      - name: '*labtab'
        type: sed_label_t
      - name: '*lab'
        type: sed_label_t
      - name: '*labend'
        type: sed_label_t
      - name: '**cmpend[SED_DEPTH]'
        type: sed_reptr_t
      - name: '*ptrspace'
        type: sed_reptr_t
      - name: '*ptrend'
        type: sed_reptr_t
      - name: '*rep'
        type: sed_reptr_t
      - name: nrep
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: canbefinal
        type: int
      item_type: struct
      name: sed_commands_s
      pos:
        line_end: 104
        line_start: 67
        source_file: /src/httpd/modules/filters/libsed.h
    - fields:
      - name: '*errfn'
        type: sed_err_fn_t
      - name: '*writefn'
        type: sed_write_fn_t
      - name: '*data'
        type: void
      - name: '*commands'
        type: sed_commands_t
      - name: lnum
        type: apr_int64_t
      - name: '*fout'
        type: void
      - name: lsize
        type: apr_size_t
      - name: '*linebuf'
        type: char
      - name: '*lspend'
        type: char
      - name: hsize
        type: apr_size_t
      - name: '*holdbuf'
        type: char
      - name: '*hspend'
        type: char
      - name: gsize
        type: apr_size_t
      - name: '*genbuf'
        type: char
      - name: '*lcomend'
        type: char
      - name: '*fcode[NWFILES]'
        type: apr_file_t
      - name: '*abuf[SED_ABUFSIZE]'
        type: sed_reptr_t
      - name: '**aptr'
        type: sed_reptr_t
      - name: '*pending'
        type: sed_reptr_t
      - name: '*inar'
        type: unsigned char
      - name: nrep
        type: int
      - name: dolflag
        type: int
      - name: sflag
        type: int
      - name: jflag
        type: int
      - name: delflag
        type: int
      - name: lreadyflag
        type: int
      - name: quitflag
        type: int
      - name: finalflag
        type: int
      - name: numpass
        type: int
      - name: nullmatch
        type: int
      - name: col
        type: int
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: sed_eval_s
      pos:
        line_end: 148
        line_start: 108
        source_file: /src/httpd/modules/filters/libsed.h
    typedefs:
    - item_type: typedef
      name: sed_reptr_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/httpd/modules/filters/libsed.h
      type: sed_reptr_s
    - item_type: typedef
      name: sed_label_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/httpd/modules/filters/libsed.h
      type: sed_label_s
    - item_type: typedef
      name: (sed_err_fn_t)(void *data, const char *error)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/httpd/modules/filters/libsed.h
      type: apr_status_t
    - item_type: typedef
      name: (sed_write_fn_t)(void *ctx, char *buf, apr_size_t sz)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/httpd/modules/filters/libsed.h
      type: apr_status_t
    - item_type: typedef
      name: sed_commands_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/httpd/modules/filters/libsed.h
      type: sed_commands_s
    - item_type: typedef
      name: sed_eval_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/httpd/modules/filters/libsed.h
      type: sed_eval_s
    union: []
- function_names:
  - RAW_ASCII_CHAR
  - RAW_ASCII_CHAR
  - TYPE_TOKEN
  - CREATE_NODE
  - debug_printf
  - DUMP__CHILD
  - debug_dump_tree
  - DEBUG_INIT
  - DEBUG_PRINTF
  - DEBUG_DUMP_TOKEN
  - DEBUG_DUMP_EVAL
  - DEBUG_DUMP_UNMATCHED
  - DEBUG_DUMP_COND
  - DEBUG_DUMP_TREE
  - TYPE_TOKEN
  - CREATE_NODE
  - decodehtml
  - add_include_vars
  - add_include_vars_lazy
  - get_include_var
  - include_expr_var_fn
  - include_expr_lookup
  - ap_ssi_parse_string
  - re_check
  - get_ptoken
  - CREATE_NODE
  - parse_ap_expr
  - ap_ssi_get_tag_and_value
  - find_file
  - handle_comment
  - handle_include
  - handle_echo
  - handle_config
  - handle_fsize
  - handle_flastmod
  - handle_if
  - handle_elif
  - handle_else
  - handle_endif
  - handle_set
  - handle_printenv
  - bndm_compile
  - bndm
  - find_start_sequence
  - find_partial_start_sequence
  - find_directive
  - find_arg_or_tail
  - find_tail
  - find_argument
  - send_parsed_content
  - includes_setup
  - includes_filter
  - include_fixup
  - create_includes_dir_config
  - MERGE
  - merge_includes_dir_config
  - create_includes_server_config
  - set_xbithack
  - set_default_start_tag
  - set_default_end_tag
  - set_undefined_echo
  - set_default_error_msg
  - set_default_time_fmt
  - include_post_config
  - ap_register_include_handler
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_include.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LAZY_VALUE
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: (&lazy_eval_sentinel)
    - item_type: preproc_def
      name: DEFAULT_START_SEQUENCE
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '"<!--#"'
    - item_type: preproc_def
      name: DEFAULT_END_SEQUENCE
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '"-->"'
    - item_type: preproc_def
      name: DEFAULT_ERROR_MSG
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '"[an error occurred while processing this directive]"'
    - item_type: preproc_def
      name: DEFAULT_TIME_FORMAT
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '"%A, %d-%b-%Y %H:%M:%S %Z"'
    - item_type: preproc_def
      name: DEFAULT_UNDEFINED_ECHO
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '"(none)"'
    - item_type: preproc_def
      name: UNSET
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: DEFAULT_XBITHACK
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: XBITHACK_FULL
    - item_type: preproc_def
      name: DEFAULT_XBITHACK
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: XBITHACK_OFF
    - item_type: preproc_def
      name: MAXENTLEN
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/httpd/modules/filters/mod_include.c
      type_or_value: (6)
    structs:
    - fields:
      - name: '*next'
        type: struct result_item
      - name: len
        type: apr_size_t
      - name: '*string'
        type: char
      item_type: struct
      name: result_item
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: type
        type: token_type_t
      - name: '*value'
        type: char
      item_type: struct
      name: token_t
      pos:
        line_end: 93
        line_start: 87
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: '*parent'
        type: struct parse_node
      - name: '*left'
        type: struct parse_node
      - name: '*right'
        type: struct parse_node
      - name: token
        type: token_t
      - name: value
        type: int
      - name: done
        type: int
      item_type: struct
      name: parse_node
      pos:
        line_end: 105
        line_start: 95
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: '*default_error_msg'
        type: char
      - name: '*default_time_fmt'
        type: char
      - name: '*undefined_echo'
        type: char
      - name: xbithack
        type: xbithack_t
      - name: lastmodified
        type: signed char
      - name: etag
        type: signed char
      - name: legacy_expr
        type: signed char
      item_type: struct
      name: include_dir_config
      pos:
        line_end: 122
        line_start: 114
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: '*default_start_tag'
        type: char
      - name: '*default_end_tag'
        type: char
      item_type: struct
      name: include_server_config
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: '*next'
        type: struct arg_item
      - name: '*name'
        type: char
      - name: name_len
        type: apr_size_t
      - name: '*value'
        type: char
      - name: value_len
        type: apr_size_t
      item_type: struct
      name: arg_item
      pos:
        line_end: 157
        line_start: 151
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: '*source'
        type: char
      - name: '*rexp'
        type: char
      - name: nsub
        type: apr_size_t
      - name: match[AP_MAX_REG_MATCH]
        type: ap_regmatch_t
      - name: have_match
        type: int
      item_type: struct
      name: backref_t
      pos:
        line_end: 165
        line_start: 159
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: T[256]
        type: unsigned int
      - name: x
        type: unsigned int
      - name: pattern_len
        type: apr_size_t
      item_type: struct
      name: bndm_t
      pos:
        line_end: 171
        line_start: 167
        source_file: /src/httpd/modules/filters/mod_include.c
    - fields:
      - name: state
        type: parse_state_t
      - name: seen_eos
        type: int
      - name: error
        type: int
      - name: quote
        type: char
      - name: parse_pos
        type: apr_size_t
      - name: bytes_read
        type: apr_size_t
      - name: '*tmp_bb'
        type: apr_bucket_brigade
      - name: '*start_seq'
        type: char
      - name: '*start_seq_pat'
        type: bndm_t
      - name: '*end_seq'
        type: char
      - name: end_seq_len
        type: apr_size_t
      - name: '*directive'
        type: char
      - name: directive_len
        type: apr_size_t
      - name: '*current_arg'
        type: arg_item_t
      - name: '*argv'
        type: arg_item_t
      - name: '*re'
        type: backref_t
      - name: '*undefined_echo'
        type: char
      - name: undefined_echo_len
        type: apr_size_t
      - name: legacy_expr
        type: char
      - name: '*expr_eval_ctx'
        type: ap_expr_eval_ctx_t
      - name: '*expr_vary_this'
        type: char
      - name: '*expr_err'
        type: char
      item_type: struct
      name: ssi_internal_ctx
      pos:
        line_end: 210
        line_start: 173
        source_file: /src/httpd/modules/filters/mod_include.c
    typedefs: []
    union: []
- function_names:
  - AP_RL_DECLARE
  - AP_RL_DECLARE_NONSTD
  - AP_RL_DECLARE
  - AP_RL_DECLARE_NONSTD
  - AP_RL_DECLARE
  - AP_RL_DECLARE_NONSTD
  - AP_RL_DECLARE
  - AP_RL_DECLARE_NONSTD
  - AP_RL_BUCKET_IS_END
  - AP_RL_BUCKET_IS_START
  source_file: /src/httpd/modules/filters/mod_ratelimit.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_RL_DECLARE_DATA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/mod_ratelimit.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AP_RL_DECLARE_DATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_ratelimit.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_sed_errf
  - sed_compile_errf
  - clear_ctxpool
  - alloc_outbuf
  - append_bucket
  - flush_output_buffer
  - sed_write_output
  - compile_sed_expr
  - sed_eval_cleanup
  - init_context
  - sed_response_filter
  - sed_request_filter
  - sed_add_expr
  - create_sed_dir_config
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_sed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODSED_OUTBUF_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/filters/mod_sed.c
      type_or_value: '8000'
    - item_type: preproc_def
      name: MAX_TRANSIENT_BUCKETS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/filters/mod_sed.c
      type_or_value: '50'
    structs:
    - fields:
      - name: '*sed_cmds'
        type: sed_commands_t
      - name: '*last_error'
        type: char
      item_type: struct
      name: sed_expr_config
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/httpd/modules/filters/mod_sed.c
    - fields:
      - name: output
        type: sed_expr_config
      - name: input
        type: sed_expr_config
      item_type: struct
      name: sed_config
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_sed.c
    - fields:
      - name: eval
        type: sed_eval_t
      - name: '*f'
        type: ap_filter_t
      - name: '*r'
        type: request_rec
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*bbinp'
        type: apr_bucket_brigade
      - name: '*outbuf'
        type: char
      - name: '*curoutbuf'
        type: char
      - name: bufsize
        type: apr_size_t
      - name: '*tpool'
        type: apr_pool_t
      - name: numbuckets
        type: int
      item_type: struct
      name: sed_filter_ctxt
      pos:
        line_end: 56
        line_start: 44
        source_file: /src/httpd/modules/filters/mod_sed.c
    typedefs: []
    union: []
- function_names:
  - VERBOSE
  - VERBOSEB
  - normalise
  - consume_buffer
  - AP_fwrite
  - pcharacters
  - dump_content
  - VERBOSEB
  - pinternalSubset
  - pcdata
  - pcomment
  - pendElement
  - pstartElement
  - metafix
  - interpolate_vars
  - fixup_rules
  - check_filter_init
  - prepend_rbuf
  - proxy_html_filter
  - proxy_html_config
  - proxy_html_merge
  - REGFLAG
  - XREGFLAG
  - comp_urlmap
  - set_urlmap
  - set_doctype
  - set_flags
  - set_events
  - set_links
  - mod_proxy_html
  - proxy_html_insert
  - proxy_html_hooks
  source_file: /src/httpd/modules/filters/mod_proxy_html.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_HTML
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: M_EVENTS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: M_CDATA
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: M_REGEX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: M_ATSTART
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: M_ATEND
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: M_LAST
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: M_NOTLAST
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: M_INTERPOLATE_TO
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x100'
    - item_type: preproc_def
      name: M_INTERPOLATE_FROM
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x200'
    - item_type: preproc_def
      name: DEFAULT_BUFSZ
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: (8192)
    - item_type: preproc_def
      name: NORM_LC
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: NORM_MSSLASH
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: NORM_RESET
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: DEFAULT_ETAG
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: html_etag
    - item_type: preproc_def
      name: FLUSH
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
      type_or_value: AP_fwrite(ctx, (chars+begin), (i-begin), 0); begin = i+1
    structs:
    - fields:
      - name: '*val'
        type: char
      item_type: struct
      name: tattr
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
    - fields:
      - name: start
        type: unsigned int
      - name: end
        type: unsigned int
      item_type: struct
      name: meta
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
    - fields:
      - name: '*next'
        type: struct urlmap
      - name: flags
        type: unsigned int
      - name: regflags
        type: unsigned int
      - name: from
        type: "union {\n        const char *c;\n        ap_regex_t *r;\n    }"
      - name: '*to'
        type: char
      - name: '*cond'
        type: ap_expr_info_t
      item_type: struct
      name: urlmap
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
    - fields:
      - name: '*map'
        type: urlmap
      - name: '*doctype'
        type: char
      - name: '*etag'
        type: char
      - name: flags
        type: unsigned int
      - name: bufsz
        type: int
      - name: '*links'
        type: apr_hash_t
      - name: '*events'
        type: apr_array_header_t
      - name: '*charset_out'
        type: char
      - name: extfix
        type: int
      - name: metafix
        type: int
      - name: strip_comments
        type: int
      - name: interp
        type: int
      - name: enabled
        type: int
      item_type: struct
      name: proxy_html_conf
      pos:
        line_end: 119
        line_start: 105
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
    - fields:
      - name: '*f'
        type: ap_filter_t
      - name: '*cfg'
        type: proxy_html_conf
      - name: parser
        type: htmlParserCtxtPtr
      - name: '*bb'
        type: apr_bucket_brigade
      - name: vb
        type: struct ap_varbuf
      - name: '*encoding'
        type: char
      - name: '*map'
        type: urlmap
      - name: '*etag'
        type: char
      - name: rbuf[4]
        type: char
      - name: rlen
        type: apr_size_t
      - name: rmin
        type: apr_size_t
      item_type: struct
      name: saxctxt
      pos:
        line_end: 132
        line_start: 120
        source_file: /src/httpd/modules/filters/mod_proxy_html.c
    typedefs: []
    union: []
- function_names:
  - APR_BRIGADE_DO
  - HAVE_ENCODING
  - xml2enc_filter
  - fix_skipto
  - sniff_encoding
  - xml2enc_filter_init
  - xml2enc_ffunc
  - xml2enc_charset
  - xml2enc_hooks
  - set_alias
  - set_default
  - set_skipto
  - xml2enc_config
  - xml2enc_merge
  source_file: /src/httpd/modules/filters/mod_xml2enc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: BUF_MIN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: ENC_INITIALISED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: '0x100'
    - item_type: preproc_def
      name: ENC_SEEN_EOS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: '0x200'
    - item_type: preproc_def
      name: ENC_SKIPTO
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: ENCIO_SKIPTO
    - item_type: preproc_def
      name: PROTO_FLAGS
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
      type_or_value: AP_FILTER_PROTO_CHANGE|AP_FILTER_PROTO_CHANGE_LENGTH
    structs:
    - fields:
      - name: xml2enc
        type: xmlCharEncoding
      - name: '* buf'
        type: char
      - name: bytes
        type: apr_size_t
      - name: '* convset'
        type: apr_xlate_t
      - name: flags
        type: unsigned int
      - name: bblen
        type: apr_off_t
      - name: '* bbnext'
        type: apr_bucket_brigade
      - name: '* bbsave'
        type: apr_bucket_brigade
      - name: '* encoding'
        type: char
      item_type: struct
      name: xml2ctx
      pos:
        line_end: 86
        line_start: 76
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
    - fields:
      - name: '* default_charset'
        type: char
      - name: default_encoding
        type: xmlCharEncoding
      - name: '* skipto'
        type: apr_array_header_t
      item_type: struct
      name: xml2cfg
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
    - fields:
      - name: '* val'
        type: char
      item_type: struct
      name: tattr
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/httpd/modules/filters/mod_xml2enc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/filters/sed.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CEND
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CLNUM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '14'
    - item_type: preproc_def
      name: RESIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: LBSIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: ACOM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '01'
    - item_type: preproc_def
      name: BCOM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '020'
    - item_type: preproc_def
      name: CCOM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '02'
    - item_type: preproc_def
      name: CDCOM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '025'
    - item_type: preproc_def
      name: CNCOM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '022'
    - item_type: preproc_def
      name: COCOM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '017'
    - item_type: preproc_def
      name: CPCOM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '023'
    - item_type: preproc_def
      name: DCOM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '03'
    - item_type: preproc_def
      name: ECOM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '015'
    - item_type: preproc_def
      name: EQCOM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '013'
    - item_type: preproc_def
      name: FCOM
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '016'
    - item_type: preproc_def
      name: GCOM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '027'
    - item_type: preproc_def
      name: CGCOM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '030'
    - item_type: preproc_def
      name: HCOM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '031'
    - item_type: preproc_def
      name: CHCOM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '032'
    - item_type: preproc_def
      name: ICOM
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '04'
    - item_type: preproc_def
      name: LCOM
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '05'
    - item_type: preproc_def
      name: NCOM
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '012'
    - item_type: preproc_def
      name: PCOM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '010'
    - item_type: preproc_def
      name: QCOM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '011'
    - item_type: preproc_def
      name: RCOM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '06'
    - item_type: preproc_def
      name: SCOM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '07'
    - item_type: preproc_def
      name: TCOM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '021'
    - item_type: preproc_def
      name: WCOM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '014'
    - item_type: preproc_def
      name: CWCOM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '024'
    - item_type: preproc_def
      name: YCOM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '026'
    - item_type: preproc_def
      name: XCOM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/filters/sed.h
      type_or_value: '033'
    structs: []
    typedefs: []
    union: []
- function_names:
  - header_do
  - reflector_handler
  - create_reflector_dir_config
  - merge_reflector_dir_config
  - reflector_header
  - reflector_hooks
  source_file: /src/httpd/modules/filters/mod_reflector.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*headers'
        type: apr_table_t
      item_type: struct
      name: reflector_cfg
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/httpd/modules/filters/mod_reflector.c
    typedefs: []
    union: []
- function_names:
  - eval_errf
  - grow_buffer
  - grow_line_buffer
  - grow_hold_buffer
  - grow_gen_buffer
  - appendmem_to_linebuf
  - append_to_linebuf
  - copy_to_linebuf
  - append_to_holdbuf
  - copy_to_holdbuf
  - append_to_genbuf
  - copy_to_genbuf
  - sed_init_eval
  - sed_reset_eval
  - sed_destroy_eval
  - sed_eval_file
  - sed_eval_buffer
  - sed_finalize_eval
  - execute
  - match
  - substitute
  - dosub
  - place
  - command
  - arout
  - wline
  source_file: /src/httpd/modules/filters/sed1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INIT_BUF_SIZE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/filters/sed1.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_BUF_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/filters/sed1.c
      type_or_value: 1024*8192
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_server_config
  - set_filter_note
  - set_compression_quality
  - set_compression_lgwin
  - set_compression_lgblock
  - set_etag_mode
  - alloc_func
  - free_func
  - cleanup_ctx
  - create_ctx
  - process_chunk
  - flush
  - get_content_encoding
  - compress_filter
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_brotli.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: quality
        type: int
      - name: lgwin
        type: int
      - name: lgblock
        type: int
      - name: etag_mode
        type: etag_mode_e
      - name: '*note_ratio_name'
        type: char
      - name: '*note_input_name'
        type: char
      - name: '*note_output_name'
        type: char
      item_type: struct
      name: brotli_server_config_t
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/httpd/modules/filters/mod_brotli.c
    - fields:
      - name: '*state'
        type: BrotliEncoderState
      - name: '*bb'
        type: apr_bucket_brigade
      - name: total_in
        type: apr_off_t
      - name: total_out
        type: apr_off_t
      item_type: struct
      name: brotli_ctx_t
      pos:
        line_end: 165
        line_start: 160
        source_file: /src/httpd/modules/filters/mod_brotli.c
    typedefs: []
    union: []
- function_names:
  - PLACE
  - ISTHERE
  source_file: /src/httpd/modules/filters/regexp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CBRA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CCHR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CDOT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '8'
    - item_type: preproc_def
      name: CCL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '12'
    - item_type: preproc_def
      name: CXCL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CDOL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '20'
    - item_type: preproc_def
      name: CCEOF
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '22'
    - item_type: preproc_def
      name: CKET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '24'
    - item_type: preproc_def
      name: CBACK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '36'
    - item_type: preproc_def
      name: NCCL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '40'
    - item_type: preproc_def
      name: STAR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '01'
    - item_type: preproc_def
      name: RNGE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '03'
    - item_type: preproc_def
      name: NBRA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '9'
    - item_type: preproc_def
      name: SEDERR_CGMES
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"command garbled: %s"'
    - item_type: preproc_def
      name: SEDERR_SMMES
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"Space missing before filename: %s"'
    - item_type: preproc_def
      name: SEDERR_TMMES
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too much command text: %s"'
    - item_type: preproc_def
      name: SEDERR_LTLMES
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"label too long: %s"'
    - item_type: preproc_def
      name: SEDERR_ULMES
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"undefined label: %s"'
    - item_type: preproc_def
      name: SEDERR_DLMES
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"duplicate labels: %s"'
    - item_type: preproc_def
      name: SEDERR_TMLMES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many labels: %s"'
    - item_type: preproc_def
      name: SEDERR_AD0MES
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"no addresses allowed: %s"'
    - item_type: preproc_def
      name: SEDERR_AD1MES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"only one address allowed: %s"'
    - item_type: preproc_def
      name: SEDERR_TOOBIG
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"suffix too large: %s"'
    - item_type: preproc_def
      name: SEDERR_OOMMES
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"out of memory"'
    - item_type: preproc_def
      name: SEDERR_COPFMES
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"cannot open pattern file: %s"'
    - item_type: preproc_def
      name: SEDERR_COIFMES
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"cannot open input file: %s"'
    - item_type: preproc_def
      name: SEDERR_TMOMES
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many {''s"'
    - item_type: preproc_def
      name: SEDERR_TMCMES
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many }''s"'
    - item_type: preproc_def
      name: SEDERR_NRMES
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"first RE may not be null"'
    - item_type: preproc_def
      name: SEDERR_UCMES
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"unrecognized command: %s"'
    - item_type: preproc_def
      name: SEDERR_TMWFMES
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many files in w commands"'
    - item_type: preproc_def
      name: SEDERR_COMES
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"cannot open %s"'
    - item_type: preproc_def
      name: SEDERR_CCMES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"cannot create %s"'
    - item_type: preproc_def
      name: SEDERR_TMLNMES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many line numbers"'
    - item_type: preproc_def
      name: SEDERR_TMAMES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many appends after line %" APR_INT64_T_FMT'
    - item_type: preproc_def
      name: SEDERR_TMRMES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"too many reads after line %" APR_INT64_T_FMT'
    - item_type: preproc_def
      name: SEDERR_DOORNG
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"``\\digit'''' out of range: %s"'
    - item_type: preproc_def
      name: SEDERR_EDMOSUB
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"ending delimiter missing on substitution: %s"'
    - item_type: preproc_def
      name: SEDERR_EDMOSTR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"ending delimiter missing on string: %s"'
    - item_type: preproc_def
      name: SEDERR_FNTL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"file name too long: %s"'
    - item_type: preproc_def
      name: SEDERR_CLTL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"command line too long"'
    - item_type: preproc_def
      name: SEDERR_TSNTSS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"transform strings not the same size: %s"'
    - item_type: preproc_def
      name: SEDERR_OLTL
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"output line too long."'
    - item_type: preproc_def
      name: SEDERR_HSOVERFLOW
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"hold space overflowed."'
    - item_type: preproc_def
      name: SEDERR_INTERNAL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/modules/filters/regexp.h
      type_or_value: '"internal sed error"'
    structs:
    - fields:
      - name: '*loc1'
        type: char
      - name: '*braslist[NBRA]'
        type: char
      - name: '*braelist[NBRA]'
        type: char
      - name: low
        type: int
      - name: size
        type: int
      item_type: struct
      name: _step_vars_storage
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/httpd/modules/filters/regexp.h
    - fields:
      - name: circf
        type: int
      - name: nbra
        type: int
      item_type: struct
      name: _sed_comp_args
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/httpd/modules/filters/regexp.h
    typedefs: []
    union: []
- function_names:
  - create_charset_dir_conf
  - merge_charset_dir_conf
  - add_charset_source
  - add_charset_default
  - add_charset_options
  - find_code_page
  - configured_in_list
  - configured_on_input
  - configured_on_output
  - xlate_insert_filter
  - send_bucket_downstream
  - send_downstream
  - send_eos
  - set_aside_partial_char
  - finish_partial_char
  - log_xlate_error
  - chk_filter_chain
  - xlate_brigade
  - xlate_out_filter
  - xlate_in_filter
  - charset_register_hooks
  source_file: /src/httpd/modules/filters/mod_charset_lite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OUTPUT_XLATE_BUF_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '(16*1024) '
    - item_type: preproc_def
      name: INPUT_XLATE_BUF_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '(8*1024)  '
    - item_type: preproc_def
      name: XLATE_MIN_BUFF_LEFT
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '128  '
    - item_type: preproc_def
      name: FATTEST_CHAR
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '8          '
    - item_type: preproc_def
      name: XLATEOUT_FILTER_NAME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '"XLATEOUT"'
    - item_type: preproc_def
      name: XLATEIN_FILTER_NAME
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
      type_or_value: '"XLATEIN"'
    structs:
    - fields:
      - name: '*charset_source'
        type: char
      - name: '*charset_default'
        type: char
      - name: implicit_add
        type: enum {IA_INIT, IA_IMPADD, IA_NOIMPADD}
      - name: force_xlate
        type: enum {FX_INIT, FX_FORCE, FX_NOFORCE}
      item_type: struct
      name: charset_dir_t
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
    - fields:
      - name: '*xlate'
        type: apr_xlate_t
      - name: is_sb
        type: int
      - name: '*dc'
        type: charset_dir_t
      - name: ees
        type: ees_t
      - name: saved
        type: apr_size_t
      - name: buf[FATTEST_CHAR]
        type: char
      - name: ran
        type: int
      - name: noop
        type: int
      - name: '*tmp'
        type: char
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: charset_filter_ctx_t
      pos:
        line_end: 97
        line_start: 85
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
    - fields:
      - name: '*dc'
        type: charset_dir_t
      - name: '*output_ctx'
        type: charset_filter_ctx_t
      item_type: struct
      name: charset_req_t
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/httpd/modules/filters/mod_charset_lite.c
    typedefs: []
    union: []
- function_names:
  - buffer_out_filter
  - buffer_in_filter
  - create_buffer_config
  - merge_buffer_config
  - set_buffer_size
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_buffer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_BUFFER_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/filters/mod_buffer.c
      type_or_value: 128*1024
    structs:
    - fields:
      - name: size
        type: apr_off_t
      - name: size_set
        type: int
      item_type: struct
      name: buffer_conf
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/httpd/modules/filters/mod_buffer.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmp'
        type: apr_bucket_brigade
      - name: '*conf'
        type: buffer_conf
      - name: remaining
        type: apr_off_t
      - name: seen_eos
        type: int
      item_type: struct
      name: buffer_ctx
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/httpd/modules/filters/mod_buffer.c
    typedefs: []
    union: []
- function_names:
  - brigade_dump
  - rate_limit_filter
  - rl_bucket_read
  - ap_rl_end_create
  - ap_rl_start_create
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_ratelimit.c
  types:
    enum:
    - enumerators:
      - name: RATE_LIMIT
      - name: RATE_FULLSPEED
      item_type: enum
      name: rl_state_e
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/httpd/modules/filters/mod_ratelimit.c
    preproc_defs:
    - item_type: preproc_def
      name: RATE_LIMIT_FILTER_NAME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/modules/filters/mod_ratelimit.c
      type_or_value: '"RATE_LIMIT"'
    - item_type: preproc_def
      name: RATE_INTERVAL_MS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/modules/filters/mod_ratelimit.c
      type_or_value: (200)
    structs:
    - fields:
      - name: speed
        type: int
      - name: chunk_size
        type: int
      - name: burst
        type: int
      - name: do_sleep
        type: int
      - name: state
        type: rl_state_e
      - name: '*tmpbb'
        type: apr_bucket_brigade
      - name: '*holdingbb'
        type: apr_bucket_brigade
      item_type: struct
      name: rl_ctx_t
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/httpd/modules/filters/mod_ratelimit.c
    typedefs: []
    union: []
- function_names:
  - CRYPTO_DECLARE
  - CRYPTO_DECLARE_NONSTD
  - CRYPTO_DECLARE
  - CRYPTO_DECLARE_NONSTD
  - CRYPTO_DECLARE
  - CRYPTO_DECLARE_NONSTD
  - CRYPTO_DECLARE
  - CRYPTO_DECLARE_NONSTD
  source_file: /src/httpd/modules/filters/mod_crypto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRYPTO_DECLARE_DATA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/mod_crypto.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: CRYPTO_DECLARE_DATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/filters/mod_crypto.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSI_CREATE_ERROR_BUCKET
  source_file: /src/httpd/modules/filters/mod_include.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MOD_INCLUDE_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSI_VALUE_DECODED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSI_VALUE_RAW
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSI_EXPAND_LEAVE_NAME
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSI_EXPAND_DROP_NAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SSI_FLAG_PRINTING
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '(1<<0)  '
    - item_type: preproc_def
      name: SSI_FLAG_COND_TRUE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: SSI_FLAG_SIZE_IN_BYTES
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '(1<<2)  '
    - item_type: preproc_def
      name: SSI_FLAG_NO_EXEC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '(1<<3)  '
    - item_type: preproc_def
      name: SSI_FLAG_COND_ERROR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: '(1<<4)  '
    - item_type: preproc_def
      name: SSI_FLAG_SIZE_ABBREV
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: (~(SSI_FLAG_SIZE_IN_BYTES))
    - item_type: preproc_def
      name: SSI_FLAG_CLEAR_PRINT_COND
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: "(~((SSI_FLAG_PRINTING) | \\\n                                     (SSI_FLAG_COND_TRUE)))"
    - item_type: preproc_def
      name: SSI_FLAG_CLEAR_PRINTING
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/filters/mod_include.h
      type_or_value: (~(SSI_FLAG_PRINTING))
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*dpool'
        type: apr_pool_t
      - name: flags
        type: int
      - name: if_nesting_level
        type: int
      - name: flush_now
        type: int
      - name: argc
        type: unsigned
      - name: '*error_str'
        type: char
      - name: '*time_str'
        type: char
      - name: '*r'
        type: request_rec
      - name: '*intern'
        type: struct ssi_internal_ctx
      item_type: struct
      name: include_ctx_t
      pos:
        line_end: 103
        line_start: 69
        source_file: /src/httpd/modules/filters/mod_include.h
    typedefs:
    - item_type: typedef
      name: "(include_handler_fn_t)(include_ctx_t *, ap_filter_t *,\n                                            apr_bucket_brigade
        *)"
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/modules/filters/mod_include.h
      type: apr_status_t
    union: []
- function_names:
  - create_substitute_dcfg
  - merge_substitute_dcfg
  - SEDRMPATBCKT
  - CAP2LINEMAX
  - do_pattmatch
  - substitute_filter
  - set_pattern
  - set_max_line_length
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_substitute.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SUBST_MAX_LINE_LENGTH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: (1024*1024)
    - item_type: preproc_def
      name: AP_MAX_BUCKETS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: KBYTE
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MBYTE
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: '1048576'
    - item_type: preproc_def
      name: GBYTE
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: '1073741824'
    - item_type: preproc_def
      name: PROTO_FLAGS
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/httpd/modules/filters/mod_substitute.c
      type_or_value: AP_FILTER_PROTO_CHANGE|AP_FILTER_PROTO_CHANGE_LENGTH
    structs:
    - fields:
      - name: '*pattern'
        type: apr_strmatch_pattern
      - name: '*regexp'
        type: ap_regex_t
      - name: '*replacement'
        type: char
      - name: replen
        type: apr_size_t
      - name: patlen
        type: apr_size_t
      - name: flatten
        type: int
      - name: '*from'
        type: char
      - name: '* expr_replacement'
        type: ap_expr_info_t
      item_type: struct
      name: subst_pattern_t
      pos:
        line_end: 56
        line_start: 47
        source_file: /src/httpd/modules/filters/mod_substitute.c
    - fields:
      - name: '*patterns'
        type: apr_array_header_t
      - name: max_line_length
        type: apr_size_t
      - name: max_line_length_set
        type: int
      - name: inherit_before
        type: int
      item_type: struct
      name: subst_dir_conf
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/httpd/modules/filters/mod_substitute.c
    - fields:
      - name: '*linebb'
        type: apr_bucket_brigade
      - name: '*linesbb'
        type: apr_bucket_brigade
      - name: '*passbb'
        type: apr_bucket_brigade
      - name: '*pattbb'
        type: apr_bucket_brigade
      - name: '*tpool'
        type: apr_pool_t
      item_type: struct
      name: substitute_module_ctx
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/httpd/modules/filters/mod_substitute.c
    - fields:
      - name: '**expcache'
        type: char
      - name: '*expcache_len'
        type: int
      item_type: struct
      name: subst_req_t
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/httpd/modules/filters/mod_substitute.c
    typedefs: []
    union: []
- function_names:
  - check_gzip
  - putLong
  - getLong
  - create_deflate_server_config
  - create_deflate_dirconf
  - deflate_set_window_size
  - deflate_set_buffer_size
  - deflate_set_note
  - deflate_set_memlevel
  - deflate_set_etag
  - deflate_set_compressionlevel
  - deflate_set_inflate_limit
  - deflate_set_inflate_ratio_limit
  - deflate_set_inflate_ratio_burst
  - consume_buffer
  - flush_libz_buffer
  - deflate_ctx_cleanup
  - deflate_check_etag
  - check_ratio
  - have_ssl_compression
  - deflate_out_filter
  - consume_zlib_flags
  - deflate_in_filter
  - inflate_out_filter
  - mod_deflate_post_config
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_deflate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASCII_FLAG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: HEAD_CRC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: EXTRA_FIELD
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: ORIG_NAME
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: COMMENT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RESERVED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0xE0 '
    - item_type: preproc_def
      name: AP_DEFLATE_ETAG_ADDSUFFIX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_DEFLATE_ETAG_NOCHANGE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_DEFLATE_ETAG_REMOVE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_INFLATE_RATIO_LIMIT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '200'
    - item_type: preproc_def
      name: AP_INFLATE_RATIO_BURST
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DEFAULT_COMPRESSION
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: Z_DEFAULT_COMPRESSION
    - item_type: preproc_def
      name: DEFAULT_WINDOWSIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '-15'
    - item_type: preproc_def
      name: DEFAULT_MEMLEVEL
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DEFAULT_BUFFERSIZE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '8096'
    - item_type: preproc_def
      name: VALIDATION_SIZE
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NO_UPDATE_CRC
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: UPDATE_CRC
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: TRANSIENT
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: PROTO_FLAGS
      pos:
        line_end: 1924
        line_start: 1923
        source_file: /src/httpd/modules/filters/mod_deflate.c
      type_or_value: AP_FILTER_PROTO_CHANGE|AP_FILTER_PROTO_CHANGE_LENGTH
    structs:
    - fields:
      - name: windowSize
        type: int
      - name: memlevel
        type: int
      - name: compressionlevel
        type: int
      - name: bufferSize
        type: int
      - name: '*note_ratio_name'
        type: char
      - name: '*note_input_name'
        type: char
      - name: '*note_output_name'
        type: char
      - name: etag_opt
        type: int
      item_type: struct
      name: deflate_filter_config_t
      pos:
        line_end: 73
        line_start: 63
        source_file: /src/httpd/modules/filters/mod_deflate.c
    - fields:
      - name: inflate_limit
        type: apr_off_t
      - name: ratio_limit
        type: int
      item_type: struct
      name: deflate_dirconf_t
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/httpd/modules/filters/mod_deflate.c
    - fields:
      - name: stream
        type: z_stream
      - name: '*buffer'
        type: unsigned char
      - name: crc
        type: unsigned long
      - name: '*bb'
        type: apr_bucket_brigade
      - name: (*libz_end_func)(z_streamp)
        type: int
      - name: '*validation_buffer'
        type: unsigned char
      - name: validation_buffer_length
        type: apr_size_t
      - name: header[10]
        type: char
      - name: header_len
        type: apr_size_t
      - name: zlib_flags
        type: int
      - name: ratio_hits
        type: int
      - name: inflate_total
        type: apr_off_t
      - name: consume_pos
        type: unsigned int
      - name: filter_init
        type: unsigned int
      - name: done
        type: unsigned int
      item_type: struct
      name: deflate_ctx_t
      pos:
        line_end: 410
        line_start: 392
        source_file: /src/httpd/modules/filters/mod_deflate.c
    typedefs: []
    union: []
- function_names:
  - parse_pass_conf_binary
  - exec_pass_conf_binary
  - init_cipher
  - init_crypt
  - init_encrypt
  - init_decrypt
  - do_crypto
  - crypto_out_filter
  - crypto_in_filter
  - crypto_handler
  - create_crypto_config
  - merge_crypto_config
  - create_crypto_dir_config
  - merge_crypto_dir_config
  - set_crypto_size
  - set_crypto_driver
  - set_crypto_cipher
  - set_crypto_key
  - set_crypto_iv
  - crypto_init
  - crypto_key
  - crypto_iv
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_crypto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_BUFFER_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/modules/filters/mod_crypto.c
      type_or_value: 128*1024
    - item_type: preproc_def
      name: DEFAULT_CIPHER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/modules/filters/mod_crypto.c
      type_or_value: '"aes256"'
    - item_type: preproc_def
      name: DEFAULT_MODE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/filters/mod_crypto.c
      type_or_value: '"cbc"'
    - item_type: preproc_def
      name: CRYPTO_KEY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/filters/mod_crypto.c
      type_or_value: '"crypto_context"'
    structs:
    - fields:
      - name: '*scheme'
        type: char
      - name: '*expr'
        type: ap_expr_info_t
      - name: '*raw'
        type: unsigned char
      - name: size
        type: apr_size_t
      item_type: struct
      name: pass_conf
      pos:
        line_end: 70
        line_start: 64
        source_file: /src/httpd/modules/filters/mod_crypto.c
    - fields:
      - name: '*library'
        type: char
      - name: '*params'
        type: char
      - name: '**crypto'
        type: apr_crypto_t
      - name: library_set
        type: int
      item_type: struct
      name: crypto_conf
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/httpd/modules/filters/mod_crypto.c
    - fields:
      - name: size
        type: apr_off_t
      - name: size_set
        type: int
      - name: '*cipher'
        type: char
      - name: '*mode'
        type: char
      - name: cipher_set
        type: int
      - name: '*key'
        type: pass_conf
      - name: key_set
        type: int
      - name: '*iv'
        type: pass_conf
      - name: iv_set
        type: int
      item_type: struct
      name: crypto_dir_conf
      pos:
        line_end: 94
        line_start: 83
        source_file: /src/httpd/modules/filters/mod_crypto.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmp'
        type: apr_bucket_brigade
      - name: '*conf'
        type: crypto_dir_conf
      - name: '*out'
        type: unsigned char
      - name: '*key'
        type: apr_crypto_key_t
      - name: '*cipher'
        type: apr_crypto_block_key_type_t
      - name: '*mode'
        type: apr_crypto_block_key_mode_t
      - name: '*block'
        type: apr_crypto_block_t
      - name: '*iv'
        type: unsigned char
      - name: remaining
        type: apr_off_t
      - name: written
        type: apr_off_t
      - name: osize
        type: apr_size_t
      - name: seen_eos
        type: unsigned int
      item_type: struct
      name: crypto_ctx
      pos:
        line_end: 113
        line_start: 96
        source_file: /src/httpd/modules/filters/mod_crypto.c
    typedefs: []
    union: []
- function_names:
  - bail_out_on_error
  - keep_body_filter
  - kept_body_filter_init
  - kept_body_filter
  - request_is_filter_present
  - ap_request_insert_filter
  - ap_request_remove_filter
  - create_request_dir_config
  - merge_request_dir_config
  - set_kept_body_size
  - register_hooks
  source_file: /src/httpd/modules/filters/mod_request.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: remaining
        type: apr_off_t
      - name: keep_body
        type: apr_off_t
      item_type: struct
      name: keep_body_filter_ctx
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/httpd/modules/filters/mod_request.c
    - fields:
      - name: offset
        type: apr_off_t
      - name: remaining
        type: apr_off_t
      item_type: struct
      name: kept_body_filter_ctx
      pos:
        line_end: 167
        line_start: 164
        source_file: /src/httpd/modules/filters/mod_request.c
    typedefs: []
    union: []
- function_names:
  - VALID_NONCE
  - cleanup_tables
  - log_error_and_cleanup
  - rmm_malloc
  - rmm_free
  - initialize_tables
  - pre_init
  - initialize_module
  - initialize_child
  - create_digest_dir_config
  - add_authn_provider
  - set_qop
  - set_nonce_lifetime
  - set_nc_check
  - set_algorithm
  - set_uri_list
  - set_shmem_size
  - get_client
  - gc
  - add_client
  - get_digest_rec
  - parse_hdr_and_update_nc
  - gen_nonce_hash
  - gen_nonce
  - gen_client
  - ltox
  - note_digest_auth_failure
  - hook_note_digest_auth_failure
  - get_hash
  - check_nc
  - check_nonce
  - new_digest
  - copy_uri_components
  - authenticate_digest_user
  - add_auth_info
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_auth_digest.c
  types:
    enum:
    - enumerators:
      - name: NO_HEADER
      - name: NOT_DIGEST
      - name: INVALID
      - name: VALID
      item_type: enum
      name: hdr_sts
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
    preproc_defs:
    - item_type: preproc_def
      name: DFLT_ALGORITHM
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '"MD5"'
    - item_type: preproc_def
      name: DFLT_NONCE_LIFE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: apr_time_from_sec(300)
    - item_type: preproc_def
      name: NEXTNONCE_DELTA
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: apr_time_from_sec(30)
    - item_type: preproc_def
      name: NONCE_TIME_LEN
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: (((sizeof(apr_time_t)+2)/3)*4)
    - item_type: preproc_def
      name: NONCE_HASH_LEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: (2*APR_SHA1_DIGESTSIZE)
    - item_type: preproc_def
      name: NONCE_LEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: (int )(NONCE_TIME_LEN + NONCE_HASH_LEN)
    - item_type: preproc_def
      name: MD5_DIGEST_LEN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '(2*APR_MD5_DIGESTSIZE) '
    - item_type: preproc_def
      name: SECRET_LEN
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '20'
    - item_type: preproc_def
      name: RETAINED_DATA_ID
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '"mod_auth_digest"'
    - item_type: preproc_def
      name: DEF_SHMEM_SIZE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '1000L           '
    - item_type: preproc_def
      name: DEF_NUM_BUCKETS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: 15L
    - item_type: preproc_def
      name: HASH_DEPTH
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*providers'
        type: authn_provider_list
      - name: nonce_lifetime
        type: apr_time_t
      - name: check_nc
        type: int
      - name: '*algorithm'
        type: char
      - name: '*uri_list'
        type: char
      item_type: struct
      name: digest_config_struct
      pos:
        line_end: 91
        line_start: 85
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
    - fields:
      - name: key
        type: unsigned long
      - name: '*next'
        type: struct hash_entry
      - name: nonce_count
        type: unsigned long
      - name: last_nonce[NONCE_LEN+1]
        type: char
      item_type: struct
      name: hash_entry
      pos:
        line_end: 122
        line_start: 117
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
    - fields:
      - name: '**table'
        type: client_entry
      - name: tbl_len
        type: unsigned long
      - name: num_entries
        type: unsigned long
      - name: num_created
        type: unsigned long
      - name: num_removed
        type: unsigned long
      - name: num_renewed
        type: unsigned long
      item_type: struct
      name: hash_table
      pos:
        line_end: 131
        line_start: 124
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
    - fields:
      - name: '*scheme'
        type: char
      - name: '*realm'
        type: char
      - name: '*username'
        type: char
      - name: '*nonce'
        type: char
      - name: '*uri'
        type: char
      - name: '*method'
        type: char
      - name: '*digest'
        type: char
      - name: '*algorithm'
        type: char
      - name: '*cnonce'
        type: char
      - name: '*opaque'
        type: char
      - name: opaque_num
        type: unsigned long
      - name: '*message_qop'
        type: char
      - name: '*nonce_count'
        type: char
      - name: '*raw_request_uri'
        type: char
      - name: '*psd_request_uri'
        type: apr_uri_t
      - name: nonce_time
        type: apr_time_t
      - name: auth_hdr_sts
        type: enum hdr_sts
      - name: needed_auth
        type: int
      - name: '*ha1'
        type: char
      - name: '*client'
        type: client_entry
      item_type: struct
      name: digest_header_struct
      pos:
        line_end: 160
        line_start: 138
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
    typedefs: []
    union:
    - fields:
      - name: time
        type: apr_time_t
      - name: arr[sizeof(apr_time_t)]
        type: unsigned char
      item_type: union
      name: time_union
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/httpd/modules/aaa/mod_auth_digest.c
- function_names:
  - auth_bearer_init
  - create_auth_bearer_config
  - merge_auth_bearer_config
  - create_auth_bearer_dir_config
  - merge_auth_bearer_dir_config
  - set_jwt_claim
  - set_jwt_sign
  - set_jwt_verify
  - set_jwt_driver
  - claim_iter
  - sign_cb
  - jwt_get_token
  - jwt_expr_var_fn
  - jwt_expr_lookup
  - verify_cb
  - check_token
  - register_hooks
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
  types:
    enum:
    - enumerators:
      - name: JWS_ALG_TYPE_NONE
        value: '0'
      - name: JWS_ALG_TYPE_HS256
        value: '1'
      item_type: enum
      name: jws_alg_type_e
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_APU_JOSE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CRYPTO_KEY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
      type_or_value: '"auth_bearer_context"'
    structs:
    - fields:
      - name: '*secret'
        type: unsigned char
      - name: secret_len
        type: apr_size_t
      - name: jws_alg
        type: jws_alg_type_e
      item_type: struct
      name: auth_bearer_signature_rec
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
    - fields:
      - name: '*claims'
        type: apr_hash_t
      - name: '*signs'
        type: apr_array_header_t
      - name: '*verifies'
        type: apr_array_header_t
      - name: signs_set
        type: unsigned int
      item_type: struct
      name: auth_bearer_config_rec
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
    - fields:
      - name: '*library'
        type: char
      - name: '*params'
        type: char
      - name: '**crypto'
        type: apr_crypto_t
      - name: library_set
        type: unsigned int
      item_type: struct
      name: auth_bearer_conf
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*object'
        type: apr_json_value_t
      item_type: struct
      name: claim_iter_t
      pos:
        line_end: 449
        line_start: 446
        source_file: /src/httpd/modules/aaa/mod_autht_jwt.c
    typedefs: []
    union: []
- function_names:
  - authn_alias_check_token
  - create_autht_alias_svr_config
  - merge_autht_alias_svr_config
  - authaliassection
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_autht_core.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider_alias'
        type: char
      - name: '*sec_auth'
        type: ap_conf_vector_t
      - name: '*provider'
        type: autht_provider
      item_type: struct
      name: provider_alias_rec
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/httpd/modules/aaa/mod_autht_core.c
    - fields:
      - name: '*alias_rec'
        type: apr_hash_t
      item_type: struct
      name: autht_alias_srv_conf
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/httpd/modules/aaa/mod_autht_core.c
    typedefs: []
    union: []
- function_names:
  - ah_fixups
  - ah_create_conf
  - set_allowed_handlers
  - ah_register_hooks
  source_file: /src/httpd/modules/aaa/mod_allowhandlers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*handlers'
        type: apr_table_t
      - name: op
        type: ah_op_e
      item_type: struct
      name: ah_conf_t
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/httpd/modules/aaa/mod_allowhandlers.c
    typedefs: []
    union: []
- function_names:
  - create_authz_groupfile_dir_config
  - groups_for_user
  - group_check_authorization
  - filegroup_check_authorization
  - groupfile_parse_config
  - authz_groupfile_getfns
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_groupfile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VARBUF_INIT_LEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/modules/aaa/mod_authz_groupfile.c
      type_or_value: '512'
    - item_type: preproc_def
      name: VARBUF_MAX_LEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/modules/aaa/mod_authz_groupfile.c
      type_or_value: (16*1024*1024)
    structs:
    - fields:
      - name: '*groupfile'
        type: char
      item_type: struct
      name: authz_groupfile_config_rec
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/httpd/modules/aaa/mod_authz_groupfile.c
    typedefs: []
    union: []
- function_names:
  - create_authn_anon_dir_config
  - anon_set_string_slots
  - check_anonymous
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_anon.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*user'
        type: char
      - name: '*next'
        type: struct anon_auth_user
      item_type: struct
      name: anon_auth_user
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/httpd/modules/aaa/mod_authn_anon.c
    - fields:
      - name: '*users'
        type: anon_auth_user
      - name: nouserid
        type: int
      - name: logemail
        type: int
      - name: verifyemail
        type: int
      - name: mustemail
        type: int
      - name: anyuserid
        type: int
      item_type: struct
      name: authn_anon_config_rec
      pos:
        line_end: 70
        line_start: 63
        source_file: /src/httpd/modules/aaa/mod_authn_anon.c
    typedefs: []
    union: []
- function_names:
  - fileowner_check_authorization
  - authz_owner_get_file_group
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_owner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/aaa/mod_authz_owner.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_authz_user_dir_config
  - user_check_authorization
  - validuser_check_authorization
  - user_parse_config
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_user.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dummy
        type: int
      item_type: struct
      name: authz_user_config_rec
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/httpd/modules/aaa/mod_authz_user.c
    typedefs: []
    union: []
- function_names:
  - create_authz_core_dir_config
  - merge_authz_core_dir_config
  - merge_authz_core_svr_config
  - create_authz_core_svr_config
  - authz_alias_check_authorization
  - authz_require_alias_section
  - format_authz_result
  - format_authz_command
  - create_default_section
  - add_authz_provider
  - add_authz_section
  - authz_merge_sections
  - authz_core_check_section
  - authz_core_pre_config
  - authz_core_check_config
  - apply_authz_sections
  - authorize_user_core
  - authorize_userless
  - authorize_user
  - authz_some_auth_required
  - env_check_authorization
  - all_check_authorization
  - all_parse_config
  - method_check_authorization
  - method_parse_config
  - expr_lookup_fn
  - expr_parse_config
  - expr_check_authorization
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNSET
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: REQUIRE_EXPR_NOTE
      pos:
        line_end: 1057
        line_start: 1056
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
      type_or_value: '"Require_expr_info"'
    structs:
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider_alias'
        type: char
      - name: '*provider_args'
        type: char
      - name: '*provider_parsed_args'
        type: void
      - name: '*sec_auth'
        type: ap_conf_vector_t
      - name: '*provider'
        type: authz_provider
      item_type: struct
      name: provider_alias_rec
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider_args'
        type: char
      - name: '*provider_parsed_args'
        type: void
      - name: '*provider'
        type: authz_provider
      - name: limited
        type: ap_method_mask_t
      - name: op
        type: authz_logic_op
      - name: negate
        type: int
      - name: is_merged
        type: int
      - name: '*first'
        type: authz_section_conf
      - name: '*next'
        type: authz_section_conf
      item_type: struct
      name: authz_section_conf
      pos:
        line_end: 80
        line_start: 67
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
    - fields:
      - name: '*section'
        type: authz_section_conf
      - name: '*next'
        type: authz_core_dir_conf
      - name: op
        type: authz_logic_op
      - name: authz_forbidden_on_fail
        type: signed char
      item_type: struct
      name: authz_core_dir_conf
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
    - fields:
      - name: '*alias_rec'
        type: apr_hash_t
      item_type: struct
      name: authz_core_srv_conf
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
    - fields:
      - name: '*expr'
        type: ap_expr_info_t
      - name: want_user
        type: int
      item_type: struct
      name: require_expr_info
      pos:
        line_end: 1060
        line_start: 1057
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
    typedefs:
    - item_type: typedef
      name: authz_section_conf
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
      type: authz_section_conf
    - item_type: typedef
      name: authz_core_dir_conf
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/httpd/modules/aaa/mod_authz_core.c
      type: authz_core_dir_conf
    union: []
- function_names:
  - create_auth_bearer_dir_config
  - merge_auth_bearer_dir_config
  - add_autht_provider
  - set_authoritative
  - set_bearer_proxy
  - note_bearer_auth_failure
  - hook_note_bearer_auth_failure
  - get_bearer_auth
  - authenticate_bearer_token
  - authenticate_bearer_fixup
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_auth_bearer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*providers'
        type: autht_provider_list
      - name: authoritative
        type: int
      - name: '*proxy'
        type: ap_expr_info_t
      - name: authoritative_set
        type: unsigned int
      - name: proxy_set
        type: unsigned int
      item_type: struct
      name: auth_bearer_config_rec
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/httpd/modules/aaa/mod_auth_bearer.c
    typedefs: []
    union: []
- function_names:
  - create_auth_basic_dir_config
  - merge_auth_basic_dir_config
  - add_authn_provider
  - set_authoritative
  - add_basic_fake
  - set_use_digest_algorithm
  - note_basic_auth_failure
  - hook_note_basic_auth_failure
  - get_basic_auth
  - authenticate_basic_user
  - authenticate_basic_fake
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_auth_basic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*providers'
        type: authn_provider_list
      - name: '*dir'
        type: char
      - name: authoritative
        type: int
      - name: '*fakeuser'
        type: ap_expr_info_t
      - name: '*fakepass'
        type: ap_expr_info_t
      - name: '*use_digest_algorithm'
        type: char
      - name: fake_set
        type: unsigned int
      item_type: struct
      name: auth_basic_config_rec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/httpd/modules/aaa/mod_auth_basic.c
    typedefs: []
    union: []
- function_names:
  - in_domain
  - ip_parse_config
  - ip_check_authorization
  - host_check_authorization
  - forward_dns_check_authorization
  - local_check_authorization
  - host_parse_config
  - authz_host_pre_config
  - authz_host_post_config
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_host.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_authn_core_dir_config
  - merge_authn_core_dir_config
  - authn_alias_check_password
  - authn_alias_get_realm_hash
  - create_authn_alias_svr_config
  - merge_authn_alias_svr_config
  - authaliassection
  - set_authname
  - set_authtype
  - authn_ap_auth_type
  - authn_ap_auth_name
  - authenticate_no_user
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_core.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ap_auth_type'
        type: ap_expr_info_t
      - name: auth_type_set
        type: int
      - name: '*ap_auth_name'
        type: ap_expr_info_t
      item_type: struct
      name: authn_core_dir_conf
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/httpd/modules/aaa/mod_authn_core.c
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider_alias'
        type: char
      - name: '*sec_auth'
        type: ap_conf_vector_t
      - name: '*provider'
        type: authn_provider
      item_type: struct
      name: provider_alias_rec
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/httpd/modules/aaa/mod_authn_core.c
    - fields:
      - name: '*alias_rec'
        type: apr_hash_t
      item_type: struct
      name: authn_alias_srv_conf
      pos:
        line_end: 69
        line_start: 67
        source_file: /src/httpd/modules/aaa/mod_authn_core.c
    typedefs: []
    union: []
- function_names:
  - AUTHN_CACHE_STORE
  - create_authn_file_dir_config
  - check_password
  - get_realm_hash
  - opt_retr
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_file.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pwfile'
        type: char
      item_type: struct
      name: authn_file_config_rec
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/httpd/modules/aaa/mod_authn_file.c
    typedefs: []
    union: []
- function_names:
  - create_auth_form_dir_config
  - merge_auth_form_dir_config
  - add_authn_provider
  - check_string
  - set_cookie_form_location
  - set_cookie_form_username
  - set_cookie_form_password
  - set_cookie_form_method
  - set_cookie_form_mimetype
  - set_cookie_form_body
  - set_cookie_form_size
  - set_login_required_location
  - set_login_success_location
  - set_logout_location
  - set_site_passphrase
  - set_authoritative
  - set_fake_basic_auth
  - set_disable_no_store
  - note_cookie_auth_failure
  - hook_note_cookie_auth_failure
  - set_notes_auth
  - get_notes_auth
  - set_session_auth
  - get_session_auth
  - get_form_auth
  - check_site
  - check_authn
  - fake_basic_authentication
  - authenticate_form_authn
  - authenticate_form_login_handler
  - authenticate_form_logout_handler
  - authenticate_form_redirect_handler
  - authenticate_form_post_config
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_auth_form.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FORM_LOGIN_HANDLER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/aaa/mod_auth_form.c
      type_or_value: '"form-login-handler"'
    - item_type: preproc_def
      name: FORM_LOGOUT_HANDLER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/aaa/mod_auth_form.c
      type_or_value: '"form-logout-handler"'
    - item_type: preproc_def
      name: FORM_REDIRECT_HANDLER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/aaa/mod_auth_form.c
      type_or_value: '"form-redirect-handler"'
    - item_type: preproc_def
      name: MOD_AUTH_FORM_HASH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/aaa/mod_auth_form.c
      type_or_value: '"site"'
    structs:
    - fields:
      - name: '*providers'
        type: authn_provider_list
      - name: '*dir'
        type: char
      - name: authoritative
        type: int
      - name: authoritative_set
        type: int
      - name: '*site'
        type: char
      - name: site_set
        type: int
      - name: '*username'
        type: char
      - name: username_set
        type: int
      - name: '*password'
        type: char
      - name: password_set
        type: int
      - name: form_size
        type: apr_size_t
      - name: form_size_set
        type: int
      - name: fakebasicauth
        type: int
      - name: fakebasicauth_set
        type: int
      - name: '*location'
        type: char
      - name: location_set
        type: int
      - name: '*method'
        type: char
      - name: method_set
        type: int
      - name: '*mimetype'
        type: char
      - name: mimetype_set
        type: int
      - name: '*body'
        type: char
      - name: body_set
        type: int
      - name: disable_no_store
        type: int
      - name: disable_no_store_set
        type: int
      - name: '*loginsuccess'
        type: ap_expr_info_t
      - name: loginsuccess_set
        type: int
      - name: '*loginrequired'
        type: ap_expr_info_t
      - name: loginrequired_set
        type: int
      - name: '*logout'
        type: ap_expr_info_t
      - name: logout_set
        type: int
      item_type: struct
      name: auth_form_config_rec
      pos:
        line_end: 80
        line_start: 49
        source_file: /src/httpd/modules/aaa/mod_auth_form.c
    typedefs: []
    union: []
- function_names:
  - am_check_access
  - am_create_conf
  - am_merge_conf
  - am_allowmethods
  - am_register_hooks
  source_file: /src/httpd/modules/aaa/mod_allowmethods.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: allowed_set
        type: int
      - name: enforce_methods
        type: int
      - name: add
        type: ap_method_mask_t
      - name: remove
        type: ap_method_mask_t
      - name: allowed
        type: ap_method_mask_t
      item_type: struct
      name: am_conf_t
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/httpd/modules/aaa/mod_allowmethods.c
    typedefs: []
    union: []
- function_names:
  - remove_lock
  - destroy_cache
  - authn_cache_precfg
  - authn_cache_post_config
  - authn_cache_child_init
  - authn_cache_socache
  - authn_cache_enable
  - authn_cache_dircfg_create
  - authn_cache_dircfg_merge
  - authn_cache_setprovider
  - authn_cache_timeout
  - construct_key
  - ap_authn_cache_store
  - check_password
  - get_realm_hash
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_socache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_VAL_LEN
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/httpd/modules/aaa/mod_authn_socache.c
      type_or_value: '256'
    structs:
    - fields:
      - name: timeout
        type: apr_interval_time_t
      - name: '*providers'
        type: apr_array_header_t
      - name: '*context'
        type: char
      item_type: struct
      name: authn_cache_dircfg
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/httpd/modules/aaa/mod_authn_socache.c
    typedefs: []
    union: []
- function_names:
  - AUTHZ_DBD_DECLARE
  - AUTHZ_DBD_DECLARE_NONSTD
  - AUTHZ_DBD_DECLARE
  - AUTHZ_DBD_DECLARE_NONSTD
  - AUTHZ_DBD_DECLARE
  - AUTHZ_DBD_DECLARE_NONSTD
  - AUTHZ_DBD_DECLARE
  - AUTHZ_DBD_DECLARE_NONSTD
  source_file: /src/httpd/modules/aaa/mod_authz_dbd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTHZ_DBD_DECLARE_DATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/aaa/mod_authz_dbd.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AUTHZ_DBD_DECLARE_DATA
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/aaa/mod_authz_dbd.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - AUTHN_CACHE_STORE
  - create_authn_dbm_dir_config
  - fetch_dbm_value
  - check_dbm_pw
  - get_dbm_realm_hash
  - opt_retr
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_dbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pwfile'
        type: char
      - name: '*dbmtype'
        type: char
      item_type: struct
      name: authn_dbm_config_rec
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/httpd/modules/aaa/mod_authn_dbm.c
    typedefs: []
    union: []
- function_names:
  - APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL
  - authz_dbd_cr_cfg
  - authz_dbd_merge_cfg
  - authz_dbd_prepare
  - authz_dbd_login
  - authz_dbd_group_query
  - dbdgroup_check_authorization
  - dbdlogin_check_authorization
  - dbdlogout_check_authorization
  - dbd_parse_config
  - authz_dbd_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_dbd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - connect_to_peer
  - log_provider_info
  - setupenv
  - recv_data
  - recv_data_full
  - sendv_data
  - send_begin_request
  - send_environment
  - handle_headers
  - handle_response
  - mod_fcgid_modify_auth_header
  - fix_auth_header
  - req_rsp
  - fcgi_check_authn
  - fcgi_check_password
  - fcgi_authz_check
  - fcgi_authz_parse
  - fcgi_check_authn_provider
  - fcgi_define_provider
  - fcgi_pre_config
  - fcgi_register_hooks
  - create_dir_conf
  - merge_dir_conf
  source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FCGI_IO_TIMEOUT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
      type_or_value: apr_time_from_sec(30)
    - item_type: preproc_def
      name: NON200_RESPONSE_BUF_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: FCGI_BACKEND_REGEX_STR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
      type_or_value: '"m%^fcgi://(.*):(\\d{1,5})/?$%"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*backend'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: apr_port_t
      - name: '*backend_addrs'
        type: apr_sockaddr_t
      - name: is_authn
        type: int
      - name: is_authz
        type: int
      item_type: struct
      name: fcgi_provider_conf
      pos:
        line_end: 43
        line_start: 35
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    - fields:
      - name: '*name'
        type: char
      - name: '*default_user'
        type: char
      - name: '*user_expr'
        type: ap_expr_info_t
      - name: authoritative
        type: char
      - name: require_basic_auth
        type: char
      item_type: struct
      name: fcgi_dir_conf
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    - fields:
      - name: '*successful_authnz_provider'
        type: char
      item_type: struct
      name: fcgi_request_notes
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/httpd/modules/aaa/mod_authnz_fcgi.c
    typedefs: []
    union: []
- function_names:
  - get_dbm_entry_as_str
  - create_authz_dbm_dir_config
  - get_dbm_grp
  - dbmgroup_check_authorization
  - dbmfilegroup_check_authorization
  - dbm_parse_config
  - authz_dbm_getfns
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authz_dbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*grpfile'
        type: char
      - name: '*dbmtype'
        type: char
      item_type: struct
      name: authz_dbm_config_rec
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/httpd/modules/aaa/mod_authz_dbm.c
    typedefs: []
    union: []
- function_names:
  - AUTHN_CACHE_STORE
  - authn_dbd_cr_conf
  - authn_dbd_merge_conf
  - authn_dbd_prepare
  - authn_dbd_password
  - authn_dbd_realm
  - opt_retr
  - authn_dbd_hooks
  source_file: /src/httpd/modules/aaa/mod_authn_dbd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*user'
        type: char
      - name: '*realm'
        type: char
      item_type: struct
      name: authn_dbd_conf
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/httpd/modules/aaa/mod_authn_dbd.c
    typedefs: []
    union: []
- function_names:
  - derive_codepage_from_lang
  - get_conv_set
  - authn_ldap_xlate_password
  - authn_ldap_build_filter
  - create_authnz_ldap_dir_config
  - authnz_ldap_cleanup_connection_close
  - set_request_vars
  - ldap_determine_binddn
  - get_connection_for_authz
  - build_request_config
  - release_ldc
  - authn_ldap_check_password
  - get_dn_for_nonldap_authn
  - ldapuser_check_authorization
  - ldapgroup_check_authorization
  - ldapdn_check_authorization
  - ldapattribute_check_authorization
  - ldapfilter_check_authorization
  - ldapsearch_check_authorization
  - ldap_parse_config
  - mod_auth_ldap_parse_url
  - mod_auth_ldap_set_deref
  - mod_auth_ldap_add_subgroup_attribute
  - mod_auth_ldap_add_subgroup_class
  - mod_auth_ldap_set_subgroup_maxdepth
  - mod_auth_ldap_add_group_attribute
  - set_charset_config
  - set_bind_pattern
  - set_bind_password
  - authnz_ldap_post_config
  - ImportULDAPOptFn
  - authnz_ldap_fixups
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
  types:
    enum:
    - enumerators:
      - name: LDAP_AUTHN
      - name: LDAP_AUTHZ
      item_type: enum
      name: auth_ldap_phase
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
    - enumerators:
      - name: LDAP_SEARCH
      - name: LDAP_COMPARE
      - name: LDAP_COMPARE_AND_SEARCH
      item_type: enum
      name: auth_ldap_optype
      pos:
        line_end: 99
        line_start: 97
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
    preproc_defs:
    - item_type: preproc_def
      name: GROUPATTR_MAX_ELTS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
      type_or_value: '10'
    - item_type: preproc_def
      name: FILTER_LENGTH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
      type_or_value: MAX_STRING_LEN
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*url'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: '*basedn'
        type: char
      - name: '*attribute'
        type: char
      - name: '**attributes'
        type: char
      - name: scope
        type: int
      - name: '*filter'
        type: char
      - name: deref
        type: deref_options
      - name: '*binddn'
        type: char
      - name: '*bindpw'
        type: char
      - name: bind_authoritative
        type: int
      - name: user_is_dn
        type: int
      - name: '*remote_user_attribute'
        type: char
      - name: compare_dn_on_server
        type: int
      - name: have_ldap_url
        type: int
      - name: '*groupattr'
        type: apr_array_header_t
      - name: group_attrib_is_dn
        type: int
      - name: '**sgAttributes'
        type: char
      - name: '*subgroupclasses'
        type: apr_array_header_t
      - name: maxNestingDepth
        type: int
      - name: secure
        type: int
      - name: '*authz_prefix'
        type: char
      - name: initial_bind_as_user
        type: int
      - name: '*bind_regex'
        type: ap_regex_t
      - name: '*bind_subst'
        type: char
      - name: search_as_user
        type: int
      - name: compare_as_user
        type: int
      item_type: struct
      name: authn_ldap_config_t
      pos:
        line_end: 83
        line_start: 42
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
    - fields:
      - name: '*dn'
        type: char
      - name: '*user'
        type: char
      - name: '**vals'
        type: char
      - name: '*password'
        type: char
      - name: '*ldc_pool'
        type: apr_pool_t
      item_type: struct
      name: authn_ldap_request_t
      pos:
        line_end: 91
        line_start: 85
        source_file: /src/httpd/modules/aaa/mod_authnz_ldap.c
    typedefs: []
    union: []
- function_names:
  - create_access_compat_dir_config
  - order
  - satisfy
  - allow_cmd
  - in_domain
  - find_allowdeny
  - access_compat_ap_satisfies
  - check_dir_access
  - register_hooks
  source_file: /src/httpd/modules/aaa/mod_access_compat.c
  types:
    enum:
    - enumerators:
      - name: T_ENV
      - name: T_ALL
      - name: T_NENV
      - name: T_HOST
      - name: T_IP
      - name: T_FAIL
      item_type: enum
      name: allowdeny_type
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
    preproc_defs:
    - item_type: preproc_def
      name: DENY_THEN_ALLOW
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ALLOW_THEN_DENY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MUTUAL_FAILURE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
      type_or_value: '2'
    structs:
    - fields:
      - name: limited
        type: ap_method_mask_t
      - name: x
        type: "union {\n        char *from;\n        apr_ipsubnet_t *ip;\n    }"
      - name: type
        type: enum allowdeny_type
      item_type: struct
      name: allowdeny
      pos:
        line_end: 61
        line_start: 54
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
    - fields:
      - name: order[METHODS]
        type: int
      - name: '*allows'
        type: apr_array_header_t
      - name: '*denys'
        type: apr_array_header_t
      - name: '*satisfy'
        type: int
      item_type: struct
      name: access_compat_dir_conf
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/httpd/modules/aaa/mod_access_compat.c
    typedefs: []
    union: []
- function_names:
  - ajp_handle_cping_cpong
  - case_to_str
  - ajp_type_str
  source_file: /src/httpd/modules/proxy/ajp_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/proxy/mod_proxy_fdpass.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_FDPASS_FLUSHER
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/modules/proxy/mod_proxy_fdpass.h
      type_or_value: '"proxy_fdpass_flusher"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*flusher)(request_rec *r)
        type: int
      - name: '*context'
        type: void
      item_type: struct
      name: proxy_fdpass_flush
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/httpd/modules/proxy/mod_proxy_fdpass.h
    typedefs:
    - item_type: typedef
      name: proxy_fdpass_flush
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/httpd/modules/proxy/mod_proxy_fdpass.h
      type: proxy_fdpass_flush
    union: []
- function_names:
  - hc_create_config
  - set_worker_hc_param
  - set_hc_condition
  - set_hc_template
  - set_hc_tpsize
  - create_request_rec
  - set_request_connection
  - create_hcheck_req
  - hc_get_hcworker
  - hc_determine_connection
  - backend_cleanup
  - hc_get_backend
  - hc_init_baton
  - hc_check_cping
  - hc_check_tcp
  - hc_send
  - hc_read_headers
  - hc_read_body
  - hc_check_http
  - APR_THREAD_FUNC::hc_check
  - hc_watchdog_callback
  - hc_pre_config
  - hc_post_config
  - hc_show_exprs
  - hc_select_exprs
  - hc_valid_expr
  - hc_get_body
  - hc_expr_var_fn
  - hc_expr_func_fn
  - hc_expr_lookup
  - hc_register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HCHECK_WATHCHDOG_NAME
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
      type_or_value: ("_proxy_hcheck_")
    - item_type: preproc_def
      name: HC_THREADPOOL_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
      type_or_value: (16)
    - item_type: preproc_def
      name: HC_USE_THREADS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HC_USE_THREADS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: method
        type: hcmethod_t
      - name: passes
        type: int
      - name: fails
        type: int
      - name: interval
        type: apr_interval_time_t
      - name: '*hurl'
        type: char
      - name: '*hcexpr'
        type: char
      item_type: struct
      name: hc_template_t
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    - fields:
      - name: '*expr'
        type: char
      - name: '*pexpr'
        type: ap_expr_info_t
      item_type: struct
      name: hc_condition_t
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*templates'
        type: apr_array_header_t
      - name: '*conditions'
        type: apr_table_t
      - name: '*hcworkers'
        type: apr_hash_t
      - name: '*s'
        type: server_rec
      item_type: struct
      name: sctx_t
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    - fields:
      - name: '*path'
        type: char
      - name: '*method'
        type: char
      - name: '*req'
        type: char
      - name: '*w'
        type: proxy_worker
      - name: '*protocol'
        type: char
      item_type: struct
      name: wctx_t
      pos:
        line_end: 68
        line_start: 62
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    - fields:
      - name: '*ptemp'
        type: apr_pool_t
      - name: '*ctx'
        type: sctx_t
      - name: '*balancer'
        type: proxy_balancer
      - name: '*worker'
        type: proxy_worker
      - name: '*hc'
        type: proxy_worker
      - name: '*now'
        type: apr_time_t
      item_type: struct
      name: baton_t
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/httpd/modules/proxy/mod_proxy_hcheck.c
    typedefs: []
    union: []
- function_names:
  - uwsgi_canon
  - uwsgi_send
  - uwsgi_send_headers
  - uwsgi_send_body
  - make_fake_req
  - uwsgi_handler
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UWSGI_SCHEME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
      type_or_value: '"uwsgi"'
    - item_type: preproc_def
      name: UWSGI_DEFAULT_PORT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/modules/proxy/mod_proxy_uwsgi.c
      type_or_value: '3031'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ajp_msg_dump
  - ajp_msg_log
  - ajp_msg_check_header
  - ajp_msg_reset
  - ajp_msg_reuse
  - ajp_msg_end
  - ajp_log_overflow
  - ajp_msg_append_uint32
  - ajp_msg_append_uint16
  - ajp_msg_append_uint8
  - ajp_msg_append_string_ex
  - ajp_msg_append_bytes
  - ajp_msg_get_uint32
  - ajp_msg_get_uint16
  - ajp_msg_peek_uint16
  - ajp_msg_peek_uint8
  - ajp_msg_get_uint8
  - ajp_msg_get_string
  - ajp_msg_get_bytes
  - ajp_msg_create
  - ajp_msg_copy
  - ajp_msg_serialize_ping
  - ajp_msg_serialize_cping
  source_file: /src/httpd/modules/proxy/ajp_msg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AJP_MSG_DUMP_BYTES_PER_LINE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/httpd/modules/proxy/ajp_msg.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AJP_MSG_DUMP_PREFIX_LENGTH
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/modules/proxy/ajp_msg.c
      type_or_value: strlen("XXXX    ")
    - item_type: preproc_def
      name: AJP_MSG_DUMP_LINE_LENGTH
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/httpd/modules/proxy/ajp_msg.c
      type_or_value: "((AJP_MSG_DUMP_BYTES_PER_LINE * \\\n                                    strlen(\"XX
        .\")) + \\\n                                    AJP_MSG_DUMP_PREFIX_LENGTH
        + \\\n                                    strlen(\" - \") + 1)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_dbmfile
  - set_dbmtype
  - set_enabled
  - server_create
  - server_merge
  - post_config
  - xlate_name
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_express.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*dbmfile'
        type: char
      - name: '*dbmtype'
        type: char
      - name: enabled
        type: int
      item_type: struct
      name: express_server_conf
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/httpd/modules/proxy/mod_proxy_express.c
    typedefs: []
    union: []
- function_names:
  - balancer_pre_config
  - proxy_balancer_canon
  - init_balancer_members
  - get_path_param
  - get_cookie_param
  - find_route_worker
  - find_session_route
  - find_best_worker
  - balancer_fixup
  - force_recovery
  - proxy_balancer_pre_request
  - proxy_balancer_post_request
  - recalc_factors
  - lock_remove
  - make_server_id
  - make_servers_ids
  - balancer_post_config
  - create_radio
  - push2table
  - balancer_process_balancer_worker
  - balancer_manage
  - balancer_display_page
  - safe_referer
  - balancer_handler
  - balancer_child_init
  - ap_proxy_balancer_register_hook
  source_file: /src/httpd/modules/proxy/mod_proxy_balancer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/proxy/ajp_header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SC_A_CONTEXT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)1
    - item_type: preproc_def
      name: SC_A_SERVLET_PATH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)2
    - item_type: preproc_def
      name: SC_A_REMOTE_USER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)3
    - item_type: preproc_def
      name: SC_A_AUTH_TYPE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)4
    - item_type: preproc_def
      name: SC_A_QUERY_STRING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)5
    - item_type: preproc_def
      name: SC_A_JVM_ROUTE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)6
    - item_type: preproc_def
      name: SC_A_SSL_CERT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)7
    - item_type: preproc_def
      name: SC_A_SSL_CIPHER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)8
    - item_type: preproc_def
      name: SC_A_SSL_SESSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)9
    - item_type: preproc_def
      name: SC_A_REQ_ATTRIBUTE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)10
    - item_type: preproc_def
      name: SC_A_SSL_KEY_SIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: '(unsigned char)11       '
    - item_type: preproc_def
      name: SC_A_SECRET
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)12
    - item_type: preproc_def
      name: SC_A_STORED_METHOD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)13
    - item_type: preproc_def
      name: SC_A_ARE_DONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)0xFF
    - item_type: preproc_def
      name: SC_A_SSL_PROTOCOL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: ("AJP_SSL_PROTOCOL")
    - item_type: preproc_def
      name: SC_A_REQ_REMOTE_PORT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: ("AJP_REMOTE_PORT")
    - item_type: preproc_def
      name: SC_A_REQ_LOCAL_ADDR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: ("AJP_LOCAL_ADDR")
    - item_type: preproc_def
      name: SC_M_OPTIONS
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)1
    - item_type: preproc_def
      name: SC_M_GET
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)2
    - item_type: preproc_def
      name: SC_M_HEAD
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)3
    - item_type: preproc_def
      name: SC_M_POST
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)4
    - item_type: preproc_def
      name: SC_M_PUT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)5
    - item_type: preproc_def
      name: SC_M_DELETE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)6
    - item_type: preproc_def
      name: SC_M_TRACE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)7
    - item_type: preproc_def
      name: SC_M_PROPFIND
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)8
    - item_type: preproc_def
      name: SC_M_PROPPATCH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)9
    - item_type: preproc_def
      name: SC_M_MKCOL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)10
    - item_type: preproc_def
      name: SC_M_COPY
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)11
    - item_type: preproc_def
      name: SC_M_MOVE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)12
    - item_type: preproc_def
      name: SC_M_LOCK
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)13
    - item_type: preproc_def
      name: SC_M_UNLOCK
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)14
    - item_type: preproc_def
      name: SC_M_ACL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)15
    - item_type: preproc_def
      name: SC_M_REPORT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)16
    - item_type: preproc_def
      name: SC_M_VERSION_CONTROL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)17
    - item_type: preproc_def
      name: SC_M_CHECKIN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)18
    - item_type: preproc_def
      name: SC_M_CHECKOUT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)19
    - item_type: preproc_def
      name: SC_M_UNCHECKOUT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)20
    - item_type: preproc_def
      name: SC_M_SEARCH
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)21
    - item_type: preproc_def
      name: SC_M_MKWORKSPACE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)22
    - item_type: preproc_def
      name: SC_M_UPDATE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)23
    - item_type: preproc_def
      name: SC_M_LABEL
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)24
    - item_type: preproc_def
      name: SC_M_MERGE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)25
    - item_type: preproc_def
      name: SC_M_BASELINE_CONTROL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)26
    - item_type: preproc_def
      name: SC_M_MKACTIVITY
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)27
    - item_type: preproc_def
      name: SC_M_JK_STORED
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned char)0xFF
    - item_type: preproc_def
      name: SC_ACCEPT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA001
    - item_type: preproc_def
      name: SC_ACCEPT_CHARSET
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA002
    - item_type: preproc_def
      name: SC_ACCEPT_ENCODING
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA003
    - item_type: preproc_def
      name: SC_ACCEPT_LANGUAGE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA004
    - item_type: preproc_def
      name: SC_AUTHORIZATION
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA005
    - item_type: preproc_def
      name: SC_CONNECTION
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA006
    - item_type: preproc_def
      name: SC_CONTENT_TYPE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA007
    - item_type: preproc_def
      name: SC_CONTENT_LENGTH
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA008
    - item_type: preproc_def
      name: SC_COOKIE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA009
    - item_type: preproc_def
      name: SC_COOKIE2
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00A
    - item_type: preproc_def
      name: SC_HOST
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00B
    - item_type: preproc_def
      name: SC_PRAGMA
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00C
    - item_type: preproc_def
      name: SC_REFERER
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00D
    - item_type: preproc_def
      name: SC_USER_AGENT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00E
    - item_type: preproc_def
      name: SC_RESP_CONTENT_TYPE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA001
    - item_type: preproc_def
      name: SC_RESP_CONTENT_LANGUAGE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA002
    - item_type: preproc_def
      name: SC_RESP_CONTENT_LENGTH
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA003
    - item_type: preproc_def
      name: SC_RESP_DATE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA004
    - item_type: preproc_def
      name: SC_RESP_LAST_MODIFIED
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA005
    - item_type: preproc_def
      name: SC_RESP_LOCATION
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA006
    - item_type: preproc_def
      name: SC_RESP_SET_COOKIE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA007
    - item_type: preproc_def
      name: SC_RESP_SET_COOKIE2
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA008
    - item_type: preproc_def
      name: SC_RESP_SERVLET_ENGINE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA009
    - item_type: preproc_def
      name: SC_RESP_STATUS
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00A
    - item_type: preproc_def
      name: SC_RESP_WWW_AUTHENTICATE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: (unsigned short)0xA00B
    - item_type: preproc_def
      name: SC_RES_HEADERS_NUM
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/httpd/modules/proxy/ajp_header.h
      type_or_value: '11'
    structs: []
    typedefs: []
    union: []
- function_names:
  - proxy_ajp_canon
  - is_idempotent
  - get_content_length
  - ap_proxy_ajp_request
  - proxy_ajp_handler
  - ap_proxy_http_register_hook
  source_file: /src/httpd/modules/proxy/mod_proxy_ajp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: METHOD_NON_IDEMPOTENT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/httpd/modules/proxy/mod_proxy_ajp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: METHOD_IDEMPOTENT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/httpd/modules/proxy/mod_proxy_ajp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: METHOD_IDEMPOTENT_WITH_ARGS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/httpd/modules/proxy/mod_proxy_ajp.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bucket_socket_ex_read
  - bucket_socket_ex_make
  - bucket_socket_ex_create
  - scgi_canon
  - sendall
  - send_headers
  - send_request_body
  - pass_response
  - scgi_request_status
  - scgi_handler
  - create_scgi_config
  - merge_scgi_config
  - scgi_set_send_file
  - scgi_set_internal_redirect
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCHEME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"scgi"'
    - item_type: preproc_def
      name: PROXY_FUNCTION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"SCGI"'
    - item_type: preproc_def
      name: SCGI_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"SCGI"'
    - item_type: preproc_def
      name: SCGI_PROTOCOL_VERSION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"1"'
    - item_type: preproc_def
      name: CONTENT_LENGTH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"CONTENT_LENGTH"'
    - item_type: preproc_def
      name: GATEWAY_INTERFACE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
      type_or_value: '"GATEWAY_INTERFACE"'
    structs:
    - fields:
      - name: '*location'
        type: char
      - name: type
        type: scgi_request_type
      item_type: struct
      name: scgi_request_config
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
    - fields:
      - name: '*sendfile'
        type: char
      - name: '*internal_redirect'
        type: char
      item_type: struct
      name: scgi_config
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
    - fields:
      - name: '*sock'
        type: apr_socket_t
      - name: '*counter'
        type: apr_off_t
      item_type: struct
      name: socket_ex_data
      pos:
        line_end: 86
        line_start: 83
        source_file: /src/httpd/modules/proxy/mod_proxy_scgi.c
    typedefs: []
    union: []
- function_names:
  - proxy_fdpass_canon
  - get_socket_from_path
  - send_socket
  - proxy_fdpass_handler
  - standard_flush
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_fdpass.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/proxy/scgi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCGI_DEF_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/modules/proxy/scgi.h
      type_or_value: '4000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - beacon_create_server_config
  - beacon_set_sub_url
  - beacon_set_pub_url
  - beacon_set_advertise
  - beacon_set_balancer
  - beacon_set_interval
  - beacon_set_timeout
  - beacon_set_secret
  - beacon_set_maxskew
  - beacon_resolve
  - beacon_server_default_addr
  - beacon_cb_starting
  - beacon_make_fake_request
  - beacon_have_manage_fn
  - beacon_set_worker_disabled
  - beacon_log_throttled
  - beacon_try_add
  - beacon_handle_announce
  - beacon_sweep
  - beacon_parse_url
  - beacon_const_time_eq
  - beacon_mac_hex
  - beacon_sign
  - beacon_verify
  - beacon_cb_running
  - beacon_cb_stopping
  - beacon_watchdog_callback
  - beacon_post_config
  - beacon_register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BEACON_WATCHDOG_NAME
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: '"_proxy_beacon_"'
    - item_type: preproc_def
      name: BEACON_DEFAULT_INTERVAL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: apr_time_from_sec(5)
    - item_type: preproc_def
      name: BEACON_MAC_HEXLEN
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: (APR_SIPHASH_DSIZE * 2)
    - item_type: preproc_def
      name: BEACON_MAXSKEW_DEFAULT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: '30   '
    - item_type: preproc_def
      name: BEACON_MAX_MSG_LEN
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: BEACON_RETRY_BACKOFF
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: apr_time_from_sec(60)
    - item_type: preproc_def
      name: BEACON_MAX_MEMBERS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
      type_or_value: '256'
    structs:
    - fields:
      - name: last_seen
        type: apr_time_t
      - name: last_attempt
        type: apr_time_t
      - name: last_ts
        type: apr_int64_t
      - name: added
        type: int
      - name: evicted
        type: int
      item_type: struct
      name: beacon_member_t
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*s'
        type: server_rec
      - name: '*pub_url'
        type: char
      - name: '*sub_url'
        type: char
      - name: '*advertise_url'
        type: char
      - name: '*balancer_name'
        type: char
      - name: interval
        type: apr_interval_time_t
      - name: evict_timeout
        type: apr_interval_time_t
      - name: role
        type: beacon_role_e
      - name: '*sock'
        type: apr_socket_t
      - name: '*addr'
        type: apr_sockaddr_t
      - name: opened
        type: int
      - name: last_publish
        type: apr_time_t
      - name: last_sweep
        type: apr_time_t
      - name: seq
        type: apr_uint64_t
      - name: '*seen'
        type: apr_hash_t
      - name: '*manage_fn'
        type: APR_OPTIONAL_FN_TYPE
      - name: has_secret
        type: int
      - name: mac_key[APR_MD5_DIGESTSIZE]
        type: unsigned char
      - name: max_skew
        type: apr_int64_t
      - name: reject_count
        type: apr_uint64_t
      - name: last_reject_log
        type: apr_time_t
      - name: open_failed
        type: int
      item_type: struct
      name: beacon_ctx_t
      pos:
        line_end: 154
        line_start: 129
        source_file: /src/httpd/modules/proxy/mod_proxy_beacon.c
    typedefs: []
    union: []
- function_names:
  - long_res_header_for_sc
  - sc_for_req_header
  - sc_for_req_method_by_id
  - ajp_marshal_into_msgb
  - addit_dammit
  - ajp_unmarshal_response
  - ajp_send_header
  - ajp_read_header
  - ajp_parse_type
  - ajp_parse_header
  - ajp_parse_data
  - ajp_parse_reuse
  - ajp_alloc_data_msg
  - ajp_send_data_msg
  source_file: /src/httpd/modules/proxy/ajp_header.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNKNOWN_METHOD
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/modules/proxy/ajp_header.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - AP_VOLATILIZE_T
  - PROXY_WORKER_IS_INITIALIZED
  - PROXY_WORKER_IS_STANDBY
  - PROXY_WORKER_IS_SPARE
  - PROXY_WORKER_IS_USABLE
  - PROXY_WORKER_IS_DRAINING
  - PROXY_WORKER_IS_GENERIC
  - PROXY_WORKER_IS_HCFAILED
  - PROXY_WORKER_IS_ERROR
  - PROXY_WORKER_IS
  - PROXY_STRNCPY
  - PROXY_COPY_CONF_PARAMS
  - PROXY_SHOULD_PING_100_CONTINUE
  - PROXY_DO_100_CONTINUE
  - PROXY_THREAD_LOCK
  - PROXY_THREAD_UNLOCK
  - PROXY_THREAD_LOCK
  - PROXY_THREAD_UNLOCK
  - PROXY_GLOBAL_LOCK
  - PROXY_GLOBAL_UNLOCK
  - PROXY_DECLARE
  - PROXY_DECLARE_NONSTD
  - PROXY_DECLARE
  - PROXY_DECLARE_NONSTD
  - PROXY_DECLARE
  - PROXY_DECLARE_NONSTD
  - PROXY_DECLARE
  - PROXY_DECLARE_NONSTD
  source_file: /src/httpd/modules/proxy/mod_proxy.h
  types:
    enum:
    - enumerators:
      - name: enc_path
      - name: enc_fpath
      - name: enc_search
      - name: enc_user
      - name: enc_parm
      item_type: enum
      name: enctype
      pos:
        line_end: 76
        line_start: 74
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_CANONENC_FORCEDEC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PROXY_CANONENC_NOENCODEDSLASHENCODING
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: BALANCER_PREFIX
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '"balancer://"'
    - item_type: preproc_def
      name: CRLF
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: CRLF
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '"\015\012"'
    - item_type: preproc_def
      name: DEFAULT_MAX_FORWARDS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: PROXYPASS_NOCANON
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PROXYPASS_INTERPOLATE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PROXYPASS_NOQUERY
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PROXYPASS_MAP_ENCODED
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: PROXYPASS_MAP_SERVLET
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x18 '
    - item_type: preproc_def
      name: PROXY_WORKER_INITIALIZED
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: PROXY_WORKER_IGNORE_ERRORS
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: PROXY_WORKER_DRAIN
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: PROXY_WORKER_GENERIC
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: PROXY_WORKER_IN_SHUTDOWN
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: PROXY_WORKER_DISABLED
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: PROXY_WORKER_STOPPED
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: PROXY_WORKER_IN_ERROR
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: PROXY_WORKER_HOT_STANDBY
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: PROXY_WORKER_FREE
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: PROXY_WORKER_HC_FAIL
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: PROXY_WORKER_HOT_SPARE
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: PROXY_WORKER_INITIALIZED_FLAG
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''O'''
    - item_type: preproc_def
      name: PROXY_WORKER_IGNORE_ERRORS_FLAG
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''I'''
    - item_type: preproc_def
      name: PROXY_WORKER_DRAIN_FLAG
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''N'''
    - item_type: preproc_def
      name: PROXY_WORKER_GENERIC_FLAG
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''G'''
    - item_type: preproc_def
      name: PROXY_WORKER_IN_SHUTDOWN_FLAG
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''U'''
    - item_type: preproc_def
      name: PROXY_WORKER_DISABLED_FLAG
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''D'''
    - item_type: preproc_def
      name: PROXY_WORKER_STOPPED_FLAG
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''S'''
    - item_type: preproc_def
      name: PROXY_WORKER_IN_ERROR_FLAG
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''E'''
    - item_type: preproc_def
      name: PROXY_WORKER_HOT_STANDBY_FLAG
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''H'''
    - item_type: preproc_def
      name: PROXY_WORKER_FREE_FLAG
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''F'''
    - item_type: preproc_def
      name: PROXY_WORKER_HC_FAIL_FLAG
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''C'''
    - item_type: preproc_def
      name: PROXY_WORKER_HOT_SPARE_FLAG
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '''R'''
    - item_type: preproc_def
      name: PROXY_WORKER_NOT_USABLE_BITMAP
      pos:
        line_end: 354
        line_start: 351
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '( PROXY_WORKER_IN_SHUTDOWN | \

        PROXY_WORKER_DISABLED | PROXY_WORKER_STOPPED | PROXY_WORKER_IN_ERROR | \

        PROXY_WORKER_HC_FAIL )'
    - item_type: preproc_def
      name: PROXY_WORKER_DEFAULT_RETRY
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '60'
    - item_type: preproc_def
      name: PROXY_WORKER_MAX_SCHEME_SIZE
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PROXY_WORKER_MAX_ROUTE_SIZE
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '96'
    - item_type: preproc_def
      name: PROXY_BALANCER_MAX_ROUTE_SIZE
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PROXY_WORKER_MAX_NAME_SIZE
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '384'
    - item_type: preproc_def
      name: PROXY_BALANCER_MAX_NAME_SIZE
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PROXY_WORKER_MAX_HOSTNAME_SIZE
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '96'
    - item_type: preproc_def
      name: PROXY_BALANCER_MAX_HOSTNAME_SIZE
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PROXY_BALANCER_MAX_STICKY_SIZE
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PROXY_WORKER_MAX_SECRET_SIZE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PROXY_WORKER_UDS_PATH_SIZE
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PROXY_RFC1035_HOSTNAME_SIZE
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PROXY_WORKER_RFC1035_NAME_SIZE
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '512'
    - item_type: preproc_def
      name: PROXY_MAX_PROVIDER_NAME_SIZE
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: ALIGNED_PROXY_WORKER_SHARED_SIZE
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (APR_ALIGN_DEFAULT(sizeof(proxy_worker_shared)))
    - item_type: preproc_def
      name: HCHECK_WATHCHDOG_DEFAULT_INTERVAL
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (30)
    - item_type: preproc_def
      name: PROXY_FLUSH_WAIT
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: ALIGNED_PROXY_BALANCER_SHARED_SIZE
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (APR_ALIGN_DEFAULT(sizeof(proxy_balancer_shared)))
    - item_type: preproc_def
      name: PROXY_DECLARE_DATA
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: PROXY_DECLARE_DATA
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: PROXY_DECLARE_OPTIONAL_HOOK
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: APR_DECLARE_EXTERNAL_HOOK
    - item_type: preproc_def
      name: AP_PROXY_WORKER_IS_PREFIX
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: AP_PROXY_WORKER_IS_MATCH
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: AP_PROXY_WORKER_IS_MALLOCED
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: AP_PROXY_WORKER_NO_UDS
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: PROXY_DETERMINE_ADDRESS_CHECK
      pos:
        line_end: 1075
        line_start: 1074
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: PROXY_CHECK_CONN_EMPTY
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PROXY_LBMETHOD
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '"proxylbmethod"'
    - item_type: preproc_def
      name: PROXY_DYNAMIC_BALANCER_LIMIT
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: AP_PROXY_TRANSFER_FLUSH_EACH
      pos:
        line_end: 1594
        line_start: 1593
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (0x00)
    - item_type: preproc_def
      name: AP_PROXY_TRANSFER_FLUSH_AFTER
      pos:
        line_end: 1595
        line_start: 1594
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (0x01)
    - item_type: preproc_def
      name: AP_PROXY_TRANSFER_YIELD_PENDING
      pos:
        line_end: 1596
        line_start: 1595
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (0x02)
    - item_type: preproc_def
      name: AP_PROXY_TRANSFER_YIELD_MAX_READS
      pos:
        line_end: 1597
        line_start: 1596
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type_or_value: (0x04)
    structs:
    - fields:
      - name: method
        type: hcmethod_t
      - name: '*name'
        type: char
      - name: implemented
        type: int
      item_type: struct
      name: proxy_hcmethods_t
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: bit
        type: unsigned int
      - name: flag
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: proxy_wstat_t
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*scheme'
        type: char
      - name: '*protocol'
        type: char
      - name: '*hostname'
        type: char
      - name: '*regexp'
        type: ap_regex_t
      - name: '*creds'
        type: char
      - name: use_regex
        type: int
      - name: port
        type: apr_port_t
      item_type: struct
      name: proxy_remote
      pos:
        line_end: 126
        line_start: 118
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*real'
        type: char
      - name: '*fake'
        type: char
      - name: '*regex'
        type: ap_regex_t
      - name: flags
        type: unsigned int
      - name: '*balancer'
        type: proxy_balancer
      item_type: struct
      name: proxy_alias
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*name'
        type: char
      - name: addr
        type: struct in_addr
      - name: '*hostaddr'
        type: struct apr_sockaddr_t
      - name: (*matcher) (struct dirconn_entry * This, request_rec *r)
        type: int
      item_type: struct
      name: dirconn_entry
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*name'
        type: char
      - name: '*addr'
        type: struct apr_sockaddr_t
      item_type: struct
      name: noproxy_entry
      pos:
        line_end: 151
        line_start: 148
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*proxies'
        type: apr_array_header_t
      - name: '*sec_proxy'
        type: apr_array_header_t
      - name: '*aliases'
        type: apr_array_header_t
      - name: '*noproxies'
        type: apr_array_header_t
      - name: '*dirconn'
        type: apr_array_header_t
      - name: '*workers'
        type: apr_array_header_t
      - name: '*balancers'
        type: apr_array_header_t
      - name: '*forward'
        type: proxy_worker
      - name: '*reverse'
        type: proxy_worker
      - name: '*domain'
        type: char
      - name: '*id'
        type: char
      - name: '*pool'
        type: apr_pool_t
      - name: req
        type: int
      - name: max_balancers
        type: int
      - name: bgrowth
        type: int
      - name: viaopt
        type: "enum {\n      via_off,\n      via_on,\n      via_block,\n      via_full\n
          \   }"
      - name: recv_buffer_size
        type: apr_size_t
      - name: io_buffer_size
        type: apr_size_t
      - name: maxfwd
        type: long
      - name: timeout
        type: apr_interval_time_t
      - name: badopt
        type: "enum {\n      bad_error,\n      bad_ignore,\n      bad_body\n    }"
      - name: proxy_status
        type: "enum {\n        status_off,\n        status_on,\n        status_full\n
          \   }"
      - name: '*source_address'
        type: apr_sockaddr_t
      - name: '*mutex'
        type: apr_global_mutex_t
      - name: '*bslot'
        type: ap_slotmem_instance_t
      - name: '*storage'
        type: ap_slotmem_provider_t
      - name: req_set
        type: unsigned int
      - name: viaopt_set
        type: unsigned int
      - name: recv_buffer_size_set
        type: unsigned int
      - name: io_buffer_size_set
        type: unsigned int
      - name: maxfwd_set
        type: unsigned int
      - name: timeout_set
        type: unsigned int
      - name: badopt_set
        type: unsigned int
      - name: proxy_status_set
        type: unsigned int
      - name: source_address_set
        type: unsigned int
      - name: bgrowth_set
        type: unsigned int
      - name: bal_persist
        type: unsigned int
      - name: inherit
        type: unsigned int
      - name: inherit_set
        type: unsigned int
      - name: ppinherit
        type: unsigned int
      - name: ppinherit_set
        type: unsigned int
      - name: map_encoded_one
        type: unsigned int
      - name: map_encoded_all
        type: unsigned int
      item_type: struct
      name: proxy_server_conf
      pos:
        line_end: 211
        line_start: 153
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*p'
        type: char
      - name: '*r'
        type: ap_regex_t
      - name: '*raliases'
        type: apr_array_header_t
      - name: '* cookie_paths'
        type: apr_array_header_t
      - name: '* cookie_domains'
        type: apr_array_header_t
      - name: p_is_fnmatch
        type: signed char
      - name: interpolate_env
        type: signed char
      - name: '*alias'
        type: struct proxy_alias
      - name: error_override
        type: unsigned int
      - name: preserve_host
        type: unsigned int
      - name: preserve_host_set
        type: unsigned int
      - name: error_override_set
        type: unsigned int
      - name: alias_set
        type: unsigned int
      - name: add_forwarded_headers
        type: unsigned int
      - name: add_forwarded_headers_set
        type: unsigned int
      - name: '*refs'
        type: apr_array_header_t
      - name: forward_100_continue
        type: unsigned int
      - name: forward_100_continue_set
        type: unsigned int
      - name: '*error_override_codes'
        type: apr_array_header_t
      - name: async_delay
        type: apr_interval_time_t
      - name: async_idle_timeout
        type: apr_interval_time_t
      - name: async_delay_set
        type: unsigned int
      - name: async_idle_timeout_set
        type: unsigned int
      item_type: struct
      name: proxy_dir_conf
      pos:
        line_end: 260
        line_start: 213
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*raliases'
        type: apr_array_header_t
      - name: '* cookie_paths'
        type: apr_array_header_t
      - name: '* cookie_domains'
        type: apr_array_header_t
      item_type: struct
      name: proxy_req_conf
      pos:
        line_end: 269
        line_start: 265
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*connection'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: '*worker'
        type: proxy_worker
      - name: '*pool'
        type: apr_pool_t
      - name: '*hostname'
        type: char
      - name: '*addr'
        type: apr_sockaddr_t
      - name: '*scpool'
        type: apr_pool_t
      - name: '*sock'
        type: apr_socket_t
      - name: '*data'
        type: void
      - name: '*forward'
        type: void
      - name: flags
        type: apr_uint32_t
      - name: port
        type: apr_port_t
      - name: is_ssl
        type: unsigned int
      - name: close
        type: unsigned int
      - name: need_flush
        type: unsigned int
      - name: inreslist
        type: unsigned int
      - name: '*uds_path'
        type: char
      - name: '*ssl_hostname'
        type: char
      - name: '*tmp_bb'
        type: apr_bucket_brigade
      - name: '*uds_pool'
        type: apr_pool_t
      - name: '*fwd_pool'
        type: apr_pool_t
      - name: '*address'
        type: struct proxy_address
      item_type: struct
      name: proxy_conn_rec
      pos:
        line_end: 301
        line_start: 273
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: cache_completion
        type: float
      - name: content_length
        type: int
      item_type: struct
      name: proxy_completion
      pos:
        line_end: 306
        line_start: 303
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*addr'
        type: apr_sockaddr_t
      - name: '*res'
        type: apr_reslist_t
      - name: '*conn'
        type: proxy_conn_rec
      - name: '*dns_pool'
        type: apr_pool_t
      item_type: struct
      name: proxy_conn_pool
      pos:
        line_end: 315
        line_start: 309
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: def
        type: unsigned int
      - name: fnv
        type: unsigned int
      item_type: struct
      name: proxy_hashes
      pos:
        line_end: 424
        line_start: 421
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: name[PROXY_WORKER_MAX_NAME_SIZE]
        type: char
      - name: scheme[PROXY_WORKER_MAX_SCHEME_SIZE]
        type: char
      - name: hostname[PROXY_WORKER_MAX_HOSTNAME_SIZE]
        type: char
      - name: route[PROXY_WORKER_MAX_ROUTE_SIZE]
        type: char
      - name: redirect[PROXY_WORKER_MAX_ROUTE_SIZE]
        type: char
      - name: flusher[PROXY_WORKER_MAX_SCHEME_SIZE]
        type: char
      - name: uds_path[PROXY_WORKER_UDS_PATH_SIZE]
        type: char
      - name: hcuri[PROXY_WORKER_MAX_ROUTE_SIZE]
        type: char
      - name: hcexpr[PROXY_WORKER_MAX_SCHEME_SIZE]
        type: char
      - name: secret[PROXY_WORKER_MAX_SECRET_SIZE]
        type: char
      - name: upgrade[PROXY_WORKER_MAX_SCHEME_SIZE]
        type: char
      - name: hostname_ex[PROXY_RFC1035_HOSTNAME_SIZE]
        type: char
      - name: lbset
        type: int
      - name: retries
        type: int
      - name: lbstatus
        type: int
      - name: lbfactor
        type: int
      - name: min
        type: int
      - name: smax
        type: int
      - name: hmax
        type: int
      - name: flush_wait
        type: int
      - name: index
        type: int
      - name: passes
        type: int
      - name: pcount
        type: int
      - name: fails
        type: int
      - name: fcount
        type: int
      - name: hash
        type: proxy_hashes
      - name: status
        type: unsigned int
      - name: flush_packets
        type: "enum {\n        flush_off,\n        flush_on,\n        flush_auto\n
          \   }"
      - name: method
        type: hcmethod_t
      - name: updated
        type: apr_time_t
      - name: error_time
        type: apr_time_t
      - name: ttl
        type: apr_interval_time_t
      - name: retry
        type: apr_interval_time_t
      - name: timeout
        type: apr_interval_time_t
      - name: acquire
        type: apr_interval_time_t
      - name: ping_timeout
        type: apr_interval_time_t
      - name: conn_timeout
        type: apr_interval_time_t
      - name: interval
        type: apr_interval_time_t
      - name: recv_buffer_size
        type: apr_size_t
      - name: io_buffer_size
        type: apr_size_t
      - name: elected
        type: apr_size_t
      - name: busy
        type: apr_size_t
      - name: response_field_size
        type: apr_size_t
      - name: port
        type: apr_port_t
      - name: transferred
        type: apr_off_t
      - name: read
        type: apr_off_t
      - name: '*context'
        type: void
      - name: keepalive
        type: unsigned int
      - name: disablereuse
        type: unsigned int
      - name: is_address_reusable
        type: unsigned int
      - name: retry_set
        type: unsigned int
      - name: timeout_set
        type: unsigned int
      - name: acquire_set
        type: unsigned int
      - name: ping_timeout_set
        type: unsigned int
      - name: conn_timeout_set
        type: unsigned int
      - name: recv_buffer_size_set
        type: unsigned int
      - name: io_buffer_size_set
        type: unsigned int
      - name: keepalive_set
        type: unsigned int
      - name: disablereuse_set
        type: unsigned int
      - name: was_malloced
        type: unsigned int
      - name: is_name_matchable
        type: unsigned int
      - name: is_host_matchable
        type: unsigned int
      - name: response_field_size_set
        type: unsigned int
      - name: address_ttl_set
        type: unsigned int
      - name: address_ttl
        type: apr_int32_t
      - name: address_expiry
        type: apr_uint32_t
      - name: sock_proto
        type: int
      item_type: struct
      name: proxy_worker_shared
      pos:
        line_end: 500
        line_start: 427
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: hash
        type: proxy_hashes
      - name: local_status
        type: unsigned int
      - name: '*cp'
        type: proxy_conn_pool
      - name: '*s'
        type: proxy_worker_shared
      - name: '*balancer'
        type: proxy_balancer
      - name: '*context'
        type: void
      - name: '*section_config'
        type: ap_conf_vector_t
      - name: '*volatile address'
        type: struct proxy_address
      - name: '*uds_name'
        type: char
      item_type: struct
      name: proxy_worker
      pos:
        line_end: 518
        line_start: 505
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: sticky_path[PROXY_BALANCER_MAX_STICKY_SIZE]
        type: char
      - name: sticky[PROXY_BALANCER_MAX_STICKY_SIZE]
        type: char
      - name: lbpname[PROXY_MAX_PROVIDER_NAME_SIZE]
        type: char
      - name: nonce[APR_UUID_FORMATTED_LENGTH + 1]
        type: char
      - name: name[PROXY_BALANCER_MAX_NAME_SIZE]
        type: char
      - name: sname[PROXY_BALANCER_MAX_NAME_SIZE]
        type: char
      - name: vpath[PROXY_BALANCER_MAX_ROUTE_SIZE]
        type: char
      - name: vhost[PROXY_BALANCER_MAX_HOSTNAME_SIZE]
        type: char
      - name: timeout
        type: apr_interval_time_t
      - name: wupdated
        type: apr_time_t
      - name: max_attempts
        type: int
      - name: index
        type: int
      - name: hash
        type: proxy_hashes
      - name: sticky_force
        type: unsigned int
      - name: scolonsep
        type: unsigned int
      - name: max_attempts_set
        type: unsigned int
      - name: was_malloced
        type: unsigned int
      - name: need_reset
        type: unsigned int
      - name: vhosted
        type: unsigned int
      - name: inactive
        type: unsigned int
      - name: forcerecovery
        type: unsigned int
      - name: sticky_separator
        type: char
      - name: forcerecovery_set
        type: unsigned int
      - name: scolonsep_set
        type: unsigned int
      - name: sticky_force_set
        type: unsigned int
      - name: nonce_set
        type: unsigned int
      - name: sticky_separator_set
        type: unsigned int
      item_type: struct
      name: proxy_balancer_shared
      pos:
        line_end: 557
        line_start: 529
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*workers'
        type: apr_array_header_t
      - name: '*errstatuses'
        type: apr_array_header_t
      - name: '*wslot'
        type: ap_slotmem_instance_t
      - name: '*storage'
        type: ap_slotmem_provider_t
      - name: growth
        type: int
      - name: max_workers
        type: int
      - name: hash
        type: proxy_hashes
      - name: wupdated
        type: apr_time_t
      - name: '*lbmethod'
        type: proxy_balancer_method
      - name: '*gmutex'
        type: apr_global_mutex_t
      - name: '*sconf'
        type: proxy_server_conf
      - name: '*context'
        type: void
      - name: '*s'
        type: proxy_balancer_shared
      - name: failontimeout
        type: int
      - name: failontimeout_set
        type: unsigned int
      - name: growth_set
        type: unsigned int
      - name: lbmethod_set
        type: unsigned int
      - name: '*section_config'
        type: ap_conf_vector_t
      item_type: struct
      name: proxy_balancer
      pos:
        line_end: 583
        line_start: 561
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*name'
        type: char
      - name: "*(*finder)(proxy_balancer *balancer,\n                            request_rec
          *r)"
        type: proxy_worker
      - name: '*context'
        type: void
      - name: (*reset)(proxy_balancer *balancer, server_rec *s)
        type: apr_status_t
      - name: (*age)(proxy_balancer *balancer, server_rec *s)
        type: apr_status_t
      - name: (*updatelbstatus)(proxy_balancer *balancer, proxy_worker *elected, server_rec
          *s)
        type: apr_status_t
      item_type: struct
      name: proxy_balancer_method
      pos:
        line_end: 593
        line_start: 585
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*scheme'
        type: char
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*pfds'
        type: apr_array_header_t
      - name: timeout
        type: apr_interval_time_t
      - name: '*client'
        type: proxy_tunnel_conn_t
      - name: read_buf_size
        type: apr_size_t
      - name: replied
        type: int
      - name: nohalfclose
        type: unsigned int
      item_type: struct
      name: proxy_tunnel_rec
      pos:
        line_end: 1430
        line_start: 1419
        source_file: /src/httpd/modules/proxy/mod_proxy.h
    typedefs:
    - item_type: typedef
      name: proxy_balancer
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: proxy_balancer
    - item_type: typedef
      name: proxy_worker
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: proxy_worker
    - item_type: typedef
      name: proxy_conn_pool
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: proxy_conn_pool
    - item_type: typedef
      name: proxy_balancer_method
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: proxy_balancer_method
    - item_type: typedef
      name: "*(*ap_proxy_header_reverse_map_fn)(request_rec *,\n                       proxy_dir_conf
        *, const char *)"
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: char
    - item_type: typedef
      name: "*(__stdcall *ap_proxy_header_reverse_map_fn)(request_rec *,\n                                 proxy_dir_conf
        *, const char *)"
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: char
    - item_type: typedef
      name: (dllexport)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: __declspec
    - item_type: typedef
      name: (dllimport)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: __declspec
    - item_type: typedef
      name: (proxy_is_best_callback_fn_t)(proxy_worker *current, proxy_worker *prev_best,
        void *baton)
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: int
    - item_type: typedef
      name: proxy_tunnel_conn_t
      pos:
        line_end: 1418
        line_start: 1418
        source_file: /src/httpd/modules/proxy/mod_proxy.h
      type: proxy_tunnel_conn
    union: []
- function_names:
  - ajp_msg_append_string
  - ajp_msg_append_string_ascii
  source_file: /src/httpd/modules/proxy/ajp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AJP13_DEF_HOST
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: AJP13_DEF_PORT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '9009     '
    - item_type: preproc_def
      name: AJP13_DEF_PORT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '8009'
    - item_type: preproc_def
      name: AJP13_HTTPS_INDICATOR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"HTTPS"'
    - item_type: preproc_def
      name: AJP13_SSL_PROTOCOL_INDICATOR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"SSL_PROTOCOL"'
    - item_type: preproc_def
      name: AJP13_SSL_CLIENT_CERT_INDICATOR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"SSL_CLIENT_CERT"'
    - item_type: preproc_def
      name: AJP13_SSL_CIPHER_INDICATOR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"SSL_CIPHER"'
    - item_type: preproc_def
      name: AJP13_SSL_SESSION_INDICATOR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"SSL_SESSION_ID"'
    - item_type: preproc_def
      name: AJP13_SSL_KEY_SIZE_INDICATOR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '"SSL_CIPHER_USEKEYSIZE"'
    - item_type: preproc_def
      name: AJP_EOVERFLOW
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 1)
    - item_type: preproc_def
      name: AJP_ETOSMALL
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 2)
    - item_type: preproc_def
      name: AJP_EINVAL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 3)
    - item_type: preproc_def
      name: AJP_EBAD_SIGNATURE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 4)
    - item_type: preproc_def
      name: AJP_ETOBIG
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 5)
    - item_type: preproc_def
      name: AJP_ENO_HEADER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 6)
    - item_type: preproc_def
      name: AJP_EBAD_HEADER
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 7)
    - item_type: preproc_def
      name: AJP_EBAD_MESSAGE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 8)
    - item_type: preproc_def
      name: AJP_ELOGFAIL
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (APR_OS_START_USERERR + 9)
    - item_type: preproc_def
      name: AJP13_WS_HEADER
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '0x1234'
    - item_type: preproc_def
      name: AJP_HEADER_LEN
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AJP_HEADER_SZ_LEN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AJP_HEADER_SZ
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AJP_MSG_BUFFER_SZ
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: AJP_MAX_BUFFER_SZ
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '65536'
    - item_type: preproc_def
      name: AJP13_MAX_SEND_BODY_SZ
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (AJP_MAX_BUFFER_SZ - AJP_HEADER_SZ)
    - item_type: preproc_def
      name: AJP_PING_PONG_SZ
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: '128'
    - item_type: preproc_def
      name: CMD_AJP13_FORWARD_REQUEST
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)2
    - item_type: preproc_def
      name: CMD_AJP13_SEND_BODY_CHUNK
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)3
    - item_type: preproc_def
      name: CMD_AJP13_SEND_HEADERS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)4
    - item_type: preproc_def
      name: CMD_AJP13_END_RESPONSE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)5
    - item_type: preproc_def
      name: CMD_AJP13_GET_BODY_CHUNK
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)6
    - item_type: preproc_def
      name: CMD_AJP13_SHUTDOWN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)7
    - item_type: preproc_def
      name: CMD_AJP13_PING
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)8
    - item_type: preproc_def
      name: CMD_AJP13_CPONG
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)9
    - item_type: preproc_def
      name: CMD_AJP13_CPING
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/modules/proxy/ajp.h
      type_or_value: (unsigned char)10
    structs:
    - fields:
      - name: '*buf'
        type: apr_byte_t
      - name: header_len
        type: apr_size_t
      - name: len
        type: apr_size_t
      - name: pos
        type: apr_size_t
      - name: server_side
        type: int
      - name: max_size
        type: apr_size_t
      item_type: struct
      name: ajp_msg
      pos:
        line_end: 123
        line_start: 109
        source_file: /src/httpd/modules/proxy/ajp.h
    typedefs:
    - item_type: typedef
      name: ajp_msg_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/httpd/modules/proxy/ajp.h
      type: ajp_msg
    union: []
- function_names:
  - create_config
  - merge_config
  - set_allowed_ports
  - allowed_port
  - proxy_connect_canon
  - proxy_connect_handler
  - ap_proxy_connect_register_hook
  source_file: /src/httpd/modules/proxy/mod_proxy_connect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONN_BLKSZ
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/httpd/modules/proxy/mod_proxy_connect.c
      type_or_value: AP_IOBUFSIZE
    structs:
    - fields:
      - name: '*allowed_connect_ports'
        type: apr_array_header_t
      item_type: struct
      name: connect_conf
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/httpd/modules/proxy/mod_proxy_connect.c
    - fields:
      - name: first
        type: int
      - name: last
        type: int
      item_type: struct
      name: port_range
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/httpd/modules/proxy/mod_proxy_connect.c
    typedefs: []
    union: []
- function_names:
  - ap_proxy_strncpy
  - ap_proxy_hex2c
  - ap_proxy_c2hex
  - ap_proxy_canonenc_ex
  - ap_proxy_canonenc
  - ap_proxy_canon_netloc
  - proxyerror_core
  - ap_proxyerror
  - proxy_get_host_of_request
  - ap_proxy_is_ipaddr
  - ap_proxy_is_hostname
  - proxy_match_hostname
  - ap_proxy_is_word
  - proxy_match_word
  - ap_proxy_checkproxyblock
  - ap_proxy_pre_http_request
  - ap_proxy_location_reverse_map
  - ap_proxy_cookie_reverse_map
  - ap_proxy_valid_balancer_name
  - ap_proxy_get_balancer
  - ap_proxy_update_balancer
  - ap_proxy_define_balancer
  - ap_proxy_share_balancer
  - ap_proxy_initialize_balancer
  - proxy_balancer_get_best_worker
  - ap_proxy_balancer_get_best_worker
  - socket_cleanup
  - conn_cleanup
  - conn_pool_cleanup
  - make_conn_subpool
  - init_conn_pool
  - ap_proxy_connection_reusable
  - connection_make
  - connection_cleanup
  - ap_proxy_ssl_connection_cleanup
  - connection_constructor
  - connection_destructor
  - ap_proxy_worker_get_name
  - ap_proxy_worker_name
  - ap_proxy_worker_can_upgrade
  - ap_proxy_strcmp_ematch
  - worker_matches
  - ap_proxy_get_worker_ex
  - ap_proxy_get_worker
  - ap_proxy_define_worker_ex
  - IS_REF
  - ap_proxy_define_worker
  - ap_proxy_define_match_worker
  - ap_proxy_share_worker
  - ap_proxy_initialize_worker
  - ap_proxy_retry_worker
  - fixup_uds_filename
  - ap_proxy_fixup_uds_filename
  - ap_proxy_interpolate
  - proxy_vars
  - ap_proxy_canon_url
  - ap_proxy_pre_request
  - ap_proxy_post_request
  - ap_proxy_connect_to_backend
  - ap_proxy_acquire_connection
  - ap_proxy_release_connection
  - proxy_address_inc
  - proxy_address_dec
  - proxy_address_cleanup
  - proxy_address *worker_address_get(proxy_worker *worker)
  - worker_address_set
  - worker_address_resolve
  - proxy_addrs_equal
  - ap_proxy_determine_address
  - ap_proxy_determine_connection
  - ap_proxy_is_socket_connected
  - ap_proxy_is_socket_connected
  - send_http_connect
  - ap_proxy_connect_uds
  - ap_proxy_check_connection
  - ap_proxy_connect_backend
  - connection_shutdown
  - proxy_connection_create
  - ap_proxy_connection_create_ex
  - ap_proxy_connection_create
  - ap_proxy_lb_workers
  - error_code_overridden
  - ap_proxy_should_override
  - ap_proxy_fill_error_brigade
  - ap_proxy_backend_broke
  - ap_proxy_hashfunc
  - ap_proxy_set_wstatus
  - ap_proxy_parse_wstatus
  - ap_proxy_sync_balancer
  - ap_proxy_find_workershm
  - ap_proxy_find_balancershm
  - find_conn_headers
  - ap_proxy_clear_connection
  - ap_proxy_create_hdrbrgd
  - ap_proxy_prefetch_input
  - ap_proxy_read_input
  - ap_proxy_spool_input
  - ap_proxy_pass_brigade
  - ap_proxy_port_of_scheme
  - ap_proxy_buckets_lifetime_transform
  - proxy_transfer
  - ap_proxy_transfer_between_connections
  - ap_proxy_tunnel_conn_bytes_in
  - ap_proxy_tunnel_conn_bytes_out
  - ap_proxy_tunnel_create
  - ap_proxy_decrement_busy_count
  - ap_proxy_increment_busy_count
  - ap_proxy_get_busy_count
  - ap_proxy_set_busy_count
  - add_pollset
  - del_pollset
  - proxy_tunnel_transfer
  - ap_proxy_tunnel_run
  - ap_proxy_show_hcmethod
  - proxy_util_register_hooks
  source_file: /src/httpd/modules/proxy/proxy_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_IP_STR_LEN
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/httpd/modules/proxy/proxy_util.c
      type_or_value: (46)
    - item_type: preproc_def
      name: PROXY_UNSET_NONCE
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/httpd/modules/proxy/proxy_util.c
      type_or_value: '''\n'''
    - item_type: preproc_def
      name: USE_ALTERNATE_IS_CONNECTED
      pos:
        line_end: 3480
        line_start: 3479
        source_file: /src/httpd/modules/proxy/proxy_util.c
      type_or_value: '1'
    - item_type: preproc_def
      name: APR_MSG_PEEK
      pos:
        line_end: 3483
        line_start: 3482
        source_file: /src/httpd/modules/proxy/proxy_util.c
      type_or_value: MSG_PEEK
    - item_type: preproc_def
      name: PROXY_TRANSFER_MAX_READS
      pos:
        line_end: 5233
        line_start: 5232
        source_file: /src/httpd/modules/proxy/proxy_util.c
      type_or_value: '10000'
    structs:
    - fields:
      - name: '*proxy_auth'
        type: char
      - name: '*target_host'
        type: char
      - name: target_port
        type: apr_port_t
      item_type: struct
      name: remote_connect_info
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/httpd/modules/proxy/proxy_util.c
    - fields:
      - name: '*addr'
        type: apr_sockaddr_t
      - name: '*hostname'
        type: char
      - name: hostport
        type: apr_port_t
      - name: refcount
        type: apr_uint32_t
      - name: expiry
        type: apr_uint32_t
      item_type: struct
      name: proxy_address
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/httpd/modules/proxy/proxy_util.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*array'
        type: apr_array_header_t
      - name: '*error'
        type: char
      - name: is_req
        type: int
      item_type: struct
      name: header_connection
      pos:
        line_end: 4529
        line_start: 4524
        source_file: /src/httpd/modules/proxy/proxy_util.c
    - fields:
      - name: '*name'
        type: char
      - name: default_port
        type: apr_port_t
      item_type: struct
      name: proxy_schemes_t
      pos:
        line_end: 5154
        line_start: 5151
        source_file: /src/httpd/modules/proxy/proxy_util.c
    - fields:
      - name: '*other'
        type: struct proxy_tunnel_conn
      - name: '*c'
        type: conn_rec
      - name: '*name'
        type: char
      - name: '*pfd'
        type: apr_pollfd_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: bytes_in
        type: apr_off_t
      - name: down_in
        type: unsigned int
      item_type: struct
      name: proxy_tunnel_conn
      pos:
        line_end: 5449
        line_start: 5434
        source_file: /src/httpd/modules/proxy/proxy_util.c
    typedefs: []
    union: []
- function_names:
  - FCGI_MAY_BE_FPM
  - proxy_fcgi_canon
  - fix_cgivars
  - send_data
  - get_data
  - get_data_full
  - send_begin_request
  - send_environment
  - handle_headers
  - dispatch
  - fcgi_do_request
  - proxy_fcgi_handler
  - fcgi_create_dconf
  - fcgi_merge_dconf
  - cmd_servertype
  - cmd_setenv
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FCGI_SCHEME
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
      type_or_value: '"FCGI"'
    - item_type: preproc_def
      name: MAX_MEM_SPOOL
      pos:
        line_end: 1107
        line_start: 1106
        source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
      type_or_value: '16384'
    structs:
    - fields:
      - name: '*cond'
        type: ap_expr_info_t
      - name: '*subst'
        type: ap_expr_info_t
      - name: '*envname'
        type: char
      item_type: struct
      name: sei_entry
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    - fields:
      - name: '*dirwalk_uri_path'
        type: char
      item_type: struct
      name: fcgi_req_config_t
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    - fields:
      - name: backend_type
        type: fcgi_backend_t
      - name: '*env_fixups'
        type: apr_array_header_t
      item_type: struct
      name: fcgi_dirconf_t
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/httpd/modules/proxy/mod_proxy_fcgi.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/proxy/proxy_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_proxy_ftp_dir_config
  - merge_proxy_ftp_dir_config
  - set_ftp_list_on_wildcard
  - set_ftp_escape_wildcards
  - set_ftp_directory_charset
  - decodeenc
  - ftp_escape_globbingchars
  - ftp_check_globbingchars
  - ftp_check_string
  - ftp_string_read
  - proxy_ftp_canon
  - ftp_getrc_msg
  - proxy_send_dir_filter
  - parse_epsv_reply
  - proxy_ftp_command
  - ftp_set_TYPE
  - ftp_get_PWD
  - ftp_unauthorized
  - proxy_ftp_cleanup
  - ftp_proxyerror
  - proxy_ftp_handler
  - ap_proxy_ftp_register_hook
  source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FTP_GLOBBING_CHARS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
      type_or_value: '"*?[{~"'
    - item_type: preproc_def
      name: MAX_LINE_LEN
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
      type_or_value: '80'
    - item_type: preproc_def
      name: LS_REG_PATTERN
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
      type_or_value: '"^ *([0-9]+) +([^ ]+)$"'
    - item_type: preproc_def
      name: LS_REG_MATCH
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
      type_or_value: '3'
    structs:
    - fields:
      - name: ftp_list_on_wildcard
        type: int
      - name: ftp_list_on_wildcard_set
        type: int
      - name: ftp_escape_wildcards
        type: int
      - name: ftp_escape_wildcards_set
        type: int
      - name: '*ftp_directory_charset'
        type: char
      item_type: struct
      name: proxy_ftp_dir_conf
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
    - fields:
      - name: '*in'
        type: apr_bucket_brigade
      - name: buffer[MAX_STRING_LEN]
        type: char
      - name: state
        type: "enum {\n        HEADER, BODY, FOOTER\n    }"
      item_type: struct
      name: proxy_dir_ctx_t
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
    - fields:
      - name: YYYY[4+1]
        type: char
      - name: MM[2+1]
        type: char
      - name: DD[2+1]
        type: char
      - name: hh[2+1]
        type: char
      - name: mm[2+1]
        type: char
      - name: ss[2+1]
        type: char
      item_type: struct
      name: time_val
      pos:
        line_end: 1769
        line_start: 1762
        source_file: /src/httpd/modules/proxy/mod_proxy_ftp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/modules/proxy/mod_serf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SERF_CLUSTER_PROVIDER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/modules/proxy/mod_serf.h
      type_or_value: '"serf_cluster"'
    structs:
    - fields:
      - name: '*ip'
        type: char
      - name: port
        type: apr_port_t
      item_type: struct
      name: ap_serf_server_t
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/httpd/modules/proxy/mod_serf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*baton'
        type: void
      - name: "* (*check_config)(void *baton,\n                                cmd_parms
          *cmd,\n                                apr_table_t *params)"
        type: char
      - name: "(*list_servers)(void *baton,\n                        request_rec *r,\n
          \                       apr_table_t *params,\n                        apr_array_header_t
          **servers)"
        type: int
      - name: "(*server_success)(void *baton, request_rec *r, apr_table_t *params,\n
          \                          ap_serf_server_t* server)"
        type: void
      - name: "(*server_failure)(void *baton, request_rec *r, apr_table_t *params,\n
          \                          ap_serf_server_t* server)"
        type: void
      item_type: struct
      name: ap_serf_cluster_provider_t
      pos:
        line_end: 104
        line_start: 49
        source_file: /src/httpd/modules/proxy/mod_serf.h
    typedefs:
    - item_type: typedef
      name: ap_serf_server_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/httpd/modules/proxy/mod_serf.h
      type: ap_serf_server_t
    - item_type: typedef
      name: ap_serf_cluster_provider_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/modules/proxy/mod_serf.h
      type: ap_serf_cluster_provider_t
    union: []
- function_names:
  - proxy_wstunnel_pump
  - proxy_wstunnel_finish
  - proxy_wstunnel_cancel_callback
  - proxy_wstunnel_callback
  - proxy_wstunnel_check_trans
  - proxy_wstunnel_canon
  - proxy_wstunnel_request
  - proxy_wstunnel_handler
  - create_proxyws_dir_config
  - merge_proxyws_dir_config
  - proxyws_set_idle
  - proxyws_set_asynch_delay
  - proxyws_fallback_to_proxy_http
  - proxy_wstunnel_post_config
  - ws_proxy_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fallback_to_proxy_http
        type: unsigned int
      - name: mpm_can_poll
        type: int
      - name: idle_timeout
        type: apr_time_t
      - name: async_delay
        type: apr_time_t
      item_type: struct
      name: proxyws_dir_conf
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*backend'
        type: proxy_conn_rec
      - name: '*tunnel'
        type: proxy_tunnel_rec
      - name: '*async_pool'
        type: apr_pool_t
      - name: '*scheme'
        type: char
      item_type: struct
      name: ws_baton_t
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/httpd/modules/proxy/mod_proxy_wstunnel.c
    typedefs: []
    union: []
- function_names:
  - MAX
  - set_worker_param
  - set_balancer_param
  - alias_match
  - alias_match_servlet
  - proxy_detect
  - ap_proxy_trans_match
  - proxy_trans
  - proxy_pre_translate_name
  - proxy_translate_name
  - proxy_walk
  - proxy_map_location
  - proxy_fixup
  - proxy_needsdomain
  - proxy_handler
  - create_proxy_config
  - merge_balancers
  - merge_proxy_config
  - set_source_address
  - create_proxy_dir_config
  - int_order
  - merge_proxy_dir_config
  - add_proxy
  - add_proxy_noregex
  - add_proxy_regex
  - ap_proxy_de_socketfy
  - add_pass
  - add_pass_noregex
  - add_pass_regex
  - add_pass_reverse
  - cookie_path
  - cookie_domain
  - set_proxy_exclude
  - set_proxy_dirconn
  - set_proxy_domain
  - set_proxy_req
  - set_proxy_error_override
  - add_proxy_http_headers
  - set_preserve_host
  - forward_100_continue
  - set_proxy_async_delay
  - set_proxy_async_idle
  - set_recv_buffer_size
  - set_io_buffer_size
  - set_max_forwards
  - set_proxy_timeout
  - set_via_opt
  - set_bad_opt
  - set_status_opt
  - set_bgrowth
  - set_persist
  - set_inherit
  - set_ppinherit
  - add_member
  - set_proxy_param
  - ap_add_per_proxy_conf
  - proxysection
  - ap_proxy_ssl_enable
  - ap_proxy_ssl_disable
  - ap_proxy_ssl_engine
  - ap_proxy_conn_is_https
  - ap_proxy_ssl_val
  - proxy_post_config
  - proxy_status_hook
  - child_init
  - proxy_pre_config
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_proxy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ajp_ilink_send
  - ilink_read
  - ajp_ilink_receive
  source_file: /src/httpd/modules/proxy/ajp_link.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_url_scheme
  - proxy_http_canon
  - clean_warning_headers
  - ap_proxy_clean_warnings
  - add_te_chunked
  - add_cl
  - proxy_http_async_finish
  - proxy_http_async_cancel_cb
  - proxy_http_async_cb
  - stream_reqbody
  - terminate_headers
  - ap_proxy_http_prefetch
  - ap_proxy_http_request
  - date_canon
  - make_fake_req
  - process_proxy_header
  - ap_proxy_read_headers
  - addit_dammit
  - ap_proxygetline
  - add_trailers
  - send_continue_body
  - ap_proxy_http_process_response
  - proxy_http_handler
  - proxy_http_post_config
  - ap_proxy_http_register_hook
  source_file: /src/httpd/modules/proxy/mod_proxy_http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_MEM_SPOOL
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/httpd/modules/proxy/mod_proxy_http.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: AP_MAX_INTERIM_RESPONSES
      pos:
        line_end: 1022
        line_start: 1021
        source_file: /src/httpd/modules/proxy/mod_proxy_http.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*table'
        type: apr_table_t
      - name: time
        type: apr_time_t
      item_type: struct
      name: header_dptr
      pos:
        line_end: 176
        line_start: 172
        source_file: /src/httpd/modules/proxy/mod_proxy_http.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*r'
        type: request_rec
      - name: '*proto'
        type: char
      - name: '*worker'
        type: proxy_worker
      - name: '*dconf'
        type: proxy_dir_conf
      - name: '*sconf'
        type: proxy_server_conf
      - name: server_portstr[32]
        type: char
      - name: '*backend'
        type: proxy_conn_rec
      - name: '*origin'
        type: conn_rec
      - name: '*bucket_alloc'
        type: apr_bucket_alloc_t
      - name: '*header_brigade'
        type: apr_bucket_brigade
      - name: '*input_brigade'
        type: apr_bucket_brigade
      - name: '*old_cl_val'
        type: char
      - name: cl_val
        type: apr_off_t
      - name: state
        type: proxy_http_state
      - name: rb_method
        type: rb_methods
      - name: '*upgrade'
        type: char
      - name: '*tunnel'
        type: proxy_tunnel_rec
      - name: '*async_pool'
        type: apr_pool_t
      - name: idle_timeout
        type: apr_interval_time_t
      - name: can_go_async
        type: unsigned int
      item_type: struct
      name: proxy_http_req_t
      pos:
        line_end: 322
        line_start: 290
        source_file: /src/httpd/modules/proxy/mod_proxy_http.c
    - fields:
      - name: '*name'
        type: char
      - name: func
        type: ap_proxy_header_reverse_map_fn
      item_type: struct
      name: "transform_hdrs[] = {\n        { \"Location\", ap_proxy_location_reverse_map
        },\n        { \"Content-Location\", ap_proxy_location_reverse_map },\n        {
        \"URI\", ap_proxy_location_reverse_map },\n        { \"Destination\", ap_proxy_location_reverse_map
        },\n        { \"Set-Cookie\", ap_proxy_cookie_reverse_map },\n        { NULL,
        NULL }\n    }"
      pos:
        line_end: 827
        line_start: 824
        source_file: /src/httpd/modules/proxy/mod_proxy_http.c
    typedefs: []
    union: []
- function_names:
  - apr_time_from_msec
  - timed_cleanup_callback
  - closed_connection
  - conn_setup
  - copy_headers_in
  - copy_headers_out
  - accept_response
  - handle_response
  - setup_request
  - drive_serf
  - serf_handler
  - is_true
  - add_pass
  - add_cluster
  - create_dir_config
  - create_server_config
  - merge_server_config
  - hb_table_check
  - hb_config_check
  - argstr_to_table
  - read_heartbeats
  - hb_server_sort
  - hb_list_servers
  - static_table_check
  - static_config_check
  - static_list_servers
  - serf_post_config
  - register_hooks
  source_file: /src/httpd/modules/proxy/mod_serf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: 'on'
        type: int
      - name: preservehost
        type: int
      - name: url
        type: apr_uri_t
      item_type: struct
      name: serf_config_t
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/httpd/modules/proxy/mod_serf.c
    - fields:
      - name: '*name'
        type: char
      - name: '*provider'
        type: char
      - name: '*params'
        type: apr_table_t
      item_type: struct
      name: serf_cluster_t
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/httpd/modules/proxy/mod_serf.c
    - fields:
      - name: '*clusters'
        type: apr_hash_t
      item_type: struct
      name: serf_server_config_t
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/httpd/modules/proxy/mod_serf.c
    - fields:
      - name: rstatus
        type: int
      - name: want_ssl
        type: int
      - name: done_headers
        type: int
      - name: keep_reading
        type: int
      - name: '*r'
        type: request_rec
      - name: '*serf_pool'
        type: apr_pool_t
      - name: '*tmpbb'
        type: apr_bucket_brigade
      - name: '*conf'
        type: serf_config_t
      - name: '*ssl_ctx'
        type: serf_ssl_context_t
      - name: '*bkt_alloc'
        type: serf_bucket_alloc_t
      - name: '*body_bkt'
        type: serf_bucket_t
      item_type: struct
      name: s_baton_t
      pos:
        line_end: 63
        line_start: 51
        source_file: /src/httpd/modules/proxy/mod_serf.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*msg'
        type: char
      item_type: struct
      name: hb_table_baton_t
      pos:
        line_end: 770
        line_start: 767
        source_file: /src/httpd/modules/proxy/mod_serf.c
    - fields:
      - name: '*ip'
        type: char
      - name: busy
        type: int
      - name: ready
        type: int
      - name: seen
        type: int
      - name: port
        type: unsigned int
      item_type: struct
      name: hb_server_t
      pos:
        line_end: 813
        line_start: 807
        source_file: /src/httpd/modules/proxy/mod_serf.c
    typedefs: []
    union: []
- function_names:
  - is_best_bytraffic
  - find_best_bytraffic
  - reset
  - age
  - lbmethod_bytraffic_post_config
  - register_hook
  source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_best_bybusyness
  - find_best_bybusyness
  - reset
  - age
  - lbmethod_bybusyness_post_config
  - register_hook
  source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_best_byrequests
  - find_best_byrequests
  - reset
  - age
  - lbmethod_byrequests_post_config
  - register_hook
  source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hb_parse_int
  - argstr_to_table
  - readfile_heartbeats
  - hm_read
  - readslot_heartbeats
  - read_heartbeats
  - find_best_hb
  - reset
  - age
  - lb_hb_init
  - register_hooks
  - lb_hb_create_config
  - lb_hb_merge_config
  - cmd_lb_hb_storage
  source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LBM_HEARTBEAT_MAX_LASTSEEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
      type_or_value: (10)
    structs:
    - fields:
      - name: '*path'
        type: char
      item_type: struct
      name: lb_hb_ctx_t
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    - fields:
      - name: '*ip'
        type: char
      - name: busy
        type: int
      - name: ready
        type: int
      - name: port
        type: int
      - name: id
        type: int
      - name: seen
        type: apr_time_t
      - name: '*worker'
        type: proxy_worker
      item_type: struct
      name: hb_server_t
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    - fields:
      - name: now
        type: apr_time_t
      - name: '*servers'
        type: apr_hash_t
      item_type: struct
      name: ctx_servers
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c
    typedefs: []
    union: []
- function_names:
  - find_best_roundrobin
  - reset
  - age
  - ap_proxy_rr_register_hook
  source_file: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: int
      item_type: struct
      name: rr_data
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/httpd/modules/proxy/examples/mod_lbmethod_rr.c
    typedefs: []
    union: []
- function_names:
  - example_handler
  - register_hooks
  source_file: /src/httpd/docs/manual/developer/mod_example_2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: chr[16]
        type: char
      - name: num[4]
        type: uint32_t
      item_type: union
      name: digest
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/httpd/docs/manual/developer/mod_example_2.c
    - fields:
      - name: chr[20]
        type: char
      - name: num[5]
        type: uint32_t
      item_type: union
      name: digest
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/httpd/docs/manual/developer/mod_example_2.c
- function_names:
  - example_handler
  - register_hooks
  source_file: /src/httpd/docs/manual/developer/mod_example_1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - AP_CORE_DECLARE
  - AP_CORE_DECLARE_NONSTD
  - AP_LUA_DECLARE
  - APR_DECLARE
  - APR_DECLARE_NONSTD
  - APU_DECLARE
  - APU_DECLARE_NONSTD
  - PROXY_DECLARE
  - DAV_DECLARE
  - APREQ_DECLARE
  - APREQ_DECLARE_PARSER
  - AP_DECLARE_MODULE
  - STACK_OF
  source_file: /src/httpd/docs/log-message-tags/macros.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOOL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/docs/log-message-tags/macros.h
      type_or_value: int
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/ap_regkey.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_REGKEY_CLASSES_ROOT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(0)
    - item_type: preproc_def
      name: AP_REGKEY_CURRENT_CONFIG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(1)
    - item_type: preproc_def
      name: AP_REGKEY_CURRENT_USER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(2)
    - item_type: preproc_def
      name: AP_REGKEY_LOCAL_MACHINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(3)
    - item_type: preproc_def
      name: AP_REGKEY_USERS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(4)
    - item_type: preproc_def
      name: AP_REGKEY_PERFORMANCE_DATA
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(5)
    - item_type: preproc_def
      name: AP_REGKEY_DYN_DATA
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: ap_regkey_const(6)
    - item_type: preproc_def
      name: AP_REGKEY_EXPAND
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/include/ap_regkey.h
      type_or_value: '0x0001'
    structs: []
    typedefs:
    - item_type: typedef
      name: ap_regkey_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/httpd/include/ap_regkey.h
      type: ap_regkey_t
    union: []
- function_names:
  - AP_DECLARE_HOOK
  - AP_IMPLEMENT_HOOK_BASE
  - AP_IMPLEMENT_HOOK_VOID
  - AP_IMPLEMENT_HOOK_RUN_ALL
  - AP_IMPLEMENT_HOOK_RUN_FIRST
  - AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL
  - AP_IMPLEMENT_OPTIONAL_HOOK_RUN_FIRST
  - AP_OPTIONAL_HOOK
  source_file: /src/httpd/include/ap_hooks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APR_HOOK_PROBES_ENABLED
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/include/ap_hooks.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/ap_socache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SOCACHE_FLAG_NOTMPSAFE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/ap_socache.h
      type_or_value: (0x0001)
    - item_type: preproc_def
      name: AP_SOCACHE_PROVIDER_GROUP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/httpd/include/ap_socache.h
      type_or_value: '"socache"'
    - item_type: preproc_def
      name: AP_SOCACHE_PROVIDER_VERSION
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/httpd/include/ap_socache.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AP_SOCACHE_DEFAULT_PROVIDER
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/httpd/include/ap_socache.h
      type_or_value: '"default"'
    structs:
    - fields:
      - name: avg_id_len
        type: apr_size_t
      - name: avg_obj_size
        type: apr_size_t
      - name: expiry_interval
        type: apr_interval_time_t
      item_type: struct
      name: ap_socache_hints
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/httpd/include/ap_socache.h
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: unsigned int
      - name: "*(*create)(ap_socache_instance_t **instance, const char *arg,\n                          apr_pool_t
          *tmp, apr_pool_t *p)"
        type: char
      - name: "(*init)(ap_socache_instance_t *instance, const char *cname,\n                         const
          struct ap_socache_hints *hints,\n                         server_rec *s,
          apr_pool_t *pool)"
        type: apr_status_t
      - name: (*destroy)(ap_socache_instance_t *instance, server_rec *s)
        type: void
      - name: "(*store)(ap_socache_instance_t *instance, server_rec *s,\n                          const
          unsigned char *id, unsigned int idlen,\n                          apr_time_t
          expiry,\n                          unsigned char *data, unsigned int datalen,\n
          \                         apr_pool_t *pool)"
        type: apr_status_t
      - name: "(*retrieve)(ap_socache_instance_t *instance, server_rec *s,\n                             const
          unsigned char *id, unsigned int idlen,\n                             unsigned
          char *data, unsigned int *datalen,\n                             apr_pool_t
          *pool)"
        type: apr_status_t
      - name: "(*remove)(ap_socache_instance_t *instance, server_rec *s,\n                           const
          unsigned char *id, unsigned int idlen,\n                           apr_pool_t
          *pool)"
        type: apr_status_t
      - name: (*status)(ap_socache_instance_t *instance, request_rec *r, int flags)
        type: void
      - name: "(*iterate)(ap_socache_instance_t *instance, server_rec *s,\n                            void
          *userctx, ap_socache_iterator_t *iterator,\n                            apr_pool_t
          *pool)"
        type: apr_status_t
      item_type: struct
      name: ap_socache_provider_t
      pos:
        line_end: 215
        line_start: 88
        source_file: /src/httpd/include/ap_socache.h
    typedefs:
    - item_type: typedef
      name: ap_socache_instance_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/include/ap_socache.h
      type: ap_socache_instance_t
    - item_type: typedef
      name: "(ap_socache_iterator_t)(ap_socache_instance_t *instance,\n                                             server_rec
        *s,\n                                             void *userctx,\n                                             const
        unsigned char *id,\n                                             unsigned
        int idlen,\n                                             const unsigned char
        *data,\n                                             unsigned int datalen,\n
        \                                            apr_pool_t *pool)"
      pos:
        line_end: 83
        line_start: 76
        source_file: /src/httpd/include/ap_socache.h
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/include/mod_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEEP_BODY_FILTER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/mod_request.h
      type_or_value: '"KEEP_BODY"'
    - item_type: preproc_def
      name: KEPT_BODY_FILTER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/mod_request.h
      type_or_value: '"KEPT_BODY"'
    structs:
    - fields:
      - name: keep_body
        type: apr_off_t
      - name: keep_body_set
        type: int
      item_type: struct
      name: request_dir_conf
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/httpd/include/mod_request.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_fcgi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_FCGI_HEADER_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_FCGI_MAX_CONTENT_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: AP_FCGI_VERSION_1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_FCGI_BEGIN_REQUEST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_FCGI_ABORT_REQUEST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_FCGI_END_REQUEST
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_FCGI_PARAMS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_FCGI_STDIN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_FCGI_STDOUT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AP_FCGI_STDERR
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '7'
    - item_type: preproc_def
      name: AP_FCGI_DATA
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_FCGI_GET_VALUES
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '9'
    - item_type: preproc_def
      name: AP_FCGI_GET_VALUES_RESULT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AP_FCGI_UNKNOWN_TYPE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '11'
    - item_type: preproc_def
      name: AP_FCGI_MAXTYPE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: (AP_FCGI_UNKNOWN_TYPE)
    - item_type: preproc_def
      name: AP_FCGI_HDR_VERSION_OFFSET
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_FCGI_HDR_TYPE_OFFSET
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_FCGI_HDR_REQUEST_ID_B1_OFFSET
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_FCGI_HDR_REQUEST_ID_B0_OFFSET
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_FCGI_HDR_CONTENT_LEN_B1_OFFSET
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_FCGI_HDR_CONTENT_LEN_B0_OFFSET
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_FCGI_HDR_PADDING_LEN_OFFSET
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AP_FCGI_HDR_RESERVED_OFFSET
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '7'
    - item_type: preproc_def
      name: AP_FCGI_RESPONDER
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_FCGI_AUTHORIZER
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_FCGI_FILTER
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_FCGI_KEEP_CONN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: AP_FCGI_BRB_ROLEB1_OFFSET
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_FCGI_BRB_ROLEB0_OFFSET
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_FCGI_BRB_FLAGS_OFFSET
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_FCGI_BRB_RESERVED0_OFFSET
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_FCGI_BRB_RESERVED1_OFFSET
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_FCGI_BRB_RESERVED2_OFFSET
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_FCGI_BRB_RESERVED3_OFFSET
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AP_FCGI_BRB_RESERVED4_OFFSET
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '7'
    - item_type: preproc_def
      name: AP_FCGI_RESPONDER_STR
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"RESPONDER"'
    - item_type: preproc_def
      name: AP_FCGI_AUTHORIZER_STR
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"AUTHORIZER"'
    - item_type: preproc_def
      name: AP_FCGI_FILTER_STR
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"FILTER"'
    - item_type: preproc_def
      name: AP_FCGI_APACHE_ROLE_AUTHENTICATOR_STR
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"AUTHENTICATOR"'
    - item_type: preproc_def
      name: AP_FCGI_APACHE_ROLE_AUTHORIZER_STR
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"AUTHORIZER"'
    - item_type: preproc_def
      name: AP_FCGI_APACHE_ROLE_ACCESS_CHECKER_STR
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/httpd/include/util_fcgi.h
      type_or_value: '"ACCESS_CHECKER"'
    structs:
    - fields:
      - name: version
        type: unsigned char
      - name: type
        type: unsigned char
      - name: requestIdB1
        type: unsigned char
      - name: requestIdB0
        type: unsigned char
      - name: contentLengthB1
        type: unsigned char
      - name: contentLengthB0
        type: unsigned char
      - name: paddingLength
        type: unsigned char
      - name: reserved
        type: unsigned char
      item_type: struct
      name: ap_fcgi_header
      pos:
        line_end: 54
        line_start: 39
        source_file: /src/httpd/include/util_fcgi.h
    - fields:
      - name: roleB1
        type: unsigned char
      - name: roleB0
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: reserved[5]
        type: unsigned char
      item_type: struct
      name: ap_fcgi_begin_request_body
      pos:
        line_end: 119
        line_start: 105
        source_file: /src/httpd/include/util_fcgi.h
    typedefs: []
    union: []
- function_names:
  - AP_BUCKET_IS_EOC
  source_file: /src/httpd/include/http_connection.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - APR_STRINGIFY
  - APR_STRINGIFY_HELPER
  source_file: /src/httpd/include/ap_release.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SERVER_COPYRIGHT
      pos:
        line_end: 26
        line_start: 24
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '"Copyright 2026 The Apache Software Foundation."'
    - item_type: preproc_def
      name: AP_SERVER_BASEVENDOR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '"Apache Software Foundation"'
    - item_type: preproc_def
      name: AP_SERVER_BASEPROJECT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '"Apache HTTP Server"'
    - item_type: preproc_def
      name: AP_SERVER_BASEPRODUCT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '"Apache"'
    - item_type: preproc_def
      name: AP_SERVER_MAJORVERSION_NUMBER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_SERVER_MINORVERSION_NUMBER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_SERVER_PATCHLEVEL_NUMBER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_SERVER_DEVBUILD_BOOLEAN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_SERVER_ADD_STRING
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '""'
    - item_type: preproc_def
      name: AP_SERVER_ADD_STRING
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/include/ap_release.h
      type_or_value: '"-dev"'
    - item_type: preproc_def
      name: AP_SERVER_MAJORVERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/include/ap_release.h
      type_or_value: APR_STRINGIFY(AP_SERVER_MAJORVERSION_NUMBER)
    - item_type: preproc_def
      name: AP_SERVER_MINORVERSION
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/include/ap_release.h
      type_or_value: APR_STRINGIFY(AP_SERVER_MINORVERSION_NUMBER)
    - item_type: preproc_def
      name: AP_SERVER_PATCHLEVEL
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/httpd/include/ap_release.h
      type_or_value: "APR_STRINGIFY(AP_SERVER_PATCHLEVEL_NUMBER) \\\n                                AP_SERVER_ADD_STRING"
    - item_type: preproc_def
      name: AP_SERVER_MINORREVISION
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/include/ap_release.h
      type_or_value: AP_SERVER_MAJORVERSION "." AP_SERVER_MINORVERSION
    - item_type: preproc_def
      name: AP_SERVER_BASEREVISION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/include/ap_release.h
      type_or_value: AP_SERVER_MINORREVISION "." AP_SERVER_PATCHLEVEL
    - item_type: preproc_def
      name: AP_SERVER_BASEVERSION
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/include/ap_release.h
      type_or_value: AP_SERVER_BASEPRODUCT "/" AP_SERVER_BASEREVISION
    - item_type: preproc_def
      name: AP_SERVER_VERSION
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/include/ap_release.h
      type_or_value: AP_SERVER_BASEVERSION
    - item_type: preproc_def
      name: AP_SERVER_PATCHLEVEL_CSV
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/httpd/include/ap_release.h
      type_or_value: "AP_SERVER_MAJORVERSION_NUMBER, \\\n                                 AP_SERVER_MINORVERSION_NUMBER,
        \\\n                                 AP_SERVER_PATCHLEVEL_NUMBER"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_TIME_RECENT_THRESHOLD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/include/util_time.h
      type_or_value: '15'
    - item_type: preproc_def
      name: AP_CTIME_OPTION_NONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/util_time.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: AP_CTIME_OPTION_USEC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/include/util_time.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: AP_CTIME_OPTION_COMPACT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/include/util_time.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: AP_CTIME_OPTION_GMTOFF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/include/util_time.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: AP_CTIME_OPTION_MSEC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/include/util_time.h
      type_or_value: '0x8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/http_main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SERVER_BASEARGS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/include/http_main.h
      type_or_value: '"C:c:D:d:E:e:f:vVlLtTSMh?X"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_varbuf_strcat
  source_file: /src/httpd/include/util_varbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_VARBUF_UNKNOWN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/util_varbuf.h
      type_or_value: APR_SIZE_MAX
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: avail
        type: apr_size_t
      - name: strlen
        type: apr_size_t
      - name: '*pool'
        type: apr_pool_t
      - name: '*info'
        type: struct ap_varbuf_info
      item_type: struct
      name: ap_varbuf
      pos:
        line_end: 66
        line_start: 46
        source_file: /src/httpd/include/util_varbuf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/heartbeat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXIPSIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/include/heartbeat.h
      type_or_value: '46'
    - item_type: preproc_def
      name: DEFAULT_HEARTBEAT_STORAGE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/include/heartbeat.h
      type_or_value: '"hb.dat"'
    structs:
    - fields:
      - name: ip[MAXIPSIZE]
        type: char
      - name: busy
        type: int
      - name: ready
        type: int
      - name: seen
        type: apr_time_t
      - name: id
        type: int
      item_type: struct
      name: hm_slot_server_t
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/httpd/include/heartbeat.h
    typedefs: []
    union: []
- function_names:
  - ap_fwrite
  - ap_fputs
  - ap_fputc
  - AP_BUCKET_IS_WC
  source_file: /src/httpd/include/util_filter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_FILTER_PROTO_CHANGE
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: AP_FILTER_PROTO_CHANGE_LENGTH
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: AP_FILTER_PROTO_NO_BYTERANGE
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: AP_FILTER_PROTO_NO_PROXY
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: AP_FILTER_PROTO_NO_CACHE
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: AP_FILTER_PROTO_TRANSFORM
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/httpd/include/util_filter.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: filter_func
        type: ap_filter_func
      - name: filter_init_func
        type: ap_init_filter_func
      - name: '*next'
        type: struct ap_filter_rec_t
      - name: '*providers'
        type: ap_filter_provider_t
      - name: ftype
        type: ap_filter_type
      - name: debug
        type: int
      - name: proto_flags
        type: unsigned int
      - name: direction
        type: ap_filter_direction_e
      item_type: struct
      name: ap_filter_rec_t
      pos:
        line_end: 263
        line_start: 225
        source_file: /src/httpd/include/util_filter.h
    - fields:
      - name: '*frec'
        type: ap_filter_rec_t
      - name: '*ctx'
        type: void
      - name: '*next'
        type: ap_filter_t
      - name: '*r'
        type: request_rec
      - name: '*c'
        type: conn_rec
      - name: '*priv'
        type: struct ap_filter_private
      item_type: struct
      name: ap_filter_t
      pos:
        line_end: 302
        line_start: 277
        source_file: /src/httpd/include/util_filter.h
    typedefs:
    - item_type: typedef
      name: ap_filter_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/httpd/include/util_filter.h
      type: ap_filter_t
    - item_type: typedef
      name: "(*ap_out_filter_func)(ap_filter_t *f,\n                                           apr_bucket_brigade
        *b)"
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/include/util_filter.h
      type: apr_status_t
    - item_type: typedef
      name: "(*ap_in_filter_func)(ap_filter_t *f,\n                                          apr_bucket_brigade
        *b,\n                                          ap_input_mode_t mode,\n                                          apr_read_type_e
        block,\n                                          apr_off_t readbytes)"
      pos:
        line_end: 139
        line_start: 135
        source_file: /src/httpd/include/util_filter.h
      type: apr_status_t
    - item_type: typedef
      name: (*ap_init_filter_func)(ap_filter_t *f)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/httpd/include/util_filter.h
      type: int
    - item_type: typedef
      name: ap_filter_rec_t
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/httpd/include/util_filter.h
      type: ap_filter_rec_t
    - item_type: typedef
      name: ap_filter_provider_t
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/httpd/include/util_filter.h
      type: ap_filter_provider_t
    union:
    - fields:
      - name: out_func
        type: ap_out_filter_func
      - name: in_func
        type: ap_in_filter_func
      item_type: union
      name: ap_filter_func
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/httpd/include/util_filter.h
- function_names: []
  source_file: /src/httpd/include/util_ebcdic.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ap_rvputs_proto_in_ascii
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/include/util_ebcdic.h
      type_or_value: ap_rvputs
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_cfgtree.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*directive'
        type: char
      - name: '*args'
        type: char
      - name: '*next'
        type: struct ap_directive_t
      - name: '*first_child'
        type: struct ap_directive_t
      - name: '*parent'
        type: struct ap_directive_t
      - name: '*data'
        type: void
      - name: '*filename'
        type: char
      - name: line_num
        type: int
      - name: '*last'
        type: struct ap_directive_t
      item_type: struct
      name: ap_directive_t
      pos:
        line_end: 73
        line_start: 45
        source_file: /src/httpd/include/util_cfgtree.h
    typedefs:
    - item_type: typedef
      name: ap_directive_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/httpd/include/util_cfgtree.h
      type: ap_directive_t
    union: []
- function_names:
  - ap_rxplus_nmatch
  source_file: /src/httpd/include/ap_regex.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_REG_ICASE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: AP_REG_NEWLINE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: AP_REG_NOTBOL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: AP_REG_NOTEOL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: AP_REG_EXTENDED
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '(0)  '
    - item_type: preproc_def
      name: AP_REG_NOSUB
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '(0)  '
    - item_type: preproc_def
      name: AP_REG_MULTI
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: AP_REG_NOMEM
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: AP_REG_DOTALL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: AP_REG_NOTEMPTY
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x080 '
    - item_type: preproc_def
      name: AP_REG_ANCHORED
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: AP_REG_DOLLAR_ENDONLY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x200 '
    - item_type: preproc_def
      name: AP_REG_NO_DEFAULT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x400 '
    - item_type: preproc_def
      name: AP_REG_NOTEMPTY_ATSTART
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '0x800 '
    - item_type: preproc_def
      name: AP_REG_MATCH
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: '"MATCH_" '
    - item_type: preproc_def
      name: AP_REG_DEFAULT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/httpd/include/ap_regex.h
      type_or_value: (AP_REG_DOTALL|AP_REG_DOLLAR_ENDONLY)
    structs:
    - fields:
      - name: '*re_pcre'
        type: void
      - name: re_nsub
        type: int
      - name: re_erroffset
        type: apr_size_t
      item_type: struct
      name: ap_regex_t
      pos:
        line_end: 116
        line_start: 112
        source_file: /src/httpd/include/ap_regex.h
    - fields:
      - name: rm_so
        type: int
      - name: rm_eo
        type: int
      item_type: struct
      name: ap_regmatch_t
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/httpd/include/ap_regex.h
    - fields:
      - name: rx
        type: ap_regex_t
      - name: flags
        type: apr_uint32_t
      - name: '*subs'
        type: char
      - name: '*match'
        type: char
      - name: nmatch
        type: apr_size_t
      - name: '*pmatch'
        type: ap_regmatch_t
      item_type: struct
      name: ap_rxplus_t
      pos:
        line_end: 251
        line_start: 244
        source_file: /src/httpd/include/ap_regex.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/mpm_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_LISTENBACKLOG
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '511'
    - item_type: preproc_def
      name: DEFAULT_TCP_DEFER_ACCEPT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '30'
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: SIGUSR1
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL_SHORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: USR1
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL_STRING
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '"SIGUSR1"'
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL_STOP
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: SIGWINCH
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL_STOP_SHORT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: WINCH
    - item_type: preproc_def
      name: AP_SIG_GRACEFUL_STOP_STRING
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '"SIGWINCH"'
    - item_type: preproc_def
      name: AP_MPM_PODX_RESTART_CHAR
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '''$'''
    - item_type: preproc_def
      name: AP_MPM_PODX_GRACEFUL_CHAR
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: '''!'''
    - item_type: preproc_def
      name: AP_GRACEFUL_SHUTDOWN_TIMEOUT_COMMAND
      pos:
        line_end: 386
        line_start: 382
        source_file: /src/httpd/include/mpm_common.h
      type_or_value: "AP_INIT_TAKE1(\"GracefulShutdownTimeout\", ap_mpm_set_graceful_shutdown,
        NULL, \\\n              RSRC_CONF, \"Maximum time in seconds to wait for child
        \"        \\\n              \"processes to complete transactions during shutdown\")"
    structs:
    - fields:
      - name: '*pod_in'
        type: apr_file_t
      - name: '*pod_out'
        type: apr_file_t
      - name: '*p'
        type: apr_pool_t
      item_type: struct
      name: ap_pod_t
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/httpd/include/mpm_common.h
    typedefs:
    - item_type: typedef
      name: "ap_reclaim_callback_fn_t(int childnum, pid_t pid,\n                                      ap_generation_t
        gen)"
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/include/mpm_common.h
      type: void
    - item_type: typedef
      name: ap_pod_t
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/httpd/include/mpm_common.h
      type: ap_pod_t
    union: []
- function_names: []
  source_file: /src/httpd/include/ap_provider.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*provider_name'
        type: char
      item_type: struct
      name: ap_list_provider_names_t
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/httpd/include/ap_provider.h
    - fields:
      - name: '*provider_group'
        type: char
      - name: '*provider_version'
        type: char
      item_type: struct
      name: ap_list_provider_groups_t
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/httpd/include/ap_provider.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/mod_core.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AP_METHOD_CHECK_ALLOWED
  - ap_rputs
  - AP_BUCKET_IS_ERROR
  - AP_BUCKET_IS_REQUEST
  - AP_BUCKET_IS_RESPONSE
  - AP_BUCKET_IS_HEADERS
  source_file: /src/httpd/include/http_protocol.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_GET_BASIC_AUTH_PW_NOTE
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '"AP_GET_BASIC_AUTH_PW_NOTE"'
    - item_type: preproc_def
      name: AP_GETLINE_FOLD
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '(1 << 0) '
    - item_type: preproc_def
      name: AP_GETLINE_CRLF
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '(1 << 1) '
    - item_type: preproc_def
      name: AP_GETLINE_NOSPC_EOL
      pos:
        line_end: 750
        line_start: 748
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '(1 << 2) '
    - item_type: preproc_def
      name: AP_GETLINE_NONBLOCK
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '(1 << 3) '
    - item_type: preproc_def
      name: AP_PROTOCOL_HTTP1
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/httpd/include/http_protocol.h
      type_or_value: '"http/1.1"'
    structs:
    - fields:
      - name: '*vlist_validator'
        type: char
      - name: request_time
        type: apr_time_t
      - name: '*finfo'
        type: apr_finfo_t
      - name: '*pathname'
        type: char
      - name: '*fd'
        type: apr_file_t
      - name: force_weak
        type: int
      item_type: struct
      name: etag_rec
      pos:
        line_end: 220
        line_start: 207
        source_file: /src/httpd/include/http_protocol.h
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: status
        type: int
      - name: '*data'
        type: char
      item_type: struct
      name: ap_bucket_error
      pos:
        line_end: 1051
        line_start: 1044
        source_file: /src/httpd/include/http_protocol.h
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*pool'
        type: apr_pool_t
      - name: '*method'
        type: char
      - name: '*uri'
        type: char
      - name: '*protocol'
        type: char
      - name: '*headers'
        type: apr_table_t
      item_type: struct
      name: ap_bucket_request
      pos:
        line_end: 1102
        line_start: 1094
        source_file: /src/httpd/include/http_protocol.h
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*pool'
        type: apr_pool_t
      - name: status
        type: int
      - name: '*reason'
        type: char
      - name: '*headers'
        type: apr_table_t
      - name: '*notes'
        type: apr_table_t
      item_type: struct
      name: ap_bucket_response
      pos:
        line_end: 1218
        line_start: 1210
        source_file: /src/httpd/include/http_protocol.h
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*pool'
        type: apr_pool_t
      - name: '*headers'
        type: apr_table_t
      item_type: struct
      name: ap_bucket_headers
      pos:
        line_end: 1287
        line_start: 1281
        source_file: /src/httpd/include/http_protocol.h
    typedefs:
    - item_type: typedef
      name: etag_rec
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/httpd/include/http_protocol.h
      type: etag_rec
    - item_type: typedef
      name: ap_bucket_error
      pos:
        line_end: 1033
        line_start: 1033
        source_file: /src/httpd/include/http_protocol.h
      type: ap_bucket_error
    - item_type: typedef
      name: ap_bucket_request
      pos:
        line_end: 1087
        line_start: 1087
        source_file: /src/httpd/include/http_protocol.h
      type: ap_bucket_request
    - item_type: typedef
      name: ap_bucket_response
      pos:
        line_end: 1203
        line_start: 1203
        source_file: /src/httpd/include/http_protocol.h
      type: ap_bucket_response
    - item_type: typedef
      name: ap_bucket_headers
      pos:
        line_end: 1274
        line_start: 1274
        source_file: /src/httpd/include/http_protocol.h
      type: ap_bucket_headers
    union: []
- function_names: []
  source_file: /src/httpd/include/util_cookies.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SET_COOKIE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/util_cookies.h
      type_or_value: '"Set-Cookie"'
    - item_type: preproc_def
      name: SET_COOKIE2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/util_cookies.h
      type_or_value: '"Set-Cookie2"'
    - item_type: preproc_def
      name: DEFAULT_ATTRS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/util_cookies.h
      type_or_value: '"HttpOnly;Secure;Version=1"'
    - item_type: preproc_def
      name: CLEAR_ATTRS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/util_cookies.h
      type_or_value: '"Version=1"'
    structs:
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*name'
        type: char
      - name: '*encoded'
        type: char
      - name: '*new_cookies'
        type: apr_table_t
      - name: duplicated
        type: int
      item_type: struct
      name: ap_cookie_do
      pos:
        line_end: 53
        line_start: 47
        source_file: /src/httpd/include/util_cookies.h
    typedefs: []
    union: []
- function_names:
  - AP_INIT_NO_ARGS
  - AP_INIT_RAW_ARGS
  - AP_INIT_TAKE_ARGV
  - AP_INIT_TAKE1
  - AP_INIT_ITERATE
  - AP_INIT_TAKE2
  - AP_INIT_TAKE12
  - AP_INIT_ITERATE2
  - AP_INIT_TAKE13
  - AP_INIT_TAKE23
  - AP_INIT_TAKE123
  - AP_INIT_TAKE3
  - AP_INIT_FLAG
  - AP_INIT_NO_ARGS
  - AP_INIT_RAW_ARGS
  - AP_INIT_TAKE_ARGV
  - AP_INIT_TAKE1
  - AP_INIT_ITERATE
  - AP_INIT_TAKE2
  - AP_INIT_TAKE12
  - AP_INIT_ITERATE2
  - AP_INIT_TAKE13
  - AP_INIT_TAKE23
  - AP_INIT_TAKE123
  - AP_INIT_TAKE3
  - AP_INIT_FLAG
  - AP_MAYBE_UNUSED
  - AP_MAYBE_UNUSED
  - AP_MAYBE_UNUSED
  - APLOG_USE_MODULE
  - AP_DECLARE_MODULE
  - AP_MODULE_HAS_FLAGS
  - ap_get_module_config
  - ap_set_module_config
  - ap_get_conn_logconf
  - ap_get_conn_server_logconf
  - ap_get_request_logconf
  - ap_get_module_loglevel
  - ap_get_server_module_loglevel
  - ap_get_conn_module_loglevel
  - ap_get_conn_server_module_loglevel
  - ap_get_request_module_loglevel
  source_file: /src/httpd/include/http_config.h
  types:
    enum:
    - enumerators:
      - name: RAW_ARGS
      - name: TAKE2
      - name: ITERATE
      - name: ITERATE2
      - name: TAKE1
      - name: FLAG
      - name: NO_ARGS
      - name: TAKE12
      - name: TAKE3
      - name: TAKE23
      - name: TAKE13
      - name: TAKE_ARGV
      - name: TAKE123
      item_type: enum
      name: cmd_how
      pos:
        line_end: 66
        line_start: 48
        source_file: /src/httpd/include/http_config.h
    preproc_defs:
    - item_type: preproc_def
      name: AP_NO_ARGS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.no_args
    - item_type: preproc_def
      name: AP_RAW_ARGS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.raw_args
    - item_type: preproc_def
      name: AP_TAKE_ARGV
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.take_argv
    - item_type: preproc_def
      name: AP_TAKE1
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.take1
    - item_type: preproc_def
      name: AP_TAKE2
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.take2
    - item_type: preproc_def
      name: AP_TAKE3
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.take3
    - item_type: preproc_def
      name: AP_FLAG
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/httpd/include/http_config.h
      type_or_value: func.flag
    - item_type: preproc_def
      name: AP_NO_ARGS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_RAW_ARGS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_TAKE_ARGV
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_TAKE1
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_TAKE2
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_TAKE3
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: AP_FLAG
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/include/http_config.h
      type_or_value: func
    - item_type: preproc_def
      name: OR_NONE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: OR_LIMIT
      pos:
        line_end: 230
        line_start: 228
        source_file: /src/httpd/include/http_config.h
      type_or_value: '1           '
    - item_type: preproc_def
      name: OR_OPTIONS
      pos:
        line_end: 232
        line_start: 230
        source_file: /src/httpd/include/http_config.h
      type_or_value: '2         '
    - item_type: preproc_def
      name: OR_FILEINFO
      pos:
        line_end: 234
        line_start: 232
        source_file: /src/httpd/include/http_config.h
      type_or_value: '4        '
    - item_type: preproc_def
      name: OR_AUTHCFG
      pos:
        line_end: 236
        line_start: 234
        source_file: /src/httpd/include/http_config.h
      type_or_value: '8         '
    - item_type: preproc_def
      name: OR_INDEXES
      pos:
        line_end: 238
        line_start: 236
        source_file: /src/httpd/include/http_config.h
      type_or_value: '16        '
    - item_type: preproc_def
      name: OR_UNSET
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/httpd/include/http_config.h
      type_or_value: '32          '
    - item_type: preproc_def
      name: ACCESS_CONF
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/httpd/include/http_config.h
      type_or_value: '64       '
    - item_type: preproc_def
      name: RSRC_CONF
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/httpd/include/http_config.h
      type_or_value: '128        '
    - item_type: preproc_def
      name: EXEC_ON_READ
      pos:
        line_end: 244
        line_start: 241
        source_file: /src/httpd/include/http_config.h
      type_or_value: '256     '
    - item_type: preproc_def
      name: NONFATAL_OVERRIDE
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/httpd/include/http_config.h
      type_or_value: '512    '
    - item_type: preproc_def
      name: NONFATAL_UNKNOWN
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/httpd/include/http_config.h
      type_or_value: '1024    '
    - item_type: preproc_def
      name: NONFATAL_ALL
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/httpd/include/http_config.h
      type_or_value: (NONFATAL_OVERRIDE|NONFATAL_UNKNOWN)
    - item_type: preproc_def
      name: PROXY_CONF
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/httpd/include/http_config.h
      type_or_value: '2048      '
    - item_type: preproc_def
      name: OR_ALL
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/httpd/include/http_config.h
      type_or_value: (OR_LIMIT|OR_OPTIONS|OR_FILEINFO|OR_AUTHCFG|OR_INDEXES)
    - item_type: preproc_def
      name: DECLINE_CMD
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/httpd/include/http_config.h
      type_or_value: '"\a\b"'
    - item_type: preproc_def
      name: AP_MODULE_FLAG_NONE
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/httpd/include/http_config.h
      type_or_value: (0)
    - item_type: preproc_def
      name: AP_MODULE_FLAG_ALWAYS_MERGE
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/httpd/include/http_config.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: STANDARD_MODULE_STUFF
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/httpd/include/http_config.h
      type_or_value: this_module_needs_to_be_ported_to_apache_2_0
    - item_type: preproc_def
      name: STANDARD20_MODULE_STUFF
      pos:
        line_end: 496
        line_start: 488
        source_file: /src/httpd/include/http_config.h
      type_or_value: "MODULE_MAGIC_NUMBER_MAJOR, \\\n                                MODULE_MAGIC_NUMBER_MINOR,
        \\\n                                -1, \\\n                                __FILE__,
        \\\n                                NULL, \\\n                                NULL,
        \\\n                                MODULE_MAGIC_COOKIE, \\\n                                NULL
        \     "
    - item_type: preproc_def
      name: MPM20_MODULE_STUFF
      pos:
        line_end: 505
        line_start: 498
        source_file: /src/httpd/include/http_config.h
      type_or_value: "MODULE_MAGIC_NUMBER_MAJOR, \\\n                                MODULE_MAGIC_NUMBER_MINOR,
        \\\n                                -1, \\\n                                __FILE__,
        \\\n                                NULL, \\\n                                NULL,
        \\\n                                MODULE_MAGIC_COOKIE"
    - item_type: preproc_def
      name: AP_MODULE_FLAGS_MMN_MAJOR
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/httpd/include/http_config.h
      type_or_value: '20161018'
    - item_type: preproc_def
      name: AP_MODULE_FLAGS_MMN_MINOR
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/httpd/include/http_config.h
      type_or_value: '7'
    - item_type: preproc_def
      name: NOT_IN_VIRTUALHOST
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: NOT_IN_LIMIT
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: NOT_IN_DIRECTORY
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: NOT_IN_LOCATION
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: NOT_IN_FILES
      pos:
        line_end: 973
        line_start: 972
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: NOT_IN_HTACCESS
      pos:
        line_end: 974
        line_start: 973
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: NOT_IN_PROXY
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/httpd/include/http_config.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: NOT_IN_DIR_LOC_FILE
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/httpd/include/http_config.h
      type_or_value: (NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES)
    - item_type: preproc_def
      name: NOT_IN_DIR_CONTEXT
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/httpd/include/http_config.h
      type_or_value: (NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE|NOT_IN_PROXY)
    - item_type: preproc_def
      name: GLOBAL_ONLY
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/httpd/include/http_config.h
      type_or_value: (NOT_IN_VIRTUALHOST|NOT_IN_DIR_CONTEXT)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: func
        type: cmd_func
      - name: '*cmd_data'
        type: void
      - name: req_override
        type: int
      - name: args_how
        type: enum cmd_how
      - name: '*errmsg'
        type: char
      item_type: struct
      name: command_struct
      pos:
        line_end: 217
        line_start: 203
        source_file: /src/httpd/include/http_config.h
    - fields:
      - name: (*getch) (char *ch, void *param)
        type: apr_status_t
      - name: (*getstr) (void *buf, apr_size_t bufsiz, void *param)
        type: apr_status_t
      - name: (*close) (void *param)
        type: apr_status_t
      - name: '*param'
        type: void
      - name: '*name'
        type: char
      - name: line_number
        type: unsigned
      item_type: struct
      name: ap_configfile_t
      pos:
        line_end: 280
        line_start: 267
        source_file: /src/httpd/include/http_config.h
    - fields:
      - name: '*info'
        type: void
      - name: override
        type: int
      - name: override_opts
        type: int
      - name: '*override_list'
        type: apr_table_t
      - name: limited
        type: ap_method_mask_t
      - name: '*limited_xmethods'
        type: apr_array_header_t
      - name: '*xlimited'
        type: ap_method_list_t
      - name: '*config_file'
        type: ap_configfile_t
      - name: '*directive'
        type: ap_directive_t
      - name: '*pool'
        type: apr_pool_t
      - name: '*temp_pool'
        type: apr_pool_t
      - name: '*server'
        type: server_rec
      - name: '*path'
        type: char
      - name: '*cmd'
        type: command_rec
      - name: '*context'
        type: struct ap_conf_vector_t
      - name: '*err_directive'
        type: ap_directive_t
      - name: '*parent'
        type: ap_directive_t
      - name: '*regex'
        type: ap_regex_t
      item_type: struct
      name: cmd_parms_struct
      pos:
        line_end: 333
        line_start: 287
        source_file: /src/httpd/include/http_config.h
    - fields:
      - name: version
        type: int
      - name: minor_version
        type: int
      - name: module_index
        type: int
      - name: '*name'
        type: char
      - name: '*dynamic_load_handle'
        type: void
      - name: '*next'
        type: struct module_struct
      - name: magic
        type: unsigned long
      - name: (*rewrite_args) (process_rec *process)
        type: void
      - name: '*(*create_dir_config) (apr_pool_t *p, char *dir)'
        type: void
      - name: '*(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf)'
        type: void
      - name: '*(*create_server_config) (apr_pool_t *p, server_rec *s)'
        type: void
      - name: "*(*merge_server_config) (apr_pool_t *p, void *base_conf,\n                                  void
          *new_conf)"
        type: void
      - name: '*cmds'
        type: command_rec
      - name: (*register_hooks) (apr_pool_t *p)
        type: void
      - name: flags
        type: int
      item_type: struct
      name: module_struct
      pos:
        line_end: 423
        line_start: 347
        source_file: /src/httpd/include/http_config.h
    - fields:
      - name: '*name'
        type: char
      - name: '*modp'
        type: module
      item_type: struct
      name: ap_module_symbol_t
      pos:
        line_end: 990
        line_start: 987
        source_file: /src/httpd/include/http_config.h
    typedefs:
    - item_type: typedef
      name: cmd_parms
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/httpd/include/http_config.h
      type: cmd_parms_struct
    - item_type: typedef
      name: '*(*cmd_func) ()'
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/httpd/include/http_config.h
      type: char
    - item_type: typedef
      name: command_rec
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/httpd/include/http_config.h
      type: command_struct
    - item_type: typedef
      name: ap_configfile_t
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/httpd/include/http_config.h
      type: ap_configfile_t
    - item_type: typedef
      name: module
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/httpd/include/http_config.h
      type: module_struct
    - item_type: typedef
      name: ap_conf_vector_t
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/httpd/include/http_config.h
      type: ap_conf_vector_t
    union:
    - fields:
      - name: '*(*no_args) (cmd_parms *parms, void *mconfig)'
        type: char
      - name: "*(*raw_args) (cmd_parms *parms, void *mconfig,\n                             const
          char *args)"
        type: char
      - name: "*(*take_argv) (cmd_parms *parms, void *mconfig,\n                             int
          argc, char *const argv[])"
        type: char
      - name: '*(*take1) (cmd_parms *parms, void *mconfig, const char *w)'
        type: char
      - name: "*(*take2) (cmd_parms *parms, void *mconfig, const char *w,\n                          const
          char *w2)"
        type: char
      - name: "*(*take3) (cmd_parms *parms, void *mconfig, const char *w,\n                          const
          char *w2, const char *w3)"
        type: char
      - name: '*(*flag) (cmd_parms *parms, void *mconfig, int on)'
        type: char
      item_type: union
      name: cmd_func
      pos:
        line_end: 100
        line_start: 81
        source_file: /src/httpd/include/http_config.h
- function_names:
  - AP_MODULE_MAGIC_AT_LEAST
  source_file: /src/httpd/include/ap_mmn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODULE_MAGIC_COOKIE
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/httpd/include/ap_mmn.h
      type_or_value: '0x41503235UL '
    - item_type: preproc_def
      name: MODULE_MAGIC_NUMBER_MAJOR
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/httpd/include/ap_mmn.h
      type_or_value: '20211221'
    - item_type: preproc_def
      name: MODULE_MAGIC_NUMBER_MINOR
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/httpd/include/ap_mmn.h
      type_or_value: '31             '
    - item_type: preproc_def
      name: MODULE_MAGIC_NUMBER
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/httpd/include/ap_mmn.h
      type_or_value: MODULE_MAGIC_NUMBER_MAJOR
    - item_type: preproc_def
      name: MODULE_MAGIC_AT_LEAST
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/httpd/include/ap_mmn.h
      type_or_value: old_broken_macro_we_hope_you_are_not_using
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/ap_slotmem.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SLOTMEM_PROVIDER_GROUP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: '"slotmem"'
    - item_type: preproc_def
      name: AP_SLOTMEM_PROVIDER_VERSION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AP_SLOTMEM_TYPE_PERSIST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: AP_SLOTMEM_TYPE_NOTMPSAFE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: AP_SLOTMEM_TYPE_PREGRAB
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: AP_SLOTMEM_TYPE_CLEARINUSE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/include/ap_slotmem.h
      type_or_value: (1 << 3)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (* doall)(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func,
          void *data, apr_pool_t *pool)
        type: apr_status_t
      - name: (* create)(ap_slotmem_instance_t **inst, const char *name, apr_size_t
          item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
        type: apr_status_t
      - name: (* attach)(ap_slotmem_instance_t **inst, const char *name, apr_size_t
          *item_size, unsigned int *item_num, apr_pool_t *pool)
        type: apr_status_t
      - name: (* dptr)(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
        type: apr_status_t
      - name: (* get)(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char
          *dest, apr_size_t dest_len)
        type: apr_status_t
      - name: (* put)(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned
          char *src, apr_size_t src_len)
        type: apr_status_t
      - name: (* num_slots)(ap_slotmem_instance_t *s)
        type: unsigned int
      - name: (* num_free_slots)(ap_slotmem_instance_t *s)
        type: unsigned int
      - name: (* slot_size)(ap_slotmem_instance_t *s)
        type: apr_size_t
      - name: (* grab)(ap_slotmem_instance_t *s, unsigned int *item_id)
        type: apr_status_t
      - name: (* release)(ap_slotmem_instance_t *s, unsigned int item_id)
        type: apr_status_t
      - name: (* fgrab)(ap_slotmem_instance_t *s, unsigned int item_id)
        type: apr_status_t
      item_type: struct
      name: ap_slotmem_provider_t
      pos:
        line_end: 189
        line_start: 85
        source_file: /src/httpd/include/ap_slotmem.h
    typedefs:
    - item_type: typedef
      name: ap_slotmem_type_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/httpd/include/ap_slotmem.h
      type: unsigned int
    - item_type: typedef
      name: ap_slotmem_instance_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/httpd/include/ap_slotmem.h
      type: ap_slotmem_instance_t
    - item_type: typedef
      name: ap_slotmem_callback_fn_t(void* mem, void *data, apr_pool_t *pool)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/httpd/include/ap_slotmem.h
      type: apr_status_t
    - item_type: typedef
      name: ap_slotmem_provider_t
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/httpd/include/ap_slotmem.h
      type: ap_slotmem_provider_t
    union: []
- function_names:
  - AP_MONCONTROL
  source_file: /src/httpd/include/ap_mpm.h
  types:
    enum:
    - enumerators:
      - name: MPM_CHILD_STARTED
      - name: MPM_CHILD_LOST_SLOT
      - name: MPM_CHILD_EXITED
      item_type: enum
      name: mpm_child_status
      pos:
        line_end: 260
        line_start: 256
        source_file: /src/httpd/include/ap_mpm.h
    preproc_defs:
    - item_type: preproc_def
      name: AP_MPMQ_NOT_SUPPORTED
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: AP_MPMQ_STATIC
      pos:
        line_end: 130
        line_start: 127
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: AP_MPMQ_DYNAMIC
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: AP_MPMQ_STARTING
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_MPMQ_RUNNING
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_MPMQ_STOPPING
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_DAEMON_USED
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_MPMQ_IS_THREADED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_MPMQ_IS_FORKED
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_MPMQ_HARD_LIMIT_DAEMONS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_MPMQ_HARD_LIMIT_THREADS
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_THREADS
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AP_MPMQ_MIN_SPARE_DAEMONS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '7'
    - item_type: preproc_def
      name: AP_MPMQ_MIN_SPARE_THREADS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_SPARE_DAEMONS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '9'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_SPARE_THREADS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_REQUESTS_DAEMON
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '11'
    - item_type: preproc_def
      name: AP_MPMQ_MAX_DAEMONS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '12'
    - item_type: preproc_def
      name: AP_MPMQ_MPM_STATE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '13'
    - item_type: preproc_def
      name: AP_MPMQ_IS_ASYNC
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '14'
    - item_type: preproc_def
      name: AP_MPMQ_GENERATION
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '15'
    - item_type: preproc_def
      name: AP_MPMQ_HAS_SERF
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '16'
    - item_type: preproc_def
      name: AP_MPMQ_CAN_SUSPEND
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '17'
    - item_type: preproc_def
      name: AP_MPMQ_CAN_POLL
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '18'
    - item_type: preproc_def
      name: AP_MPMQ_CAN_WAITIO
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/httpd/include/ap_mpm.h
      type_or_value: '19'
    structs:
    - fields:
      - name: sig
        type: int
      - name: pid
        type: pid_t
      item_type: struct
      name: ap_exception_info_t
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/httpd/include/ap_mpm.h
    typedefs:
    - item_type: typedef
      name: (ap_mpm_callback_fn_t)(void *baton)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/httpd/include/ap_mpm.h
      type: void
    union: []
- function_names:
  - ap_expr_parse_cmd
  source_file: /src/httpd/include/ap_expr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_EXPR_FLAG_SSL_EXPR_COMPAT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_EXPR_FLAG_DONT_VARY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_EXPR_FLAG_RESTRICTED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_EXPR_FLAG_STRING_RESULT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_EXPR_FLAG_RESTRICTED_FILE_FUNC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '16'
    - item_type: preproc_def
      name: AP_EXPR_FUNC_VAR
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_EXPR_FUNC_STRING
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_EXPR_FUNC_LIST
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_EXPR_FUNC_OP_UNARY
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_EXPR_FUNC_OP_BINARY
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/httpd/include/ap_expr.h
      type_or_value: '4'
    structs:
    - fields:
      - name: '*root_node'
        type: ap_expr_t
      - name: '*filename'
        type: char
      - name: line_number
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: module_index
        type: int
      item_type: struct
      name: ap_expr_info_t
      pos:
        line_end: 53
        line_start: 40
        source_file: /src/httpd/include/ap_expr.h
    - fields:
      - name: '*r'
        type: request_rec
      - name: '*c'
        type: conn_rec
      - name: '*s'
        type: server_rec
      - name: '*p'
        type: apr_pool_t
      - name: '**err'
        type: char
      - name: '*info'
        type: ap_expr_info_t
      - name: '*re_pmatch'
        type: ap_regmatch_t
      - name: re_nmatch
        type: apr_size_t
      - name: '**re_source'
        type: char
      - name: '**vary_this'
        type: char
      - name: '**result_string'
        type: char
      - name: '*data'
        type: void
      - name: reclvl
        type: int
      item_type: struct
      name: ap_expr_eval_ctx_t
      pos:
        line_end: 136
        line_start: 106
        source_file: /src/httpd/include/ap_expr.h
    - fields:
      - name: type
        type: int
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*ptemp'
        type: apr_pool_t
      - name: '**func'
        type: void
      - name: '**data'
        type: void
      - name: '**err'
        type: char
      - name: '*arg'
        type: char
      item_type: struct
      name: ap_expr_lookup_parms
      pos:
        line_end: 295
        line_start: 266
        source_file: /src/httpd/include/ap_expr.h
    typedefs:
    - item_type: typedef
      name: ap_expr_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/httpd/include/ap_expr.h
      type: ap_expr_node
    - item_type: typedef
      name: "ap_expr_op_unary_t(ap_expr_eval_ctx_t *ctx, const void *data,\n                               const
        char *arg)"
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/httpd/include/ap_expr.h
      type: int
    - item_type: typedef
      name: "ap_expr_op_binary_t(ap_expr_eval_ctx_t *ctx, const void *data,\n                                const
        char *arg1, const char *arg2)"
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/httpd/include/ap_expr.h
      type: int
    - item_type: typedef
      name: "*(ap_expr_string_func_t)(ap_expr_eval_ctx_t *ctx,\n                                            const
        void *data,\n                                            const char *arg)"
      pos:
        line_end: 234
        line_start: 232
        source_file: /src/httpd/include/ap_expr.h
      type: char
    - item_type: typedef
      name: "*(ap_expr_string_list_func_t)(ap_expr_eval_ctx_t *ctx,\n                                            const
        void *data,\n                                            const apr_array_header_t
        *args)"
      pos:
        line_end: 244
        line_start: 242
        source_file: /src/httpd/include/ap_expr.h
      type: char
    - item_type: typedef
      name: "*(ap_expr_list_func_t)(ap_expr_eval_ctx_t *ctx,\n                                                  const
        void *data,\n                                                  const char
        *arg)"
      pos:
        line_end: 255
        line_start: 253
        source_file: /src/httpd/include/ap_expr.h
      type: apr_array_header_t
    - item_type: typedef
      name: "*(ap_expr_var_func_t)(ap_expr_eval_ctx_t *ctx,\n                                         const
        void *data)"
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/httpd/include/ap_expr.h
      type: char
    - item_type: typedef
      name: (ap_expr_lookup_fn_t)(ap_expr_lookup_parms *parms)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/httpd/include/ap_expr.h
      type: int
    union: []
- function_names: []
  source_file: /src/httpd/include/http_ssl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ap_ssl_ocsp_copy_resp(const unsigned char *der, apr_size_t der_len, void
        *userdata)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/httpd/include/http_ssl.h
      type: void
    union: []
- function_names:
  - ap_send_http_header
  source_file: /src/httpd/include/ap_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODULE_VAR_EXPORT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/include/ap_compat.h
      type_or_value: AP_MODULE_DECLARE_DATA
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/http_vhost.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ap_vhost_iterate_conn_cb)(void* baton, conn_rec* conn, server_rec* s)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/httpd/include/http_vhost.h
      type: int
    union: []
- function_names: []
  source_file: /src/httpd/include/util_charset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_md5.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AP_BUCKET_IS_EOR
  source_file: /src/httpd/include/http_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_SUBREQ_NO_ARGS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/include/http_request.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_SUBREQ_MERGE_ARGS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/include/http_request.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_AUTH_INTERNAL_PER_URI
      pos:
        line_end: 203
        line_start: 199
        source_file: /src/httpd/include/http_request.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: AP_AUTH_INTERNAL_PER_CONF
      pos:
        line_end: 207
        line_start: 203
        source_file: /src/httpd/include/http_request.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: AP_AUTH_INTERNAL_MASK
      pos:
        line_end: 209
        line_start: 207
        source_file: /src/httpd/include/http_request.h
      type_or_value: '0x000F  '
    - item_type: preproc_def
      name: MERGE_ALLOW
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/httpd/include/http_request.h
      type_or_value: '0'
    - item_type: preproc_def
      name: REPLACE_ALLOW
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/httpd/include/http_request.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/mod_auth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTHT_PROVIDER_GROUP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"autht"'
    - item_type: preproc_def
      name: AUTHN_PROVIDER_GROUP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"authn"'
    - item_type: preproc_def
      name: AUTHZ_PROVIDER_GROUP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"authz"'
    - item_type: preproc_def
      name: AUTHT_PROVIDER_VERSION
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AUTHN_PROVIDER_VERSION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AUTHZ_PROVIDER_VERSION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AUTHT_DEFAULT_PROVIDER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"jwt"'
    - item_type: preproc_def
      name: AUTHN_DEFAULT_PROVIDER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"file"'
    - item_type: preproc_def
      name: AUTHT_PROVIDER_NAME_NOTE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"autht_provider_name"'
    - item_type: preproc_def
      name: AUTHN_PROVIDER_NAME_NOTE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"authn_provider_name"'
    - item_type: preproc_def
      name: AUTHZ_PROVIDER_NAME_NOTE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"authz_provider_name"'
    - item_type: preproc_def
      name: AUTHT_PREFIX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"TOKEN_"'
    - item_type: preproc_def
      name: AUTHN_PREFIX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"AUTHENTICATE_"'
    - item_type: preproc_def
      name: AUTHZ_PREFIX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '"AUTHORIZE_"'
    - item_type: preproc_def
      name: SATISFY_ALL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SATISFY_ANY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SATISFY_NOSPEC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/include/mod_auth.h
      type_or_value: '2'
    structs:
    - fields:
      - name: "(*check_password)(request_rec *r, const char *user,\n                                   const
          char *password)"
        type: authn_status
      - name: "(*get_realm_hash)(request_rec *r, const char *user,\n                                   const
          char *realm, char **rethash)"
        type: authn_status
      item_type: struct
      name: authn_provider
      pos:
        line_end: 111
        line_start: 94
        source_file: /src/httpd/include/mod_auth.h
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider'
        type: authn_provider
      - name: '*next'
        type: authn_provider_list
      item_type: struct
      name: authn_provider_list
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/httpd/include/mod_auth.h
    - fields:
      - name: "(*check_token)(request_rec *r, const char *type,\n                                const
          char *token)"
        type: autht_status
      item_type: struct
      name: autht_provider
      pos:
        line_end: 129
        line_start: 122
        source_file: /src/httpd/include/mod_auth.h
    - fields:
      - name: '*provider_name'
        type: char
      - name: '*provider'
        type: autht_provider
      - name: '*next'
        type: autht_provider_list
      item_type: struct
      name: autht_provider_list
      pos:
        line_end: 138
        line_start: 134
        source_file: /src/httpd/include/mod_auth.h
    - fields:
      - name: "(*check_authorization)(request_rec *r,\n                                        const
          char *require_line,\n                                        const void
          *parsed_require_line)"
        type: authz_status
      - name: "*(*parse_require_line)(cmd_parms *cmd, const char *require_line,\n
          \                                     const void **parsed_require_line)"
        type: char
      item_type: struct
      name: authz_provider
      pos:
        line_end: 160
        line_start: 140
        source_file: /src/httpd/include/mod_auth.h
    typedefs:
    - item_type: typedef
      name: authn_provider_list
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/httpd/include/mod_auth.h
      type: authn_provider_list
    - item_type: typedef
      name: autht_provider_list
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/httpd/include/mod_auth.h
      type: autht_provider_list
    union: []
- function_names:
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - APREQ_DECLARE
  - APREQ_DECLARE_NONSTD
  - APREQ_DECLARE
  - APREQ_DECLARE_NONSTD
  - APREQ_DECLARE
  - APREQ_DECLARE_NONSTD
  - APREQ_DECLARE
  - APREQ_DECLARE_NONSTD
  - AP_MODULE_DECLARE
  - AP_MODULE_DECLARE
  - AP_MODULE_DECLARE_NONSTD
  - AP_MODULE_DECLARE
  - AP_MODULE_DECLARE_NONSTD
  - __has_attribute
  - AP_FN_ATTR_ALLOC_SIZE
  - AP_FN_ATTR_ALLOC_SIZE2
  - AP_FN_ATTR_NONNULL
  source_file: /src/httpd/include/ap_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_DECLARE_DATA
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AP_DECLARE_DATA
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: APREQ_DECLARE_DATA
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: APREQ_DECLARE_DATA
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: AP_MODULE_DECLARE_DATA
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: DEFAULT_PIDLOG
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/httpd/include/ap_config.h
      type_or_value: '"httpd.pid"'
    - item_type: preproc_def
      name: AP_NONBLOCK_WHEN_MULTI_LISTEN
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/httpd/include/ap_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HAVE_RELIABLE_PIPED_LOGS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/httpd/include/ap_config.h
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: AP_FN_ATTR_SENTINEL
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __attribute__((sentinel))
    - item_type: preproc_def
      name: AP_FN_ATTR_WARN_UNUSED_RESULT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: AP_FN_ATTR_NONNULL_ALL
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/httpd/include/ap_config.h
      type_or_value: __attribute__((nonnull))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_mutex.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LIST_FLOCK_SERIALIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''flock:/path/to/file''"'
    - item_type: preproc_def
      name: AP_LIST_FCNTL_SERIALIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''fcntl:/path/to/file''"'
    - item_type: preproc_def
      name: AP_LIST_SYSVSEM_SERIALIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''sysvsem''"'
    - item_type: preproc_def
      name: AP_LIST_POSIXSEM_SERIALIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''posixsem''"'
    - item_type: preproc_def
      name: AP_LIST_PTHREAD_SERIALIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''pthread''"'
    - item_type: preproc_def
      name: AP_LIST_FILE_SERIALIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''file:/path/to/file''"'
    - item_type: preproc_def
      name: AP_LIST_SEM_SERIALIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '", ''sem''"'
    - item_type: preproc_def
      name: AP_ALL_AVAILABLE_MUTEXES_STRING
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: "\"Mutex mechanisms are: 'none', 'default'\"            \\\n
        \   AP_LIST_FLOCK_SERIALIZE   AP_LIST_FCNTL_SERIALIZE    \\\n    AP_LIST_FILE_SERIALIZE
        \   AP_LIST_PTHREAD_SERIALIZE  \\\n    AP_LIST_SYSVSEM_SERIALIZE AP_LIST_POSIXSEM_SERIALIZE
        \\\n    AP_LIST_SEM_SERIALIZE"
    - item_type: preproc_def
      name: AP_AVAILABLE_MUTEXES_STRING
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: "\"Mutex mechanisms are: 'default'\"                    \\\n
        \   AP_LIST_FLOCK_SERIALIZE   AP_LIST_FCNTL_SERIALIZE    \\\n    AP_LIST_FILE_SERIALIZE
        \   AP_LIST_PTHREAD_SERIALIZE  \\\n    AP_LIST_SYSVSEM_SERIALIZE AP_LIST_POSIXSEM_SERIALIZE
        \\\n    AP_LIST_SEM_SERIALIZE"
    - item_type: preproc_def
      name: AP_MUTEX_ALLOW_NONE
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: AP_MUTEX_DEFAULT_NONE
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/httpd/include/util_mutex.h
      type_or_value: '2 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/util_script.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APACHE_ARG_MAX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/include/util_script.h
      type_or_value: _POSIX_ARG_MAX
    - item_type: preproc_def
      name: APACHE_ARG_MAX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/include/util_script.h
      type_or_value: '512'
    - item_type: preproc_def
      name: AP_TRUST_CGILIKE_CL_ENVVAR
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/httpd/include/util_script.h
      type_or_value: '"ap_trust_cgilike_cl"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_get_core_module_config
  - ap_set_core_module_config
  - AP_CORE_MERGE_FLAG
  - AP_SENDFILE_ENABLED
  - AP_CORE_DEFAULT
  source_file: /src/httpd/include/http_core.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPT_NONE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: OPT_INDEXES
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OPT_INCLUDES
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: OPT_SYM_LINKS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/include/http_core.h
      type_or_value: '4'
    - item_type: preproc_def
      name: OPT_EXECCGI
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/http_core.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OPT_UNSET
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/include/http_core.h
      type_or_value: '16'
    - item_type: preproc_def
      name: OPT_INC_WITH_EXEC
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/include/http_core.h
      type_or_value: '32'
    - item_type: preproc_def
      name: OPT_SYM_OWNER
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/include/http_core.h
      type_or_value: '64'
    - item_type: preproc_def
      name: OPT_MULTI
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/include/http_core.h
      type_or_value: '128'
    - item_type: preproc_def
      name: OPT_ALL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/include/http_core.h
      type_or_value: (OPT_INDEXES|OPT_INCLUDES|OPT_INC_WITH_EXEC|OPT_SYM_LINKS|OPT_EXECCGI)
    - item_type: preproc_def
      name: REMOTE_HOST
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: REMOTE_NAME
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: REMOTE_NOLOOKUP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: REMOTE_DOUBLE_REV
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/httpd/include/http_core.h
      type_or_value: (3)
    - item_type: preproc_def
      name: SATISFY_ALL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SATISFY_ANY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SATISFY_NOSPEC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_MIN_BYTES_TO_WRITE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/include/http_core.h
      type_or_value: '8000'
    - item_type: preproc_def
      name: AP_DEFAULT_MAX_INTERNAL_REDIRECTS
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/include/http_core.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AP_DEFAULT_MAX_SUBREQ_DEPTH
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/include/http_core.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AP_CORE_MODULE_INDEX
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_CORE_MODULE_INDEX
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/httpd/include/http_core.h
      type_or_value: (AP_DEBUG_ASSERT(core_module.module_index == 0), 0)
    - item_type: preproc_def
      name: AP_NOTE_DIRECTORY_WALK
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_NOTE_LOCATION_WALK
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_NOTE_FILE_WALK
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_NOTE_IF_WALK
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/httpd/include/http_core.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_NUM_STD_NOTES
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/httpd/include/http_core.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ETAG_UNSET
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ETAG_NONE
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: ETAG_MTIME
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: ETAG_INODE
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: ETAG_SIZE
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: ETAG_DIGEST
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: ETAG_ALL
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/httpd/include/http_core.h
      type_or_value: (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
    - item_type: preproc_def
      name: ETAG_BACKWARD
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/httpd/include/http_core.h
      type_or_value: (ETAG_MTIME | ETAG_SIZE)
    - item_type: preproc_def
      name: AP_CORE_CONFIG_OFF
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: AP_CORE_CONFIG_ON
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: AP_CORE_CONFIG_UNSET
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: HOSTNAME_LOOKUP_OFF
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HOSTNAME_LOOKUP_ON
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HOSTNAME_LOOKUP_DOUBLE
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HOSTNAME_LOOKUP_UNSET
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/httpd/include/http_core.h
      type_or_value: '3'
    - item_type: preproc_def
      name: USE_CANONICAL_NAME_OFF
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: USE_CANONICAL_NAME_ON
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: USE_CANONICAL_NAME_DNS
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: USE_CANONICAL_NAME_UNSET
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/httpd/include/http_core.h
      type_or_value: (3)
    - item_type: preproc_def
      name: ADD_DEFAULT_CHARSET_OFF
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ADD_DEFAULT_CHARSET_ON
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: ADD_DEFAULT_CHARSET_UNSET
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: ENABLE_MMAP_OFF
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ENABLE_MMAP_ON
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: ENABLE_MMAP_UNSET
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: ENABLE_SENDFILE_OFF
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ENABLE_SENDFILE_ON
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: ENABLE_SENDFILE_UNSET
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: USE_CANONICAL_PHYS_PORT_OFF
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: USE_CANONICAL_PHYS_PORT_ON
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: USE_CANONICAL_PHYS_PORT_UNSET
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: AP_CONDITION_IF
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_CONDITION_ELSE
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_CONDITION_ELSEIF
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/httpd/include/http_core.h
      type_or_value: (AP_CONDITION_ELSE|AP_CONDITION_IF)
    - item_type: preproc_def
      name: AP_MAXRANGES_UNSET
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/httpd/include/http_core.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_MAXRANGES_DEFAULT
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/httpd/include/http_core.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: AP_MAXRANGES_UNLIMITED
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/httpd/include/http_core.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: AP_MAXRANGES_NORANGES
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_CGI_PASS_AUTH_OFF
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/httpd/include/http_core.h
      type_or_value: (0)
    - item_type: preproc_def
      name: AP_CGI_PASS_AUTH_ON
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/httpd/include/http_core.h
      type_or_value: (1)
    - item_type: preproc_def
      name: AP_CGI_PASS_AUTH_UNSET
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/httpd/include/http_core.h
      type_or_value: (2)
    - item_type: preproc_def
      name: AP_TRACE_UNSET
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/httpd/include/http_core.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_TRACE_DISABLE
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_TRACE_ENABLE
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_TRACE_EXTENDED
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_MERGE_TRAILERS_UNSET
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_MERGE_TRAILERS_ENABLE
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_MERGE_TRAILERS_DISABLE
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_HTTP09_UNSET
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_HTTP09_ENABLE
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HTTP09_DISABLE
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_HTTP_CONFORMANCE_UNSET
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_HTTP_CONFORMANCE_UNSAFE
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HTTP_CONFORMANCE_STRICT
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_HTTP_METHODS_UNSET
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_HTTP_METHODS_LENIENT
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HTTP_METHODS_REGISTERED
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_HTTP_CL_HEAD_ZERO_UNSET
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_HTTP_CL_HEAD_ZERO_ENABLE
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HTTP_CL_HEAD_ZERO_DISABLE
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_HTTP_EXPECT_STRICT_UNSET
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_HTTP_EXPECT_STRICT_ENABLE
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HTTP_EXPECT_STRICT_DISABLE
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_ERRORLOG_PROVIDER_GROUP
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/httpd/include/http_core.h
      type_or_value: '"error_log_writer"'
    - item_type: preproc_def
      name: AP_ERRORLOG_PROVIDER_VERSION
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/httpd/include/http_core.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: AP_ERRORLOG_DEFAULT_PROVIDER
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/httpd/include/http_core.h
      type_or_value: '"file"'
    - item_type: preproc_def
      name: AP_ERRORLOG_PROVIDER_ADD_EOL_STR
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_ERRORLOG_FLAG_FIELD_SEP
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_ERRORLOG_FLAG_MESSAGE
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_ERRORLOG_FLAG_REQUIRED
      pos:
        line_end: 1002
        line_start: 1001
        source_file: /src/httpd/include/http_core.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_ERRORLOG_FLAG_NULL_AS_HYPHEN
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/httpd/include/http_core.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AP_SQ_MAIN_STATE
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/httpd/include/http_core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_SQ_RUN_MODE
      pos:
        line_end: 1072
        line_start: 1071
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_SQ_CONFIG_GEN
      pos:
        line_end: 1074
        line_start: 1073
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_SQ_NOT_SUPPORTED
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/httpd/include/http_core.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AP_SQ_MS_INITIAL_STARTUP
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_SQ_MS_CREATE_PRE_CONFIG
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_SQ_MS_DESTROY_CONFIG
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/httpd/include/http_core.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_SQ_MS_CREATE_CONFIG
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/httpd/include/http_core.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_SQ_MS_RUN_MPM
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/httpd/include/http_core.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AP_SQ_MS_EXITING
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/httpd/include/http_core.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AP_SQ_RM_UNKNOWN
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/httpd/include/http_core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_SQ_RM_NORMAL
      pos:
        line_end: 1101
        line_start: 1100
        source_file: /src/httpd/include/http_core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_SQ_RM_CONFIG_TEST
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/httpd/include/http_core.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_SQ_RM_CONFIG_DUMP
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/httpd/include/http_core.h
      type_or_value: '4'
    structs:
    - fields:
      - name: method_mask
        type: apr_int64_t
      - name: '*requirement'
        type: char
      item_type: struct
      name: require_line
      pos:
        line_end: 320
        line_start: 315
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*bb'
        type: struct apr_bucket_brigade
      - name: '**notes'
        type: void
      - name: '**response_code_strings'
        type: char
      - name: '*document_root'
        type: char
      - name: '*context_document_root'
        type: char
      - name: '*context_prefix'
        type: char
      - name: deliver_script
        type: int
      - name: suppress_charset
        type: int
      item_type: struct
      name: core_request_config
      pos:
        line_end: 443
        line_start: 393
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*d'
        type: char
      - name: d_components
        type: unsigned
      - name: opts
        type: allow_options_t
      - name: opts_add
        type: allow_options_t
      - name: opts_remove
        type: allow_options_t
      - name: override
        type: overrides_t
      - name: override_opts
        type: allow_options_t
      - name: '**response_code_strings'
        type: char
      - name: hostname_lookups
        type: unsigned int
      - name: use_canonical_name
        type: unsigned
      - name: d_is_fnmatch
        type: unsigned
      - name: add_default_charset
        type: unsigned
      - name: '*add_default_charset_name'
        type: char
      - name: limit_req_body
        type: apr_off_t
      - name: limit_xml_body
        type: long
      - name: server_signature
        type: server_signature_e
      - name: '*sec_file'
        type: apr_array_header_t
      - name: '*sec_if'
        type: apr_array_header_t
      - name: '*r'
        type: ap_regex_t
      - name: '*mime_type'
        type: char
      - name: '*handler'
        type: char
      - name: '*output_filters'
        type: char
      - name: '*input_filters'
        type: char
      - name: accept_path_info
        type: int
      - name: etag_bits
        type: etag_components_t
      - name: etag_add
        type: etag_components_t
      - name: etag_remove
        type: etag_components_t
      - name: enable_mmap
        type: unsigned int
      - name: enable_sendfile
        type: unsigned int
      - name: use_canonical_phys_port
        type: unsigned int
      - name: allow_encoded_slashes
        type: unsigned int
      - name: decode_encoded_slashes
        type: unsigned int
      - name: condition_ifelse
        type: unsigned int
      - name: '*condition'
        type: ap_expr_info_t
      - name: '*log'
        type: struct ap_logconf
      - name: '*override_list'
        type: apr_table_t
      - name: max_ranges
        type: int
      - name: max_overlaps
        type: int
      - name: max_reversals
        type: int
      - name: allow_encoded_slashes_set
        type: unsigned int
      - name: decode_encoded_slashes_set
        type: unsigned int
      - name: '*refs'
        type: apr_array_header_t
      - name: '*response_code_exprs'
        type: apr_hash_t
      - name: cgi_pass_auth
        type: unsigned int
      - name: qualify_redirect_url
        type: unsigned int
      - name: '*expr_handler'
        type: ap_expr_info_t
      - name: '*cgi_var_rules'
        type: apr_hash_t
      - name: read_buf_size
        type: apr_size_t
      item_type: struct
      name: core_dir_config
      pos:
        line_end: 686
        line_start: 526
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*gprof_dir'
        type: char
      - name: '*ap_document_root'
        type: char
      - name: '*access_name'
        type: char
      - name: '*sec_dir'
        type: apr_array_header_t
      - name: '*sec_url'
        type: apr_array_header_t
      - name: redirect_limit
        type: int
      - name: subreq_limit
        type: int
      - name: '*protocol'
        type: char
      - name: '*accf_map'
        type: apr_table_t
      - name: '*error_log_format'
        type: apr_array_header_t
      - name: '*error_log_conn'
        type: apr_array_header_t
      - name: '*error_log_req'
        type: apr_array_header_t
      - name: trace_enable
        type: int
      - name: merge_trailers
        type: int
      - name: '*conn_log_level'
        type: apr_array_header_t
      - name: http09_enable
        type: char
      - name: http_conformance
        type: char
      - name: http_methods
        type: char
      - name: http_cl_head_zero
        type: int
      - name: http_expect_strict
        type: int
      - name: '*protocols'
        type: apr_array_header_t
      - name: protocols_honor_order
        type: int
      - name: async_filter
        type: int
      - name: async_filter_set
        type: unsigned int
      - name: flush_max_threshold
        type: apr_size_t
      - name: flush_max_pipelined
        type: apr_int32_t
      - name: strict_host_check
        type: unsigned int
      - name: merge_slashes
        type: unsigned int
      item_type: struct
      name: core_server_config
      pos:
        line_end: 776
        line_start: 694
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*description'
        type: char
      - name: '*name'
        type: char
      - name: vtype
        type: ap_mgmt_type_e
      - name: v
        type: ap_mgmt_value
      item_type: struct
      name: ap_mgmt_item_t
      pos:
        line_end: 836
        line_start: 831
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*s'
        type: server_rec
      - name: '*c'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: '*rmain'
        type: request_rec
      - name: '*pool'
        type: apr_pool_t
      - name: '*file'
        type: char
      - name: line
        type: int
      - name: module_index
        type: int
      - name: level
        type: int
      - name: status
        type: apr_status_t
      - name: using_provider
        type: int
      - name: startup
        type: int
      - name: '*format'
        type: char
      item_type: struct
      name: ap_errorlog_info
      pos:
        line_end: 924
        line_start: 885
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '* (*init)(apr_pool_t *p, server_rec *s)'
        type: void
      - name: "(*writer)(const ap_errorlog_info *info, void *handle,\n                           const
          char *errstr, apr_size_t len)"
        type: apr_status_t
      - name: '* (*parse_errorlog_arg)(cmd_parms *cmd, const char *arg)'
        type: char
      - name: flags
        type: unsigned int
      item_type: struct
      name: ap_errorlog_provider
      pos:
        line_end: 968
        line_start: 935
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*func'
        type: ap_errorlog_handler_fn_t
      - name: flags
        type: int
      item_type: struct
      name: ap_errorlog_handler
      pos:
        line_end: 994
        line_start: 991
        source_file: /src/httpd/include/http_core.h
    - fields:
      - name: '*func'
        type: ap_errorlog_handler_fn_t
      - name: '*arg'
        type: char
      - name: flags
        type: unsigned int
      - name: min_loglevel
        type: unsigned int
      item_type: struct
      name: ap_errorlog_format_item
      pos:
        line_end: 1014
        line_start: 1005
        source_file: /src/httpd/include/http_core.h
    typedefs:
    - item_type: typedef
      name: require_line
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/httpd/include/http_core.h
      type: require_line
    - item_type: typedef
      name: allow_options_t
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/httpd/include/http_core.h
      type: unsigned char
    - item_type: typedef
      name: overrides_t
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/httpd/include/http_core.h
      type: unsigned int
    - item_type: typedef
      name: etag_components_t
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/httpd/include/http_core.h
      type: unsigned long
    - item_type: typedef
      name: ap_errorlog_provider
      pos:
        line_end: 933
        line_start: 933
        source_file: /src/httpd/include/http_core.h
      type: ap_errorlog_provider
    - item_type: typedef
      name: "ap_errorlog_handler_fn_t(const ap_errorlog_info *info,\n                                     const
        char *arg, char *buf, int buflen)"
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/httpd/include/http_core.h
      type: int
    union:
    - fields:
      - name: '*s_value'
        type: char
      - name: i_value
        type: long
      - name: '*h_value'
        type: apr_hash_t
      item_type: union
      name: ap_mgmt_value
      pos:
        line_end: 829
        line_start: 825
        source_file: /src/httpd/include/http_core.h
- function_names: []
  source_file: /src/httpd/include/util_xml.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AP_LDAP_IS_SERVER_DOWN
  - AP_LDAP_IS_SERVER_DOWN
  - LDAP_DECLARE
  - LDAP_DECLARE_NONSTD
  - LDAP_DECLARE
  - LDAP_DECLARE_NONSTD
  - LDAP_DECLARE
  - LDAP_DECLARE_NONSTD
  - LDAP_DECLARE
  - LDAP_DECLARE_NONSTD
  source_file: /src/httpd/include/util_ldap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APR_HAS_LDAP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/include/util_ldap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LDAP_DECLARE_DATA
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/util_ldap.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: LDAP_DECLARE_DATA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/include/util_ldap.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: timeval
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/include/util_ldap.h
      type_or_value: l_timeval
    structs:
    - fields:
      - name: '*ldap'
        type: LDAP
      - name: '*pool'
        type: apr_pool_t
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: deref
        type: deref_options
      - name: '*binddn'
        type: char
      - name: '*bindpw'
        type: char
      - name: bound
        type: int
      - name: secure
        type: int
      - name: '*client_certs'
        type: apr_array_header_t
      - name: '*reason'
        type: char
      - name: '*next'
        type: struct util_ldap_connection_t
      - name: '*st'
        type: struct util_ldap_state_t
      - name: keep
        type: int
      - name: ChaseReferrals
        type: int
      - name: ReferralHopLimit
        type: int
      - name: freed
        type: apr_time_t
      - name: '*rebind_pool'
        type: apr_pool_t
      - name: must_rebind
        type: int
      - name: '*r'
        type: request_rec
      - name: last_backend_conn
        type: apr_time_t
      item_type: struct
      name: util_ldap_connection_t
      pos:
        line_end: 137
        line_start: 105
        source_file: /src/httpd/include/util_ldap.h
    - fields:
      - name: ChaseReferrals
        type: int
      - name: ReferralHopLimit
        type: int
      - name: '*client_certs'
        type: apr_array_header_t
      item_type: struct
      name: util_ldap_config_t
      pos:
        line_end: 143
        line_start: 139
        source_file: /src/httpd/include/util_ldap.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*util_ldap_cache_lock'
        type: apr_global_mutex_t
      - name: cache_bytes
        type: apr_size_t
      - name: '*cache_file'
        type: char
      - name: search_cache_ttl
        type: long
      - name: search_cache_size
        type: long
      - name: compare_cache_ttl
        type: long
      - name: compare_cache_size
        type: long
      - name: '*connections'
        type: struct util_ldap_connection_t
      - name: '*global_certs'
        type: apr_array_header_t
      - name: ssl_supported
        type: int
      - name: secure
        type: int
      - name: secure_set
        type: int
      - name: verify_svr_cert
        type: int
      - name: '*util_ldap_cache'
        type: void
      - name: connectionTimeout
        type: long
      - name: '*opTimeout'
        type: struct timeval
      - name: debug_level
        type: int
      - name: connection_pool_ttl
        type: apr_interval_time_t
      - name: retries
        type: int
      - name: retry_delay
        type: apr_interval_time_t
      item_type: struct
      name: util_ldap_state_t
      pos:
        line_end: 182
        line_start: 146
        source_file: /src/httpd/include/util_ldap.h
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: mod_auth_ldap_groupattr_entry_t
      pos:
        line_end: 187
        line_start: 185
        source_file: /src/httpd/include/util_ldap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/include/ap_listen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_LISTEN_SPECIFIC_ERRORS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: (0x0001)
    - item_type: preproc_def
      name: AP_LISTEN_FREEBIND
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: (0x0002)
    - item_type: preproc_def
      name: AP_LISTEN_REUSEPORT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: (0x0004)
    - item_type: preproc_def
      name: AP_LISTEN_V6ONLY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: (0x0008)
    - item_type: preproc_def
      name: AP_LISTEN_MPTCP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: (0x0010)
    - item_type: preproc_def
      name: LISTEN_COMMANDS
      pos:
        line_end: 190
        line_start: 175
        source_file: /src/httpd/include/ap_listen.h
      type_or_value: "AP_INIT_TAKE1(\"ListenBacklog\", ap_set_listenbacklog, NULL,
        RSRC_CONF, \\\n  \"Maximum length of the queue of pending connections, as
        used by listen(2)\"), \\\nAP_INIT_TAKE1(\"ListenCoresBucketsRatio\", ap_set_listencbratio,
        NULL, RSRC_CONF, \\\n  \"Ratio between the number of CPU cores (online) and
        the number of listeners buckets\"), \\\nAP_INIT_TAKE_ARGV(\"Listen\", ap_set_listener,
        NULL, RSRC_CONF, \\\n  \"A port number or a numeric IP address and a port
        number, and an optional protocol\"), \\\nAP_INIT_TAKE1(\"SendBufferSize\",
        ap_set_send_buffer_size, NULL, RSRC_CONF, \\\n  \"Send buffer size in bytes\"),
        \\\nAP_INIT_TAKE1(\"ReceiveBufferSize\", ap_set_receive_buffer_size, NULL,
        \\\n              RSRC_CONF, \"Receive buffer size in bytes\"), \\\nAP_INIT_FLAG(\"AcceptErrorsNonFatal\",
        ap_set_accept_errors_nonfatal, NULL, \\\n              RSRC_CONF, \"Some accept()
        errors are not fatal to the process\"), \\\nAP_INIT_TAKE1(\"ListenTCPDeferAccept\",
        ap_set_listentcpdeferaccept, NULL, RSRC_CONF, \\\n  \"Value set for the socket
        option TCP_DEFER_ACCEPT if it is set\")"
    structs:
    - fields:
      - name: '*next'
        type: ap_listen_rec
      - name: '*sd'
        type: apr_socket_t
      - name: '*bind_addr'
        type: apr_sockaddr_t
      - name: accept_func
        type: accept_function
      - name: active
        type: int
      - name: '* protocol'
        type: char
      - name: '*slave'
        type: ap_slave_t
      - name: flags
        type: apr_uint32_t
      item_type: struct
      name: ap_listen_rec
      pos:
        line_end: 86
        line_start: 54
        source_file: /src/httpd/include/ap_listen.h
    typedefs:
    - item_type: typedef
      name: ap_slave_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/httpd/include/ap_listen.h
      type: ap_slave_t
    - item_type: typedef
      name: ap_listen_rec
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/httpd/include/ap_listen.h
      type: ap_listen_rec
    - item_type: typedef
      name: (*accept_function)(void **csd, ap_listen_rec *lr, apr_pool_t *ptrans)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/httpd/include/ap_listen.h
      type: apr_status_t
    union: []
- function_names: []
  source_file: /src/httpd/include/scoreboard.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SCOREBOARD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '"apache_runtime_status" '
    - item_type: preproc_def
      name: SERVER_DEAD
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SERVER_STARTING
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: SERVER_READY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '2          '
    - item_type: preproc_def
      name: SERVER_BUSY_READ
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '3      '
    - item_type: preproc_def
      name: SERVER_BUSY_WRITE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '4     '
    - item_type: preproc_def
      name: SERVER_BUSY_KEEPALIVE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: SERVER_BUSY_LOG
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '6       '
    - item_type: preproc_def
      name: SERVER_BUSY_DNS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '7       '
    - item_type: preproc_def
      name: SERVER_CLOSING
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '8        '
    - item_type: preproc_def
      name: SERVER_GRACEFUL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '9       '
    - item_type: preproc_def
      name: SERVER_IDLE_KILL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '10     '
    - item_type: preproc_def
      name: SERVER_NUM_STATUS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '11    '
    - item_type: preproc_def
      name: START_PREQUEST
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STOP_PREQUEST
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/httpd/include/scoreboard.h
      type_or_value: '2'
    structs:
    - fields:
      - name: thread_num
        type: int
      - name: pid
        type: pid_t
      - name: generation
        type: ap_generation_t
      - name: status
        type: unsigned char
      - name: conn_count
        type: unsigned short
      - name: conn_bytes
        type: apr_off_t
      - name: access_count
        type: unsigned long
      - name: bytes_served
        type: apr_off_t
      - name: my_access_count
        type: unsigned long
      - name: my_bytes_served
        type: apr_off_t
      - name: start_time
        type: apr_time_t
      - name: stop_time
        type: apr_time_t
      - name: last_used
        type: apr_time_t
      - name: client[32]
        type: char
      - name: request[64]
        type: char
      - name: vhost[32]
        type: char
      - name: protocol[16]
        type: char
      - name: client64[64]
        type: char
      - name: duration
        type: apr_time_t
      item_type: struct
      name: worker_score
      pos:
        line_end: 120
        line_start: 89
        source_file: /src/httpd/include/scoreboard.h
    - fields:
      - name: server_limit
        type: int
      - name: thread_limit
        type: int
      - name: running_generation
        type: ap_generation_t
      - name: restart_time
        type: apr_time_t
      item_type: struct
      name: global_score
      pos:
        line_end: 132
        line_start: 122
        source_file: /src/httpd/include/scoreboard.h
    - fields:
      - name: pid
        type: pid_t
      - name: generation
        type: ap_generation_t
      - name: quiescing
        type: char
      - name: not_accepting
        type: char
      - name: connections
        type: apr_uint32_t
      - name: write_completion
        type: apr_uint32_t
      - name: lingering_close
        type: apr_uint32_t
      - name: keep_alive
        type: apr_uint32_t
      - name: suspended
        type: apr_uint32_t
      - name: wait_io
        type: apr_uint32_t
      item_type: struct
      name: process_score
      pos:
        line_end: 151
        line_start: 136
        source_file: /src/httpd/include/scoreboard.h
    - fields:
      - name: '*global'
        type: global_score
      - name: '*parent'
        type: process_score
      - name: '**servers'
        type: worker_score
      item_type: struct
      name: scoreboard
      pos:
        line_end: 161
        line_start: 157
        source_file: /src/httpd/include/scoreboard.h
    typedefs:
    - item_type: typedef
      name: ap_generation_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/httpd/include/scoreboard.h
      type: int
    - item_type: typedef
      name: worker_score
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/httpd/include/scoreboard.h
      type: worker_score
    - item_type: typedef
      name: process_score
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/httpd/include/scoreboard.h
      type: process_score
    - item_type: typedef
      name: ap_sb_handle_t
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/httpd/include/scoreboard.h
      type: ap_sb_handle_t
    union: []
- function_names:
  - HTTP_VERSION
  - HTTP_VERSION_MAJOR
  - HTTP_VERSION_MINOR
  - ap_is_default_port
  - ap_default_port
  - ap_http_scheme
  - AP_DECLARE
  - AP_DECLARE_NONSTD
  - AP_MODULE_DECLARE
  - AP_MODULE_DECLARE_NONSTD
  - ap_is_HTTP_INFO
  - ap_is_HTTP_SUCCESS
  - ap_is_HTTP_REDIRECT
  - ap_is_HTTP_ERROR
  - ap_is_HTTP_CLIENT_ERROR
  - ap_is_HTTP_SERVER_ERROR
  - ap_is_HTTP_VALID_RESPONSE
  - ap_status_drops_connection
  - AP_STATUS_IS_HEADER_ONLY
  - AP_REQUEST_GET_BNOTE
  - AP_REQUEST_SET_BNOTE
  - AP_REQUEST_IS_STRONG_ETAG
  - AP_REQUEST_IS_TRUSTED_CT
  - AP_IS_DEFAULT_HANDLER_NAME
  - ap_escape_uri
  - ap_escape_html
  - ap_assert
  - AP_DEBUG_ASSERT
  - AP_DEBUG_ASSERT
  - RAISE_SIGSTOP
  - strchr
  - strrchr
  - strstr
  - ap_strchr
  - ap_strchr_c
  - ap_strrchr
  - ap_strrchr_c
  - ap_strstr
  - ap_strstr_c
  - AP_IS_SLASH
  - AP_IS_SLASH
  source_file: /src/httpd/include/httpd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_ROOT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/os2httpd"'
    - item_type: preproc_def
      name: HTTPD_ROOT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/apache"'
    - item_type: preproc_def
      name: HTTPD_ROOT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/apache"'
    - item_type: preproc_def
      name: HTTPD_ROOT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/usr/local/apache"'
    - item_type: preproc_def
      name: DOCUMENT_LOCATION
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/include/httpd.h
      type_or_value: HTTPD_ROOT "/docs"
    - item_type: preproc_def
      name: DOCUMENT_LOCATION
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/httpd/include/httpd.h
      type_or_value: HTTPD_ROOT "/htdocs"
    - item_type: preproc_def
      name: DYNAMIC_MODULE_LIMIT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/httpd/include/httpd.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DEFAULT_ADMIN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"[no address given]"'
    - item_type: preproc_def
      name: DEFAULT_ERRORLOG
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"logs/error.log"'
    - item_type: preproc_def
      name: DEFAULT_ERRORLOG
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"logs/error_log"'
    - item_type: preproc_def
      name: DEFAULT_ACCESS_FNAME
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"htaccess"'
    - item_type: preproc_def
      name: DEFAULT_ACCESS_FNAME
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/httpd/include/httpd.h
      type_or_value: '".htaccess"'
    - item_type: preproc_def
      name: SERVER_CONFIG_FILE
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"conf/httpd.conf"'
    - item_type: preproc_def
      name: DEFAULT_PATH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin"'
    - item_type: preproc_def
      name: SUEXEC_BIN
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/include/httpd.h
      type_or_value: HTTPD_ROOT "/bin/suexec"
    - item_type: preproc_def
      name: DEFAULT_TIMEOUT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/httpd/include/httpd.h
      type_or_value: '60'
    - item_type: preproc_def
      name: DEFAULT_KEEPALIVE_TIMEOUT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/include/httpd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_KEEPALIVE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/include/httpd.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_LIMIT_REQUEST_LINE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8190'
    - item_type: preproc_def
      name: DEFAULT_LIMIT_REQUEST_FIELDSIZE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8190'
    - item_type: preproc_def
      name: DEFAULT_LIMIT_REQUEST_FIELDS
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/httpd/include/httpd.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_LIMIT_BLANK_LINES
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/httpd/include/httpd.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_ADD_DEFAULT_CHARSET_NAME
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"iso-8859-1"'
    - item_type: preproc_def
      name: AP_SERVER_PROTOCOL
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"HTTP/1.1"'
    - item_type: preproc_def
      name: AP_DEFAULT_INDEX
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"index.html"'
    - item_type: preproc_def
      name: AP_TYPES_CONFIG_FILE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"conf/mime.types"'
    - item_type: preproc_def
      name: DOCTYPE_HTML_2_0
      pos:
        line_end: 237
        line_start: 235
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE HTML PUBLIC \\\"-//IETF//\" \\\n                          \"DTD
        HTML 2.0//EN\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_HTML_3_2
      pos:
        line_end: 240
        line_start: 238
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE HTML PUBLIC \\\"-//W3C//\" \\\n                          \"DTD
        HTML 3.2 Final//EN\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_HTML_4_0S
      pos:
        line_end: 244
        line_start: 241
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE HTML PUBLIC \\\"-//W3C//\" \\\n                          \"DTD
        HTML 4.0//EN\\\"\\n\" \\\n                          \"\\\"http://www.w3.org/TR/REC-html40/strict.dtd\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_HTML_4_0T
      pos:
        line_end: 248
        line_start: 245
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE HTML PUBLIC \\\"-//W3C//\" \\\n                          \"DTD
        HTML 4.0 Transitional//EN\\\"\\n\" \\\n                          \"\\\"http://www.w3.org/TR/REC-html40/loose.dtd\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_HTML_4_0F
      pos:
        line_end: 252
        line_start: 249
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE HTML PUBLIC \\\"-//W3C//\" \\\n                          \"DTD
        HTML 4.0 Frameset//EN\\\"\\n\" \\\n                          \"\\\"http://www.w3.org/TR/REC-html40/frameset.dtd\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_HTML_4_01
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"'
    - item_type: preproc_def
      name: DOCTYPE_HTML_5
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"<!DOCTYPE html>\n"'
    - item_type: preproc_def
      name: DOCTYPE_XHTML_1_0S
      pos:
        line_end: 261
        line_start: 257
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE html PUBLIC \\\"-//W3C//\" \\\n                           \"DTD
        XHTML 1.0 Strict//EN\\\"\\n\" \\\n                           \"\\\"http://www.w3.org/TR/xhtml1/DTD/\"
        \\\n                           \"xhtml1-strict.dtd\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_XHTML_1_0T
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE html PUBLIC \\\"-//W3C//\" \\\n                           \"DTD
        XHTML 1.0 Transitional//EN\\\"\\n\" \\\n                           \"\\\"http://www.w3.org/TR/xhtml1/DTD/\"
        \\\n                           \"xhtml1-transitional.dtd\\\">\\n\""
    - item_type: preproc_def
      name: DOCTYPE_XHTML_1_0F
      pos:
        line_end: 271
        line_start: 267
        source_file: /src/httpd/include/httpd.h
      type_or_value: "\"<!DOCTYPE html PUBLIC \\\"-//W3C//\" \\\n                           \"DTD
        XHTML 1.0 Frameset//EN\\\"\\n\" \\\n                           \"\\\"http://www.w3.org/TR/xhtml1/DTD/\"
        \\\n                           \"xhtml1-frameset.dtd\\\">\""
    - item_type: preproc_def
      name: DEFAULT_HTTP_PORT
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/httpd/include/httpd.h
      type_or_value: '80'
    - item_type: preproc_def
      name: DEFAULT_HTTPS_PORT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/httpd/include/httpd.h
      type_or_value: '443'
    - item_type: preproc_def
      name: MAX_STRING_LEN
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/httpd/include/httpd.h
      type_or_value: HUGE_STRING_LEN
    - item_type: preproc_def
      name: HUGE_STRING_LEN
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: AP_IOBUFSIZE
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: AP_MAX_REG_MATCH
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/httpd/include/httpd.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AP_MAX_SENDFILE
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/httpd/include/httpd.h
      type_or_value: '16777216  '
    - item_type: preproc_def
      name: APEXIT_OK
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: APEXIT_INIT
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: APEXIT_CHILDINIT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: APEXIT_CHILDSICK
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0x7'
    - item_type: preproc_def
      name: APEXIT_CHILDFATAL
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0xf'
    - item_type: preproc_def
      name: AP_CORE_DECLARE
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/httpd/include/httpd.h
      type_or_value: AP_DECLARE
    - item_type: preproc_def
      name: AP_CORE_DECLARE_NONSTD
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/httpd/include/httpd.h
      type_or_value: AP_DECLARE_NONSTD
    - item_type: preproc_def
      name: AP_START_USERERR
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/httpd/include/httpd.h
      type_or_value: (APR_OS_START_USERERR + 2000)
    - item_type: preproc_def
      name: AP_USERERR_LEN
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: AP_DECLINED
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/httpd/include/httpd.h
      type_or_value: (AP_START_USERERR + 0)
    - item_type: preproc_def
      name: OK
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: DECLINED
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-1  '
    - item_type: preproc_def
      name: DONE
      pos:
        line_end: 465
        line_start: 462
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-2  '
    - item_type: preproc_def
      name: SUSPENDED
      pos:
        line_end: 467
        line_start: 465
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-3  '
    - item_type: preproc_def
      name: AP_NOBODY_WROTE
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-100'
    - item_type: preproc_def
      name: AP_NOBODY_READ
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-101'
    - item_type: preproc_def
      name: AP_FILTER_ERROR
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/httpd/include/httpd.h
      type_or_value: '-102'
    - item_type: preproc_def
      name: RESPONSE_CODES
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/httpd/include/httpd.h
      type_or_value: '104'
    - item_type: preproc_def
      name: HTTP_CONTINUE
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/httpd/include/httpd.h
      type_or_value: '100'
    - item_type: preproc_def
      name: HTTP_SWITCHING_PROTOCOLS
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/httpd/include/httpd.h
      type_or_value: '101'
    - item_type: preproc_def
      name: HTTP_PROCESSING
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/httpd/include/httpd.h
      type_or_value: '102'
    - item_type: preproc_def
      name: HTTP_EARLY_HINTS
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/httpd/include/httpd.h
      type_or_value: '103'
    - item_type: preproc_def
      name: HTTP_OK
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/httpd/include/httpd.h
      type_or_value: '200'
    - item_type: preproc_def
      name: HTTP_CREATED
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/httpd/include/httpd.h
      type_or_value: '201'
    - item_type: preproc_def
      name: HTTP_ACCEPTED
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/httpd/include/httpd.h
      type_or_value: '202'
    - item_type: preproc_def
      name: HTTP_NON_AUTHORITATIVE
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/httpd/include/httpd.h
      type_or_value: '203'
    - item_type: preproc_def
      name: HTTP_NO_CONTENT
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/httpd/include/httpd.h
      type_or_value: '204'
    - item_type: preproc_def
      name: HTTP_RESET_CONTENT
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/httpd/include/httpd.h
      type_or_value: '205'
    - item_type: preproc_def
      name: HTTP_PARTIAL_CONTENT
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/httpd/include/httpd.h
      type_or_value: '206'
    - item_type: preproc_def
      name: HTTP_MULTI_STATUS
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/httpd/include/httpd.h
      type_or_value: '207'
    - item_type: preproc_def
      name: HTTP_ALREADY_REPORTED
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/httpd/include/httpd.h
      type_or_value: '208'
    - item_type: preproc_def
      name: HTTP_IM_USED
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/httpd/include/httpd.h
      type_or_value: '226'
    - item_type: preproc_def
      name: HTTP_MULTIPLE_CHOICES
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/httpd/include/httpd.h
      type_or_value: '300'
    - item_type: preproc_def
      name: HTTP_MOVED_PERMANENTLY
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/httpd/include/httpd.h
      type_or_value: '301'
    - item_type: preproc_def
      name: HTTP_MOVED_TEMPORARILY
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/httpd/include/httpd.h
      type_or_value: '302'
    - item_type: preproc_def
      name: HTTP_SEE_OTHER
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/httpd/include/httpd.h
      type_or_value: '303'
    - item_type: preproc_def
      name: HTTP_NOT_MODIFIED
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/httpd/include/httpd.h
      type_or_value: '304'
    - item_type: preproc_def
      name: HTTP_USE_PROXY
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/httpd/include/httpd.h
      type_or_value: '305'
    - item_type: preproc_def
      name: HTTP_TEMPORARY_REDIRECT
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/httpd/include/httpd.h
      type_or_value: '307'
    - item_type: preproc_def
      name: HTTP_PERMANENT_REDIRECT
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/httpd/include/httpd.h
      type_or_value: '308'
    - item_type: preproc_def
      name: HTTP_BAD_REQUEST
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/httpd/include/httpd.h
      type_or_value: '400'
    - item_type: preproc_def
      name: HTTP_UNAUTHORIZED
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/httpd/include/httpd.h
      type_or_value: '401'
    - item_type: preproc_def
      name: HTTP_PAYMENT_REQUIRED
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/httpd/include/httpd.h
      type_or_value: '402'
    - item_type: preproc_def
      name: HTTP_FORBIDDEN
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/httpd/include/httpd.h
      type_or_value: '403'
    - item_type: preproc_def
      name: HTTP_NOT_FOUND
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/httpd/include/httpd.h
      type_or_value: '404'
    - item_type: preproc_def
      name: HTTP_METHOD_NOT_ALLOWED
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/httpd/include/httpd.h
      type_or_value: '405'
    - item_type: preproc_def
      name: HTTP_NOT_ACCEPTABLE
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/httpd/include/httpd.h
      type_or_value: '406'
    - item_type: preproc_def
      name: HTTP_PROXY_AUTHENTICATION_REQUIRED
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/httpd/include/httpd.h
      type_or_value: '407'
    - item_type: preproc_def
      name: HTTP_REQUEST_TIME_OUT
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/httpd/include/httpd.h
      type_or_value: '408'
    - item_type: preproc_def
      name: HTTP_CONFLICT
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/httpd/include/httpd.h
      type_or_value: '409'
    - item_type: preproc_def
      name: HTTP_GONE
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/httpd/include/httpd.h
      type_or_value: '410'
    - item_type: preproc_def
      name: HTTP_LENGTH_REQUIRED
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/httpd/include/httpd.h
      type_or_value: '411'
    - item_type: preproc_def
      name: HTTP_PRECONDITION_FAILED
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/httpd/include/httpd.h
      type_or_value: '412'
    - item_type: preproc_def
      name: HTTP_REQUEST_ENTITY_TOO_LARGE
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/httpd/include/httpd.h
      type_or_value: '413'
    - item_type: preproc_def
      name: HTTP_REQUEST_URI_TOO_LARGE
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/httpd/include/httpd.h
      type_or_value: '414'
    - item_type: preproc_def
      name: HTTP_UNSUPPORTED_MEDIA_TYPE
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/httpd/include/httpd.h
      type_or_value: '415'
    - item_type: preproc_def
      name: HTTP_RANGE_NOT_SATISFIABLE
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/httpd/include/httpd.h
      type_or_value: '416'
    - item_type: preproc_def
      name: HTTP_EXPECTATION_FAILED
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/httpd/include/httpd.h
      type_or_value: '417'
    - item_type: preproc_def
      name: HTTP_IM_A_TEAPOT
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/httpd/include/httpd.h
      type_or_value: '418'
    - item_type: preproc_def
      name: HTTP_MISDIRECTED_REQUEST
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/httpd/include/httpd.h
      type_or_value: '421'
    - item_type: preproc_def
      name: HTTP_UNPROCESSABLE_ENTITY
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/httpd/include/httpd.h
      type_or_value: '422'
    - item_type: preproc_def
      name: HTTP_LOCKED
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/httpd/include/httpd.h
      type_or_value: '423'
    - item_type: preproc_def
      name: HTTP_FAILED_DEPENDENCY
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/httpd/include/httpd.h
      type_or_value: '424'
    - item_type: preproc_def
      name: HTTP_TOO_EARLY
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/httpd/include/httpd.h
      type_or_value: '425'
    - item_type: preproc_def
      name: HTTP_UPGRADE_REQUIRED
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/httpd/include/httpd.h
      type_or_value: '426'
    - item_type: preproc_def
      name: HTTP_PRECONDITION_REQUIRED
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/httpd/include/httpd.h
      type_or_value: '428'
    - item_type: preproc_def
      name: HTTP_TOO_MANY_REQUESTS
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/httpd/include/httpd.h
      type_or_value: '429'
    - item_type: preproc_def
      name: HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/httpd/include/httpd.h
      type_or_value: '431'
    - item_type: preproc_def
      name: HTTP_UNAVAILABLE_FOR_LEGAL_REASONS
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/httpd/include/httpd.h
      type_or_value: '451'
    - item_type: preproc_def
      name: HTTP_INTERNAL_SERVER_ERROR
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/httpd/include/httpd.h
      type_or_value: '500'
    - item_type: preproc_def
      name: HTTP_NOT_IMPLEMENTED
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/httpd/include/httpd.h
      type_or_value: '501'
    - item_type: preproc_def
      name: HTTP_BAD_GATEWAY
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/httpd/include/httpd.h
      type_or_value: '502'
    - item_type: preproc_def
      name: HTTP_SERVICE_UNAVAILABLE
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/httpd/include/httpd.h
      type_or_value: '503'
    - item_type: preproc_def
      name: HTTP_GATEWAY_TIME_OUT
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/httpd/include/httpd.h
      type_or_value: '504'
    - item_type: preproc_def
      name: HTTP_VERSION_NOT_SUPPORTED
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/httpd/include/httpd.h
      type_or_value: '505'
    - item_type: preproc_def
      name: HTTP_VARIANT_ALSO_VARIES
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/httpd/include/httpd.h
      type_or_value: '506'
    - item_type: preproc_def
      name: HTTP_INSUFFICIENT_STORAGE
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/httpd/include/httpd.h
      type_or_value: '507'
    - item_type: preproc_def
      name: HTTP_LOOP_DETECTED
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/httpd/include/httpd.h
      type_or_value: '508'
    - item_type: preproc_def
      name: HTTP_NOT_EXTENDED
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/httpd/include/httpd.h
      type_or_value: '510'
    - item_type: preproc_def
      name: HTTP_NETWORK_AUTHENTICATION_REQUIRED
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/httpd/include/httpd.h
      type_or_value: '511'
    - item_type: preproc_def
      name: M_GET
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0       '
    - item_type: preproc_def
      name: M_PUT
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: M_POST
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: M_DELETE
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/httpd/include/httpd.h
      type_or_value: '3'
    - item_type: preproc_def
      name: M_CONNECT
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/httpd/include/httpd.h
      type_or_value: '4'
    - item_type: preproc_def
      name: M_OPTIONS
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/httpd/include/httpd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: M_TRACE
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/httpd/include/httpd.h
      type_or_value: '6       '
    - item_type: preproc_def
      name: M_PATCH
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/httpd/include/httpd.h
      type_or_value: '7       '
    - item_type: preproc_def
      name: M_PROPFIND
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8       '
    - item_type: preproc_def
      name: M_PROPPATCH
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/httpd/include/httpd.h
      type_or_value: '9       '
    - item_type: preproc_def
      name: M_MKCOL
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/httpd/include/httpd.h
      type_or_value: '10'
    - item_type: preproc_def
      name: M_COPY
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/httpd/include/httpd.h
      type_or_value: '11'
    - item_type: preproc_def
      name: M_MOVE
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/httpd/include/httpd.h
      type_or_value: '12'
    - item_type: preproc_def
      name: M_LOCK
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/httpd/include/httpd.h
      type_or_value: '13'
    - item_type: preproc_def
      name: M_UNLOCK
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/httpd/include/httpd.h
      type_or_value: '14      '
    - item_type: preproc_def
      name: M_VERSION_CONTROL
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/httpd/include/httpd.h
      type_or_value: '15      '
    - item_type: preproc_def
      name: M_CHECKOUT
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/httpd/include/httpd.h
      type_or_value: '16      '
    - item_type: preproc_def
      name: M_UNCHECKOUT
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/httpd/include/httpd.h
      type_or_value: '17'
    - item_type: preproc_def
      name: M_CHECKIN
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/httpd/include/httpd.h
      type_or_value: '18'
    - item_type: preproc_def
      name: M_UPDATE
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/httpd/include/httpd.h
      type_or_value: '19'
    - item_type: preproc_def
      name: M_LABEL
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/httpd/include/httpd.h
      type_or_value: '20'
    - item_type: preproc_def
      name: M_REPORT
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/httpd/include/httpd.h
      type_or_value: '21'
    - item_type: preproc_def
      name: M_MKWORKSPACE
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/httpd/include/httpd.h
      type_or_value: '22'
    - item_type: preproc_def
      name: M_MKACTIVITY
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/httpd/include/httpd.h
      type_or_value: '23'
    - item_type: preproc_def
      name: M_BASELINE_CONTROL
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/httpd/include/httpd.h
      type_or_value: '24'
    - item_type: preproc_def
      name: M_MERGE
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/httpd/include/httpd.h
      type_or_value: '25'
    - item_type: preproc_def
      name: M_INVALID
      pos:
        line_end: 634
        line_start: 631
        source_file: /src/httpd/include/httpd.h
      type_or_value: '26      '
    - item_type: preproc_def
      name: METHODS
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/httpd/include/httpd.h
      type_or_value: '64'
    - item_type: preproc_def
      name: AP_METHOD_BIT
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/httpd/include/httpd.h
      type_or_value: ((ap_method_mask_t)1)
    - item_type: preproc_def
      name: AP_REQUEST_STRONG_ETAG
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: AP_REQUEST_TRUSTED_CT
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: CGI_MAGIC_TYPE
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"application/x-httpd-cgi"'
    - item_type: preproc_def
      name: INCLUDES_MAGIC_TYPE
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"text/x-server-parsed-html"'
    - item_type: preproc_def
      name: INCLUDES_MAGIC_TYPE3
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"text/x-server-parsed-html3"'
    - item_type: preproc_def
      name: DIR_MAGIC_TYPE
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"httpd/unix-directory"'
    - item_type: preproc_def
      name: AP_DEFAULT_HANDLER_NAME
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/httpd/include/httpd.h
      type_or_value: '""'
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/httpd/include/httpd.h
      type_or_value: '10'
    - item_type: preproc_def
      name: CR
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/httpd/include/httpd.h
      type_or_value: '13'
    - item_type: preproc_def
      name: CRLF
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"\015\012"'
    - item_type: preproc_def
      name: CR
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/httpd/include/httpd.h
      type_or_value: '''\r'''
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/httpd/include/httpd.h
      type_or_value: '''\n'''
    - item_type: preproc_def
      name: CRLF
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: CRLF_ASCII
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"\015\012"'
    - item_type: preproc_def
      name: ZERO_ASCII
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"\060"'
    - item_type: preproc_def
      name: REQUEST_NO_BODY
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: REQUEST_CHUNKED_ERROR
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: REQUEST_CHUNKED_DECHUNK
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AP_REQ_ACCEPT_PATH_INFO
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_REQ_REJECT_PATH_INFO
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_REQ_DEFAULT_PATH_INFO
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PROXYREQ_NONE
      pos:
        line_end: 1181
        line_start: 1180
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0     '
    - item_type: preproc_def
      name: PROXYREQ_PROXY
      pos:
        line_end: 1182
        line_start: 1181
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: PROXYREQ_REVERSE
      pos:
        line_end: 1183
        line_start: 1182
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2     '
    - item_type: preproc_def
      name: PROXYREQ_RESPONSE
      pos:
        line_end: 1184
        line_start: 1183
        source_file: /src/httpd/include/httpd.h
      type_or_value: '3     '
    - item_type: preproc_def
      name: DEFAULT_VHOST_ADDR
      pos:
        line_end: 1372
        line_start: 1371
        source_file: /src/httpd/include/httpd.h
      type_or_value: 0xfffffffful
    - item_type: preproc_def
      name: AP_UNESCAPE_URL_KEEP_UNRESERVED
      pos:
        line_end: 1837
        line_start: 1836
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: AP_UNESCAPE_URL_FORBID_SLASHES
      pos:
        line_end: 1838
        line_start: 1837
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: AP_UNESCAPE_URL_KEEP_SLASHES
      pos:
        line_end: 1839
        line_start: 1838
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: AP_NORMALIZE_ALLOW_RELATIVE
      pos:
        line_end: 1874
        line_start: 1873
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u <<  0)
    - item_type: preproc_def
      name: AP_NORMALIZE_NOT_ABOVE_ROOT
      pos:
        line_end: 1875
        line_start: 1874
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: AP_NORMALIZE_DECODE_UNRESERVED
      pos:
        line_end: 1876
        line_start: 1875
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: AP_NORMALIZE_MERGE_SLASHES
      pos:
        line_end: 1877
        line_start: 1876
        source_file: /src/httpd/include/httpd.h
      type_or_value: (1u <<  3)
    - item_type: preproc_def
      name: AP_NORMALIZE_DROP_PARAMETERS
      pos:
        line_end: 1878
        line_start: 1877
        source_file: /src/httpd/include/httpd.h
      type_or_value: '(0) '
    - item_type: preproc_def
      name: AP_TAINT_HTACCESS
      pos:
        line_end: 2375
        line_start: 2374
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: SIGSTOP_DETACH
      pos:
        line_end: 2500
        line_start: 2499
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIGSTOP_MAKE_CHILD
      pos:
        line_end: 2502
        line_start: 2501
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIGSTOP_SPAWN_CHILD
      pos:
        line_end: 2504
        line_start: 2503
        source_file: /src/httpd/include/httpd.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIGSTOP_PIPED_LOG_SPAWN
      pos:
        line_end: 2506
        line_start: 2505
        source_file: /src/httpd/include/httpd.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIGSTOP_CGI_CHILD
      pos:
        line_end: 2508
        line_start: 2507
        source_file: /src/httpd/include/httpd.h
      type_or_value: '16'
    - item_type: preproc_def
      name: apr_palloc
      pos:
        line_end: 2559
        line_start: 2558
        source_file: /src/httpd/include/httpd.h
      type_or_value: ap_palloc_debug
    - item_type: preproc_def
      name: apr_pcalloc
      pos:
        line_end: 2567
        line_start: 2566
        source_file: /src/httpd/include/httpd.h
      type_or_value: ap_pcalloc_debug
    - item_type: preproc_def
      name: AP_THREAD_LOCAL
      pos:
        line_end: 2663
        line_start: 2662
        source_file: /src/httpd/include/httpd.h
      type_or_value: APR_THREAD_LOCAL
    - item_type: preproc_def
      name: ap_thread_current
      pos:
        line_end: 2665
        line_start: 2664
        source_file: /src/httpd/include/httpd.h
      type_or_value: apr_thread_current
    - item_type: preproc_def
      name: ap_thread_current_create
      pos:
        line_end: 2666
        line_start: 2665
        source_file: /src/httpd/include/httpd.h
      type_or_value: apr_thread_current_create
    - item_type: preproc_def
      name: ap_thread_current_after_fork
      pos:
        line_end: 2667
        line_start: 2666
        source_file: /src/httpd/include/httpd.h
      type_or_value: apr_thread_current_after_fork
    - item_type: preproc_def
      name: AP_THREAD_LOCAL
      pos:
        line_end: 2676
        line_start: 2675
        source_file: /src/httpd/include/httpd.h
      type_or_value: thread_local
    - item_type: preproc_def
      name: AP_THREAD_LOCAL
      pos:
        line_end: 2680
        line_start: 2679
        source_file: /src/httpd/include/httpd.h
      type_or_value: _Thread_local
    - item_type: preproc_def
      name: AP_THREAD_LOCAL
      pos:
        line_end: 2682
        line_start: 2681
        source_file: /src/httpd/include/httpd.h
      type_or_value: __thread
    - item_type: preproc_def
      name: AP_THREAD_LOCAL
      pos:
        line_end: 2684
        line_start: 2683
        source_file: /src/httpd/include/httpd.h
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: AP_HAS_THREAD_LOCAL
      pos:
        line_end: 2699
        line_start: 2698
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_HAS_THREAD_LOCAL
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_NORESTART
      pos:
        line_end: 2759
        line_start: 2758
        source_file: /src/httpd/include/httpd.h
      type_or_value: APR_OS_START_USEERR + 1
    - item_type: preproc_def
      name: AP_DIR_FLAG_NONE
      pos:
        line_end: 2814
        line_start: 2813
        source_file: /src/httpd/include/httpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_DIR_FLAG_OPTIONAL
      pos:
        line_end: 2820
        line_start: 2819
        source_file: /src/httpd/include/httpd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_DIR_FLAG_RECURSIVE
      pos:
        line_end: 2826
        line_start: 2825
        source_file: /src/httpd/include/httpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: apr_filepath_merge
      pos:
        line_end: 2928
        line_start: 2927
        source_file: /src/httpd/include/httpd.h
      type_or_value: ap_filepath_merge
    - item_type: preproc_def
      name: AP_SLASHES
      pos:
        line_end: 2936
        line_start: 2935
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/\\"'
    - item_type: preproc_def
      name: AP_SLASHES
      pos:
        line_end: 2939
        line_start: 2938
        source_file: /src/httpd/include/httpd.h
      type_or_value: '"/"'
    structs:
    - fields:
      - name: major
        type: int
      - name: minor
        type: int
      - name: patch
        type: int
      - name: '*add_string'
        type: char
      item_type: struct
      name: ap_version_t
      pos:
        line_end: 418
        line_start: 413
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: method_mask
        type: ap_method_mask_t
      - name: '*method_list'
        type: apr_array_header_t
      item_type: struct
      name: ap_method_list_t
      pos:
        line_end: 665
        line_start: 660
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*dir'
        type: char
      - name: override
        type: int
      - name: override_opts
        type: int
      - name: '*override_list'
        type: apr_table_t
      - name: '*htaccess'
        type: struct ap_conf_vector_t
      - name: '*next'
        type: struct htaccess_result
      item_type: struct
      name: htaccess_result
      pos:
        line_end: 819
        line_start: 806
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*pconf'
        type: apr_pool_t
      - name: '*short_name'
        type: char
      - name: '* const *argv'
        type: char
      - name: argc
        type: int
      item_type: struct
      name: process_rec
      pos:
        line_end: 860
        line_start: 849
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*connection'
        type: conn_rec
      - name: '*server'
        type: server_rec
      - name: '*next'
        type: request_rec
      - name: '*prev'
        type: request_rec
      - name: '*main'
        type: request_rec
      - name: '*the_request'
        type: char
      - name: assbackwards
        type: int
      - name: proxyreq
        type: int
      - name: header_only
        type: int
      - name: proto_num
        type: int
      - name: '*protocol'
        type: char
      - name: '*hostname'
        type: char
      - name: request_time
        type: apr_time_t
      - name: '*status_line'
        type: char
      - name: status
        type: int
      - name: method_number
        type: int
      - name: '*method'
        type: char
      - name: allowed
        type: ap_method_mask_t
      - name: '*allowed_xmethods'
        type: apr_array_header_t
      - name: '*allowed_methods'
        type: ap_method_list_t
      - name: sent_bodyct
        type: apr_off_t
      - name: bytes_sent
        type: apr_off_t
      - name: mtime
        type: apr_time_t
      - name: '*range'
        type: char
      - name: clength
        type: apr_off_t
      - name: chunked
        type: int
      - name: read_body
        type: int
      - name: read_chunked
        type: int
      - name: expecting_100
        type: unsigned
      - name: '*kept_body'
        type: apr_bucket_brigade
      - name: '*body_table'
        type: apr_table_t
      - name: remaining
        type: apr_off_t
      - name: read_length
        type: apr_off_t
      - name: '*headers_in'
        type: apr_table_t
      - name: '*headers_out'
        type: apr_table_t
      - name: '*err_headers_out'
        type: apr_table_t
      - name: '*subprocess_env'
        type: apr_table_t
      - name: '*notes'
        type: apr_table_t
      - name: '*content_type'
        type: char
      - name: '*handler'
        type: char
      - name: '*content_encoding'
        type: char
      - name: '*content_languages'
        type: apr_array_header_t
      - name: '*vlist_validator'
        type: char
      - name: '*user'
        type: char
      - name: '*ap_auth_type'
        type: char
      - name: '*unparsed_uri'
        type: char
      - name: '*uri'
        type: char
      - name: '*filename'
        type: char
      - name: '*canonical_filename'
        type: char
      - name: '*path_info'
        type: char
      - name: '*args'
        type: char
      - name: used_path_info
        type: int
      - name: eos_sent
        type: int
      - name: '*per_dir_config'
        type: struct ap_conf_vector_t
      - name: '*request_config'
        type: struct ap_conf_vector_t
      - name: '*log'
        type: struct ap_logconf
      - name: '*log_id'
        type: char
      - name: '*htaccess'
        type: struct htaccess_result
      - name: '*output_filters'
        type: struct ap_filter_t
      - name: '*input_filters'
        type: struct ap_filter_t
      - name: '*proto_output_filters'
        type: struct ap_filter_t
      - name: '*proto_input_filters'
        type: struct ap_filter_t
      - name: no_cache
        type: int
      - name: no_local_copy
        type: int
      - name: parsed_uri
        type: apr_uri_t
      - name: finfo
        type: apr_finfo_t
      - name: '*useragent_addr'
        type: apr_sockaddr_t
      - name: '*useragent_ip'
        type: char
      - name: '*trailers_in'
        type: apr_table_t
      - name: '*trailers_out'
        type: apr_table_t
      - name: '*useragent_host'
        type: char
      - name: double_reverse
        type: int
      - name: taint
        type: int
      - name: flushed
        type: unsigned int
      - name: bnotes
        type: ap_request_bnotes_t
      - name: body_indeterminate
        type: unsigned int
      - name: final_resp_passed
        type: unsigned int
      item_type: struct
      name: request_rec
      pos:
        line_end: 1168
        line_start: 865
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*base_server'
        type: server_rec
      - name: '*vhost_lookup_data'
        type: void
      - name: '*local_addr'
        type: apr_sockaddr_t
      - name: '*client_addr'
        type: apr_sockaddr_t
      - name: '*client_ip'
        type: char
      - name: '*remote_host'
        type: char
      - name: '*remote_logname'
        type: char
      - name: '*local_ip'
        type: char
      - name: '*local_host'
        type: char
      - name: id
        type: long
      - name: '*conn_config'
        type: struct ap_conf_vector_t
      - name: '*notes'
        type: apr_table_t
      - name: '*input_filters'
        type: struct ap_filter_t
      - name: '*output_filters'
        type: struct ap_filter_t
      - name: '*sbh'
        type: void
      - name: '*bucket_alloc'
        type: struct apr_bucket_alloc_t
      - name: '*cs'
        type: conn_state_t
      - name: clogging_input_filters
        type: unsigned int
      - name: double_reverse
        type: signed int
      - name: aborted
        type: unsigned
      - name: keepalive
        type: ap_conn_keepalive_e
      - name: keepalives
        type: int
      - name: '*log'
        type: struct ap_logconf
      - name: '*log_id'
        type: char
      - name: '*slaves'
        type: apr_array_header_t
      - name: '*master'
        type: conn_rec
      - name: '*ctx'
        type: void
      - name: '*suspended_baton'
        type: void
      - name: '*requests'
        type: apr_array_header_t
      - name: '*filter_conn_ctx'
        type: struct ap_filter_conn_ctx
      - name: async_filter
        type: int
      - name: outgoing
        type: int
      item_type: struct
      name: conn_rec
      pos:
        line_end: 1316
        line_start: 1202
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*c'
        type: conn_rec
      item_type: struct
      name: conn_slave_rec
      pos:
        line_end: 1320
        line_start: 1318
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: state
        type: conn_state_e
      - name: sense
        type: conn_sense_e
      item_type: struct
      name: conn_state_t
      pos:
        line_end: 1363
        line_start: 1358
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*next'
        type: server_addr_rec
      - name: '*virthost'
        type: char
      - name: '*host_addr'
        type: apr_sockaddr_t
      - name: host_port
        type: apr_port_t
      item_type: struct
      name: server_addr_rec
      pos:
        line_end: 1388
        line_start: 1379
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*module_levels'
        type: signed char
      - name: level
        type: int
      item_type: struct
      name: ap_logconf
      pos:
        line_end: 1396
        line_start: 1390
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*process'
        type: process_rec
      - name: '*next'
        type: server_rec
      - name: '*error_fname'
        type: char
      - name: '*error_log'
        type: apr_file_t
      - name: log
        type: struct ap_logconf
      - name: '*errorlog_provider'
        type: struct ap_errorlog_provider
      - name: '*errorlog_provider_handle'
        type: void
      - name: '*module_config'
        type: struct ap_conf_vector_t
      - name: '*lookup_defaults'
        type: struct ap_conf_vector_t
      - name: '*defn_name'
        type: char
      - name: defn_line_number
        type: unsigned
      - name: is_virtual
        type: char
      - name: port
        type: apr_port_t
      - name: '*server_scheme'
        type: char
      - name: '*server_admin'
        type: char
      - name: '*server_hostname'
        type: char
      - name: '*addrs'
        type: server_addr_rec
      - name: timeout
        type: apr_interval_time_t
      - name: keep_alive_timeout
        type: apr_interval_time_t
      - name: keep_alive_max
        type: int
      - name: keep_alive
        type: int
      - name: '*names'
        type: apr_array_header_t
      - name: '*wild_names'
        type: apr_array_header_t
      - name: '*path'
        type: char
      - name: pathlen
        type: int
      - name: limit_req_line
        type: int
      - name: limit_req_fieldsize
        type: int
      - name: limit_req_fields
        type: int
      - name: '*context'
        type: void
      - name: keep_alive_timeout_set
        type: unsigned int
      item_type: struct
      name: server_rec
      pos:
        line_end: 1486
        line_start: 1400
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: idle
        type: int
      - name: busy
        type: int
      - name: bytes_served
        type: apr_off_t
      - name: access_count
        type: unsigned long
      item_type: struct
      name: ap_sload_t
      pos:
        line_end: 1502
        line_start: 1493
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: loadavg
        type: float
      - name: loadavg5
        type: float
      - name: loadavg15
        type: float
      item_type: struct
      name: ap_loadavg_t
      pos:
        line_end: 1516
        line_start: 1509
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: apr_bucket_brigade
      item_type: struct
      name: ap_form_pair_t
      pos:
        line_end: 2419
        line_start: 2416
        source_file: /src/httpd/include/httpd.h
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*ptemp'
        type: apr_pool_t
      - name: '*prefix'
        type: char
      - name: '*(*cb)(ap_dir_match_t *w, const char *fname)'
        type: char
      - name: '*ctx'
        type: void
      - name: flags
        type: int
      - name: depth
        type: unsigned int
      item_type: struct
      name: ap_dir_match_t
      pos:
        line_end: 2850
        line_start: 2835
        source_file: /src/httpd/include/httpd.h
    typedefs:
    - item_type: typedef
      name: ap_method_mask_t
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/httpd/include/httpd.h
      type: apr_uint64_t
    - item_type: typedef
      name: ap_method_list_t
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/httpd/include/httpd.h
      type: ap_method_list_t
    - item_type: typedef
      name: ap_request_bnotes_t
      pos:
        line_end: 679
        line_start: 679
        source_file: /src/httpd/include/httpd.h
      type: apr_uint64_t
    - item_type: typedef
      name: process_rec
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/httpd/include/httpd.h
      type: process_rec
    - item_type: typedef
      name: server_rec
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/httpd/include/httpd.h
      type: server_rec
    - item_type: typedef
      name: conn_rec
      pos:
        line_end: 834
        line_start: 834
        source_file: /src/httpd/include/httpd.h
      type: conn_rec
    - item_type: typedef
      name: conn_slave_rec
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/httpd/include/httpd.h
      type: conn_slave_rec
    - item_type: typedef
      name: request_rec
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/httpd/include/httpd.h
      type: request_rec
    - item_type: typedef
      name: conn_state_t
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/httpd/include/httpd.h
      type: conn_state_t
    - item_type: typedef
      name: server_addr_rec
      pos:
        line_end: 1378
        line_start: 1378
        source_file: /src/httpd/include/httpd.h
      type: server_addr_rec
    - item_type: typedef
      name: ap_sload_t
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/httpd/include/httpd.h
      type: ap_sload_t
    - item_type: typedef
      name: ap_loadavg_t
      pos:
        line_end: 1508
        line_start: 1508
        source_file: /src/httpd/include/httpd.h
      type: ap_loadavg_t
    - item_type: typedef
      name: ap_dir_match_t
      pos:
        line_end: 2830
        line_start: 2830
        source_file: /src/httpd/include/httpd.h
      type: ap_dir_match_t
    union: []
- function_names:
  - AP_ACCESS_CHECKER_DISPATCH_COMPLETE_ENABLED
  - AP_ACCESS_CHECKER_DISPATCH_INVOKE_ENABLED
  - AP_ACCESS_CHECKER_ENTRY_ENABLED
  - AP_ACCESS_CHECKER_RETURN_ENABLED
  - AP_AUTH_CHECKER_DISPATCH_COMPLETE_ENABLED
  - AP_AUTH_CHECKER_DISPATCH_INVOKE_ENABLED
  - AP_AUTH_CHECKER_ENTRY_ENABLED
  - AP_AUTH_CHECKER_RETURN_ENABLED
  - AP_CANON_HANDLER_DISPATCH_COMPLETE_ENABLED
  - AP_CANON_HANDLER_DISPATCH_INVOKE_ENABLED
  - AP_CANON_HANDLER_ENTRY_ENABLED
  - AP_CANON_HANDLER_RETURN_ENABLED
  - AP_CHECK_USER_ID_DISPATCH_COMPLETE_ENABLED
  - AP_CHECK_USER_ID_DISPATCH_INVOKE_ENABLED
  - AP_CHECK_USER_ID_ENTRY_ENABLED
  - AP_CHECK_USER_ID_RETURN_ENABLED
  - AP_CHILD_INIT_DISPATCH_COMPLETE_ENABLED
  - AP_CHILD_INIT_DISPATCH_INVOKE_ENABLED
  - AP_CHILD_INIT_ENTRY_ENABLED
  - AP_CHILD_INIT_RETURN_ENABLED
  - AP_CREATE_CONNECTION_DISPATCH_COMPLETE_ENABLED
  - AP_CREATE_CONNECTION_DISPATCH_INVOKE_ENABLED
  - AP_CREATE_CONNECTION_ENTRY_ENABLED
  - AP_CREATE_CONNECTION_RETURN_ENABLED
  - AP_CREATE_REQUEST_DISPATCH_COMPLETE_ENABLED
  - AP_CREATE_REQUEST_DISPATCH_INVOKE_ENABLED
  - AP_CREATE_REQUEST_ENTRY_ENABLED
  - AP_CREATE_REQUEST_RETURN_ENABLED
  - AP_DEFAULT_PORT_DISPATCH_COMPLETE_ENABLED
  - AP_DEFAULT_PORT_DISPATCH_INVOKE_ENABLED
  - AP_DEFAULT_PORT_ENTRY_ENABLED
  - AP_DEFAULT_PORT_RETURN_ENABLED
  - AP_ERROR_LOG_DISPATCH_COMPLETE_ENABLED
  - AP_ERROR_LOG_DISPATCH_INVOKE_ENABLED
  - AP_ERROR_LOG_ENTRY_ENABLED
  - AP_ERROR_LOG_RETURN_ENABLED
  - AP_FIND_LIVEPROP_DISPATCH_COMPLETE_ENABLED
  - AP_FIND_LIVEPROP_DISPATCH_INVOKE_ENABLED
  - AP_FIND_LIVEPROP_ENTRY_ENABLED
  - AP_FIND_LIVEPROP_RETURN_ENABLED
  - AP_FIXUPS_DISPATCH_COMPLETE_ENABLED
  - AP_FIXUPS_DISPATCH_INVOKE_ENABLED
  - AP_FIXUPS_ENTRY_ENABLED
  - AP_FIXUPS_RETURN_ENABLED
  - AP_GATHER_PROPSETS_DISPATCH_COMPLETE_ENABLED
  - AP_GATHER_PROPSETS_DISPATCH_INVOKE_ENABLED
  - AP_GATHER_PROPSETS_ENTRY_ENABLED
  - AP_GATHER_PROPSETS_RETURN_ENABLED
  - AP_GET_MGMT_ITEMS_DISPATCH_COMPLETE_ENABLED
  - AP_GET_MGMT_ITEMS_DISPATCH_INVOKE_ENABLED
  - AP_GET_MGMT_ITEMS_ENTRY_ENABLED
  - AP_GET_MGMT_ITEMS_RETURN_ENABLED
  - AP_GET_SUEXEC_IDENTITY_DISPATCH_COMPLETE_ENABLED
  - AP_GET_SUEXEC_IDENTITY_DISPATCH_INVOKE_ENABLED
  - AP_GET_SUEXEC_IDENTITY_ENTRY_ENABLED
  - AP_GET_SUEXEC_IDENTITY_RETURN_ENABLED
  - AP_HANDLER_DISPATCH_COMPLETE_ENABLED
  - AP_HANDLER_DISPATCH_INVOKE_ENABLED
  - AP_HANDLER_ENTRY_ENABLED
  - AP_HANDLER_RETURN_ENABLED
  - AP_HEADER_PARSER_DISPATCH_COMPLETE_ENABLED
  - AP_HEADER_PARSER_DISPATCH_INVOKE_ENABLED
  - AP_HEADER_PARSER_ENTRY_ENABLED
  - AP_HEADER_PARSER_RETURN_ENABLED
  - AP_HTTP_SCHEME_DISPATCH_COMPLETE_ENABLED
  - AP_HTTP_SCHEME_DISPATCH_INVOKE_ENABLED
  - AP_HTTP_SCHEME_ENTRY_ENABLED
  - AP_HTTP_SCHEME_RETURN_ENABLED
  - AP_INSERT_ALL_LIVEPROPS_DISPATCH_COMPLETE_ENABLED
  - AP_INSERT_ALL_LIVEPROPS_DISPATCH_INVOKE_ENABLED
  - AP_INSERT_ALL_LIVEPROPS_ENTRY_ENABLED
  - AP_INSERT_ALL_LIVEPROPS_RETURN_ENABLED
  - AP_INSERT_ERROR_FILTER_DISPATCH_COMPLETE_ENABLED
  - AP_INSERT_ERROR_FILTER_DISPATCH_INVOKE_ENABLED
  - AP_INSERT_ERROR_FILTER_ENTRY_ENABLED
  - AP_INSERT_ERROR_FILTER_RETURN_ENABLED
  - AP_INSERT_FILTER_DISPATCH_COMPLETE_ENABLED
  - AP_INSERT_FILTER_DISPATCH_INVOKE_ENABLED
  - AP_INSERT_FILTER_ENTRY_ENABLED
  - AP_INSERT_FILTER_RETURN_ENABLED
  - AP_INTERNAL_REDIRECT_ENABLED
  - AP_LOG_TRANSACTION_DISPATCH_COMPLETE_ENABLED
  - AP_LOG_TRANSACTION_DISPATCH_INVOKE_ENABLED
  - AP_LOG_TRANSACTION_ENTRY_ENABLED
  - AP_LOG_TRANSACTION_RETURN_ENABLED
  - AP_MAP_TO_STORAGE_DISPATCH_COMPLETE_ENABLED
  - AP_MAP_TO_STORAGE_DISPATCH_INVOKE_ENABLED
  - AP_MAP_TO_STORAGE_ENTRY_ENABLED
  - AP_MAP_TO_STORAGE_RETURN_ENABLED
  - AP_MONITOR_DISPATCH_COMPLETE_ENABLED
  - AP_MONITOR_DISPATCH_INVOKE_ENABLED
  - AP_MONITOR_ENTRY_ENABLED
  - AP_MONITOR_RETURN_ENABLED
  - AP_OPEN_LOGS_DISPATCH_COMPLETE_ENABLED
  - AP_OPEN_LOGS_DISPATCH_INVOKE_ENABLED
  - AP_OPEN_LOGS_ENTRY_ENABLED
  - AP_OPEN_LOGS_RETURN_ENABLED
  - AP_OPTIONAL_FN_RETRIEVE_DISPATCH_COMPLETE_ENABLED
  - AP_OPTIONAL_FN_RETRIEVE_DISPATCH_INVOKE_ENABLED
  - AP_OPTIONAL_FN_RETRIEVE_ENTRY_ENABLED
  - AP_OPTIONAL_FN_RETRIEVE_RETURN_ENABLED
  - AP_POST_CONFIG_DISPATCH_COMPLETE_ENABLED
  - AP_POST_CONFIG_DISPATCH_INVOKE_ENABLED
  - AP_POST_CONFIG_ENTRY_ENABLED
  - AP_POST_CONFIG_RETURN_ENABLED
  - AP_POST_READ_REQUEST_DISPATCH_COMPLETE_ENABLED
  - AP_POST_READ_REQUEST_DISPATCH_INVOKE_ENABLED
  - AP_POST_READ_REQUEST_ENTRY_ENABLED
  - AP_POST_READ_REQUEST_RETURN_ENABLED
  - AP_POST_REQUEST_DISPATCH_COMPLETE_ENABLED
  - AP_POST_REQUEST_DISPATCH_INVOKE_ENABLED
  - AP_POST_REQUEST_ENTRY_ENABLED
  - AP_POST_REQUEST_RETURN_ENABLED
  - AP_PRE_CONFIG_DISPATCH_COMPLETE_ENABLED
  - AP_PRE_CONFIG_DISPATCH_INVOKE_ENABLED
  - AP_PRE_CONFIG_ENTRY_ENABLED
  - AP_PRE_CONFIG_RETURN_ENABLED
  - AP_PRE_CONNECTION_DISPATCH_COMPLETE_ENABLED
  - AP_PRE_CONNECTION_DISPATCH_INVOKE_ENABLED
  - AP_PRE_CONNECTION_ENTRY_ENABLED
  - AP_PRE_CONNECTION_RETURN_ENABLED
  - AP_PRE_MPM_DISPATCH_COMPLETE_ENABLED
  - AP_PRE_MPM_DISPATCH_INVOKE_ENABLED
  - AP_PRE_MPM_ENTRY_ENABLED
  - AP_PRE_MPM_RETURN_ENABLED
  - AP_PRE_REQUEST_DISPATCH_COMPLETE_ENABLED
  - AP_PRE_REQUEST_DISPATCH_INVOKE_ENABLED
  - AP_PRE_REQUEST_ENTRY_ENABLED
  - AP_PRE_REQUEST_RETURN_ENABLED
  - AP_PROCESS_REQUEST_ENTRY_ENABLED
  - AP_PROCESS_REQUEST_RETURN_ENABLED
  - AP_PROCESS_CONNECTION_DISPATCH_COMPLETE_ENABLED
  - AP_PROCESS_CONNECTION_DISPATCH_INVOKE_ENABLED
  - AP_PROCESS_CONNECTION_ENTRY_ENABLED
  - AP_PROCESS_CONNECTION_RETURN_ENABLED
  - AP_PROXY_RUN_ENABLED
  - AP_PROXY_RUN_FINISHED_ENABLED
  - AP_QUICK_HANDLER_DISPATCH_COMPLETE_ENABLED
  - AP_QUICK_HANDLER_DISPATCH_INVOKE_ENABLED
  - AP_QUICK_HANDLER_ENTRY_ENABLED
  - AP_QUICK_HANDLER_RETURN_ENABLED
  - AP_READ_REQUEST_ENTRY_ENABLED
  - AP_READ_REQUEST_FAILURE_ENABLED
  - AP_READ_REQUEST_SUCCESS_ENABLED
  - AP_REWRITE_LOG_ENABLED
  - AP_SCHEME_HANDLER_DISPATCH_COMPLETE_ENABLED
  - AP_SCHEME_HANDLER_DISPATCH_INVOKE_ENABLED
  - AP_SCHEME_HANDLER_ENTRY_ENABLED
  - AP_SCHEME_HANDLER_RETURN_ENABLED
  - AP_TEST_CONFIG_DISPATCH_COMPLETE_ENABLED
  - AP_TEST_CONFIG_DISPATCH_INVOKE_ENABLED
  - AP_TEST_CONFIG_ENTRY_ENABLED
  - AP_TEST_CONFIG_RETURN_ENABLED
  - AP_TRANSLATE_NAME_DISPATCH_COMPLETE_ENABLED
  - AP_TRANSLATE_NAME_DISPATCH_INVOKE_ENABLED
  - AP_TRANSLATE_NAME_ENTRY_ENABLED
  - AP_TRANSLATE_NAME_RETURN_ENABLED
  - AP_TYPE_CHECKER_DISPATCH_COMPLETE_ENABLED
  - AP_TYPE_CHECKER_DISPATCH_INVOKE_ENABLED
  - AP_TYPE_CHECKER_ENTRY_ENABLED
  - AP_TYPE_CHECKER_RETURN_ENABLED
  source_file: /src/httpd/include/apache_noprobes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - APLOGNO
  - APLOG_MODULE_IS_LEVEL
  - APLOG_C_MODULE_IS_LEVEL
  - APLOG_CS_MODULE_IS_LEVEL
  - APLOG_R_MODULE_IS_LEVEL
  - APLOG_MODULE_IS_LEVEL
  - APLOG_CS_MODULE_IS_LEVEL
  - APLOG_C_MODULE_IS_LEVEL
  - APLOG_R_MODULE_IS_LEVEL
  - APLOG_IS_LEVEL
  - APLOG_C_IS_LEVEL
  - APLOG_CS_IS_LEVEL
  - APLOG_R_IS_LEVEL
  - APLOGinfo
  - APLOGdebug
  - APLOGtrace1
  - APLOGtrace2
  - APLOGtrace3
  - APLOGtrace4
  - APLOGtrace5
  - APLOGtrace6
  - APLOGtrace7
  - APLOGtrace8
  - APLOGrinfo
  - APLOGrdebug
  - APLOGrtrace1
  - APLOGrtrace2
  - APLOGrtrace3
  - APLOGrtrace4
  - APLOGrtrace5
  - APLOGrtrace6
  - APLOGrtrace7
  - APLOGrtrace8
  - APLOGcinfo
  - APLOGcdebug
  - APLOGctrace1
  - APLOGctrace2
  - APLOGctrace3
  - APLOGctrace4
  - APLOGctrace5
  - APLOGctrace6
  - APLOGctrace7
  - APLOGctrace8
  - ap_log_error
  - ap_log_error__
  - ap_log_perror
  - ap_log_perror__
  - ap_log_rerror
  - ap_log_rerror__
  - ap_log_cerror
  - ap_log_cerror__
  - ap_log_cserror
  - ap_log_cserror__
  - ap_log_data
  - ap_log_data__
  - ap_log_rdata
  - ap_log_rdata__
  - ap_log_cdata
  - ap_log_cdata__
  - ap_log_csdata
  - ap_log_csdata__
  source_file: /src/httpd/include/http_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_PRIMASK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/include/http_log.h
      type_or_value: '7'
    - item_type: preproc_def
      name: APLOG_EMERG
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_EMERG       '
    - item_type: preproc_def
      name: APLOG_ALERT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_ALERT       '
    - item_type: preproc_def
      name: APLOG_CRIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_CRIT        '
    - item_type: preproc_def
      name: APLOG_ERR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_ERR         '
    - item_type: preproc_def
      name: APLOG_WARNING
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_WARNING     '
    - item_type: preproc_def
      name: APLOG_NOTICE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_NOTICE      '
    - item_type: preproc_def
      name: APLOG_INFO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_INFO        '
    - item_type: preproc_def
      name: APLOG_DEBUG
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/include/http_log.h
      type_or_value: 'LOG_DEBUG       '
    - item_type: preproc_def
      name: APLOG_TRACE1
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 1)  '
    - item_type: preproc_def
      name: APLOG_TRACE2
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 2)  '
    - item_type: preproc_def
      name: APLOG_TRACE3
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 3)  '
    - item_type: preproc_def
      name: APLOG_TRACE4
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 4)  '
    - item_type: preproc_def
      name: APLOG_TRACE5
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 5)  '
    - item_type: preproc_def
      name: APLOG_TRACE6
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 6)  '
    - item_type: preproc_def
      name: APLOG_TRACE7
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 7)  '
    - item_type: preproc_def
      name: APLOG_TRACE8
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(LOG_DEBUG + 8)  '
    - item_type: preproc_def
      name: APLOG_LEVELMASK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/include/http_log.h
      type_or_value: '15     '
    - item_type: preproc_def
      name: APLOG_EMERG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/include/http_log.h
      type_or_value: '0     '
    - item_type: preproc_def
      name: APLOG_ALERT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/include/http_log.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: APLOG_CRIT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/include/http_log.h
      type_or_value: '2     '
    - item_type: preproc_def
      name: APLOG_ERR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/include/http_log.h
      type_or_value: '3     '
    - item_type: preproc_def
      name: APLOG_WARNING
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/include/http_log.h
      type_or_value: '4     '
    - item_type: preproc_def
      name: APLOG_NOTICE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/include/http_log.h
      type_or_value: '5     '
    - item_type: preproc_def
      name: APLOG_INFO
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/include/http_log.h
      type_or_value: '6     '
    - item_type: preproc_def
      name: APLOG_DEBUG
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/include/http_log.h
      type_or_value: '7     '
    - item_type: preproc_def
      name: APLOG_TRACE1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/include/http_log.h
      type_or_value: '8     '
    - item_type: preproc_def
      name: APLOG_TRACE2
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/include/http_log.h
      type_or_value: '9     '
    - item_type: preproc_def
      name: APLOG_TRACE3
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/include/http_log.h
      type_or_value: '10     '
    - item_type: preproc_def
      name: APLOG_TRACE4
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/include/http_log.h
      type_or_value: '11     '
    - item_type: preproc_def
      name: APLOG_TRACE5
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/include/http_log.h
      type_or_value: '12     '
    - item_type: preproc_def
      name: APLOG_TRACE6
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/include/http_log.h
      type_or_value: '13     '
    - item_type: preproc_def
      name: APLOG_TRACE7
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/include/http_log.h
      type_or_value: '14     '
    - item_type: preproc_def
      name: APLOG_TRACE8
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/include/http_log.h
      type_or_value: '15     '
    - item_type: preproc_def
      name: APLOG_LEVELMASK
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/include/http_log.h
      type_or_value: '15     '
    - item_type: preproc_def
      name: APLOG_NOERRNO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/include/http_log.h
      type_or_value: (APLOG_LEVELMASK + 1)
    - item_type: preproc_def
      name: APLOG_TOCLIENT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/include/http_log.h
      type_or_value: ((APLOG_LEVELMASK + 1) * 2)
    - item_type: preproc_def
      name: APLOG_STARTUP
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/include/http_log.h
      type_or_value: ((APLOG_LEVELMASK + 1) * 4)
    - item_type: preproc_def
      name: DEFAULT_LOGLEVEL
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/include/http_log.h
      type_or_value: APLOG_WARNING
    - item_type: preproc_def
      name: APLOG_NO_MODULE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/httpd/include/http_log.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/httpd/include/http_log.h
      type_or_value: (*aplog_module_index)
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 169
        line_start: 167
        source_file: /src/httpd/include/http_log.h
      type_or_value: '(aplog_module_index ? *aplog_module_index : APLOG_NO_MODULE)'
    - item_type: preproc_def
      name: APLOG_MARK
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/httpd/include/http_log.h
      type_or_value: __FILE__,__LINE__,APLOG_MODULE_INDEX
    - item_type: preproc_def
      name: ap_log_error
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_error_
    - item_type: preproc_def
      name: ap_log_perror
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_perror_
    - item_type: preproc_def
      name: ap_log_rerror
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_rerror_
    - item_type: preproc_def
      name: ap_log_cerror
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_cerror_
    - item_type: preproc_def
      name: ap_log_cserror
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_cserror_
    - item_type: preproc_def
      name: AP_LOG_DATA_DEFAULT
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/httpd/include/http_log.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AP_LOG_DATA_SHOW_OFFSET
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/httpd/include/http_log.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ap_log_data
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_data_
    - item_type: preproc_def
      name: ap_log_rdata
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_rdata_
    - item_type: preproc_def
      name: ap_log_cdata
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_cdata_
    - item_type: preproc_def
      name: ap_log_cdata
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/httpd/include/http_log.h
      type_or_value: ap_log_cdata_
    structs: []
    typedefs:
    - item_type: typedef
      name: piped_log
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/httpd/include/http_log.h
      type: piped_log
    union: []
- function_names: []
  source_file: /src/httpd/support/suexec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_HTTPD_USER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/support/suexec.h
      type_or_value: '"www"'
    - item_type: preproc_def
      name: AP_UID_MIN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/support/suexec.h
      type_or_value: '100'
    - item_type: preproc_def
      name: AP_GID_MIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/support/suexec.h
      type_or_value: '100'
    - item_type: preproc_def
      name: AP_USERDIR_SUFFIX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/support/suexec.h
      type_or_value: '"public_html"'
    - item_type: preproc_def
      name: AP_LOG_EXEC
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/support/suexec.h
      type_or_value: 'DEFAULT_EXP_LOGFILEDIR "/suexec_log" '
    - item_type: preproc_def
      name: AP_DOC_ROOT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/support/suexec.h
      type_or_value: DEFAULT_EXP_HTDOCSDIR
    - item_type: preproc_def
      name: AP_SAFE_PATH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/support/suexec.h
      type_or_value: '"/usr/local/bin:/usr/bin:/bin"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mkrecord
  - usage
  - accessible
  - exists
  - terminate
  - check_args
  - verify
  - main
  source_file: /src/httpd/support/htpasswd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: unlink
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/support/htpasswd.c
      type_or_value: _unlink
    - item_type: preproc_def
      name: APHTP_NEWFILE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/support/htpasswd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: APHTP_NOFILE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/support/htpasswd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: APHTP_DELUSER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/support/htpasswd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: APHTP_VERIFY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/htpasswd.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - terminate
  - htdbm_terminate
  - htdbm_interrupted
  - htdbm_init
  - htdbm_open
  - htdbm_save
  - htdbm_del
  - htdbm_verify
  - htdbm_list
  - htdbm_make
  - htdbm_valid_username
  - htdbm_usage
  - main
  source_file: /src/httpd/support/htdbm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTDBM_MAKE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/support/htdbm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HTDBM_DELETE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/support/htdbm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HTDBM_VERIFY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/support/htdbm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HTDBM_LIST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/support/htdbm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: HTDBM_NOFILE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/support/htdbm.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*dbm'
        type: apr_dbm_t
      - name: ctx
        type: struct passwd_ctx
      - name: '*filename'
        type: char
      - name: '*username'
        type: char
      - name: '*comment'
        type: char
      - name: '*type'
        type: char
      - name: create
        type: int
      - name: rdonly
        type: int
      item_type: struct
      name: htdbm_t
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/httpd/support/htdbm.c
    typedefs:
    - item_type: typedef
      name: htdbm_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/httpd/support/htdbm.c
      type: htdbm_t
    union: []
- function_names: []
  source_file: /src/httpd/support/passwd_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_STRING_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ALG_PLAIN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ALG_CRYPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ALG_APMD5
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALG_APSHA
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ALG_BCRYPT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ALG_CRYPT_SHA256
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ALG_CRYPT_SHA512
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: BCRYPT_DEFAULT_COST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_FILEPERM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ERR_SYNTAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ERR_PWMISMATCH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ERR_INTERRUPTED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ERR_OVERFLOW
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_BADUSER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ERR_INVALID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: ERR_RANDOM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ERR_GENERAL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: ERR_ALG_NOT_SUPP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: APR_EOL_STR
    - item_type: preproc_def
      name: CRYPT_ALGO_SUPPORTED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLAIN_ALGO_SUPPORTED
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CRYPT_ALGO_SUPPORTED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLAIN_ALGO_SUPPORTED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BCRYPT_ALGO_SUPPORTED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BCRYPT_ALGO_SUPPORTED
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BCRYPT_ALGO_SUPPORTED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/support/passwd_common.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*errstr'
        type: char
      - name: '*out'
        type: char
      - name: out_len
        type: apr_size_t
      - name: '*passwd'
        type: char
      - name: alg
        type: int
      - name: cost
        type: int
      - name: passwd_src
        type: "enum {\n        PW_PROMPT = 0,\n        PW_ARG,\n        PW_STDIN,\n
          \       PW_PROMPT_VERIFY,\n    }"
      item_type: struct
      name: passwd_ctx
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/httpd/support/passwd_common.h
    typedefs: []
    union: []
- function_names:
  - usage
  - to_dbm
  - main
  source_file: /src/httpd/support/httxt2dbm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REWRITE_MAX_TXT_MAP_LINE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/support/httxt2dbm.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/support/httxt2dbm.c
      type_or_value: APR_EOL_STR
    - item_type: preproc_def
      name: AVAIL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/support/httxt2dbm.c
      type_or_value: '"available"'
    - item_type: preproc_def
      name: UNAVAIL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/support/httxt2dbm.c
      type_or_value: '"unavailable"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fake_file_remove
  - setterm
  - oom
  - printstats
  - round_up
  - delete_parent
  - delete_file
  - delete_entry
  - list_urls
  - process_dir
  - purge
  - remove_directory
  - find_directory
  - delete_url
  - usage
  - usage_repeated_arg
  - log_pid
  - main
  source_file: /src/httpd/support/htcacheclean.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NICE_DELAY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '10000     '
    - item_type: preproc_def
      name: DELETE_NICE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '10        '
    - item_type: preproc_def
      name: STAT_ATTEMPTS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '10        '
    - item_type: preproc_def
      name: STAT_DELAY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '5000      '
    - item_type: preproc_def
      name: HEADER
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '1         '
    - item_type: preproc_def
      name: DATA
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '2         '
    - item_type: preproc_def
      name: TEMP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '4         '
    - item_type: preproc_def
      name: HEADERDATA
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: (HEADER|DATA)
    - item_type: preproc_def
      name: MAXDEVIATION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '3600      '
    - item_type: preproc_def
      name: SECS_PER_MIN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '60'
    - item_type: preproc_def
      name: KBYTE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MBYTE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '1048576'
    - item_type: preproc_def
      name: GBYTE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: '1073741824'
    - item_type: preproc_def
      name: DIRINFO
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: (APR_FINFO_MTIME|APR_FINFO_SIZE|APR_FINFO_TYPE|APR_FINFO_LINK)
    - item_type: preproc_def
      name: apr_file_remove
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: fake_file_remove
    - item_type: preproc_def
      name: NL
      pos:
        line_end: 1277
        line_start: 1276
        source_file: /src/httpd/support/htcacheclean.c
      type_or_value: APR_EOL_STR
    structs:
    - fields:
      - name: (_direntry)
        type: APR_RING_ENTRY
      - name: type
        type: int
      - name: htime
        type: apr_time_t
      - name: dtime
        type: apr_time_t
      - name: hsize
        type: apr_off_t
      - name: dsize
        type: apr_off_t
      - name: '*basename'
        type: char
      item_type: struct
      name: _direntry
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/httpd/support/htcacheclean.c
    - fields:
      - name: link
        type: APR_RING_ENTRY
      - name: expire
        type: apr_time_t
      - name: response_time
        type: apr_time_t
      - name: htime
        type: apr_time_t
      - name: dtime
        type: apr_time_t
      - name: hsize
        type: apr_off_t
      - name: dsize
        type: apr_off_t
      - name: '*basename'
        type: char
      item_type: struct
      name: _entry
      pos:
        line_end: 92
        line_start: 83
        source_file: /src/httpd/support/htcacheclean.c
    - fields:
      - name: total
        type: apr_off_t
      - name: sum
        type: apr_off_t
      - name: max
        type: apr_off_t
      - name: ntotal
        type: apr_off_t
      - name: nodes
        type: apr_off_t
      - name: inodes
        type: apr_off_t
      - name: etotal
        type: apr_off_t
      - name: entries
        type: apr_off_t
      - name: dfuture
        type: apr_off_t
      - name: dexpired
        type: apr_off_t
      - name: dfresh
        type: apr_off_t
      item_type: struct
      name: stats
      pos:
        line_end: 130
        line_start: 118
        source_file: /src/httpd/support/htcacheclean.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/httpd/support/checkgid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SK_NUM
  - SK_VALUE
  - SSL_CTX_set_min_proto_version
  - SSL_CTX_set_max_proto_version
  - ROUND_UP
  - ap_min
  - ap_max
  - ap_round_ms
  - ap_double_ms
  - worker_should_stop
  - worker_can_connect
  - shutdown_connection
  - abort_connection
  - print_error
  - graceful_error
  - fatal_error
  - print_strerror
  - graceful_strerror
  - fatal_strerror
  - xstrcasestr
  - abort_on_oom
  - set_polled_events
  - set_conn_state
  - ssl_print_cb
  - ssl_state_cb
  - ssl_rand_choosenum
  - ssl_rand_seed
  - ssl_print_connection_info
  - ssl_print_cert_info
  - ssl_print_info
  - ssl_proceed_handshake
  - write_request
  - compradre
  - comprando
  - compri
  - compwait
  - consolidate_metrics
  - output_results
  - SANE
  - output_html_results
  - start_connection
  - close_connection
  - try_reconnect
  - finalize_connection
  - read_response
  - init_signals
  - block_signals
  - test
  - worker_test
  - APR_THREAD_FUNC::worker_thread
  - start_worker
  - join_worker
  - workers_may_exit
  - copyright
  - usage
  - parse_url
  - open_postfile
  - output_results_at_exit
  - main
  source_file: /src/httpd/support/ab.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_AB_BASEREVISION
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/support/ab.c
      type_or_value: '"2.3"'
    - item_type: preproc_def
      name: AB_SSL_METHOD_CONST
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/httpd/support/ab.c
      type_or_value: const
    - item_type: preproc_def
      name: AB_SSL_CIPHER_CONST
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/httpd/support/ab.c
      type_or_value: const
    - item_type: preproc_def
      name: SSL_CTRL_SET_MIN_PROTO_VERSION
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/httpd/support/ab.c
      type_or_value: '123'
    - item_type: preproc_def
      name: SSL_CTRL_SET_MAX_PROTO_VERSION
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/httpd/support/ab.c
      type_or_value: '124'
    - item_type: preproc_def
      name: MAX_SSL_PROTO
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/httpd/support/ab.c
      type_or_value: TLS1_3_VERSION
    - item_type: preproc_def
      name: MAX_SSL_PROTO
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/httpd/support/ab.c
      type_or_value: TLS1_2_VERSION
    - item_type: preproc_def
      name: MIN_SSL_PROTO
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/httpd/support/ab.c
      type_or_value: SSL3_VERSION
    - item_type: preproc_def
      name: MIN_SSL_PROTO
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/httpd/support/ab.c
      type_or_value: TLS1_VERSION
    - item_type: preproc_def
      name: AB_TIME_MAX
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/httpd/support/ab.c
      type_or_value: APR_INT64_MAX
    - item_type: preproc_def
      name: AB_TIME_MAX
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/httpd/support/ab.c
      type_or_value: LLONG_MAX
    - item_type: preproc_def
      name: AB_TIME_MAX
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/httpd/support/ab.c
      type_or_value: APR_INT64_C(0x7fffffffffffffff)
    - item_type: preproc_def
      name: TIMED_REQUESTS
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/httpd/support/ab.c
      type_or_value: '(INT_MAX > 50000 ? 50000 : INT_MAX)'
    - item_type: preproc_def
      name: CBUFFSIZE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/httpd/support/ab.c
      type_or_value: (8192)
    - item_type: preproc_def
      name: MAX_CONCURRENCY
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/httpd/support/ab.c
      type_or_value: '200000'
    - item_type: preproc_def
      name: WATCHDOG_TIMEOUT
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/httpd/support/ab.c
      type_or_value: apr_time_from_sec(5)
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/httpd/support/ab.c
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: CONF_FMT_STRING
      pos:
        line_end: 1367
        line_start: 1366
        source_file: /src/httpd/support/ab.c
      type_or_value: '"%5" APR_TIME_T_FMT " %4" APR_TIME_T_FMT " %5.1f %6" APR_TIME_T_FMT
        " %7" APR_TIME_T_FMT "\n"'
    - item_type: preproc_def
      name: CONF_FMT_STRING
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/httpd/support/ab.c
      type_or_value: '"%5" APR_TIME_T_FMT " %5" APR_TIME_T_FMT "%5" APR_TIME_T_FMT
        "\n"'
    - item_type: preproc_def
      name: USE_SIGMASK
      pos:
        line_end: 2195
        line_start: 2194
        source_file: /src/httpd/support/ab.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SIGMASK
      pos:
        line_end: 2197
        line_start: 2196
        source_file: /src/httpd/support/ab.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL2_HELP_MSG
      pos:
        line_end: 2809
        line_start: 2808
        source_file: /src/httpd/support/ab.c
      type_or_value: '"SSL2, "'
    - item_type: preproc_def
      name: SSL2_HELP_MSG
      pos:
        line_end: 2811
        line_start: 2810
        source_file: /src/httpd/support/ab.c
      type_or_value: '""'
    - item_type: preproc_def
      name: SSL3_HELP_MSG
      pos:
        line_end: 2815
        line_start: 2814
        source_file: /src/httpd/support/ab.c
      type_or_value: '"SSL3, "'
    - item_type: preproc_def
      name: SSL3_HELP_MSG
      pos:
        line_end: 2817
        line_start: 2816
        source_file: /src/httpd/support/ab.c
      type_or_value: '""'
    - item_type: preproc_def
      name: TLS1_X_HELP_MSG
      pos:
        line_end: 2823
        line_start: 2822
        source_file: /src/httpd/support/ab.c
      type_or_value: '", TLS1.1, TLS1.2, TLS1.3"'
    - item_type: preproc_def
      name: TLS1_X_HELP_MSG
      pos:
        line_end: 2825
        line_start: 2824
        source_file: /src/httpd/support/ab.c
      type_or_value: '", TLS1.1, TLS1.2"'
    - item_type: preproc_def
      name: TLS1_X_HELP_MSG
      pos:
        line_end: 2829
        line_start: 2828
        source_file: /src/httpd/support/ab.c
      type_or_value: '""'
    structs:
    - fields:
      - name: (connection)
        type: APR_RING_ENTRY
      - name: '*worker'
        type: struct worker
      - name: '*ctx'
        type: apr_pool_t
      - name: '*aprsock'
        type: apr_socket_t
      - name: pollfd
        type: apr_pollfd_t
      - name: state
        type: int
      - name: delay
        type: apr_time_t
      - name: read
        type: apr_size_t
      - name: bread
        type: apr_size_t
      - name: rwrite
        type: apr_size_t
      - name: length
        type: apr_size_t
      - name: cbuff[CBUFFSIZE]
        type: char
      - name: cbx
        type: int
      - name: keepalive
        type: int
      - name: gotheader
        type: int
      - name: start
        type: apr_time_t
      - name: keptalive
        type: apr_size_t
      item_type: struct
      name: connection
      pos:
        line_end: 328
        line_start: 300
        source_file: /src/httpd/support/ab.c
    - fields:
      - name: starttime
        type: apr_time_t
      - name: waittime
        type: apr_interval_time_t
      - name: ctime
        type: apr_interval_time_t
      - name: time
        type: apr_interval_time_t
      item_type: struct
      name: data
      pos:
        line_end: 335
        line_start: 330
        source_file: /src/httpd/support/ab.c
    - fields:
      - name: doclen
        type: apr_size_t
      - name: totalread
        type: apr_int64_t
      - name: totalbread
        type: apr_int64_t
      - name: totalposted
        type: apr_int64_t
      - name: done
        type: apr_int64_t
      - name: doneka
        type: apr_int64_t
      - name: good
        type: apr_int64_t
      - name: epipe
        type: int
      - name: err_length
        type: int
      - name: err_conn
        type: int
      - name: err_recv
        type: int
      - name: err_except
        type: int
      - name: err_response
        type: int
      - name: aborted_ka
        type: int
      - name: concurrent
        type: int
      item_type: struct
      name: metrics
      pos:
        line_end: 359
        line_start: 337
        source_file: /src/httpd/support/ab.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*destsa'
        type: apr_sockaddr_t
      - name: slot
        type: int
      - name: requests
        type: int
      - name: concurrency
        type: int
      - name: polls
        type: int
      - name: bind_rr
        type: int
      - name: succeeded_once
        type: int
      - name: started
        type: apr_int64_t
      - name: '*stats'
        type: struct data
      - name: '*conns'
        type: struct connection
      - name: delayed_ring
        type: struct delayed_ring_t
      - name: metrics
        type: struct metrics
      - name: counters[STATE_COUNT][2]
        type: int
      - name: tmp[1024]
        type: char
      - name: buffer[CBUFFSIZE]
        type: char
      item_type: struct
      name: worker
      pos:
        line_end: 388
        line_start: 363
        source_file: /src/httpd/support/ab.c
    typedefs:
    - item_type: typedef
      name: X509_STACK_TYPE
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/httpd/support/ab.c
      type: STACK_OF
    union: []
- function_names:
  - abort_on_oom
  - generate_salt
  - putline
  - get_password
  - mkhash
  - parse_common_options
  source_file: /src/httpd/support/passwd_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: write
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/support/passwd_common.c
      type_or_value: _write
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - get_now
  - close_logfile
  - dumpConfig
  - checkRotate
  - post_rotate
  - truncate_and_write_error
  - doRotate
  - get_time_or_size
  source_file: /src/httpd/support/rotatelogs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '65536'
    - item_type: preproc_def
      name: ROTATE_NONE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ROTATE_NEW
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROTATE_TIME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ROTATE_SIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ROTATE_FORCE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/support/rotatelogs.c
      type_or_value: '4'
    structs:
    - fields:
      - name: sRotation
        type: unsigned int
      - name: tRotation
        type: int
      - name: utc_offset
        type: int
      - name: use_localtime
        type: int
      - name: use_strftime
        type: int
      - name: force_open
        type: int
      - name: verbose
        type: int
      - name: echo
        type: int
      - name: '*szLogRoot'
        type: char
      - name: truncate
        type: int
      - name: truncate_rotated_only
        type: int
      - name: '*linkfile'
        type: char
      - name: '*postrotate_prog'
        type: char
      - name: num_files
        type: int
      - name: create_path
        type: int
      item_type: struct
      name: rotate_config
      pos:
        line_end: 75
        line_start: 56
        source_file: /src/httpd/support/rotatelogs.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*fd'
        type: apr_file_t
      - name: name[APR_PATH_MAX]
        type: char
      item_type: struct
      name: logfile
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/httpd/support/rotatelogs.c
    - fields:
      - name: current
        type: struct logfile
      - name: '*pool'
        type: apr_pool_t
      - name: rotateReason
        type: int
      - name: tLogEnd
        type: adjusted_time_t
      - name: nMessCount
        type: int
      - name: fileNum
        type: int
      item_type: struct
      name: rotate_status
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/httpd/support/rotatelogs.c
    typedefs:
    - item_type: typedef
      name: rotate_config_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/httpd/support/rotatelogs.c
      type: rotate_config
    - item_type: typedef
      name: rotate_status_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/httpd/support/rotatelogs.c
      type: rotate_status
    - item_type: typedef
      name: adjusted_time_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/httpd/support/rotatelogs.c
      type: long
    union: []
- function_names:
  - version
  - help
  - cleanup_uuid_rec
  - make_uuid_rec
  - finalise_body
  - check_prefix
  - process_body
  - read_hex
  - process_header
  - demux
  - main
  source_file: /src/httpd/support/firehose.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAXLINES
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/support/firehose.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_MAXSIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/support/firehose.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_AGE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/support/firehose.c
      type_or_value: 0 * 1000 * 1000
    - item_type: preproc_def
      name: DEFAULT_PREFIX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/support/firehose.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_NONBLOCK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/support/firehose.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HELP_HEADER
      pos:
        line_end: 138
        line_start: 126
        source_file: /src/httpd/support/firehose.c
      type_or_value: "\"Usage : %s [options] [prefix1 [prefix2 ...]]\\n\\n\" \\\n
        \                   \"Firehose demultiplexes the given stream of multiplexed
        connections, and\\n\" \\\n                    \"writes each connection to
        a file, or to a socket as appropriate.\\n\" \\\n                    \"\\n\"
        \\\n                    \"When writing to files, each connection is placed
        into a dedicated file\\n\" \\\n                    \"named after the UUID
        of the connection within the stream. Separate files\\n\" \\\n                    \"will
        be created if requests and responses are found in the stream.\\n\" \\\n                    \"\\n\"
        \\\n                    \"If an optional prefix is specified as a parameter,
        connections that start\\n\" \\\n                    \"with the given prefix
        will be included. The prefix needs to fit completely\\n\" \\\n                    \"within
        the first fragment for a successful match to occur.\\n\" \\\n                    \"\\n\""
    - item_type: preproc_def
      name: HELP_FOOTER
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/support/firehose.c
      type_or_value: '""'
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*file_err'
        type: apr_file_t
      - name: '*file_in'
        type: apr_file_t
      - name: '*file_out'
        type: apr_file_t
      - name: '*directory'
        type: char
      - name: '*alloc'
        type: apr_bucket_alloc_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*request_uuids'
        type: apr_hash_t
      - name: '*response_uuids'
        type: apr_hash_t
      - name: '*filters'
        type: apr_hash_t
      - name: limit
        type: int
      - name: skipped_bytes
        type: apr_size_t
      - name: dropped_fragments
        type: apr_size_t
      - name: start
        type: apr_time_t
      - name: end
        type: apr_time_t
      item_type: struct
      name: file_rec
      pos:
        line_end: 65
        line_start: 48
        source_file: /src/httpd/support/firehose.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*uuid'
        type: char
      - name: '*file'
        type: file_rec
      - name: count
        type: apr_uint64_t
      - name: last
        type: apr_time_t
      - name: offset
        type: apr_size_t
      - name: direction
        type: int
      item_type: struct
      name: uuid_rec
      pos:
        line_end: 76
        line_start: 67
        source_file: /src/httpd/support/firehose.c
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*prefix'
        type: char
      - name: len
        type: apr_size_t
      item_type: struct
      name: filter_rec
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/httpd/support/firehose.c
    - fields:
      - name: len
        type: apr_size_t
      - name: timestamp
        type: apr_time_t
      - name: direction
        type: int
      - name: uuid[APR_UUID_FORMATTED_LENGTH + 1]
        type: char
      - name: count
        type: apr_uint64_t
      - name: '*rec'
        type: uuid_rec
      item_type: struct
      name: header_rec
      pos:
        line_end: 93
        line_start: 85
        source_file: /src/httpd/support/firehose.c
    typedefs: []
    union: []
- function_names:
  - log_err
  - log_no_err
  - clean_env
  - safe_strtol
  - main
  source_file: /src/httpd/support/suexec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_MAXPATH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/support/suexec.c
      type_or_value: PATH_MAX
    - item_type: preproc_def
      name: AP_MAXPATH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/support/suexec.c
      type_or_value: MAXPATHLEN
    - item_type: preproc_def
      name: AP_MAXPATH
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/suexec.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: AP_ENVBUF
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/support/suexec.c
      type_or_value: '256'
    - item_type: preproc_def
      name: AP_LOG_FACILITY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/support/suexec.c
      type_or_value: LOG_AUTHPRIV
    - item_type: preproc_def
      name: AP_LOG_FACILITY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/support/suexec.c
      type_or_value: LOG_AUTH
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - exit_error
  - main
  source_file: /src/httpd/support/fcgistarter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_statistics
  - usage
  - main
  source_file: /src/httpd/support/logresolve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: READ_BUF_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/support/logresolve.c
      type_or_value: 128*1024
    - item_type: preproc_def
      name: WRITE_BUF_SIZE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/support/logresolve.c
      type_or_value: 128*1024
    - item_type: preproc_def
      name: LINE_BUF_SIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/support/logresolve.c
      type_or_value: 128*1024
    - item_type: preproc_def
      name: NL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/httpd/support/logresolve.c
      type_or_value: APR_EOL_STR
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_tempfile_and_exit
  - getword
  - get_line
  - putline
  - add_password
  - usage
  - interrupted
  - terminate
  - main
  source_file: /src/httpd/support/htdigest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '''\n'''
    - item_type: preproc_def
      name: CR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '''\r'''
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '13'
    - item_type: preproc_def
      name: MAX_STRING_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_LINE_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/support/htdigest.c
      type_or_value: '768'
    structs: []
    typedefs: []
    union: []
- function_names:
  - printerr
  - main
  - feedback
  source_file: /src/httpd/support/win32/wintty.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: in
        type: HANDLE
      - name: out
        type: HANDLE
      item_type: struct
      name: feedback_args_t
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/httpd/support/win32/wintty.c
    typedefs: []
    union: []
- function_names:
  - AM_STRINGIFY
  - AM_STRINGIFY_HELPER
  - am_ClearServicesSt
  - am_ClearComputersSt
  - am_IsComputerConnected
  - am_DisconnectComputer
  - ErrorMessage
  - am_RespawnAsUserAdmin
  - am_ConnectComputer
  - GetStringRes
  - GetSystemOSVersion
  - ShowNotifyIcon
  - appendMenuItem
  - appendServiceMenu
  - ShowTryPopupMenu
  - ShowTryServicesMenu
  - CenterWindow
  - addListBoxItem
  - addListBoxString
  - ApacheManageService
  - IsServiceRunning
  - FindRunningServices
  - GetApacheServicesStatus
  - ConnectDlgProc
  - ServiceDlgProc
  - WndProc
  - KillAWindow
  - KillAllMonitors
  - CreateMainWindow
  - WinMain
  source_file: /src/httpd/support/win32/ApacheMonitor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '0x0500'
    - item_type: preproc_def
      name: OS_VERSION_WINNT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '2'
    - item_type: preproc_def
      name: OS_VERSION_WIN2K
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_APACHE_SERVICES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_APACHE_COMPUTERS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '32'
    - item_type: preproc_def
      name: WM_TRAYMESSAGE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: (WM_APP+1)
    - item_type: preproc_def
      name: WM_UPDATEMESSAGE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: (WM_USER+1)
    - item_type: preproc_def
      name: WM_MANAGEMESSAGE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: (WM_USER+2)
    - item_type: preproc_def
      name: WM_TIMER_REFRESH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '10'
    - item_type: preproc_def
      name: WM_TIMER_RESCAN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '11'
    - item_type: preproc_def
      name: SERVICE_APACHE_RESTART
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '128'
    - item_type: preproc_def
      name: XBITMAP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '16'
    - item_type: preproc_def
      name: YBITMAP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_LOADSTRING
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '100'
    - item_type: preproc_def
      name: REFRESH_TIME
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '2000           '
    - item_type: preproc_def
      name: RESCAN_TIME
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/support/win32/ApacheMonitor.c
      type_or_value: '20000          '
    structs:
    - fields:
      - name: szServiceName
        type: LPTSTR
      - name: szDisplayName
        type: LPTSTR
      - name: szDescription
        type: LPTSTR
      - name: szImagePath
        type: LPTSTR
      - name: szComputerName
        type: LPTSTR
      - name: dwPid
        type: DWORD
      item_type: struct
      name: _st_APACHE_SERVICE
      pos:
        line_end: 82
        line_start: 74
        source_file: /src/httpd/support/win32/ApacheMonitor.c
    - fields:
      - name: szComputerName
        type: LPTSTR
      - name: hRegistry
        type: HKEY
      item_type: struct
      name: _st_MONITORED_COMPUTERS
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/httpd/support/win32/ApacheMonitor.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/support/win32/ApacheMonitor.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BIN_NAME
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: ApacheMonitor.exe
    - item_type: preproc_def
      name: IDD_DLGSERVICES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '101'
    - item_type: preproc_def
      name: IDS_APMONITORTITLE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '102'
    - item_type: preproc_def
      name: IDS_APMONITORCLASS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '103'
    - item_type: preproc_def
      name: IDM_RESTORE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '104'
    - item_type: preproc_def
      name: IDM_EXIT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '105'
    - item_type: preproc_def
      name: IDI_APSRVMON
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '106'
    - item_type: preproc_def
      name: IDI_ICOSTOP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '107'
    - item_type: preproc_def
      name: IDI_ICORUN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '108'
    - item_type: preproc_def
      name: IDC_STATBAR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '109'
    - item_type: preproc_def
      name: IDC_SSTATUS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '110'
    - item_type: preproc_def
      name: IDB_BMPSTOP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '111'
    - item_type: preproc_def
      name: IDB_BMPRUN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '112'
    - item_type: preproc_def
      name: IDB_BMPHEADER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '114'
    - item_type: preproc_def
      name: IDL_SERVICES
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '115'
    - item_type: preproc_def
      name: IDL_STDOUT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '116'
    - item_type: preproc_def
      name: IDC_SSTART
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '117'
    - item_type: preproc_def
      name: IDC_SSTOP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '118'
    - item_type: preproc_def
      name: IDC_SRESTART
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '119'
    - item_type: preproc_def
      name: IDC_SMANAGER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '121'
    - item_type: preproc_def
      name: IDD_DLGCONNECT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '122'
    - item_type: preproc_def
      name: IDC_LREMOTE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '123'
    - item_type: preproc_def
      name: IDC_LBROWSE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '124'
    - item_type: preproc_def
      name: IDC_COMPUTER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '125'
    - item_type: preproc_def
      name: IDC_SCONNECT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '126'
    - item_type: preproc_def
      name: IDC_SDISCONN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '127'
    - item_type: preproc_def
      name: IDS_MSG_FIRST
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '256'
    - item_type: preproc_def
      name: IDS_MSG_APPRUNNING
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '256'
    - item_type: preproc_def
      name: IDS_MSG_ERROR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '257'
    - item_type: preproc_def
      name: IDS_MSG_RUNNINGALL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '258'
    - item_type: preproc_def
      name: IDS_MSG_RUNNING
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '259'
    - item_type: preproc_def
      name: IDS_MSG_RUNNINGNONE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '260'
    - item_type: preproc_def
      name: IDS_MSG_NOSERVICES
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '261'
    - item_type: preproc_def
      name: IDS_MSG_MNUSERVICES
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '262'
    - item_type: preproc_def
      name: IDS_MSG_MNUSHOW
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '263'
    - item_type: preproc_def
      name: IDS_MSG_MNUEXIT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '264'
    - item_type: preproc_def
      name: IDS_MSG_SRVSTART
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '265'
    - item_type: preproc_def
      name: IDS_MSG_SRVSTARTED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '266'
    - item_type: preproc_def
      name: IDS_MSG_SRVSTOP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '267'
    - item_type: preproc_def
      name: IDS_MSG_SRVSTOPPED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '268'
    - item_type: preproc_def
      name: IDS_MSG_SRVRESTART
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '269'
    - item_type: preproc_def
      name: IDS_MSG_SRVRESTARTED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '270'
    - item_type: preproc_def
      name: IDS_MSG_SRVFAILED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '271'
    - item_type: preproc_def
      name: IDS_MSG_SSTART
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '272'
    - item_type: preproc_def
      name: IDS_MSG_SSTOP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '273'
    - item_type: preproc_def
      name: IDS_MSG_SRESTART
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '274'
    - item_type: preproc_def
      name: IDS_MSG_SERVICES
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '275'
    - item_type: preproc_def
      name: IDS_MSG_CONNECT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '276'
    - item_type: preproc_def
      name: IDS_MSG_ECONNECT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '277'
    - item_type: preproc_def
      name: IDS_MSG_OK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '278'
    - item_type: preproc_def
      name: IDS_MSG_LAST
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '278'
    - item_type: preproc_def
      name: IDM_SM_SERVICE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '0x1100'
    - item_type: preproc_def
      name: IDM_SM_START
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '0x1200'
    - item_type: preproc_def
      name: IDM_SM_STOP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '0x1400'
    - item_type: preproc_def
      name: IDM_SM_RESTART
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '0x1800'
    - item_type: preproc_def
      name: IDC_STATIC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/support/win32/ApacheMonitor.h
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_create_connection
  - ap_create_secondary_connection
  - ap_shutdown_conn
  - ap_flush_conn
  - ap_prep_lingering_close
  - ap_start_lingering_close
  - ap_lingering_close
  - ap_process_connection
  source_file: /src/httpd/server/connection.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SECS_TO_LINGER
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/server/connection.c
      type_or_value: '30'
    - item_type: preproc_def
      name: SECONDS_TO_LINGER
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/httpd/server/connection.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cached_explode
  - ap_explode_recent_localtime
  - ap_explode_recent_gmt
  - ap_recent_ctime
  - ap_recent_ctime_ex
  - ap_recent_rfc822_date
  - ap_force_set_tz
  source_file: /src/httpd/server/util_time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_CTIME_USEC_LENGTH
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/server/util_time.c
      type_or_value: '7'
    - item_type: preproc_def
      name: AP_CTIME_MSEC_LENGTH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/httpd/server/util_time.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AP_CTIME_COMPACT_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/server/util_time.c
      type_or_value: '20'
    - item_type: preproc_def
      name: AP_CTIME_GMTOFF_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/server/util_time.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TIME_CACHE_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/util_time.c
      type_or_value: (AP_TIME_RECENT_THRESHOLD + 1)
    - item_type: preproc_def
      name: TIME_CACHE_MASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/server/util_time.c
      type_or_value: (AP_TIME_RECENT_THRESHOLD)
    structs:
    - fields:
      - name: t
        type: apr_int64_t
      - name: xt
        type: apr_time_exp_t
      - name: t_validate
        type: apr_int64_t
      item_type: struct
      name: exploded_time_cache_element
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/httpd/server/util_time.c
    typedefs: []
    union: []
- function_names:
  - cleanup_global_providers
  - ap_register_provider
  - ap_lookup_provider
  - ap_list_provider_names
  - ap_list_provider_groups
  source_file: /src/httpd/server/provider.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_fcgi_header_to_array
  - ap_fcgi_header_from_array
  - ap_fcgi_header_fields_from_array
  - ap_fcgi_begin_request_body_to_array
  - ap_fcgi_fill_in_header
  - ap_fcgi_fill_in_request_body
  - ap_fcgi_encoded_env_len
  - ap_fcgi_encode_env
  source_file: /src/httpd/server/util_fcgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/server/util_fcgi.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - http2env
  - add_unless_null
  - env2env
  - ap_create_environment
  - ap_add_common_vars
  - ap_find_path_info
  - original_uri
  - ap_add_cgi_vars
  - set_cookie_doo_doo
  - ap_scan_script_header_err_core_ex
  - ap_scan_script_header_err_core
  - getsfunc_FILE
  - ap_scan_script_header_err
  - ap_scan_script_header_err_ex
  - getsfunc_BRIGADE
  - ap_scan_script_header_err_brigade
  - ap_scan_script_header_err_brigade_ex
  - getsfunc_STRING
  - ap_scan_script_header_err_strs_ex
  - ap_scan_script_header_err_strs
  - argstr_to_table
  - ap_args_to_table
  source_file: /src/httpd/server/util_script.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/server/util_script.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: HTTP_UNSET
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/httpd/server/util_script.c
      type_or_value: (-HTTP_OK)
    - item_type: preproc_def
      name: SCRIPT_LOG_MARK
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/httpd/server/util_script.c
      type_or_value: __FILE__,__LINE__,module_index
    structs:
    - fields:
      - name: args
        type: va_list
      - name: arg
        type: int
      - name: '*curpos'
        type: char
      item_type: struct
      name: vastrs
      pos:
        line_end: 853
        line_start: 849
        source_file: /src/httpd/server/util_script.c
    typedefs: []
    union: []
- function_names:
  - ap_set_scoreboard
  - ap_set_extended_status
  - ap_set_reqtail
  - ap_cleanup_shared_mem
  - ap_calc_scoreboard_size
  - ap_init_scoreboard
  - create_namebased_scoreboard
  - open_scoreboard
  - ap_reopen_scoreboard
  - ap_cleanup_scoreboard
  - ap_create_scoreboard
  - ap_exists_scoreboard_image
  - ap_set_conn_count
  - ap_increment_counts
  - ap_find_child_by_pid
  - ap_update_sb_handle
  - ap_create_sb_handle
  - ap_sb_get_child_thread
  - copy_request
  - update_child_status_internal
  - ap_update_child_status_from_indexes
  - ap_update_child_status
  - ap_update_child_status_from_conn
  - ap_update_child_status_from_server
  - ap_update_child_status_descr
  - ap_time_process_request
  - ap_set_time_process_request
  - ap_update_global_status
  - ap_get_scoreboard_worker_from_indexes
  - ap_get_scoreboard_worker
  - ap_copy_scoreboard_worker
  - ap_get_scoreboard_process
  - ap_get_scoreboard_global
  source_file: /src/httpd/server/scoreboard.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/server/scoreboard.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: SIZE_OF_scoreboard
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/httpd/server/scoreboard.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(scoreboard))
    - item_type: preproc_def
      name: SIZE_OF_global_score
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/httpd/server/scoreboard.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(global_score))
    - item_type: preproc_def
      name: SIZE_OF_process_score
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/httpd/server/scoreboard.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(process_score))
    - item_type: preproc_def
      name: SIZE_OF_worker_score
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/httpd/server/scoreboard.c
      type_or_value: APR_ALIGN_DEFAULT(sizeof(worker_score))
    structs:
    - fields:
      - name: child_num
        type: int
      - name: thread_num
        type: int
      item_type: struct
      name: ap_sb_handle_t
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/httpd/server/scoreboard.c
    typedefs: []
    union: []
- function_names:
  - YY_SC_TO_UI
  - YY_STATE_EOF
  - yyless
  - unput
  - yy_set_interactive
  - yy_set_bol
  - YY_AT_BOL
  - yymore
  - YY_INPUT
  - YY_FATAL_ERROR
  - PERROR
  - PERROR_CHAR
  - STACK_PUSH
  - STACK_POP
  - STATE_PUSH
  - STATE_POP
  - STR_APPEND_CHECK
  - STR_APPEND_NOCHECK
  - STR_EMPTY
  - STR_RETURN
  - YY_INPUT
  - yyterminate
  - YY_FATAL_ERROR
  - yy_get_next_buffer
  - yy_get_previous_state
  - yy_try_NUL_trans
  - input
  - ap_expr_yyrestart
  - ap_expr_yy_switch_to_buffer
  - ap_expr_yy_load_buffer_state
  - ap_expr_yy_create_buffer
  - ap_expr_yy_delete_buffer
  - ap_expr_yy_init_buffer
  - ap_expr_yy_flush_buffer
  - ap_expr_yypush_buffer_state
  - ap_expr_yypop_buffer_state
  - ap_expr_yyensure_buffer_stack
  - ap_expr_yy_scan_buffer
  - ap_expr_yy_scan_string
  - ap_expr_yy_scan_bytes
  - yy_push_state
  - yy_pop_state
  - yy_fatal_error
  - yyless
  - ap_expr_yyget_lineno
  - ap_expr_yyget_in
  - ap_expr_yyget_out
  - ap_expr_yyget_leng
  - ap_expr_yyget_text
  - ap_expr_yyset_extra
  - ap_expr_yyset_lineno
  - ap_expr_yyset_in
  - ap_expr_yyset_out
  - ap_expr_yyget_debug
  - ap_expr_yyset_debug
  - ap_expr_yyget_lval
  - ap_expr_yyset_lval
  - ap_expr_yylex_init
  - ap_expr_yylex_init_extra
  - yy_init_globals
  - ap_expr_yylex_destroy
  - yy_flex_strncpy
  - yy_flex_strlen
  - ap_expr_yyalloc
  - ap_expr_yyrealloc
  - ap_expr_yyfree
  source_file: /src/httpd/server/util_expr_scan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YY_INT_ALIGNED
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: short int
    - item_type: preproc_def
      name: YY_FLEX_MAJOR_VERSION
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_FLEX_MINOR_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '6'
    - item_type: preproc_def
      name: YY_FLEX_SUBMINOR_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_LIMIT_MACROS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INT8_MIN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (-128)
    - item_type: preproc_def
      name: INT16_MIN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (-32767-1)
    - item_type: preproc_def
      name: INT32_MIN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (-2147483647-1)
    - item_type: preproc_def
      name: INT8_MAX
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (127)
    - item_type: preproc_def
      name: INT16_MAX
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (32767)
    - item_type: preproc_def
      name: INT32_MAX
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (2147483647)
    - item_type: preproc_def
      name: UINT8_MAX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (255U)
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (65535U)
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (4294967295U)
    - item_type: preproc_def
      name: yyconst
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: const
    - item_type: preproc_def
      name: yynoreturn
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: YY_NULL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: yyin
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yyin_r
    - item_type: preproc_def
      name: yyout
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yyout_r
    - item_type: preproc_def
      name: yyextra
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yyextra_r
    - item_type: preproc_def
      name: yyleng
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yyleng_r
    - item_type: preproc_def
      name: yytext
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yytext_r
    - item_type: preproc_def
      name: yylineno
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
    - item_type: preproc_def
      name: yycolumn
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
    - item_type: preproc_def
      name: yy_flex_debug
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yy_flex_debug_r
    - item_type: preproc_def
      name: BEGIN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yy_start = 1 + 2 *
    - item_type: preproc_def
      name: YY_START
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ((yyg->yy_start - 1) / 2)
    - item_type: preproc_def
      name: YYSTATE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: YY_START
    - item_type: preproc_def
      name: YY_NEW_FILE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ap_expr_yyrestart(yyin ,yyscanner )
    - item_type: preproc_def
      name: YY_END_OF_BUFFER_CHAR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_BUF_SIZE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '32768'
    - item_type: preproc_def
      name: YY_BUF_SIZE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: YY_STATE_BUF_SIZE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
    - item_type: preproc_def
      name: EOB_ACT_CONTINUE_SCAN
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EOB_ACT_END_OF_FILE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EOB_ACT_LAST_MATCH
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_BUFFER_NEW
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_BUFFER_NORMAL
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YY_BUFFER_EOF_PENDING
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_CURRENT_BUFFER
      pos:
        line_end: 271
        line_start: 268
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: "( yyg->yy_buffer_stack \\\n                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
        \\\n                          : NULL)"
    - item_type: preproc_def
      name: YY_CURRENT_BUFFER_LVALUE
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
    - item_type: preproc_def
      name: YY_FLUSH_BUFFER
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ap_expr_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
    - item_type: preproc_def
      name: yy_new_buffer
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ap_expr_yy_create_buffer
    - item_type: preproc_def
      name: yytext_ptr
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yytext_r
    - item_type: preproc_def
      name: YY_DO_BEFORE_ACTION
      pos:
        line_end: 348
        line_start: 342
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: "yyg->yytext_ptr = yy_bp; \\\n\tyyleng = (int) (yy_cp - yy_bp);
        \\\n\tyyg->yy_hold_char = *yy_cp; \\\n\t*yy_cp = '\\0'; \\\n\tyyg->yy_c_buf_p
        = yy_cp;"
    - item_type: preproc_def
      name: YY_NUM_RULES
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '73'
    - item_type: preproc_def
      name: YY_END_OF_BUFFER
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '74'
    - item_type: preproc_def
      name: REJECT
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: reject_used_but_not_detected
    - item_type: preproc_def
      name: YY_MORE_ADJ
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NO_INPUT
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YY_EXTRA_TYPE
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: ap_expr_parse_ctx_t*
    - item_type: preproc_def
      name: str_ptr
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (yyextra->current->scan_ptr)
    - item_type: preproc_def
      name: str_buf
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (yyextra->current->scan_buf)
    - item_type: preproc_def
      name: str_stop
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (yyextra->current->scan_stop)
    - item_type: preproc_def
      name: str_flag
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: (yyextra->current->scan_flag)
    - item_type: preproc_def
      name: INITIAL
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: str
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: expr
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: var
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '3'
    - item_type: preproc_def
      name: vararg
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '4'
    - item_type: preproc_def
      name: regex
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '5'
    - item_type: preproc_def
      name: regsub
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '6'
    - item_type: preproc_def
      name: regflags
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '7'
    - item_type: preproc_def
      name: YY_EXTRA_TYPE
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: void *
    - item_type: preproc_def
      name: yylval
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: yyg->yylval_r
    - item_type: preproc_def
      name: YY_READ_BUF_SIZE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: YY_READ_BUF_SIZE
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: ECHO
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while
        (0)
    - item_type: preproc_def
      name: YY_START_STACK_INCR
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '25'
    - item_type: preproc_def
      name: YY_DECL_IS_OURS
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YY_DECL
      pos:
        line_end: 951
        line_start: 949
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: "int ap_expr_yylex \\\n               (YYSTYPE * yylval_param
        , yyscan_t yyscanner)"
    - item_type: preproc_def
      name: YY_BREAK
      pos:
        line_end: 963
        line_start: 962
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: break;
    - item_type: preproc_def
      name: YY_RULE_SETUP
      pos:
        line_end: 967
        line_start: 965
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: YY_USER_ACTION
    - item_type: preproc_def
      name: YY_EXIT_FAILURE
      pos:
        line_end: 2484
        line_start: 2483
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYTABLES_NAME
      pos:
        line_end: 2834
        line_start: 2833
        source_file: /src/httpd/server/util_expr_scan.c
      type_or_value: '"yytables"'
    structs:
    - fields:
      - name: '*yy_input_file'
        type: FILE
      - name: '*yy_ch_buf'
        type: char
      - name: '*yy_buf_pos'
        type: char
      - name: yy_buf_size
        type: int
      - name: yy_n_chars
        type: int
      - name: yy_is_our_buffer
        type: int
      - name: yy_is_interactive
        type: int
      - name: yy_at_bol
        type: int
      - name: yy_bs_lineno
        type: int
      - name: yy_bs_column
        type: int
      - name: yy_fill_buffer
        type: int
      - name: yy_buffer_status
        type: int
      item_type: struct
      name: yy_buffer_state
      pos:
        line_end: 259
        line_start: 199
        source_file: /src/httpd/server/util_expr_scan.c
    - fields:
      - name: yy_verify
        type: flex_int32_t
      - name: yy_nxt
        type: flex_int32_t
      item_type: struct
      name: yy_trans_info
      pos:
        line_end: 357
        line_start: 353
        source_file: /src/httpd/server/util_expr_scan.c
    - fields:
      - name: yyextra_r
        type: YY_EXTRA_TYPE
      - name: '*yyin_r'
        type: FILE
      - name: yy_buffer_stack_top
        type: size_t
      - name: yy_buffer_stack_max
        type: size_t
      - name: '* yy_buffer_stack'
        type: YY_BUFFER_STATE
      - name: yy_hold_char
        type: char
      - name: yy_n_chars
        type: int
      - name: yyleng_r
        type: int
      - name: '*yy_c_buf_p'
        type: char
      - name: yy_init
        type: int
      - name: yy_start
        type: int
      - name: yy_did_buffer_switch_on_eof
        type: int
      - name: yy_start_stack_ptr
        type: int
      - name: yy_start_stack_depth
        type: int
      - name: '*yy_start_stack'
        type: int
      - name: yy_last_accepting_state
        type: yy_state_type
      - name: '* yy_last_accepting_cpos'
        type: char
      - name: yylineno_r
        type: int
      - name: yy_flex_debug_r
        type: int
      - name: '*yytext_r'
        type: char
      - name: yy_more_flag
        type: int
      - name: yy_more_len
        type: int
      - name: '* yylval_r'
        type: YYSTYPE
      item_type: struct
      name: yyguts_t
      pos:
        line_end: 779
        line_start: 746
        source_file: /src/httpd/server/util_expr_scan.c
    typedefs:
    - item_type: typedef
      name: flex_int8_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/httpd/server/util_expr_scan.c
      type: int8_t
    - item_type: typedef
      name: flex_uint8_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/httpd/server/util_expr_scan.c
      type: uint8_t
    - item_type: typedef
      name: flex_int16_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/httpd/server/util_expr_scan.c
      type: int16_t
    - item_type: typedef
      name: flex_uint16_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/httpd/server/util_expr_scan.c
      type: uint16_t
    - item_type: typedef
      name: flex_int32_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/httpd/server/util_expr_scan.c
      type: int32_t
    - item_type: typedef
      name: flex_uint32_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/httpd/server/util_expr_scan.c
      type: uint32_t
    - item_type: typedef
      name: flex_int8_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/httpd/server/util_expr_scan.c
      type: signed char
    - item_type: typedef
      name: flex_int16_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/httpd/server/util_expr_scan.c
      type: short int
    - item_type: typedef
      name: flex_int32_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/httpd/server/util_expr_scan.c
      type: int
    - item_type: typedef
      name: flex_uint8_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/httpd/server/util_expr_scan.c
      type: unsigned char
    - item_type: typedef
      name: flex_uint16_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/httpd/server/util_expr_scan.c
      type: unsigned short int
    - item_type: typedef
      name: flex_uint32_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/httpd/server/util_expr_scan.c
      type: unsigned int
    - item_type: typedef
      name: '* yyscan_t'
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/httpd/server/util_expr_scan.c
      type: void
    - item_type: typedef
      name: '*YY_BUFFER_STATE'
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/httpd/server/util_expr_scan.c
      type: yy_buffer_state
    - item_type: typedef
      name: yy_size_t
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/httpd/server/util_expr_scan.c
      type: size_t
    - item_type: typedef
      name: YY_CHAR
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/httpd/server/util_expr_scan.c
      type: unsigned char
    - item_type: typedef
      name: yy_state_type
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/httpd/server/util_expr_scan.c
      type: int
    union: []
- function_names:
  - ap_setup_make_content_type
  - ap_make_content_type
  - ap_set_content_length
  - ap_rationalize_mtime
  - ap_fgetline_core
  - ap_fgetline
  - ap_rgetline
  - ap_getline
  - ap_parse_uri
  - field_name_len
  - ap_parse_request_line
  - ap_check_request_header
  - table_do_fn_check_lengths
  - ap_get_mime_headers_core
  - ap_get_mime_headers
  - ap_create_request
  - apply_server_config
  - r_assign_protocol
  - ap_assign_request_line
  - ap_read_request
  - ap_post_read_request
  - strip_headers_request_body
  - ap_set_sub_req_protocol
  - end_output_stream
  - ap_finalize_sub_req_protocol
  - ap_finalize_request_protocol
  - ap_note_auth_failure
  - ap_note_basic_auth_failure
  - ap_note_digest_auth_failure
  - ap_get_basic_auth_pw
  - ap_get_basic_auth_components
  - ap_content_length_filter
  - ap_send_fd
  - ap_send_mmap
  - ap_old_write_filter
  - insert_old_write_filter
  - buffer_output
  - ap_rputc
  - ap_rwrite
  - r_flush
  - ap_vrprintf
  - ap_rprintf
  - ap_rvputs
  - ap_rflush
  - ap_set_last_modified
  - ap_set_std_response_headers
  - ap_send_interim_response
  - protocol_cmp
  - ap_get_protocol
  - ap_get_protocol_upgrades
  - ap_select_protocol
  - ap_switch_protocol
  - ap_is_allowed_protocol
  source_file: /src/httpd/server/protocol.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/server/protocol.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: LOG_NAME_MAX_LEN
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/httpd/server/protocol.c
      type_or_value: '80'
    structs:
    - fields:
      - name: data_sent
        type: int
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: content_length_ctx
      pos:
        line_end: 1777
        line_start: 1771
        source_file: /src/httpd/server/protocol.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: old_write_filter_ctx
      pos:
        line_end: 1988
        line_start: 1985
        source_file: /src/httpd/server/protocol.c
    - fields:
      - name: vbuff
        type: apr_vformatter_buff_t
      - name: '*r'
        type: request_rec
      - name: '*buff'
        type: char
      item_type: struct
      name: ap_vrprintf_data
      pos:
        line_end: 2100
        line_start: 2096
        source_file: /src/httpd/server/protocol.c
    - fields:
      - name: '*f'
        type: ap_filter_t
      - name: '*bb'
        type: apr_bucket_brigade
      item_type: struct
      name: hdr_ptr
      pos:
        line_end: 2245
        line_start: 2242
        source_file: /src/httpd/server/protocol.c
    typedefs: []
    union: []
- function_names:
  - MIN
  source_file: /src/httpd/server/util_expr_private.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YY_NULL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/httpd/server/util_expr_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/server/util_expr_private.h
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/util_expr_private.h
      type_or_value: free
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/server/util_expr_private.h
      type_or_value: '0'
    structs:
    - fields:
      - name: node_op
        type: ap_expr_node_op_e
      - name: '*node_arg1'
        type: void
      - name: '*node_arg2'
        type: void
      item_type: struct
      name: ap_expr_node
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/httpd/server/util_expr_private.h
    - fields:
      - name: '*scan_ptr'
        type: char
      - name: scan_buf[MAX_STRING_LEN]
        type: char
      - name: scan_stop
        type: int
      - name: scan_flag
        type: int
      - name: '*next'
        type: struct ap_expr_parser_stack
      item_type: struct
      name: ap_expr_parser_stack
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/httpd/server/util_expr_private.h
    - fields:
      - name: '*inputbuf'
        type: char
      - name: inputlen
        type: int
      - name: '*inputptr'
        type: char
      - name: '*scanner'
        type: void
      - name: '*current'
        type: ap_expr_parser_stack_t
      - name: at_start
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*ptemp'
        type: apr_pool_t
      - name: '*expr'
        type: ap_expr_t
      - name: '*error'
        type: char
      - name: '*error2'
        type: char
      - name: flags
        type: unsigned
      - name: '*lookup_fn'
        type: ap_expr_lookup_fn_t
      item_type: struct
      name: ap_expr_parse_ctx_t
      pos:
        line_end: 118
        line_start: 92
        source_file: /src/httpd/server/util_expr_private.h
    typedefs: []
    union: []
- function_names:
  - isatty
  - show_mpm_settings
  - show_compile_settings
  - destroy_and_exit_process
  - abort_on_oom
  - deregister_all_hooks
  - reset_process_pconf
  - init_process
  - usage
  - main
  - ap_suck_in_APR
  source_file: /src/httpd/server/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/server/main.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: TASK_SWITCH_SLEEP
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/httpd/server/main.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LOG_MARK
  - inc_rec
  - ap_expr_list_pstrcat
  - ap_expr_eval_word
  - ap_expr_eval_var
  - ap_expr_eval_re_backref
  - ap_expr_eval_string_func
  - intstrcmp
  - ap_expr_regexec
  - ap_expr_list_make
  - ap_expr_eval_comp
  - strcmplex
  - ssl_expr_eval_comp
  - ap_expr_lookup_default
  - ap_expr_parse
  - ap_expr_parse_cmd_mi
  - ap_expr_make
  - ap_expr_concat_make
  - ap_expr_regex_make
  - ap_expr_info_make
  - ap_expr_str_func_make
  - ap_expr_list_func_make
  - ap_expr_unary_op_make
  - ap_expr_binary_op_make
  - ap_expr_var_make
  - ap_expr_backref_make
  - DUMP_E_E
  - DUMP_S_E
  - DUMP_S_P
  - DUMP_P_P
  - DUMP_S_S
  - DUMP_P
  - DUMP_IP
  - DUMP_S
  - CASE_OP
  - expr_dump_tree
  - expr_eval_log
  - ap_expr_eval_unary_op
  - ap_expr_eval_binary_op
  - ap_expr_eval_cond
  - ap_expr_exec
  - ap_expr_exec_ctx
  - ap_expr_exec_re
  - ap_expr_str_exec_re
  - ap_expr_str_exec
  - add_vary
  - req_table_func
  - env_func
  - osenv_func
  - tolower_func
  - toupper_func
  - escape_func
  - base64_func
  - unbase64_func
  - sha1_func
  - md5_func
  - ldap_func
  - escapehtml_func
  - replace_func_parse_arg
  - replace_func
  - file_func
  - stat_check
  - filesize_func
  - filemod_func
  - unescape_func
  - op_nz
  - op_file_min
  - op_file_link
  - op_file_xbit
  - op_url_subr
  - op_file_subr
  - conn_var_fn
  - request_var_fn
  - req_header_var_fn
  - misc_var_fn
  - subnet_parse_arg
  - op_ipmatch
  - op_R
  - op_T
  - op_fnmatch
  - op_strmatch
  - op_strcmatch
  - core_expr_lookup
  - expr_lookup_not_found
  - ap_expr_post_config
  - ap_expr_init
  source_file: /src/httpd/server/util_expr_eval.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: AP_EXPR_MAX_RECURSION
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MARK
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: APLOG_MARK,loglevel,0,s
    - item_type: preproc_def
      name: MAX_FILE_SIZE
      pos:
        line_end: 1491
        line_start: 1490
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: 10*1024*1024
    - item_type: preproc_def
      name: RESTRICTED_FILE_TEST
      pos:
        line_end: 2088
        line_start: 2087
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: RESTRICTED_FILE_FUNC
      pos:
        line_end: 2089
        line_start: 2088
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: RESTRICTED_ALL
      pos:
        line_end: 2090
        line_start: 2089
        source_file: /src/httpd/server/util_expr_eval.c
      type_or_value: (RESTRICTED_FILE_TEST | RESTRICTED_FILE_FUNC)
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*subst'
        type: ap_expr_t
      item_type: struct
      name: ap_expr_regctx_t
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/httpd/server/util_expr_eval.c
    - fields:
      - name: '*func'
        type: void
      - name: '*name'
        type: char
      - name: '*arg_parsing_func'
        type: ap_expr_lookup_fn_t
      - name: restricted
        type: unsigned int
      item_type: struct
      name: expr_provider_single
      pos:
        line_end: 2096
        line_start: 2091
        source_file: /src/httpd/server/util_expr_eval.c
    - fields:
      - name: '*func'
        type: void
      - name: '*const *names'
        type: char
      item_type: struct
      name: expr_provider_multi
      pos:
        line_end: 2101
        line_start: 2098
        source_file: /src/httpd/server/util_expr_eval.c
    typedefs: []
    union: []
- function_names:
  - etag_uint64_to_hex
  - etag_start
  - etag_end
  - make_digest_etag
  - ap_make_etag_ex
  - ap_make_etag
  - ap_set_etag
  - ap_set_etag_fd
  source_file: /src/httpd/server/util_etag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA1_DIGEST_BASE64_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/server/util_etag.c
      type_or_value: 4*(APR_SHA1_DIGESTSIZE/3)
    - item_type: preproc_def
      name: HEX_DIGITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/server/util_etag.c
      type_or_value: '"0123456789abcdef"'
    - item_type: preproc_def
      name: ETAG_WEAK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/server/util_etag.c
      type_or_value: '"W/"'
    - item_type: preproc_def
      name: CHARS_PER_UINT64
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/server/util_etag.c
      type_or_value: (sizeof(apr_uint64_t) * 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - YY_
  - YY_
  - YY_ATTRIBUTE
  - YYUSE
  - YY_INITIAL_VALUE
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYDPRINTF
  - YY_LOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - yystrlen
  - yystpcpy
  - yytnamerr
  - yysyntax_error
  - YYCASE_
  - yydestruct
  - yyparse
  - YYPOPSTACK
  - yyerror
  source_file: /src/httpd/server/util_expr_parse.c
  types:
    enum:
    - enumerators:
      - name: T_ERROR
        value: '262'
      - name: T_REGEX
        value: '266'
      - name: T_STR_BEGIN
        value: '274'
      - name: T_VAR_BEGIN
        value: '276'
      - name: T_REG_FLAGS
        value: '270'
      - name: T_OP_EQ
        value: '280'
      - name: T_OP_GT
        value: '284'
      - name: T_OP_IN
        value: '288'
      - name: T_OP_STR_LE
        value: '292'
      - name: T_OP_JOIN
        value: '296'
      - name: T_OP_NOT
        value: '301'
      - name: T_FALSE
        value: '259'
      - name: T_DIGIT
        value: '263'
      - name: T_REGSUB
        value: '267'
      - name: T_BACKREF
        value: '271'
      - name: T_STR_END
        value: '275'
      - name: T_VAR_END
        value: '277'
      - name: T_OP_NE
        value: '281'
      - name: T_OP_GE
        value: '285'
      - name: T_OP_STR_EQ
        value: '289'
      - name: T_OP_STR_GT
        value: '293'
      - name: T_OP_OR
        value: '299'
      - name: T_EXPR_BOOL
        value: '260'
      - name: T_ID
        value: '264'
      - name: T_OP_UNARY
        value: '272'
      - name: T_REG_MATCH
        value: '268'
      - name: T_VAREXP_BEGIN
        value: '278'
      - name: T_OP_LT
        value: '282'
      - name: T_OP_REG
        value: '286'
      - name: T_OP_STR_NE
        value: '290'
      - name: T_OP_STR_GE
        value: '294'
      - name: T_OP_SUB
        value: '298'
      - name: T_OP_AND
        value: '300'
      - name: T_TRUE
        value: '258'
      - name: T_EXPR_STRING
        value: '261'
      - name: T_STRING
        value: '265'
      - name: T_OP_BINARY
        value: '273'
      - name: T_REG_SUBST
        value: '269'
      - name: T_VAREXP_END
        value: '279'
      - name: T_OP_LE
        value: '283'
      - name: T_OP_NRE
        value: '287'
      - name: T_OP_STR_LT
        value: '291'
      - name: T_OP_CONCAT
        value: '295'
      - name: T_OP_SPLIT
        value: '297'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 153
        line_start: 107
        source_file: /src/httpd/server/util_expr_parse.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '"3.0.5"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyparse
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ap_expr_yyparse
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ap_expr_yylex
    - item_type: preproc_def
      name: yyerror
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ap_expr_yyerror
    - item_type: preproc_def
      name: yydebug
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ap_expr_yydebug
    - item_type: preproc_def
      name: yynerrs
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ap_expr_yynerrs
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyscanner
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ctx->scanner
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: unsigned int
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: ((YYSIZE_T) -1)
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YY_ATTRIBUTE ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YY_ATTRIBUTE ((__unused__))
    - item_type: preproc_def
      name: _Noreturn
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: __declspec (noreturn)
    - item_type: preproc_def
      name: _Noreturn
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YY_ATTRIBUTE ((__noreturn__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\") \\\n    _Pragma (\"GCC diagnostic
        ignored \\\"-Wuninitialized\\\"\")\\\n    _Pragma (\"GCC diagnostic ignored
        \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 288
        line_start: 286
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: _alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: alloca
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: (sizeof (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '31'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '274'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '53'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '18'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '71'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '154'
    - item_type: preproc_def
      name: YYUNDEFTOK
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '301'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '-38'
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: (yychar = YYEMPTY)
    - item_type: preproc_def
      name: YYEMPTY
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: YYEOF
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYTERROR
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '256'
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: yystrlen
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: strlen
    - item_type: preproc_def
      name: yystpcpy
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: stpcpy
    - item_type: preproc_def
      name: YYSYNTAX_ERROR
      pos:
        line_end: 1901
        line_start: 1899
        source_file: /src/httpd/server/util_expr_parse.c
      type_or_value: "yysyntax_error (&yymsg_alloc, &yymsg, \\\n                                        yyssp,
        yytoken)"
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/httpd/server/util_expr_parse.c
      type: YYSTYPE
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/httpd/server/util_expr_parse.c
      type: YYTYPE_UINT8
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/httpd/server/util_expr_parse.c
      type: unsigned char
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/httpd/server/util_expr_parse.c
      type: YYTYPE_INT8
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/httpd/server/util_expr_parse.c
      type: signed char
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/httpd/server/util_expr_parse.c
      type: YYTYPE_UINT16
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/httpd/server/util_expr_parse.c
      type: unsigned short int
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/httpd/server/util_expr_parse.c
      type: YYTYPE_INT16
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/httpd/server/util_expr_parse.c
      type: short int
    union:
    - fields:
      - name: '*cpVal'
        type: char
      - name: '*exVal'
        type: ap_expr_t
      - name: num
        type: int
      item_type: union
      name: YYSTYPE
      pos:
        line_end: 168
        line_start: 159
        source_file: /src/httpd/server/util_expr_parse.c
    - fields:
      - name: yyss_alloc
        type: yytype_int16
      - name: yyvs_alloc
        type: YYSTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 377
        line_start: 373
        source_file: /src/httpd/server/util_expr_parse.c
- function_names:
  - ap_field_noparam
  - ap_ht_time
  - ap_strcmp_match
  - ap_strcasecmp_match
  - ap_os_is_path_absolute
  - ap_is_matchexp
  - regex_cleanup
  - ap_pregcomp
  - ap_pregfree
  - ap_strcasestr
  - ap_stripprefix
  - regsub_core
  - ap_pregsub
  - ap_pregsub_ex
  - IS_SLASH_OR_NUL
  - ap_normalize_path
  - ap_getparents
  - ap_no2slash_ex
  - ap_no2slash
  - ap_make_dirstr_prefix
  - ap_make_dirstr_parent
  - ap_count_dirs
  - ap_getword_nc
  - ap_getword
  - ap_getword_white_nc
  - ap_getword_white
  - ap_getword_nulls_nc
  - ap_getword_nulls
  - substring_conf
  - ap_getword_conf_nc
  - ap_getword_conf
  - ap_getword_conf2_nc
  - ap_getword_conf2
  - ap_cfg_closefile
  - cfg_close
  - cfg_getch
  - cfg_getstr
  - ap_pcfg_open_custom
  - ap_cfg_getc
  - ap_pcfg_strerror
  - ap_cfg_getline_core
  - cfg_trim_line
  - ap_cfg_getline
  - ap_varbuf_cfg_getline
  - ap_size_list_item
  - ap_get_list_item
  - find_list_item
  - ap_find_list_item
  - ap_find_etag_strong
  - ap_find_etag_weak
  - ap_parse_token_list_strict
  - ap_scan_http_field_content
  - ap_scan_http_token
  - ap_scan_vchar_obstext
  - ap_get_token
  - ap_find_token
  - find_last_token
  - ap_find_last_token
  - ap_is_chunked
  - ap_escape_shell_cmd
  - x2c
  - unescape_url
  - ap_unescape_url
  - ap_unescape_url_keep2f
  - ap_unescape_url_ex
  - ap_unescape_url_proxy
  - ap_unescape_url_reserved
  - ap_unescape_urlencoded
  - ap_construct_server
  - ap_unescape_all
  - c2x
  - ap_escape_path_segment_buffer
  - ap_escape_path_segment
  - ap_os_escape_path
  - ap_escape_urlencoded_buffer
  - ap_escape_urlencoded
  - ap_escape_html2
  - ap_escape_logitem
  - ap_escape_errorlog_item
  - ap_bin2hex
  - ap_is_directory
  - ap_is_rdirectory
  - ap_make_full_path
  - ap_is_url
  - ap_ind
  - ap_rind
  - ap_str_tolower
  - ap_str_toupper
  - ap_get_local_host
  - ap_pbase64decode
  - ap_pbase64decode_strict
  - ap_pbase64encode
  - ap_content_type_tolower
  - ap_escape_quotes
  - ap_append_pid
  - CHECK_OVERFLOW
  - ap_timeout_parameter_parse
  - ap_parse_strict_length
  - ap_request_has_body
  - ap_request_tainted
  - ap_pool_cleanup_set_null
  - ap_str2_alnum
  - ap_pstr2_alnum
  - ap_parse_form_data
  - varbuf_cleanup
  - ap_varbuf_init
  - ap_varbuf_grow
  - ap_varbuf_strmemcat
  - ap_varbuf_free
  - ap_varbuf_pdup
  - ap_varbuf_regsub
  - ap_abort_on_oom
  - ap_malloc
  - ap_calloc
  - ap_realloc
  - APR_THREAD_FUNC::thread_start
  - ap_thread_create
  - main_thread_cleanup
  - ap_thread_main_create
  - ap_thread_current_create
  - ap_thread_current_after_fork
  - ap_thread_current
  - ap_get_sload
  - ap_get_loadavg
  - ap_password_validate
  - ap_get_exec_line
  - ap_array_str_index
  - ap_array_str_contains
  - ap_cstr_casecmp
  - ap_cstr_casecmpn
  - fname_alphasort
  - ap_dir_cfgmatch
  - ap_dir_nofnmatch
  - ap_dir_fnmatch
  - ap_memeq_timingsafe
  - ap_streq_timingsafe
  - ap_strneq_timingsafe
  - test_nonzero_timingsafe
  - ap_memeq_timingsafe
  - ap_streq_timingsafe
  - ap_strneq_timingsafe
  source_file: /src/httpd/server/util.c
  types:
    enum:
    - enumerators:
      - name: AP_ETAG_NONE
      - name: AP_ETAG_STRONG
      - name: AP_ETAG_WEAK
      item_type: enum
      name: ap_etag_e
      pos:
        line_end: 1403
        line_start: 1399
        source_file: /src/httpd/server/util.c
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/httpd/server/util.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: AP_MAX_FNMATCH_DIR_DEPTH
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/httpd/server/util.c
      type_or_value: (128)
    - item_type: preproc_def
      name: AP_PREGSUB_MAXLEN
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/httpd/server/util.c
      type_or_value: (HUGE_STRING_LEN * 8)
    - item_type: preproc_def
      name: MAXHOSTNAMELEN
      pos:
        line_end: 2454
        line_start: 2453
        source_file: /src/httpd/server/util.c
      type_or_value: '256'
    - item_type: preproc_def
      name: VARBUF_SMALL_SIZE
      pos:
        line_end: 3051
        line_start: 3050
        source_file: /src/httpd/server/util.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: VARBUF_MAX_SIZE
      pos:
        line_end: 3053
        line_start: 3051
        source_file: /src/httpd/server/util.c
      type_or_value: "(APR_SIZE_MAX - 1 -                                \\\n                           APR_ALIGN_DEFAULT(sizeof(struct
        ap_varbuf_info)))"
    structs:
    - fields:
      - name: '*node'
        type: struct apr_memnode_t
      - name: '*allocator'
        type: apr_allocator_t
      item_type: struct
      name: ap_varbuf_info
      pos:
        line_end: 3057
        line_start: 3054
        source_file: /src/httpd/server/util.c
    - fields:
      - name: func
        type: apr_thread_start_t
      - name: '*data'
        type: void
      item_type: struct
      name: thread_ctx
      pos:
        line_end: 3296
        line_start: 3293
        source_file: /src/httpd/server/util.c
    - fields:
      - name: vb
        type: struct ap_varbuf
      - name: pwlen
        type: apr_size_t
      - name: result
        type: apr_status_t
      item_type: struct
      name: pw_cache
      pos:
        line_end: 3517
        line_start: 3512
        source_file: /src/httpd/server/util.c
    - fields:
      - name: '*fname'
        type: char
      item_type: struct
      name: fnames
      pos:
        line_end: 3735
        line_start: 3733
        source_file: /src/httpd/server/util.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/core.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*socket'
        type: apr_socket_t
      item_type: struct
      name: conn_config_t
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/httpd/server/core.h
    typedefs: []
    union: []
- function_names:
  - ap_get_server_built
  source_file: /src/httpd/server/buildmark.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_sock
  - find_accf_name
  - ap_apply_accept_filter
  - close_listeners_on_exec
  - alloc_systemd_listener
  - set_systemd_listener
  - match_address
  - find_listeners
  - alloc_listener
  - IS_INADDR_ANY
  - IS_IN6ADDR_ANY
  - open_listeners
  - ap_setup_listeners
  - ap_duplicate_listeners
  - ap_close_listeners
  - ap_close_listeners_ex
  - ap_close_selected_listeners
  - ap_listen_pre_config
  - ap_accept_error_is_nonfatal
  - parse_listen_flags
  - ap_set_listener
  - ap_set_listenbacklog
  - ap_set_listentcpdeferaccept
  - ap_set_listencbratio
  - ap_set_send_buffer_size
  - ap_set_accept_errors_nonfatal
  - ap_set_receive_buffer_size
  source_file: /src/httpd/server/listen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/listen.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - eoc_bucket_read
  - ap_bucket_eoc_make
  - ap_bucket_eoc_create
  source_file: /src/httpd/server/eoc_bucket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/util_charset.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_core_dir_config
  - merge_core_dir_configs
  - create_core_server_config
  - merge_core_server_configs
  - ap_add_per_dir_conf
  - ap_add_per_url_conf
  - ap_add_file_conf
  - ap_add_if_conf
  - reorder_sorter
  - ap_core_reorder_directories
  - ap_allow_options
  - ap_allow_overrides
  - ap_auth_type
  - ap_auth_name
  - ap_satisfies
  - ap_document_root
  - ap_context_prefix
  - ap_context_document_root
  - ap_set_document_root
  - ap_set_context_info
  - ap_response_code_string
  - do_double_reverse
  - ap_get_remote_host
  - ap_get_useragent_host
  - ap_get_remote_logname
  - ap_get_server_name
  - ap_get_server_name_for_url
  - ap_get_server_port
  - ap_construct_url
  - ap_get_limit_req_body
  - ap_get_read_buf_size
  - find_parent
  - ap_check_cmd_context
  - set_access_name
  - ap_resolve_env
  - reset_config
  - init_config_defines
  - set_define
  - unset_define
  - generate_message
  - set_gprof_dir
  - set_add_default_charset
  - set_document_root
  - ap_custom_response
  - set_error_document
  - set_allow_opts
  - set_override
  - set_cgi_pass_auth
  - set_cgi_var
  - set_qualify_redirect_url
  - set_core_server_flag
  - set_override_list
  - set_options
  - set_default_type
  - set_sethandler
  - set_etag_bits
  - set_enable_mmap
  - set_enable_sendfile
  - set_read_buf_size
  - set_flush_max_threshold
  - set_flush_max_pipelined
  - unclosed_directive
  - missing_container_arg
  - ap_limit_section
  - dirsection
  - urlsection
  - filesection
  - ifsection
  - find_module
  - start_cond_section
  - test_ifmod_section
  - ap_exists_config_define
  - test_ifdefine_section
  - test_iffile_section
  - test_ifdirective_section
  - test_ifsection_section
  - virtualhost_section
  - set_regex_default_options
  - set_server_alias
  - set_accf_map
  - ap_get_server_protocol
  - ap_set_server_protocol
  - set_protocol
  - set_server_string_slot
  - server_hostname_port
  - set_signature_flag
  - set_server_root
  - set_runtime_dir
  - set_state_dir
  - set_timeout
  - set_allow2f
  - set_hostname_lookups
  - set_serverpath
  - set_accept_path_info
  - set_use_canonical_name
  - set_use_canonical_phys_port
  - include_config
  - update_loglevel
  - set_loglevel
  - set_loglevel_override
  - ap_psignature
  - reset_banner
  - ap_get_server_revision
  - ap_get_server_description
  - ap_get_server_banner
  - ap_add_version_component
  - set_banner
  - set_serv_tokens
  - set_limit_req_line
  - set_limit_req_fieldsize
  - set_limit_req_fields
  - set_limit_req_body
  - set_limit_xml_req_body
  - set_max_ranges
  - set_max_overlaps
  - set_max_reversals
  - ap_get_limit_xml_body
  - no_set_limit
  - set_limit_cpu
  - set_limit_mem
  - set_limit_nproc
  - set_recursion_limit
  - log_backtrace
  - ap_is_recursion_limit_exceeded
  - set_trace_enable
  - set_protocols
  - set_protocols_honor_order
  - set_http_protocol_options
  - set_async_filter
  - set_http_method
  - set_cl_head_zero
  - set_expect_strict
  - log_constant_item
  - parse_errorlog_misc_string
  - parse_errorlog_item
  - parse_errorlog_string
  - set_errorlog
  - set_errorlog_format
  - ap_register_errorlog_handler
  - set_merge_trailers
  - set_unc_list
  - ap_core_translate
  - core_map_to_storage
  - do_nothing
  - core_override_type
  - default_handler
  - ap_sys_privileges_handlers
  - check_errorlog_dir
  - core_check_config
  - core_pre_config
  - core_post_config
  - core_insert_filter
  - reset_request_notes
  - ap_register_request_note
  - ap_get_request_note
  - ap_get_conn_socket
  - core_create_req
  - core_create_proxy_req
  - core_create_conn
  - core_create_secondary_conn
  - core_pre_connection
  - ap_pre_connection
  - ap_create_slave_connection
  - ap_state_query
  - ap_state_dir_relative
  - core_child_init
  - core_optional_fn_retrieve
  - ap_random_parent_after_fork
  - ap_init_rng
  - ap_random_insecure_bytes
  - RAND_RANGE
  - ap_random_pick
  - core_insert_network_bucket
  - core_dirwalk_stat
  - core_dump_config
  - core_upgrade_handler
  - core_upgrade_storage
  - core_get_pollfd_from_conn
  - ap_get_pollfd_from_conn
  - check_unc
  - ap_filepath_merge
  - ap_stat_check
  - ap_stat_check
  - register_hooks
  source_file: /src/httpd/server/core.c
  types:
    enum:
    - enumerators:
      - name: SrvTk_MAJOR
      - name: SrvTk_FULL
      - name: SrvTk_OS
      - name: SrvTk_MINOR
      - name: SrvTk_MINIMAL
      - name: SrvTk_PRODUCT_ONLY
      item_type: enum
      name: server_token_type
      pos:
        line_end: 3711
        line_start: 3704
        source_file: /src/httpd/server/core.c
    preproc_defs:
    - item_type: preproc_def
      name: AP_LIMIT_REQ_BODY_UNSET
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/httpd/server/core.c
      type_or_value: ((apr_off_t) -1)
    - item_type: preproc_def
      name: AP_DEFAULT_LIMIT_REQ_BODY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/httpd/server/core.c
      type_or_value: '((apr_off_t) 1<<30) '
    - item_type: preproc_def
      name: AP_LIMIT_UNSET
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/server/core.c
      type_or_value: ((long) -1)
    - item_type: preproc_def
      name: AP_DEFAULT_LIMIT_XML_BODY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/server/core.c
      type_or_value: ((apr_size_t)1000000)
    - item_type: preproc_def
      name: AP_MAX_LIMIT_XML_BODY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/server/core.c
      type_or_value: ((apr_size_t)(APR_SIZE_MAX / 6 - 1))
    - item_type: preproc_def
      name: AP_MIN_SENDFILE_BYTES
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/httpd/server/core.c
      type_or_value: (256)
    - item_type: preproc_def
      name: AP_MAX_INCLUDE_DEPTH
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/server/core.c
      type_or_value: (128)
    - item_type: preproc_def
      name: AP_ACCEPT_PATHINFO_UNSET
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/server/core.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AP_FLUSH_MAX_THRESHOLD
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/httpd/server/core.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: AP_FLUSH_MAX_PIPELINED
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/httpd/server/core.c
      type_or_value: '4'
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/httpd/server/core.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: ACCEPT_FILTER_NAME
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/httpd/server/core.c
      type_or_value: '"httpready"'
    - item_type: preproc_def
      name: ACCEPT_FILTER_NAME
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/httpd/server/core.c
      type_or_value: '"dataready"'
    - item_type: preproc_def
      name: SMALL_EXPANSION
      pos:
        line_end: 1399
        line_start: 1398
        source_file: /src/httpd/server/core.c
      type_or_value: '5'
    - item_type: preproc_def
      name: USE_ICASE
      pos:
        line_end: 2509
        line_start: 2508
        source_file: /src/httpd/server/core.c
      type_or_value: AP_REG_ICASE
    - item_type: preproc_def
      name: USE_ICASE
      pos:
        line_end: 2511
        line_start: 2510
        source_file: /src/httpd/server/core.c
      type_or_value: '0'
    - item_type: preproc_def
      name: COND_IF
      pos:
        line_end: 2802
        line_start: 2801
        source_file: /src/httpd/server/core.c
      type_or_value: ((void *)1)
    - item_type: preproc_def
      name: COND_ELSE
      pos:
        line_end: 2803
        line_start: 2802
        source_file: /src/httpd/server/core.c
      type_or_value: ((void *)2)
    - item_type: preproc_def
      name: COND_ELSEIF
      pos:
        line_end: 2804
        line_start: 2803
        source_file: /src/httpd/server/core.c
      type_or_value: ((void *)3)
    - item_type: preproc_def
      name: apr_filepath_merge
      pos:
        line_end: 6106
        line_start: 6105
        source_file: /src/httpd/server/core.c
      type_or_value: ap_filepath_merge
    structs:
    - fields:
      - name: '*subnet'
        type: apr_ipsubnet_t
      - name: log
        type: struct ap_logconf
      item_type: struct
      name: conn_log_config
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/httpd/server/core.c
    - fields:
      - name: '*elt'
        type: ap_conf_vector_t
      - name: orig_index
        type: int
      item_type: struct
      name: reorder_sort_rec
      pos:
        line_end: 704
        line_start: 701
        source_file: /src/httpd/server/core.c
    - fields:
      - name: '*next'
        type: struct sll
      - name: '*string'
        type: char
      - name: len
        type: apr_size_t
      item_type: struct
      name: sll
      pos:
        line_end: 1403
        line_start: 1399
        source_file: /src/httpd/server/core.c
    typedefs:
    - item_type: typedef
      name: (*test_cond_section_fn)(cmd_parms *cmd, const char *arg)
      pos:
        line_end: 2934
        line_start: 2934
        source_file: /src/httpd/server/core.c
      type: int
    union: []
- function_names: []
  source_file: /src/httpd/server/util_expr_parse.h
  types:
    enum:
    - enumerators:
      - name: T_FALSE
        value: '259'
      - name: T_DIGIT
        value: '263'
      - name: T_REGSUB
        value: '267'
      - name: T_STR_END
        value: '275'
      - name: T_BACKREF
        value: '271'
      - name: T_OP_NE
        value: '281'
      - name: T_OP_GE
        value: '285'
      - name: T_OP_STR_EQ
        value: '289'
      - name: T_OP_STR_GT
        value: '293'
      - name: T_OP_SPLIT
        value: '297'
      - name: T_OP_CONCAT
        value: '295'
      - name: T_ERROR
        value: '262'
      - name: T_REGEX
        value: '266'
      - name: T_STR_BEGIN
        value: '274'
      - name: T_REG_FLAGS
        value: '270'
      - name: T_OP_EQ
        value: '280'
      - name: T_OP_GT
        value: '284'
      - name: T_OP_IN
        value: '288'
      - name: T_OP_STR_LE
        value: '292'
      - name: T_OP_JOIN
        value: '296'
      - name: T_OP_AND
        value: '300'
      - name: T_TRUE
        value: '258'
      - name: T_EXPR_STRING
        value: '261'
      - name: T_STRING
        value: '265'
      - name: T_OP_BINARY
        value: '273'
      - name: T_REG_SUBST
        value: '269'
      - name: T_VAR_END
        value: '277'
      - name: T_VAREXP_END
        value: '279'
      - name: T_OP_LE
        value: '283'
      - name: T_OP_NRE
        value: '287'
      - name: T_OP_STR_LT
        value: '291'
      - name: T_OP_OR
        value: '299'
      - name: T_OP_SUB
        value: '298'
      - name: T_EXPR_BOOL
        value: '260'
      - name: T_ID
        value: '264'
      - name: T_REG_MATCH
        value: '268'
      - name: T_OP_UNARY
        value: '272'
      - name: T_VAR_BEGIN
        value: '276'
      - name: T_VAREXP_BEGIN
        value: '278'
      - name: T_OP_LT
        value: '282'
      - name: T_OP_REG
        value: '286'
      - name: T_OP_STR_NE
        value: '290'
      - name: T_OP_STR_GE
        value: '294'
      - name: T_OP_NOT
        value: '301'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 91
        line_start: 45
        source_file: /src/httpd/server/util_expr_parse.h
    preproc_defs:
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/server/util_expr_parse.h
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/httpd/server/util_expr_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/server/util_expr_parse.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/httpd/server/util_expr_parse.h
      type: YYSTYPE
    union:
    - fields:
      - name: '*cpVal'
        type: char
      - name: '*exVal'
        type: ap_expr_t
      - name: num
        type: int
      item_type: union
      name: YYSTYPE
      pos:
        line_end: 106
        line_start: 97
        source_file: /src/httpd/server/util_expr_parse.h
- function_names:
  - ap_parse_mutex
  - ap_mutex_init
  - ap_set_mutex
  - ap_mutex_register
  - mutex_needs_file
  - get_mutex_filename
  - mxcfg_lookup
  - log_bad_create_options
  - log_unknown_type
  - log_create_failure
  - log_perms_failure
  - ap_global_mutex_create
  - ap_proc_mutex_create
  - ap_dump_mutexes
  source_file: /src/httpd/server/util_mutex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/util_mutex.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs:
    - fields:
      - name: options
        type: apr_int32_t
      - name: set
        type: unsigned int
      - name: none
        type: unsigned int
      - name: omit_pid
        type: unsigned int
      - name: mech
        type: apr_lockmech_e
      - name: '*dir'
        type: char
      item_type: struct
      name: mutex_cfg_t
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/httpd/server/util_mutex.c
    typedefs: []
    union: []
- function_names:
  - ap_register_extra_mpm_process
  - ap_unregister_extra_mpm_process
  - reclaim_one_pid
  - ap_reclaim_child_processes
  - ap_relieve_child_processes
  - ap_mpm_safe_kill
  - ap_process_child_status
  - ap_mpm_pod_open
  - ap_mpm_pod_check
  - ap_mpm_pod_close
  - pod_signal_internal
  - ap_mpm_podx_open
  - ap_mpm_podx_check
  - ap_mpm_podx_close
  - podx_signal_internal
  - ap_mpm_podx_signal
  - ap_mpm_podx_killpg
  - dummy_connection
  - ap_mpm_pod_signal
  - ap_mpm_pod_killpg
  - send_signal
  - ap_signal_server
  - ap_mpm_rewrite_args
  - ap_mpm_set_exception_hook
  - run_fatal_exception_hook
  - sig_coredump
  - ap_fatal_signal_child_setup
  - fatal_signal_cleanup
  - ap_fatal_signal_setup
  source_file: /src/httpd/server/mpm_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/httpd/server/mpm_unix.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs:
    - fields:
      - name: '*next'
        type: struct extra_process_t
      - name: pid
        type: pid_t
      - name: gen
        type: ap_generation_t
      item_type: struct
      name: extra_process_t
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/httpd/server/mpm_unix.c
    - fields:
      - name: action
        type: action_t
      - name: action_time
        type: apr_time_t
      item_type: struct
      name: "action_table[] = {\n        {DO_NOTHING, 0}, /* dummy entry for iterations
        where we reap\n                          * children but take no action against\n
        \                         * stragglers\n                          */\n        {SEND_SIGTERM_NOLOG,
        0}, /* skipped if terminate == 0 */\n        {SEND_SIGTERM, apr_time_from_sec(3)},\n
        \       {SEND_SIGTERM, apr_time_from_sec(5)},\n        {SEND_SIGTERM, apr_time_from_sec(7)},\n
        \       {SEND_SIGKILL, apr_time_from_sec(9)},\n        {GIVEUP,       apr_time_from_sec(10)}\n
        \   }"
      pos:
        line_end: 198
        line_start: 195
        source_file: /src/httpd/server/mpm_unix.c
    typedefs: []
    union: []
- function_names:
  - ap_piped_log_read_fd
  - ap_piped_log_write_fd
  - close_handle_in_child
  - ap_logs_child_init
  - ap_open_stderr_log
  - ap_replace_stderr_log
  - log_child_errfn
  - log_child
  - open_error_log
  - ap_open_logs
  - ap_error_log2stderr
  - cpystrn
  - log_remote_address
  - log_local_address
  - log_pid
  - log_tid
  - log_ctime
  - log_loglevel
  - log_log_id
  - log_keepalives
  - log_module_name
  - log_file_line
  - log_apr_status
  - log_server_name
  - log_virtual_host
  - log_table_entry
  - log_header
  - log_note
  - log_env_var
  - core_generate_log_id
  - add_log_id
  - ap_register_log_hooks
  - do_errorlog_default
  - do_errorlog_format
  - write_logline
  - log_error_core
  - log_error_va_glue
  - ap_log_error_
  - ap_log_perror_
  - ap_log_rerror_
  - ap_log_cserror_
  - ap_log_cerror_
  - fmt_data
  - log_data_core
  - ap_log_data_
  - ap_log_rdata_
  - ap_log_cdata_
  - ap_log_csdata_
  - ap_log_command_line
  - ap_log_mpm_common
  - ap_remove_pid
  - ap_log_pid
  - ap_read_pid
  - ap_log_assert
  - piped_log_spawn
  - piped_log_maintenance
  - piped_log_cleanup_for_exec
  - piped_log_cleanup
  - ap_open_piped_log_ex
  - piped_log_cleanup
  - ap_open_piped_log_ex
  - ap_open_piped_log
  - ap_close_piped_log
  - ap_parse_log_level
  source_file: /src/httpd/server/log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/server/log.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: DEFAULT_LOG_TID
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/server/log.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: NULL_DEVICE
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/httpd/server/log.c
      type_or_value: '"nul"'
    - item_type: preproc_def
      name: NULL_DEVICE
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/httpd/server/log.c
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: BYTES_LOGGED_PER_LINE
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/httpd/server/log.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LOG_BYTES_BUFFER_SIZE
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/httpd/server/log.c
      type_or_value: (BYTES_LOGGED_PER_LINE * 3 + 2)
    structs:
    - fields:
      - name: '*t_name'
        type: char
      - name: t_val
        type: int
      item_type: struct
      name: TRANS
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/httpd/server/log.c
    - fields:
      - name: '*next'
        type: struct read_handle_t
      - name: '*handle'
        type: apr_file_t
      item_type: struct
      name: read_handle_t
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/httpd/server/log.c
    - fields:
      - name: '*p'
        type: apr_pool_t
      - name: '*read_fd'
        type: apr_file_t
      item_type: struct
      name: piped_log
      pos:
        line_end: 142
        line_start: 129
        source_file: /src/httpd/server/log.c
    typedefs: []
    union: []
- function_names:
  - queue_info_cleanup
  - ap_queue_info_create
  - ap_queue_info_set_idle
  - ap_queue_info_try_get_idler
  - ap_queue_info_wait_for_idler
  - ap_queue_info_num_idlers
  - ap_queue_info_push_pool
  - ap_queue_info_pop_pool
  - ap_queue_info_free_idle_pools
  - ap_queue_info_term
  - ap_queue_full
  - ap_queue_empty
  - ap_queue_destroy
  - ap_queue_create
  - ap_queue_push_socket
  - ap_queue_push_timer
  - ap_queue_pop_something
  - queue_interrupt
  - ap_queue_interrupt_all
  - ap_queue_interrupt_one
  - ap_queue_term
  source_file: /src/httpd/server/mpm_fdqueue.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*next'
        type: struct recycled_pool
      item_type: struct
      name: recycled_pool
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/httpd/server/mpm_fdqueue.c
    - fields:
      - name: idlers
        type: apr_uint32_t
      - name: '*idlers_mutex'
        type: apr_thread_mutex_t
      - name: '*wait_for_idler'
        type: apr_thread_cond_t
      - name: terminated
        type: int
      - name: max_idlers
        type: int
      - name: max_recycled_pools
        type: int
      - name: recycled_pools_count
        type: apr_uint32_t
      - name: '*volatile recycled_pools'
        type: struct recycled_pool
      item_type: struct
      name: fd_queue_info_t
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/httpd/server/mpm_fdqueue.c
    - fields:
      - name: '*sd'
        type: apr_socket_t
      - name: '*sd_baton'
        type: void
      - name: '*p'
        type: apr_pool_t
      item_type: struct
      name: fd_queue_elem_t
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/httpd/server/mpm_fdqueue.c
    typedefs: []
    union: []
- function_names:
  - BRIGADE_NORMALIZE
  - ap_core_input_filter
  - ap_core_output_filter
  - is_in_memory_bucket
  - can_sendfile_bucket
  - delete_meta_bucket
  - sock_nopush
  - send_brigade_nonblocking
  - writev_nonblocking
  - sendfile_nonblocking
  source_file: /src/httpd/server/core_filters.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AP_MIN_SENDFILE_BYTES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/server/core_filters.c
      type_or_value: (256)
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/server/core_filters.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: NVEC_MIN
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/httpd/server/core_filters.c
      type_or_value: '16'
    - item_type: preproc_def
      name: NVEC_MAX
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/httpd/server/core_filters.c
      type_or_value: NVEC_MIN
    - item_type: preproc_def
      name: NVEC_MIN
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/httpd/server/core_filters.c
      type_or_value: '16'
    - item_type: preproc_def
      name: NVEC_MIN
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/httpd/server/core_filters.c
      type_or_value: APR_MAX_IOVEC_SIZE
    - item_type: preproc_def
      name: NVEC_MAX
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/httpd/server/core_filters.c
      type_or_value: APR_MAX_IOVEC_SIZE
    - item_type: preproc_def
      name: APR_TCP_NOPUSH_FLAG
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/httpd/server/core_filters.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*empty_bb'
        type: apr_bucket_brigade
      - name: bytes_written
        type: apr_size_t
      - name: '*vec'
        type: struct iovec
      - name: nvec
        type: apr_size_t
      item_type: struct
      name: core_output_ctx_t
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/httpd/server/core_filters.c
    - fields:
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*tmpbb'
        type: apr_bucket_brigade
      item_type: struct
      name: core_input_ctx_t
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/httpd/server/core_filters.c
    typedefs: []
    union: []
- function_names:
  - ap_init_vhost_config
  - get_addresses
  - ap_parse_vhost_addrs
  - ap_set_name_virtual_host
  - iphash_compare
  - dump_iphash_statistics
  - hash_inaddr
  - hash_addr
  - new_ipaddr_chain
  - new_name_chain
  - ipaddr_chain *find_ipaddr(apr_sockaddr_t *sa)
  - find_default_server
  - IS_IN6_ANYADDR
  - IS_IN6_ANYADDR
  - dump_a_vhost
  - dump_vhost_config
  - add_name_vhost_config
  - ap_fini_vhost_config
  - fix_hostname_v6_literal
  - fix_hostname_non_v6
  - strict_hostname_check
  - fix_hostname
  - matches_aliases
  - ap_matches_request_vhost
  - update_server_from_aliases
  - check_serverpath
  - construct_host_header
  - ap_update_vhost_from_headers
  - ap_update_vhost_from_headers_ex
  - ap_vhost_iterate_given_conn
  - ap_update_vhost_given_ip
  source_file: /src/httpd/server/vhost.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/server/vhost.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: IPHASH_TABLE_SIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/httpd/server/vhost.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '*next'
        type: name_chain
      - name: '*sar'
        type: server_addr_rec
      - name: '*server'
        type: server_rec
      item_type: struct
      name: name_chain
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/httpd/server/vhost.c
    - fields:
      - name: '*next'
        type: ipaddr_chain
      - name: '*sar'
        type: server_addr_rec
      - name: '*server'
        type: server_rec
      - name: '*names'
        type: name_chain
      - name: '*initialnames'
        type: name_chain
      item_type: struct
      name: ipaddr_chain
      pos:
        line_end: 77
        line_start: 67
        source_file: /src/httpd/server/vhost.c
    typedefs:
    - item_type: typedef
      name: name_chain
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/httpd/server/vhost.c
      type: name_chain
    - item_type: typedef
      name: ipaddr_chain
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/httpd/server/vhost.c
      type: ipaddr_chain
    union: []
- function_names:
  - mpm_common_pre_config
  - ap_wait_or_timeout
  - ap_sock_disable_nagle
  - ap_uname2id
  - ap_gname2id
  - initgroups
  - ap_mpm_set_pidfile
  - ap_mpm_dump_pidfile
  - ap_mpm_set_max_requests
  - ap_mpm_set_coredumpdir
  - ap_mpm_set_graceful_shutdown
  - ap_mpm_set_max_mem_free
  - ap_mpm_set_thread_stacksize
  - ap_mpm_query
  - end_gen
  - ap_mpm_end_gen_helper
  - ap_core_child_status
  - ap_mpm_resume_suspended
  - ap_mpm_register_timed_callback
  - ap_mpm_register_poll_callback
  - ap_mpm_register_poll_callback_timeout
  - ap_show_mpm
  - ap_check_mpm
  source_file: /src/httpd/server/mpm_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/server/mpm_common.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: DEFAULT_HOOK_LINKS
      pos:
        line_end: 82
        line_start: 64
        source_file: /src/httpd/server/mpm_common.c
      type_or_value: "APR_HOOK_LINK(monitor) \\\n    APR_HOOK_LINK(drop_privileges)
        \\\n    APR_HOOK_LINK(mpm) \\\n    APR_HOOK_LINK(mpm_query) \\\n    APR_HOOK_LINK(mpm_register_timed_callback)
        \\\n    APR_HOOK_LINK(mpm_register_poll_callback) \\\n    APR_HOOK_LINK(mpm_register_poll_callback_timeout)
        \\\n    APR_HOOK_LINK(mpm_get_name) \\\n    APR_HOOK_LINK(mpm_resume_suspended)
        \\\n    APR_HOOK_LINK(end_generation) \\\n    APR_HOOK_LINK(child_status)
        \\\n    APR_HOOK_LINK(output_pending) \\\n    APR_HOOK_LINK(input_pending)
        \\\n    APR_HOOK_LINK(suspend_connection) \\\n    APR_HOOK_LINK(resume_connection)
        \\\n    APR_HOOK_LINK(child_stopping) \\\n    APR_HOOK_LINK(child_stopped)"
    - item_type: preproc_def
      name: ALLOCATOR_MAX_FREE_DEFAULT
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/httpd/server/mpm_common.c
      type_or_value: (2048*1024)
    - item_type: preproc_def
      name: INTERVAL_OF_WRITABLE_PROBES
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/httpd/server/mpm_common.c
      type_or_value: '10'
    structs:
    - fields:
      - name: (mpm_gen_info_t)
        type: APR_RING_ENTRY
      - name: gen
        type: int
      - name: active
        type: int
      - name: done
        type: int
      item_type: struct
      name: mpm_gen_info_t
      pos:
        line_end: 170
        line_start: 165
        source_file: /src/httpd/server/mpm_common.c
    typedefs: []
    union: []
- function_names:
  - ap_cookie_write
  - ap_cookie_write2
  - ap_cookie_remove
  - ap_cookie_remove2
  - extract_cookie_line
  - ap_cookie_read
  - ap_cookie_check_string
  source_file: /src/httpd/server/util_cookies.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_PREFIX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/server/util_cookies.c
      type_or_value: '"ap_cookie: "'
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/server/util_cookies.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_md5_binary
  - ap_md5
  source_file: /src/httpd/server/util_md5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_xml_parse_input
  source_file: /src/httpd/server/util_xml.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: READ_BLOCKSIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/server/util_xml.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/server/util_xml.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_empty_config
  - create_default_per_dir_config
  - ap_merge_per_dir_configs
  - create_server_config
  - merge_server_configs
  - ap_create_request_config
  - ap_create_conn_config
  - ap_create_per_dir_config
  - invoke_filter_init
  - ap_invoke_handler
  - ap_method_is_limited
  - ap_register_hooks
  - rebuild_conf_hash
  - ap_add_module_commands
  - ap_add_module
  - ap_remove_module
  - ap_add_loaded_module
  - ap_remove_loaded_module
  - ap_setup_prelinked_modules
  - ap_find_module_name
  - ap_find_module_short_name
  - ap_find_linked_module
  - invoke_cmd
  - ap_find_command
  - ap_find_command_in_modules
  - ap_set_config_vectors
  - ap_build_config_sub
  - ap_build_cont_config
  - ap_walk_config_sub
  - ap_walk_config
  - ap_build_config
  - ap_set_string_slot
  - ap_set_int_slot
  - ap_set_string_slot_lower
  - ap_set_flag_slot
  - ap_set_flag_slot_char
  - ap_set_file_slot
  - ap_set_deprecated
  - ap_reset_module_loglevels
  - ap_set_module_loglevel
  - ap_server_root_relative
  - ap_runtime_dir_relative
  - ap_soak_end_container
  - execute_now
  - arr_elts_getstr
  - arr_elts_close
  - process_command_config
  - dump_config_name
  - ap_process_resource_config
  - process_resource_config_cb
  - ap_process_fnmatch_configs
  - ap_process_config_tree
  - ap_open_htaccess
  - ap_parse_htaccess
  - ap_init_virtual_host
  - ap_new_log_config
  - ap_merge_log_config
  - ap_fixup_virtual_hosts
  - init_config_globals
  - init_server_config
  - reset_conf_vector_length
  - conf_vector_length_pre_config
  - ap_register_config_hooks
  - ap_read_config
  - ap_single_module_configure
  - ap_run_rewrite_args
  - show_overrides
  - ap_show_directives
  - ap_show_modules
  - ap_exists_directive
  - ap_retained_data_get
  - ap_retained_data_create
  - count_directives_sub
  - ap_reserve_module_slots
  - ap_reserve_module_slots_directive
  source_file: /src/httpd/server/config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_UNSET
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/server/config.c
      type_or_value: (APLOG_NO_MODULE - 1)
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/httpd/server/config.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: AP_MAX_INCLUDE_DIR_DEPTH
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/httpd/server/config.c
      type_or_value: (128)
    - item_type: preproc_def
      name: AP_MAX_ARGC
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/httpd/server/config.c
      type_or_value: '64'
    - item_type: preproc_def
      name: VARBUF_INIT_LEN
      pos:
        line_end: 1250
        line_start: 1249
        source_file: /src/httpd/server/config.c
      type_or_value: '200'
    - item_type: preproc_def
      name: VARBUF_MAX_LEN
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/httpd/server/config.c
      type_or_value: (16*1024*1024)
    structs:
    - fields:
      - name: '*next'
        type: struct ap_mod_list_struct
      - name: '*m'
        type: module
      - name: '*cmd'
        type: command_rec
      item_type: struct
      name: ap_mod_list_struct
      pos:
        line_end: 508
        line_start: 504
        source_file: /src/httpd/server/config.c
    - fields:
      - name: '*array'
        type: apr_array_header_t
      - name: curr_idx
        type: int
      item_type: struct
      name: arr_elts_param_t
      pos:
        line_end: 1730
        line_start: 1727
        source_file: /src/httpd/server/config.c
    - fields:
      - name: '*s'
        type: server_rec
      - name: '**conftree'
        type: ap_directive_t
      item_type: struct
      name: configs
      pos:
        line_end: 1898
        line_start: 1895
        source_file: /src/httpd/server/config.c
    typedefs:
    - item_type: typedef
      name: (*handler_func)(request_rec *)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/httpd/server/config.c
      type: int
    - item_type: typedef
      name: '*(*dir_maker_func)(apr_pool_t *, char *)'
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/httpd/server/config.c
      type: void
    - item_type: typedef
      name: '*(*merger_func)(apr_pool_t *, void *, void *)'
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/httpd/server/config.c
      type: void
    - item_type: typedef
      name: ap_mod_list
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/httpd/server/config.c
      type: ap_mod_list_struct
    union: []
- function_names:
  - error_bucket_read
  - error_bucket_destroy
  - ap_bucket_error_make
  - ap_bucket_error_create
  source_file: /src/httpd/server/error_bucket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - INSERT_BEFORE
  - trie_node_link
  - trie_node_alloc
  - filter_cleanup
  - get_filter_handle
  - ap_get_output_filter_handle
  - ap_get_input_filter_handle
  - register_filter
  - ap_register_input_filter
  - ap_register_output_filter
  - ap_register_output_filter_protocol
  - get_conn_ctx
  - make_spare_ring
  - get_spare
  - put_spare
  - ap_acquire_brigade
  - ap_release_brigade
  - request_filter_cleanup
  - recycle_dead_filters
  - add_any_filter_handle
  - add_any_filter
  - ap_add_input_filter
  - ap_add_input_filter_handle
  - ap_add_output_filter
  - ap_add_output_filter_handle
  - is_pending_filter
  - pending_filter_cleanup
  - remove_any_filter
  - ap_remove_input_filter
  - ap_remove_output_filter
  - ap_remove_input_filter_byhandle
  - ap_remove_output_filter_byhandle
  - ap_get_brigade
  - ap_pass_brigade
  - ap_pass_brigade_fchk
  - ap_save_brigade
  - ap_filter_prepare_brigade
  - save_aside_brigade
  - ap_filter_setaside_brigade
  - ap_filter_adopt_brigade
  - ap_filter_reinstate_brigade
  - ap_filter_should_yield
  - ap_filter_output_pending
  - ap_filter_input_pending
  - ap_filter_flush
  - ap_fflush
  - ap_fputstrs
  - ap_fprintf
  - ap_filter_protocol
  - ap_bucket_wc_make
  - ap_bucket_wc_create
  source_file: /src/httpd/server/util_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_POOL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/server/util_filter.c
      type_or_value: apr_hook_global_pool
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/server/util_filter.c
      type_or_value: AP_CORE_MODULE_INDEX
    - item_type: preproc_def
      name: TRIE_INITIAL_SIZE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/httpd/server/util_filter.c
      type_or_value: '4'
    structs:
    - fields:
      - name: (ap_filter_private)
        type: APR_RING_ENTRY
      - name: '*f'
        type: ap_filter_t
      - name: '*bb'
        type: apr_bucket_brigade
      - name: '*deferred_pool'
        type: apr_pool_t
      item_type: struct
      name: ap_filter_private
      pos:
        line_end: 64
        line_start: 53
        source_file: /src/httpd/server/util_filter.c
    - fields:
      - name: (spare_data)
        type: APR_RING_ENTRY
      - name: '*data'
        type: void
      item_type: struct
      name: spare_data
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/httpd/server/util_filter.c
    - fields:
      - name: '*pending_input_filters'
        type: struct pending_ring
      - name: '*pending_output_filters'
        type: struct pending_ring
      - name: '*spare_containers'
        type: struct spare_ring
      item_type: struct
      name: ap_filter_conn_ctx
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/httpd/server/util_filter.c
    - fields:
      - name: c
        type: int
      - name: '*child'
        type: filter_trie_node
      item_type: struct
      name: filter_trie_child_ptr
      pos:
        line_end: 88
        line_start: 85
        source_file: /src/httpd/server/util_filter.c
    - fields:
      - name: '*frec'
        type: ap_filter_rec_t
      - name: '*children'
        type: filter_trie_child_ptr
      - name: nchildren
        type: int
      - name: size
        type: int
      item_type: struct
      name: filter_trie_node
      pos:
        line_end: 99
        line_start: 94
        source_file: /src/httpd/server/util_filter.c
    typedefs:
    - item_type: typedef
      name: filter_trie_node
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/httpd/server/util_filter.c
      type: filter_trie_node
    union: []
- function_names:
  - PCREn
  - PCREn
  - ap_pcre_version_string
  - ap_regerror
  - ap_regfree
  - ap_regcomp_get_default_cflags
  - ap_regcomp_set_default_cflags
  - ap_regcomp_default_cflag_by_name
  - ap_regcomp
  - private_malloc
  - private_free
  - setup_state
  - cleanup_state
  - ap_regexec
  - ap_regexec_len
  - ap_regexec_ex
  - ap_regname
  source_file: /src/httpd/server/util_pcre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: '8'
    - item_type: preproc_def
      name: POSIX_MALLOC_THRESHOLD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: (10)
    - item_type: preproc_def
      name: AP_PCRE_STACKBUF_SIZE
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: APR_ALIGN_DEFAULT(128 + POSIX_MALLOC_THRESHOLD * sizeof(PCRE2_SIZE)
        * 2)
    - item_type: preproc_def
      name: AP_PCRE_STACKBUF_SIZE
      pos:
        line_end: 88
        line_start: 86
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: APR_ALIGN_DEFAULT(POSIX_MALLOC_THRESHOLD * sizeof(int) * 3)
    - item_type: preproc_def
      name: APREG_USE_THREAD_LOCAL
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: '1'
    - item_type: preproc_def
      name: APREG_USE_THREAD_LOCAL
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/httpd/server/util_pcre.c
      type_or_value: '0'
    structs:
    - fields:
      - name: buf[AP_PCRE_STACKBUF_SIZE]
        type: char
      - name: buf_used
        type: apr_size_t
      item_type: struct
      name: match_data_state
      pos:
        line_end: 315
        line_start: 299
        source_file: /src/httpd/server/util_pcre.c
    typedefs:
    - item_type: typedef
      name: '* match_vector_pt'
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/httpd/server/util_pcre.c
      type: PCRE2_SIZE
    - item_type: typedef
      name: '*        match_vector_pt'
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/httpd/server/util_pcre.c
      type: int
    union: []
- function_names:
  - dummy_read
  - request_bucket_destroy
  - ap_bucket_request_make
  - ap_bucket_request_maken
  - ap_bucket_request_create
  - ap_bucket_request_createn
  - ap_bucket_request_clone
  - response_bucket_destroy
  - ap_bucket_response_make
  - ap_bucket_response_create
  - ap_bucket_response_clone
  - headers_bucket_destroy
  - ap_bucket_headers_make
  - ap_bucket_headers_create
  - ap_bucket_headers_clone
  source_file: /src/httpd/server/headers_bucket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rxplus_cleanup
  - ap_rxplus_compile
  - ap_rxplus_exec
  - ap_rxplus_nmatch
  - ap_rxplus_match
  - ap_rxplus_pmatch
  source_file: /src/httpd/server/util_regex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_strchr
  - ap_strchr_c
  - ap_strrchr
  - ap_strrchr_c
  - ap_strstr
  - ap_strstr_c
  - ap_get_module_config
  - ap_get_module_flags
  - ap_get_core_module_config
  - ap_get_server_module_loglevel
  - ap_get_conn_module_loglevel
  - ap_get_conn_server_module_loglevel
  - ap_get_request_module_loglevel
  - ap_set_module_config
  - ap_set_core_module_config
  - ap_palloc_debug
  - ap_pcalloc_debug
  source_file: /src/httpd/server/util_debug.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_is_https
  - ap_ssl_conn_is_ssl
  - ssl_engine_set
  - ssl_proxy_enable
  - ssl_engine_disable
  - ap_ssl_bind_outgoing
  - ap_ssl_has_outgoing_handlers
  - ssl_var_lookup
  - ap_ssl_var_lookup
  - ap_setup_ssl_optional_fns
  - ap_ssl_add_cert_files
  - ap_ssl_add_fallback_cert_files
  - ap_ssl_answer_challenge
  - ap_ssl_ocsp_prime
  - ap_ssl_ocsp_get_resp
  source_file: /src/httpd/server/ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/server/ssl.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_init_ebcdic
  - ap_xlate_proto_to_ascii
  - ap_xlate_proto_from_ascii
  - ap_rvputs_proto_in_ascii
  source_file: /src/httpd/server/util_ebcdic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/httpd/server/util_ebcdic.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs: []
    typedefs: []
    union: []
- function_names:
  - eor_bucket_cleanup
  - eor_bucket_read
  - ap_bucket_eor_make
  - ap_bucket_eor_create
  - ap_bucket_eor_request
  - eor_bucket_destroy
  source_file: /src/httpd/server/eor_bucket.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: apr_bucket_refcount
      - name: '*r'
        type: request_rec
      item_type: struct
      name: ap_bucket_eor
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/httpd/server/eor_bucket.c
    typedefs: []
    union: []
- function_names:
  - ap_queue_pop_socket
  source_file: /src/httpd/server/mpm_fdqueue.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (timer_event_t)
        type: APR_RING_ENTRY
      - name: when
        type: apr_time_t
      - name: '*cbfunc'
        type: ap_mpm_callback_fn_t
      - name: '*baton'
        type: void
      - name: canceled
        type: int
      - name: '*pfds'
        type: apr_array_header_t
      item_type: struct
      name: timer_event_t
      pos:
        line_end: 72
        line_start: 64
        source_file: /src/httpd/server/mpm_fdqueue.h
    - fields:
      - name: '*data'
        type: fd_queue_elem_t
      - name: nelts
        type: unsigned int
      - name: bounds
        type: unsigned int
      - name: in
        type: unsigned int
      - name: out
        type: unsigned int
      - name: '*one_big_mutex'
        type: apr_thread_mutex_t
      - name: '*not_empty'
        type: apr_thread_cond_t
      - name: terminated
        type: int
      item_type: struct
      name: fd_queue_t
      pos:
        line_end: 86
        line_start: 75
        source_file: /src/httpd/server/mpm_fdqueue.h
    typedefs:
    - item_type: typedef
      name: fd_queue_info_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/httpd/server/mpm_fdqueue.h
      type: fd_queue_info_t
    - item_type: typedef
      name: fd_queue_elem_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/httpd/server/mpm_fdqueue.h
      type: fd_queue_elem_t
    - item_type: typedef
      name: timer_event_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/httpd/server/mpm_fdqueue.h
      type: timer_event_t
    - item_type: typedef
      name: fd_queue_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/httpd/server/mpm_fdqueue.h
      type: fd_queue_t
    union: []
- function_names:
  - decl_die
  - ap_some_authn_required
  - walk_location_and_if
  - ap_process_request_internal
  - prep_walk_cache
  - resolve_symlink
  - core_opts_merge
  - ap_directory_walk
  - ap_location_walk
  - ap_file_walk
  - ap_if_walk_sub
  - ap_if_walk
  - make_sub_request
  - ap_sub_req_output_filter
  - ap_some_auth_required
  - ap_clear_auth_internal
  - ap_setup_auth_internal
  - ap_register_auth_provider
  - ap_hook_check_access
  - ap_hook_check_access_ex
  - ap_hook_check_autht
  - ap_hook_check_authn
  - ap_hook_check_authz
  - ap_sub_req_method_uri
  - ap_sub_req_lookup_uri
  - ap_sub_req_lookup_dirent
  - ap_sub_req_lookup_file
  - ap_run_sub_req
  - ap_destroy_sub_req
  - ap_update_mtime
  - ap_is_initial_req
  source_file: /src/httpd/server/request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APLOG_MODULE_INDEX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/server/request.c
      type_or_value: AP_CORE_MODULE_INDEX
    structs:
    - fields:
      - name: '*matched'
        type: ap_conf_vector_t
      - name: '*merged'
        type: ap_conf_vector_t
      item_type: struct
      name: walk_walked_t
      pos:
        line_end: 457
        line_start: 454
        source_file: /src/httpd/server/request.c
    - fields:
      - name: '*cached'
        type: char
      - name: '**dir_conf_tested'
        type: ap_conf_vector_t
      - name: '*dir_conf_merged'
        type: ap_conf_vector_t
      - name: '*per_dir_result'
        type: ap_conf_vector_t
      - name: '*walked'
        type: apr_array_header_t
      - name: '*prev'
        type: struct walk_cache_t
      - name: count
        type: int
      item_type: struct
      name: walk_cache_t
      pos:
        line_end: 467
        line_start: 459
        source_file: /src/httpd/server/request.c
    - fields:
      - name: opts
        type: allow_options_t
      - name: add
        type: allow_options_t
      - name: remove
        type: allow_options_t
      - name: override
        type: overrides_t
      - name: override_opts
        type: overrides_t
      - name: '*override_list'
        type: apr_table_t
      item_type: struct
      name: core_opts_t
      pos:
        line_end: 630
        line_start: 623
        source_file: /src/httpd/server/request.c
    typedefs: []
    union: []
- function_names:
  - ap_add_node
  source_file: /src/httpd/server/util_cfgtree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - apr_isalnum
  - apr_isalpha
  - apr_iscntrl
  - apr_isprint
  - main
  source_file: /src/httpd/server/gen_test_char.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APR_HAVE_STDIO_H
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: '1'
    - item_type: preproc_def
      name: APR_HAVE_STRING_H
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: '1'
    - item_type: preproc_def
      name: T_ESCAPE_SHELL_CMD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x01)
    - item_type: preproc_def
      name: T_ESCAPE_PATH_SEGMENT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x02)
    - item_type: preproc_def
      name: T_OS_ESCAPE_PATH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x04)
    - item_type: preproc_def
      name: T_HTTP_TOKEN_STOP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x08)
    - item_type: preproc_def
      name: T_ESCAPE_LOGITEM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x10)
    - item_type: preproc_def
      name: T_ESCAPE_FORENSIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x20)
    - item_type: preproc_def
      name: T_ESCAPE_URLENCODED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x40)
    - item_type: preproc_def
      name: T_HTTP_CTRLS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x80)
    - item_type: preproc_def
      name: T_VCHAR_OBSTEXT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x100)
    - item_type: preproc_def
      name: T_URI_UNRESERVED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/server/gen_test_char.c
      type_or_value: (0x200)
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_core_get
  - simple_core_init_once
  source_file: /src/httpd/server/mpm/simple/simple_core.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/simple/simple_run.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/simple/simple_children.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_timer_pool_cleanup
  - simple_register_timer
  - simple_timer_run
  source_file: /src/httpd/server/mpm/simple/simple_event.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_io_timeout_cb
  - simple_io_process
  - simple_io_invoke
  - simple_io_setup_conn
  - simple_io_accept
  - simple_io_event_process
  source_file: /src/httpd/server/mpm/simple/simple_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_kill_random_child
  - clean_child_exit
  - simple_spawn_child
  - simple_check_children_size
  source_file: /src/httpd/server/mpm/simple/simple_children.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPAWN_CHILDREN_INTERVAL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/server/mpm/simple/simple_children.c
      type_or_value: (apr_time_from_sec(5))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/simple/simple_io.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - apr_time_from_msec
  - simple_main_setup_timers
  - simple_setup_workers
  - simple_setup_listeners
  - simple_io_callback
  - simple_timer_invoke
  - simple_run_loop
  - simple_single_process_hack
  - simple_setup_privs
  - simple_setup_pollcb
  - simple_child_loop
  - simple_main_loop
  source_file: /src/httpd/server/mpm/simple/simple_run.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/simple/simple_event.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_run
  - simple_query
  - simple_get_name
  - simple_open_logs
  - simple_pre_config
  - simple_check_config
  - simple_hooks
  - set_proccount
  - set_threadcount
  source_file: /src/httpd/server/mpm/simple/simple_api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/simple/simple_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIMPLE_MAX_PROC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (500000)
    - item_type: preproc_def
      name: SIMPLE_DEF_PROC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (5)
    - item_type: preproc_def
      name: SIMPLE_MIN_PROC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (1)
    - item_type: preproc_def
      name: SIMPLE_MAX_THREADS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (500000)
    - item_type: preproc_def
      name: SIMPLE_DEF_THREADS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (5)
    - item_type: preproc_def
      name: SIMPLE_MIN_THREADS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type_or_value: (1)
    structs:
    - fields:
      - name: proc_count
        type: int
      - name: thread_count
        type: int
      - name: max_requests_per_child
        type: int
      item_type: struct
      name: simple_proc_mgr_t
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    - fields:
      - name: type
        type: simple_poll_type_e
      - name: '*baton'
        type: void
      item_type: struct
      name: simple_sb_t
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    - fields:
      - name: (simple_timer_t)
        type: APR_RING_ENTRY
      - name: expires
        type: apr_time_t
      - name: cb
        type: simple_timer_cb
      - name: '*baton'
        type: void
      - name: '*pool'
        type: apr_pool_t
      - name: '*sc'
        type: simple_core_t
      item_type: struct
      name: simple_timer_t
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    - fields:
      - name: pid
        type: pid_t
      item_type: struct
      name: simple_child_t
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*mtx'
        type: apr_thread_mutex_t
      - name: mpm_state
        type: int
      - name: restart_num
        type: int
      - name: run_single_process
        type: int
      - name: run_foreground
        type: int
      - name: spawn_via
        type: simple_spawn_type_e
      - name: procmgr
        type: simple_proc_mgr_t
      - name: '*children'
        type: apr_hash_t
      - name: '*pollcb'
        type: apr_pollcb_t
      - name: '*workers'
        type: apr_thread_pool_t
      item_type: struct
      name: simple_core_t
      pos:
        line_end: 114
        line_start: 90
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*sc'
        type: simple_core_t
      - name: '*sock'
        type: apr_socket_t
      - name: '*ba'
        type: apr_bucket_alloc_t
      - name: '*c'
        type: conn_rec
      - name: pfd
        type: apr_pollfd_t
      - name: cs
        type: conn_state_t
      item_type: struct
      name: simple_conn_t
      pos:
        line_end: 128
        line_start: 117
        source_file: /src/httpd/server/mpm/simple/simple_types.h
    typedefs:
    - item_type: typedef
      name: simple_core_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: simple_core_t
    - item_type: typedef
      name: (*simple_timer_cb) (simple_core_t * sc, void *baton)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: void
    - item_type: typedef
      name: "(*simple_io_sock_cb) (simple_core_t * sc, apr_socket_t * sock,\n                                   int
        flags, void *baton)"
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: void
    - item_type: typedef
      name: "(*simple_io_file_cb) (simple_core_t * sc, apr_socket_t * sock,\n                                   int
        flags, void *baton)"
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: void
    - item_type: typedef
      name: simple_sb_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: simple_sb_t
    - item_type: typedef
      name: simple_timer_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: simple_timer_t
    - item_type: typedef
      name: simple_child_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: simple_child_t
    - item_type: typedef
      name: simple_conn_t
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/httpd/server/mpm/simple/simple_types.h
      type: simple_conn_t
    union: []
- function_names:
  - mpmt_os2_run
  - master_main
  - spawn_child
  - sig_term
  - sig_restart
  - set_signals
  - mpmt_os2_query
  - mpmt_os2_get_name
  - mpmt_os2_pre_config
  - mpmt_os2_check_config
  - mpmt_os2_hooks
  - set_daemons_to_start
  - set_min_spare_threads
  - set_max_spare_threads
  - ignore_cmd
  source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HARD_SERVER_LIMIT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
      type_or_value: '10'
    - item_type: preproc_def
      name: HARD_THREAD_LIMIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
      type_or_value: '256'
    structs:
    - fields:
      - name: name
        type: struct sockaddr_in
      - name: listen_fd
        type: apr_os_sock_t
      item_type: struct
      name: listen_socket_t
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    - fields:
      - name: accept_mutex
        type: HMTX
      - name: listeners[1]
        type: listen_socket_t
      item_type: struct
      name: parent_info_t
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/mpmt_os2/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_START_DAEMON
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/server/mpm/mpmt_os2/mpm_default.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_MAX_SPARE_THREAD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/mpm/mpmt_os2/mpm_default.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_MIN_SPARE_THREAD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/server/mpm/mpmt_os2/mpm_default.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SCOREBOARD_MAINTENANCE_INTERVAL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/httpd/server/mpm/mpmt_os2/mpm_default.h
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ID_FROM_CHILD_THREAD
  - clean_child_exit
  - ap_mpm_child_main
  - add_worker
  - thread_exception_handler
  - worker_main
  - server_maintenance
  - sig_term
  - sig_hup
  - set_signals
  source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HARD_SERVER_LIMIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
      type_or_value: '10'
    - item_type: preproc_def
      name: HARD_THREAD_LIMIT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
      type_or_value: '256'
    - item_type: preproc_def
      name: WORKTYPE_CONN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WORKTYPE_EXIT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*pconn'
        type: apr_pool_t
      - name: '*conn_sd'
        type: apr_socket_t
      item_type: struct
      name: worker_args_t
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/httpd/server/mpm/mpmt_os2/mpmt_os2_child.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/event/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_START_DAEMON
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/server/mpm/event/mpm_default.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEFAULT_MAX_FREE_DAEMON
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/server/mpm/event/mpm_default.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_MIN_FREE_DAEMON
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/mpm/event/mpm_default.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEFAULT_THREADS_PER_CHILD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/server/mpm/event/mpm_default.h
      type_or_value: '25'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPM_CHILD_PID
  - apr_time_from_msec
  - CONN_STATE_IS_LINGERING_CLOSE
  - TO_QUEUE_APPEND
  - TO_QUEUE_REMOVE
  - TO_QUEUE_MAKE
  - TO_QUEUE_ELEM_INIT
  - ID_FROM_CHILD_THREAD
  - disable_listensocks
  - enable_listensocks
  - apr_uint32_t::listeners_disabled
  - connections_above_limit
  - should_enable_listensocks
  - close_socket_nonblocking_
  - close_socket_nonblocking
  - close_worker_sockets
  - wakeup_listener
  - signal_threads
  - event_query
  - event_note_child_stopped
  - event_note_child_started
  - event_get_name
  - clean_child_exit
  - just_die
  - decrement_connection_count
  - notify_suspend
  - notify_resume
  - defer_lingering_close
  - close_connection
  - shutdown_connection
  - ptrans_pre_cleanup
  - event_request_cleanup
  - event_pre_read_request
  - event_post_read_request
  - update_reqevents_from_sense
  - process_socket
  - event_resume_suspended
  - check_infinite_requests
  - close_listeners
  - unblock_signal
  - dummy_signal_handler
  - s_socket_add
  - s_socket_remove
  - init_serf
  - push_timer2worker
  - push2worker
  - get_worker
  - timer_comp
  - event_get_timer_event
  - event_register_timed_callback_ex
  - event_register_timed_callback
  - event_cleanup_poll_callback
  - event_register_poll_callback_ex
  - event_register_poll_callback
  - process_lingering_close
  - process_timeout_queue
  - process_keepalive_queue
  - APR_THREAD_FUNC::listener_thread
  - worker_thread_should_exit_early
  - APR_THREAD_FUNC::worker_thread
  - check_signal
  - create_listener_thread
  - setup_threads_runtime
  - APR_THREAD_FUNC::start_threads
  - join_workers
  - join_start_thread
  - child_main
  - make_child
  - startup_children
  - perform_idle_server_maintenance
  - server_main_loop
  - event_run
  - setup_slave_conn
  - event_pre_connection
  - event_protocol_switch
  - event_open_logs
  - event_pre_config
  - event_post_config
  - event_check_config
  - event_hooks
  - set_daemons_to_start
  - set_min_spare_threads
  - set_max_spare_threads
  - set_max_workers
  - set_threads_per_child
  - set_server_limit
  - set_thread_limit
  - set_worker_factor
  source_file: /src/httpd/server/mpm/event/event.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SERVER_LIMIT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_SERVER_LIMIT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: DEFAULT_THREAD_LIMIT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_THREAD_LIMIT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '100000'
    - item_type: preproc_def
      name: MAX_SECS_TO_LINGER
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '30'
    - item_type: preproc_def
      name: SECONDS_TO_LINGER
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_WORKER_FACTOR
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '2'
    - item_type: preproc_def
      name: WORKER_FACTOR_SCALE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: TIMEOUT_FUDGE_FACTOR
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: apr_time_from_msec(100)
    - item_type: preproc_def
      name: MAX_SPAWN_RATE
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '32'
    - item_type: preproc_def
      name: LISTENER_SIGNAL
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: SIGHUP
    - item_type: preproc_def
      name: ST_INIT
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ST_GRACEFUL
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ST_UNGRACEFUL
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EVENT_FUDGE_FACTOR
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: apr_time_from_msec(10)
    - item_type: preproc_def
      name: LINGERING_BUF_SIZE
      pos:
        line_end: 1765
        line_start: 1764
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: (32 * 1024)
    - item_type: preproc_def
      name: NON_WAKEABLE_POLL_TIMEOUT
      pos:
        line_end: 2078
        line_start: 2077
        source_file: /src/httpd/server/mpm/event/event.c
      type_or_value: apr_time_from_msec(100)
    structs:
    - fields:
      - name: (event_conn_state_t)
        type: APR_RING_ENTRY
      - name: queue_timestamp
        type: apr_time_t
      - name: '*c'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: '*sc'
        type: event_srv_cfg
      - name: '*sbh'
        type: ap_sb_handle_t
      - name: suspended
        type: int
      - name: '*p'
        type: apr_pool_t
      - name: '*bucket_alloc'
        type: apr_bucket_alloc_t
      - name: pfd
        type: apr_pollfd_t
      - name: pub
        type: conn_state_t
      - name: '*chain'
        type: struct event_conn_state_t
      - name: deferred_linger
        type: unsigned int
      item_type: struct
      name: event_conn_state_t
      pos:
        line_end: 261
        line_start: 228
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: head
        type: struct timeout_head_t
      - name: timeout
        type: apr_interval_time_t
      - name: count
        type: apr_uint32_t
      - name: '*total'
        type: apr_uint32_t
      - name: '*next'
        type: struct timeout_queue
      item_type: struct
      name: timeout_queue
      pos:
        line_end: 271
        line_start: 265
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*pool'
        type: apr_pool_t
      item_type: struct
      name: s_baton_t
      pos:
        line_end: 350
        line_start: 347
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: pslot
        type: int
      - name: tslot
        type: int
      item_type: struct
      name: proc_info
      pos:
        line_end: 360
        line_start: 356
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '**threads'
        type: apr_thread_t
      - name: '*listener'
        type: apr_thread_t
      - name: child_num_arg
        type: int
      - name: '*threadattr'
        type: apr_threadattr_t
      item_type: struct
      name: thread_starter
      pos:
        line_end: 371
        line_start: 365
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: type
        type: poll_type_e
      - name: '*baton'
        type: void
      item_type: struct
      name: listener_poll_type
      pos:
        line_end: 387
        line_start: 383
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*cbfunc'
        type: ap_mpm_callback_fn_t
      - name: '*user_baton'
        type: void
      - name: '*pfds'
        type: apr_array_header_t
      - name: '*cancel_event'
        type: timer_event_t
      - name: '*next'
        type: struct socket_callback_baton
      - name: signaled
        type: unsigned int
      item_type: struct
      name: socket_callback_baton
      pos:
        line_end: 397
        line_start: 389
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*pod'
        type: ap_pod_t
      - name: '*listeners'
        type: ap_listen_rec
      item_type: struct
      name: event_child_bucket
      pos:
        line_end: 402
        line_start: 399
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*mpm'
        type: ap_unixd_mpm_retained_data
      - name: '*gen_pool'
        type: apr_pool_t
      - name: '*buckets'
        type: event_child_bucket
      - name: first_server_limit
        type: int
      - name: first_thread_limit
        type: int
      - name: sick_child_detected
        type: int
      - name: maxclients_reported
        type: int
      - name: near_maxclients_reported
        type: int
      - name: max_daemon_used
        type: int
      - name: total_daemons
        type: int
      - name: active_daemons
        type: int
      - name: '*idle_spawn_rate'
        type: int
      - name: hold_off_on_exponential_spawning
        type: int
      item_type: struct
      name: event_retained_data
      pos:
        line_end: 446
        line_start: 409
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*io_q'
        type: struct timeout_queue
      item_type: struct
      name: event_srv_cfg_s
      pos:
        line_end: 458
        line_start: 454
        source_file: /src/httpd/server/mpm/event/event.c
    - fields:
      - name: '*tail'
        type: struct timeout_queue
      - name: '*hash'
        type: apr_hash_t
      item_type: struct
      name: io
      pos:
        line_end: 4054
        line_start: 4051
        source_file: /src/httpd/server/mpm/event/event.c
    typedefs:
    - item_type: typedef
      name: event_srv_cfg
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/httpd/server/mpm/event/event.c
      type: event_srv_cfg_s
    - item_type: typedef
      name: event_conn_state_t
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/httpd/server/mpm/event/event.c
      type: event_conn_state_t
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/worker/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_START_DAEMON
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/server/mpm/worker/mpm_default.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEFAULT_MAX_FREE_DAEMON
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/server/mpm/worker/mpm_default.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_MIN_FREE_DAEMON
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/mpm/worker/mpm_default.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEFAULT_THREADS_PER_CHILD
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/httpd/server/mpm/worker/mpm_default.h
      type_or_value: '25'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPM_CHILD_PID
  - ID_FROM_CHILD_THREAD
  - SAFE_ACCEPT
  - SAFE_ACCEPT
  - close_worker_sockets
  - wakeup_listener
  - signal_threads
  - worker_query
  - worker_note_child_killed
  - worker_note_child_started
  - worker_note_child_lost_slot
  - worker_get_name
  - clean_child_exit
  - just_die
  - process_socket
  - check_infinite_requests
  - unblock_signal
  - dummy_signal_handler
  - accept_mutex_error
  - APR_THREAD_FUNC::listener_thread
  - APR_THREAD_FUNC::worker_thread
  - check_signal
  - create_listener_thread
  - setup_threads_runtime
  - APR_THREAD_FUNC::start_threads
  - join_workers
  - join_start_thread
  - child_main
  - make_child
  - startup_children
  - perform_idle_server_maintenance
  - server_main_loop
  - worker_run
  - worker_open_logs
  - worker_pre_config
  - worker_check_config
  - worker_hooks
  - set_daemons_to_start
  - set_min_spare_threads
  - set_max_spare_threads
  - set_max_workers
  - set_threads_per_child
  - set_server_limit
  - set_thread_limit
  source_file: /src/httpd/server/mpm/worker/worker.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SERVER_LIMIT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_SERVER_LIMIT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: DEFAULT_THREAD_LIMIT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_THREAD_LIMIT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: MAX_SPAWN_RATE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '32'
    - item_type: preproc_def
      name: LISTENER_SIGNAL
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: SIGHUP
    - item_type: preproc_def
      name: WORKER_SIGNAL
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: AP_SIG_GRACEFUL
    - item_type: preproc_def
      name: ST_INIT
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ST_GRACEFUL
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ST_UNGRACEFUL
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/httpd/server/mpm/worker/worker.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*pod'
        type: ap_pod_t
      - name: '*listeners'
        type: ap_listen_rec
      - name: '*mutex'
        type: apr_proc_mutex_t
      item_type: struct
      name: worker_child_bucket
      pos:
        line_end: 144
        line_start: 140
        source_file: /src/httpd/server/mpm/worker/worker.c
    - fields:
      - name: '*mpm'
        type: ap_unixd_mpm_retained_data
      - name: '*gen_pool'
        type: apr_pool_t
      - name: '*buckets'
        type: worker_child_bucket
      - name: first_server_limit
        type: int
      - name: first_thread_limit
        type: int
      - name: sick_child_detected
        type: int
      - name: maxclients_reported
        type: int
      - name: near_maxclients_reported
        type: int
      - name: max_daemons_limit
        type: int
      - name: '*idle_spawn_rate'
        type: int
      - name: hold_off_on_exponential_spawning
        type: int
      item_type: struct
      name: worker_retained_data
      pos:
        line_end: 177
        line_start: 151
        source_file: /src/httpd/server/mpm/worker/worker.c
    - fields:
      - name: pid
        type: int
      - name: tid
        type: int
      - name: sd
        type: int
      item_type: struct
      name: proc_info
      pos:
        line_end: 192
        line_start: 188
        source_file: /src/httpd/server/mpm/worker/worker.c
    - fields:
      - name: '**threads'
        type: apr_thread_t
      - name: '*listener'
        type: apr_thread_t
      - name: child_num_arg
        type: int
      - name: '*threadattr'
        type: apr_threadattr_t
      item_type: struct
      name: thread_starter
      pos:
        line_end: 202
        line_start: 197
        source_file: /src/httpd/server/mpm/worker/worker.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/netware/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HARD_THREAD_LIMIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: DEFAULT_THREADS_PER_CHILD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '50'
    - item_type: preproc_def
      name: DEFAULT_START_THREADS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: DEFAULT_THREADS_PER_CHILD
    - item_type: preproc_def
      name: DEFAULT_MAX_FREE_THREADS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_MIN_FREE_THREADS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '10'
    - item_type: preproc_def
      name: SCOREBOARD_MAINTENANCE_INTERVAL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: DEFAULT_THREAD_STACKSIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/httpd/server/mpm/netware/mpm_default.h
      type_or_value: '65536'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBPRINT0
  - DBPRINT1
  - DBPRINT2
  - clean_child_exit
  - mpm_main_cleanup
  - netware_query
  - netware_get_name
  - mpm_term
  - sig_term
  - restart
  - set_signals
  - nlmUnloadSignaled
  - worker_main
  - if
  - make_child
  - startup_workers
  - perform_idle_server_maintenance
  - display_settings
  - show_server_data
  - setup_listeners
  - shutdown_listeners
  - netware_run
  - netware_pre_config
  - netware_check_config
  - netware_mpm_hooks
  - netware_rewrite_args
  - CommandLineInterpreter
  - InstallConsoleHandler
  - RemoveConsoleHandler
  - set_threads_to_start
  - set_min_free_threads
  - set_max_free_threads
  - set_thread_limit
  source_file: /src/httpd/server/mpm/netware/mpm_netware.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HARD_SERVER_LIMIT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WORKER_DEAD
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: SERVER_DEAD
    - item_type: preproc_def
      name: WORKER_STARTING
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: SERVER_STARTING
    - item_type: preproc_def
      name: WORKER_READY
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: SERVER_READY
    - item_type: preproc_def
      name: WORKER_IDLE_KILL
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: SERVER_IDLE_KILL
    - item_type: preproc_def
      name: MPM_HARD_LIMITS_FILE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: '"/mpm_default.h"'
    - item_type: preproc_def
      name: HANDLEDCOMMAND
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NOTMYCOMMAND
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_WB_RETRIES
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_SPAWN_RATE
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/httpd/server/mpm/netware/mpm_netware.c
      type_or_value: (64)
    structs: []
    typedefs: []
    union: []
- function_names:
  - service_stderr_thread
  - mpm_nt_eventlog_stderr_flush
  - mpm_nt_eventlog_stderr_open
  source_file: /src/httpd/server/mpm/winnt/nt_eventlog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_threads_per_child
  - set_thread_limit
  - winnt_note_child_started
  - winnt_note_child_killed
  - setup_signal_names
  - ap_signal_parent
  - get_handles_from_parent
  - send_handles_to_child
  - get_listeners_from_parent
  - send_listeners_to_child
  - create_process
  - master_main
  - winnt_query
  - winnt_get_name
  - winnt_rewrite_args
  - winnt_pre_config
  - winnt_check_config
  - winnt_post_config
  - winnt_open_logs
  - winnt_child_init
  - winnt_run
  - winnt_hooks
  source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
  types:
    enum:
    - enumerators:
      - name: waitlist_ready
        value: '0'
      - name: waitlist_term
        value: '1'
      item_type: enum
      name: waitlist_e
      pos:
        line_end: 538
        line_start: 535
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
    preproc_defs:
    - item_type: preproc_def
      name: _environ
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: environ
    - item_type: preproc_def
      name: STACK_SIZE_PARAM_IS_A_RESERVATION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: MAX_SIGNAL_NAME
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '30  '
    - item_type: preproc_def
      name: NUM_WAIT_HANDLES
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CHILD_HANDLE
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SHUTDOWN_HANDLE
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RESTART_HANDLE
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SERVICE_UNSET
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/winnt/mpm_winnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERVICE_APACHE_RESTART
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.h
      type_or_value: '128'
    - item_type: preproc_def
      name: AP_DEFAULT_SERVICE_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.h
      type_or_value: '"Apache2.x"'
    - item_type: preproc_def
      name: SERVICECONFIG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.h
      type_or_value: '"System\\CurrentControlSet\\Services\\%s"'
    - item_type: preproc_def
      name: SERVICEPARAMS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/server/mpm/winnt/mpm_winnt.h
      type_or_value: '"System\\CurrentControlSet\\Services\\%s\\Parameters"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/winnt/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_THREAD_LIMIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/server/mpm/winnt/mpm_default.h
      type_or_value: '1920'
    - item_type: preproc_def
      name: MAX_THREAD_LIMIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/server/mpm/winnt/mpm_default.h
      type_or_value: '15000'
    - item_type: preproc_def
      name: DEFAULT_THREADS_PER_CHILD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/server/mpm/winnt/mpm_default.h
      type_or_value: '64'
    - item_type: preproc_def
      name: HARD_SERVER_LIMIT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/httpd/server/mpm/winnt/mpm_default.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpm_recycle_completion_context
  - mpm_get_completion_context
  - accept_filter_to_string
  - get_accept_filter
  - winnt_accept
  - winnt_get_connection
  - APR_THREAD_FUNC::worker_thread
  - create_listener_thread
  - child_main
  source_file: /src/httpd/server/mpm/winnt/child.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WSAID_ACCEPTEX
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/httpd/server/mpm/winnt/child.c
      type_or_value: '{0xb5367df1, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f,
        0x48, 0xa1, 0x92}}'
    - item_type: preproc_def
      name: WSAID_GETACCEPTEXSOCKADDRS
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/httpd/server/mpm/winnt/child.c
      type_or_value: '{0xb5367df2, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f,
        0x48, 0xa1, 0x92}}'
    - item_type: preproc_def
      name: PADDED_ADDR_SIZE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/httpd/server/mpm/winnt/child.c
      type_or_value: (sizeof(SOCKADDR_IN6)+16)
    - item_type: preproc_def
      name: PADDED_ADDR_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/httpd/server/mpm/winnt/child.c
      type_or_value: (sizeof(SOCKADDR_IN)+16)
    - item_type: preproc_def
      name: MAX_ACCEPTEX_ERR_COUNT
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/httpd/server/mpm/winnt/child.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct winnt_conn_ctx_t_s
      - name: overlapped
        type: OVERLAPPED
      - name: '*sock'
        type: apr_socket_t
      - name: accept_socket
        type: SOCKET
      - name: buff[2*PADDED_ADDR_SIZE]
        type: char
      - name: '*sa_server'
        type: struct sockaddr
      - name: sa_server_len
        type: int
      - name: '*sa_client'
        type: struct sockaddr
      - name: sa_client_len
        type: int
      - name: '*ptrans'
        type: apr_pool_t
      - name: '*ba'
        type: apr_bucket_alloc_t
      - name: '*data'
        type: apr_bucket
      item_type: struct
      name: winnt_conn_ctx_t_s
      pos:
        line_end: 116
        line_start: 100
        source_file: /src/httpd/server/mpm/winnt/child.c
    - fields:
      - name: '*thd'
        type: apr_thread_t
      - name: handle
        type: HANDLE
      - name: num
        type: int
      item_type: struct
      name: worker_info
      pos:
        line_end: 784
        line_start: 780
        source_file: /src/httpd/server/mpm/winnt/child.c
    typedefs:
    - item_type: typedef
      name: (WINAPI *LPFN_ACCEPTEX)(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, LPDWORD,
        LPOVERLAPPED)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/httpd/server/mpm/winnt/child.c
      type: BOOL
    - item_type: typedef
      name: "(WINAPI *LPFN_GETACCEPTEXSOCKADDRS)(PVOID, DWORD, DWORD, DWORD,\n                                                 struct
        sockaddr **, LPINT,\n                                                 struct
        sockaddr **, LPINT)"
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/httpd/server/mpm/winnt/child.c
      type: VOID
    union: []
- function_names:
  - OpenSCManager
  - hold_console_open_on_error
  - console_control_handler
  - stop_console_handler
  - mpm_start_console_handler
  - mpm_start_child_console_handler
  - ReportStatusToSCMgr
  - set_service_description
  - service_nt_ctrl
  - service_nt_main_fn_w
  - service_nt_main_fn
  - service_nt_dispatch_thread
  - mpm_service_set_name
  - mpm_merge_service_args
  - service_stopped
  - mpm_service_to_start
  - mpm_service_started
  - mpm_service_stopping
  - mpm_service_install
  - mpm_service_uninstall
  - signal_service_transition
  - mpm_service_start
  - mpm_signal_service
  source_file: /src/httpd/server/mpm/winnt/service.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mpm_thread
        type: HANDLE
      - name: service_thread
        type: HANDLE
      - name: service_thread_id
        type: DWORD
      - name: service_init
        type: HANDLE
      - name: service_term
        type: HANDLE
      - name: ssStatus
        type: SERVICE_STATUS
      - name: hServiceStatus
        type: SERVICE_STATUS_HANDLE
      item_type: struct
      name: nt_service_ctx_t
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/httpd/server/mpm/winnt/service.c
    typedefs:
    - item_type: typedef
      name: "(WINAPI *fpt_OpenSCManager)(const void *lpMachine,\n                                              const
        void *lpDatabase,\n                                              DWORD dwAccess)"
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/httpd/server/mpm/winnt/service.c
      type: SC_HANDLE
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/prefork/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_START_DAEMON
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/server/mpm/prefork/mpm_default.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_MAX_FREE_DAEMON
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/server/mpm/prefork/mpm_default.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_MIN_FREE_DAEMON
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/mpm/prefork/mpm_default.h
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPM_CHILD_PID
  - chdir_for_gprof
  - prefork_note_child_killed
  - prefork_note_child_started
  - clean_child_exit_ex
  - clean_child_exit
  - accept_mutex_on
  - accept_mutex_off
  - SAFE_ACCEPT
  - SAFE_ACCEPT
  - prefork_query
  - prefork_get_name
  - just_die
  - stop_listening
  - child_sigmask
  - child_main
  - make_child
  - startup_children
  - perform_idle_server_maintenance
  - prefork_run
  - prefork_open_logs
  - prefork_pre_config
  - prefork_check_config
  - prefork_hooks
  - set_daemons_to_start
  - set_min_free_servers
  - set_max_free_servers
  - set_max_clients
  - set_server_limit
  source_file: /src/httpd/server/mpm/prefork/prefork.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SERVER_LIMIT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/httpd/server/mpm/prefork/prefork.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_SERVER_LIMIT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/httpd/server/mpm/prefork/prefork.c
      type_or_value: '200000'
    - item_type: preproc_def
      name: HARD_THREAD_LIMIT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/server/mpm/prefork/prefork.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_SPAWN_RATE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/httpd/server/mpm/prefork/prefork.c
      type_or_value: (32)
    structs:
    - fields:
      - name: '*pod'
        type: ap_pod_t
      - name: '*listeners'
        type: ap_listen_rec
      - name: '*mutex'
        type: apr_proc_mutex_t
      item_type: struct
      name: prefork_child_bucket
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/httpd/server/mpm/prefork/prefork.c
    - fields:
      - name: '*mpm'
        type: ap_unixd_mpm_retained_data
      - name: '*gen_pool'
        type: apr_pool_t
      - name: '*buckets'
        type: prefork_child_bucket
      - name: first_server_limit
        type: int
      - name: maxclients_reported
        type: int
      - name: max_daemons_limit
        type: int
      - name: idle_spawn_rate
        type: int
      - name: hold_off_on_exponential_spawning
        type: int
      item_type: struct
      name: prefork_retained_data
      pos:
        line_end: 133
        line_start: 108
        source_file: /src/httpd/server/mpm/prefork/prefork.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/server/mpm/motorz/mpm_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_START_DAEMON
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/server/mpm/motorz/mpm_default.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPM_CHILD_PID
  source_file: /src/httpd/server/mpm/motorz/motorz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SERVER_LIMIT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_SERVER_LIMIT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type_or_value: '200000'
    - item_type: preproc_def
      name: DEFAULT_THREAD_LIMIT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_THREAD_LIMIT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type_or_value: '100000'
    structs:
    - fields:
      - name: '*mpm'
        type: ap_unixd_mpm_retained_data
      - name: first_server_limit
        type: int
      - name: maxclients_reported
        type: int
      - name: max_daemons_limit
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*workers'
        type: apr_thread_pool_t
      - name: '**pollers'
        type: motorz_poller_t
      - name: num_pollers
        type: int
      item_type: struct
      name: motorz_core_t
      pos:
        line_end: 140
        line_start: 119
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*next'
        type: motorz_recycled_pool
      item_type: struct
      name: motorz_recycled_pool
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: '*mz'
        type: motorz_core_t
      - name: index
        type: int
      - name: '*pool'
        type: apr_pool_t
      - name: '*thread'
        type: apr_thread_t
      - name: '*pollset'
        type: apr_pollset_t
      - name: '*timeout_ring'
        type: apr_skiplist
      - name: '*mtx'
        type: apr_thread_mutex_t
      - name: '*volatile recycled_pools'
        type: struct motorz_recycled_pool
      - name: num_recycled
        type: apr_uint32_t
      - name: '**listener_pfds'
        type: apr_pollfd_t
      - name: num_listener_pfds
        type: int
      - name: listeners_disabled
        type: int
      item_type: struct
      name: motorz_poller_t
      pos:
        line_end: 173
        line_start: 155
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: '*pod'
        type: ap_pod_t
      - name: '*listeners'
        type: ap_listen_rec
      - name: '*mutex'
        type: apr_proc_mutex_t
      item_type: struct
      name: motorz_child_bucket
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: type
        type: motorz_poll_type_e
      - name: '*baton'
        type: void
      item_type: struct
      name: motorz_sb_t
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: expires
        type: apr_time_t
      - name: cb
        type: motorz_timer_cb
      - name: '*baton'
        type: void
      - name: '*pool'
        type: apr_pool_t
      - name: '*mz'
        type: motorz_core_t
      - name: '*poller'
        type: motorz_poller_t
      item_type: struct
      name: motorz_timer_t
      pos:
        line_end: 212
        line_start: 204
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: '*mz'
        type: motorz_core_t
      - name: '*poller'
        type: motorz_poller_t
      - name: '*pool_poller'
        type: motorz_poller_t
      - name: '*sock'
        type: apr_socket_t
      - name: '*ba'
        type: apr_bucket_alloc_t
      - name: '*sbh'
        type: ap_sb_handle_t
      - name: '*c'
        type: conn_rec
      - name: '*r'
        type: request_rec
      - name: suspended
        type: int
      - name: linger_started
        type: int
      - name: pfd
        type: apr_pollfd_t
      - name: cs
        type: conn_state_t
      - name: timer
        type: motorz_timer_t
      item_type: struct
      name: motorz_conn_t
      pos:
        line_end: 246
        line_start: 215
        source_file: /src/httpd/server/mpm/motorz/motorz.h
    typedefs:
    - item_type: typedef
      name: motorz_poller_t
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_poller_t
    - item_type: typedef
      name: motorz_core_t
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_core_t
    - item_type: typedef
      name: motorz_recycled_pool
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_recycled_pool
    - item_type: typedef
      name: motorz_child_bucket
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_child_bucket
    - item_type: typedef
      name: motorz_sb_t
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_sb_t
    - item_type: typedef
      name: (*motorz_timer_cb) (motorz_core_t *mz, void *baton)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: void
    - item_type: typedef
      name: "(*motorz_io_sock_cb) (motorz_core_t *mz, apr_socket_t *sock,\n                                   int
        flags, void *baton)"
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: void
    - item_type: typedef
      name: "(*motorz_io_file_cb) (motorz_core_t *mz, apr_socket_t *sock,\n                                   int
        flags, void *baton)"
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: void
    - item_type: typedef
      name: motorz_timer_t
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_timer_t
    - item_type: typedef
      name: motorz_conn_t
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/httpd/server/mpm/motorz/motorz.h
      type: motorz_conn_t
    union: []
- function_names:
  - ID_FROM_CHILD_THREAD
  - motorz_core_get
  - motorz_ptrans_get
  - motorz_ptrans_put
  - timer_comp
  - motorz_conn_pool_cleanup
  - apr_interval_time_t::motorz_get_timeout
  - apr_interval_time_t::motorz_get_keep_alive_timeout
  - motorz_io_timeout_cb
  - motorz_io_setup_conn
  - motorz_io_user
  - motorz_io_accept
  - motorz_timer_invoke
  - motorz_timer_event_process
  - motorz_io_invoke
  - motorz_io_event_process
  - motorz_io_callback
  - motorz_register_timeout_locked
  - motorz_conn_register
  - motorz_pollset_del
  - motorz_conn_claim
  - motorz_conn_done
  - motorz_linger_timeout_cb
  - motorz_lingering_close
  - motorz_start_lingering_close
  - motorz_suspend_connection
  - motorz_io_process
  - motorz_resume_suspended
  - motorz_pollset_cb
  - motorz_setup_workers
  - motorz_setup_pollset
  - motorz_note_child_killed
  - motorz_note_child_started
  - clean_child_exit
  - accept_mutex_on
  - accept_mutex_off
  - SAFE_ACCEPT
  - SAFE_ACCEPT
  - motorz_query
  - motorz_get_name
  - just_die
  - stop_listening
  - motorz_disable_listeners
  - motorz_enable_listeners
  - motorz_update_listeners
  - motorz_poller_create
  - motorz_poller_add_listeners
  - APR_THREAD_FUNC::motorz_poller_main
  - motorz_supervise
  - child_main
  - make_child
  - startup_children
  - perform_idle_server_maintenance
  - motorz_run
  - motorz_open_logs
  - motorz_pre_config
  - motorz_check_config
  - motorz_hooks
  - set_daemons_to_start
  - set_threads_per_child
  - set_thread_limit
  - set_pollers_per_child
  source_file: /src/httpd/server/mpm/motorz/motorz.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RECYCLED_POOLS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/httpd/server/mpm/motorz/motorz.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_SECS_TO_LINGER
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/server/mpm/motorz/motorz.c
      type_or_value: '30'
    - item_type: preproc_def
      name: SECONDS_TO_LINGER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/httpd/server/mpm/motorz/motorz.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MOTORZ_MAX_POLLERS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/httpd/server/mpm/motorz/motorz.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MOTORZ_ENABLE_ASYNC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/httpd/server/mpm/motorz/motorz.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - exit
  - AP_DECLARE_LATE_DLL_FUNC
  source_file: /src/httpd/os/win32/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/httpd/os/win32/os.h
      type_or_value: '"Win64"'
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/httpd/os/win32/os.h
      type_or_value: '"Win32"'
    - item_type: preproc_def
      name: AP_PLATFORM_REWRITE_ARGS_HOOK
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/httpd/os/win32/os.h
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_os_proc_filepath
  - ap_os_create_privileged_process
  - ap_load_dll_func
  source_file: /src/httpd/os/win32/util_win32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/win32/win32_config_layout.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_REL_RUNTIMEDIR
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/os/win32/win32_config_layout.h
      type_or_value: '"logs"'
    - item_type: preproc_def
      name: DEFAULT_REL_STATEDIR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/os/win32/win32_config_layout.h
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_regkey_const
  - regkey_cleanup
  - ap_regkey_open
  - ap_regkey_close
  - ap_regkey_remove
  - ap_regkey_value_get
  - ap_regkey_value_set
  - ap_regkey_value_raw_get
  - ap_regkey_value_raw_set
  - ap_regkey_value_array_get
  - ap_regkey_value_array_set
  - ap_regkey_value_remove
  source_file: /src/httpd/os/win32/ap_regkey.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pool'
        type: apr_pool_t
      - name: hkey
        type: HKEY
      item_type: struct
      name: ap_regkey_t
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/httpd/os/win32/ap_regkey.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/win32/modules.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/unix/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/httpd/os/unix/os.h
      type_or_value: '"Unix"'
    - item_type: preproc_def
      name: AP_NEED_SET_MUTEX_PERMS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/httpd/os/unix/os.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AP_PLATFORM_REWRITE_ARGS_HOOK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/httpd/os/unix/os.h
      type_or_value: ap_mpm_rewrite_args
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_unixd_set_rlimit
  - ap_unix_create_privileged_process
  - ap_os_create_privileged_process
  - proc_mutex_mech
  - ap_unixd_set_proc_mutex_perms
  - ap_unixd_set_global_mutex_perms
  - ap_unixd_accept
  - retained_data_cleanup
  - ap_unixd_mpm_get_retained_data
  - sig_term
  - sig_restart
  - unset_signals
  - ap_terminate
  - ap_unixd_mpm_set_signals
  - os_forktype
  - os_init_job_environment
  - os_fork
  source_file: /src/httpd/os/unix/unixd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USER_LEN
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/httpd/os/unix/unixd.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: val
        type: long
      - name: '*buf'
        type: struct semid_ds
      - name: '*array'
        type: unsigned short
      item_type: union
      name: semun
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/httpd/os/unix/unixd.c
- function_names:
  - ap_unixd_killpg
  - ap_os_killpg
  - ap_unixd_killpg
  - ap_os_killpg
  source_file: /src/httpd/os/unix/unixd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_USER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/httpd/os/unix/unixd.h
      type_or_value: '"#-1"'
    - item_type: preproc_def
      name: DEFAULT_GROUP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/httpd/os/unix/unixd.h
      type_or_value: '"#-1"'
    structs:
    - fields:
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: userdir
        type: int
      item_type: struct
      name: ap_unix_identity_t
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/httpd/os/unix/unixd.h
    - fields:
      - name: '*user_name'
        type: char
      - name: '*group_name'
        type: char
      - name: user_id
        type: uid_t
      - name: group_id
        type: gid_t
      - name: suexec_enabled
        type: int
      - name: '*chroot_dir'
        type: char
      - name: '*suexec_disabled_reason'
        type: char
      item_type: struct
      name: unixd_config_rec
      pos:
        line_end: 82
        line_start: 74
        source_file: /src/httpd/os/unix/unixd.h
    - fields:
      - name: '*baton'
        type: void
      - name: mpm_state
        type: int
      - name: shutdown_pending
        type: int
      - name: restart_pending
        type: int
      - name: is_ungraceful
        type: int
      - name: my_generation
        type: ap_generation_t
      - name: module_loads
        type: int
      - name: was_graceful
        type: int
      - name: num_buckets
        type: int
      item_type: struct
      name: ap_unixd_mpm_retained_data
      pos:
        line_end: 131
        line_start: 112
        source_file: /src/httpd/os/unix/unixd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/netware/pre_nw.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DECIMAL_DIG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/httpd/os/netware/pre_nw.h
      type_or_value: '17'
    - item_type: preproc_def
      name: __int64
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/httpd/os/netware/pre_nw.h
      type_or_value: long long
    - item_type: preproc_def
      name: AP_MAX_INCLUDE_DEPTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/httpd/os/netware/pre_nw.h
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - exit
  source_file: /src/httpd/os/netware/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/httpd/os/netware/os.h
      type_or_value: '"NETWARE"'
    - item_type: preproc_def
      name: AP_PLATFORM_REWRITE_ARGS_HOOK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/httpd/os/netware/os.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: getpid
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/httpd/os/netware/os.h
      type_or_value: NXThreadGetId
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/netware/netware_config_layout.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_REL_RUNTIMEDIR
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/httpd/os/netware/netware_config_layout.h
      type_or_value: '"logs"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/netware/modules.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_os_create_privileged_process
  - _NonAppCheckUnload
  - ap_down_server_cb
  - ap_dummy_cb
  - ap_cb_destroy
  - _NonAppStart
  source_file: /src/httpd/os/netware/util_nw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/os2/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/os/os2/os.h
      type_or_value: '"OS/2"'
    - item_type: preproc_def
      name: AP_PLATFORM_REWRITE_ARGS_HOOK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/httpd/os/os2/os.h
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_os_create_privileged_process
  source_file: /src/httpd/os/os2/util_os2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - os_forktype
  - os_init_job_environment
  - os_fork
  - bs2000_os_is_not_here
  source_file: /src/httpd/os/bs2000/os.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USER_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/os/bs2000/os.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/bs2000/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/httpd/os/bs2000/os.h
      type_or_value: '"BS2000"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/httpd/os/bs2000/ebcdic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ebcdic2ascii
  - ebcdic2ascii_strictly
  - ascii2ebcdic
  source_file: /src/httpd/os/bs2000/ebcdic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/expat_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTEORDER
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1234'
    - item_type: preproc_def
      name: HAVE_ARC4RANDOM_BUF
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPAGESIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETRANDOM
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MMAP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYSCALL_GETRANDOM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_PARAM_H
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"expat"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"expat-bugs@libexpat.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"expat"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"expat 2.4.1"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"expat"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"2.4.1"'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '"2.4.1"'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_CONTEXT_BYTES
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: XML_DEV_URANDOM
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_DTD
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_NS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/expat-2.4.1/expat_config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xmlstrlen
  - CharData_Init
  - CharData_AppendXMLChars
  - CharData_CheckXMLChars
  source_file: /src/expat-2.4.1/tests/chardata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xcstrlen
  - xcstrcmp
  - xcstrncmp
  - XCS
  - _XCS
  - xcstrlen
  - xcstrcmp
  - xcstrncmp
  - XCS
  - tcase_add_test__ifdef_xml_dtd
  - basic_setup
  - basic_teardown
  - _xml_failure
  - _XML_Parse_SINGLE_BYTES
  - xml_failure
  - _expect_failure
  - expect_failure
  - dummy_xdecl_handler
  - dummy_start_doctype_handler
  - dummy_end_doctype_handler
  - dummy_entity_decl_handler
  - dummy_notation_decl_handler
  - dummy_element_decl_handler
  - dummy_attlist_decl_handler
  - dummy_comment_handler
  - dummy_pi_handler
  - dummy_start_element
  - dummy_end_element
  - dummy_start_cdata_handler
  - dummy_end_cdata_handler
  - dummy_cdata_handler
  - dummy_start_namespace_decl_handler
  - dummy_end_namespace_decl_handler
  - dummy_unparsed_entity_decl_handler
  - dummy_default_handler
  - dummy_start_doctype_decl_handler
  - dummy_end_doctype_decl_handler
  - dummy_skip_handler
  - external_entity_optioner
  - param_entity_match_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - accumulate_characters
  - accumulate_attribute
  - _run_character_check
  - run_character_check
  - _run_attribute_check
  - run_attribute_check
  - ext_accumulate_characters
  - _run_ext_character_check
  - run_ext_character_check
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - start_element_event_handler2
  - end_element_event_handler2
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - start_element_event_handler
  - end_element_event_handler
  - START_TEST
  - is_whitespace_normalized
  - testhelper_is_whitespace_normalized
  - check_attr_contains_normalized_whitespace
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - UnknownEncodingHandler
  - START_TEST
  - dummy_release
  - UnrecognisedEncodingHandler
  - START_TEST
  - external_entity_loader
  - START_TEST
  - START_TEST
  - START_TEST
  - ext_faults
  - external_entity_faulter
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - reject_not_standalone_handler
  - START_TEST
  - accept_not_standalone_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - typedef
  - verify_attlist_decl_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - clearing_aborting_character_handler
  - START_TEST
  - START_TEST
  - parser_stop_character_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - record_default_handler
  - record_cdata_handler
  - record_cdata_nodefault_handler
  - record_skip_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_null_loader
  - START_TEST
  - START_TEST
  - START_TEST
  - attrInfo
  - counting_start_element_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_resetter
  - START_TEST
  - entity_suspending_decl_handler
  - external_entity_suspender
  - START_TEST
  - entity_suspending_xdecl_handler
  - external_entity_suspend_xmldecl
  - START_TEST
  - START_TEST
  - external_entity_suspending_faulter
  - START_TEST
  - START_TEST
  - cr_cdata_handler
  - START_TEST
  - external_entity_cr_catcher
  - external_entity_bad_cr_catcher
  - START_TEST
  - rsqb_handler
  - START_TEST
  - external_entity_rsqb_catcher
  - START_TEST
  - external_entity_good_cdata_ascii
  - START_TEST
  - xml_decl_handler
  - param_check_skip_handler
  - data_check_comment_handler
  - external_entity_param_checker
  - START_TEST
  - external_entity_ref_param_checker
  - START_TEST
  - START_TEST
  - get_feature
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - byte_character_handler
  - START_TEST
  - START_TEST
  - external_entity_param
  - START_TEST
  - START_TEST
  - external_entity_load_ignore
  - START_TEST
  - external_entity_load_ignore_utf16
  - START_TEST
  - external_entity_load_ignore_utf16_be
  - START_TEST
  - START_TEST
  - external_entity_valuer
  - START_TEST
  - external_entity_not_standalone
  - START_TEST
  - external_entity_value_aborter
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - record_element_start_handler
  - START_TEST
  - START_TEST
  - external_entity_public
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_devaluer
  - START_TEST
  - aborting_xdecl_handler
  - START_TEST
  - selective_aborting_default_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - suspending_end_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - start_element_suspender
  - START_TEST
  - START_TEST
  - element_decl_suspender
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - ext_hdlr_data
  - external_entity_oneshot_loader
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - accumulate_pi_characters
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - accumulate_comment
  - START_TEST
  - START_TEST
  - failing_converter
  - prefix_converter
  - MiscEncodingHandler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_loader2
  - ext2_accumulate_characters
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - ExtFaults2
  - external_entity_faulter2
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - record_element_end_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - accumulate_entity_decl
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - default_check
  - checking_default_handler
  - START_TEST
  - START_TEST
  - namespace_setup
  - namespace_teardown
  - triplet_start_checker
  - triplet_end_checker
  - START_TEST
  - overwrite_start_checker
  - overwrite_end_checker
  - run_ns_tagname_overwrite_test
  - START_TEST
  - START_TEST
  - start_element_fail
  - start_ns_clearing_start_element
  - START_TEST
  - external_entity_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - duff_allocator
  - duff_reallocator
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - parse_version
  - versions_equal
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - typedef
  - start_element_issue_240
  - end_element_issue_240
  - START_TEST
  - START_TEST
  - START_TEST
  - alloc_setup
  - alloc_teardown
  - START_TEST
  - long_encoding_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_duff_loader
  - START_TEST
  - START_TEST
  - external_entity_dbl_handler
  - START_TEST
  - external_entity_dbl_handler_2
  - START_TEST
  - external_entity_alloc_set_encoding
  - START_TEST
  - unknown_released_encoding_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_reallocator
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - external_entity_alloc
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - nsalloc_setup
  - nsalloc_teardown
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - context_realloc_test
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - START_TEST
  - accounting_external_entity_ref_handler
  - START_TEST
  - START_TEST
  - START_TEST
  - make_suite
  - main
  source_file: /src/expat-2.4.1/tests/runtests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"l"'
    - item_type: preproc_def
      name: XML_FMT_CHAR
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"lc"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_CHAR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"c"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"s"'
    - item_type: preproc_def
      name: DUMMY_START_DOCTYPE_HANDLER_FLAG
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 0)
    - item_type: preproc_def
      name: DUMMY_END_DOCTYPE_HANDLER_FLAG
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 1)
    - item_type: preproc_def
      name: DUMMY_ENTITY_DECL_HANDLER_FLAG
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 2)
    - item_type: preproc_def
      name: DUMMY_NOTATION_DECL_HANDLER_FLAG
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 3)
    - item_type: preproc_def
      name: DUMMY_ELEMENT_DECL_HANDLER_FLAG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 4)
    - item_type: preproc_def
      name: DUMMY_ATTLIST_DECL_HANDLER_FLAG
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 5)
    - item_type: preproc_def
      name: DUMMY_COMMENT_HANDLER_FLAG
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 6)
    - item_type: preproc_def
      name: DUMMY_PI_HANDLER_FLAG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 7)
    - item_type: preproc_def
      name: DUMMY_START_ELEMENT_HANDLER_FLAG
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 8)
    - item_type: preproc_def
      name: DUMMY_START_CDATA_HANDLER_FLAG
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 9)
    - item_type: preproc_def
      name: DUMMY_END_CDATA_HANDLER_FLAG
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 10)
    - item_type: preproc_def
      name: DUMMY_UNPARSED_ENTITY_DECL_HANDLER_FLAG
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 11)
    - item_type: preproc_def
      name: DUMMY_START_NS_DECL_HANDLER_FLAG
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 12)
    - item_type: preproc_def
      name: DUMMY_END_NS_DECL_HANDLER_FLAG
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 13)
    - item_type: preproc_def
      name: DUMMY_START_DOCTYPE_DECL_HANDLER_FLAG
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 14)
    - item_type: preproc_def
      name: DUMMY_END_DOCTYPE_DECL_HANDLER_FLAG
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 15)
    - item_type: preproc_def
      name: DUMMY_SKIP_HANDLER_FLAG
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 16)
    - item_type: preproc_def
      name: DUMMY_DEFAULT_HANDLER_FLAG
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1UL << 17)
    - item_type: preproc_def
      name: ENTITY_MATCH_FAIL
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: ENTITY_MATCH_NOT_FOUND
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (0)
    - item_type: preproc_def
      name: ENTITY_MATCH_SUCCESS
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (1)
    - item_type: preproc_def
      name: UTF8_LEAD_1
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\x7f" '
    - item_type: preproc_def
      name: UTF8_LEAD_2
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\xdf" '
    - item_type: preproc_def
      name: UTF8_LEAD_3
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\xef" '
    - item_type: preproc_def
      name: UTF8_LEAD_4
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\xf7" '
    - item_type: preproc_def
      name: UTF8_FOLLOW
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\xbf" '
    - item_type: preproc_def
      name: STRUCT_START_TAG
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STRUCT_END_TAG
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '1'
    - item_type: preproc_def
      name: A_TO_P_IN_UTF16
      pos:
        line_end: 2185
        line_start: 2184
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"\0A\0B\0C\0D\0E\0F\0G\0H\0I\0J\0K\0L\0M\0N\0O\0P"'
    - item_type: preproc_def
      name: PRE_ERROR_STR
      pos:
        line_end: 3868
        line_start: 3867
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"<doc></"'
    - item_type: preproc_def
      name: POST_ERROR_STR
      pos:
        line_end: 3869
        line_start: 3868
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"wombat></doc>"'
    - item_type: preproc_def
      name: START_ELEMENT
      pos:
        line_end: 3920
        line_start: 3919
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"<e>"'
    - item_type: preproc_def
      name: CDATA_TEXT
      pos:
        line_end: 3921
        line_start: 3920
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"Hello"'
    - item_type: preproc_def
      name: END_ELEMENT
      pos:
        line_end: 3922
        line_start: 3921
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"</e>"'
    - item_type: preproc_def
      name: COLLIDING_HASH_SALT
      pos:
        line_end: 4835
        line_start: 4834
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (unsigned long)_SIP_ULL(0xffffffffU, 0xff99fc90U)
    - item_type: preproc_def
      name: PARAM_ENTITY_NAME
      pos:
        line_end: 5097
        line_start: 5096
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"pe"'
    - item_type: preproc_def
      name: PARAM_ENTITY_CORE_VALUE
      pos:
        line_end: 5098
        line_start: 5097
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: '"<!ATTLIST doc att CDATA \"default\">"'
    - item_type: preproc_def
      name: ALLOC_ALWAYS_SUCCEED
      pos:
        line_end: 7200
        line_start: 7199
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: REALLOC_ALWAYS_SUCCEED
      pos:
        line_end: 7201
        line_start: 7200
        source_file: /src/expat-2.4.1/tests/runtests.c
      type_or_value: (-1)
    structs:
    - fields:
      - name: '*system_id'
        type: XML_Char
      - name: '*parse_text'
        type: char
      item_type: struct
      name: ExtOption
      pos:
        line_end: 407
        line_start: 404
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: '*parse_text'
        type: char
      - name: '*encoding'
        type: XML_Char
      - name: '*storage'
        type: CharData
      item_type: struct
      name: ExtTest
      pos:
        line_end: 629
        line_start: 625
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: expectedMovementInChars
        type: ptrdiff_t
      - name: '*input'
        type: char
      item_type: struct
      name: TestCase
      pos:
        line_end: 775
        line_start: 772
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: '*text'
        type: char
      - name: expectedError
        type: enum XML_Error
      item_type: struct
      name: CaseData
      pos:
        line_end: 2328
        line_start: 2325
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: text_bytes
        type: size_t
      - name: '*text'
        type: char
      - name: expected_error
        type: enum XML_Error
      item_type: struct
      name: CaseData
      pos:
        line_end: 2384
        line_start: 2380
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: '*name'
        type: XML_Char
      - name: attr_count
        type: int
      - name: '*id_name'
        type: XML_Char
      - name: '*attributes'
        type: AttrInfo
      item_type: struct
      name: elementInfo
      pos:
        line_end: 2839
        line_start: 2834
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: start_element_len
        type: int
      - name: cdata_len
        type: int
      - name: total_string_len
        type: int
      item_type: struct
      name: ByteTestData
      pos:
        line_end: 3889
        line_start: 3885
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: '*parse_text'
        type: char
      - name: parse_len
        type: int
      - name: '*encoding'
        type: XML_Char
      - name: '*storage'
        type: CharData
      - name: flags
        type: enum ee_parse_flags
      item_type: struct
      name: ExtTest2
      pos:
        line_end: 5632
        line_start: 5626
        source_file: /src/expat-2.4.1/tests/runtests.c
    - fields:
      - name: '*primaryText'
        type: char
      - name: '*firstExternalText'
        type: char
      - name: '*secondExternalText'
        type: char
      - name: expectedCountBytesIndirectExtra
        type: unsigned long long
      - name: singleBytesWanted
        type: XML_Bool
      item_type: struct
      name: AccountingTestCase
      pos:
        line_end: 11237
        line_start: 11231
        source_file: /src/expat-2.4.1/tests/runtests.c
    typedefs:
    - item_type: typedef
      name: (*XmlParseFunction)(XML_Parser, const char *, int, int)
      pos:
        line_end: 11229
        line_start: 11229
        source_file: /src/expat-2.4.1/tests/runtests.c
      type: XML_Status
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/tests/runtestspp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tracking_malloc
  - find_allocation
  - tracking_free
  - tracking_realloc
  - tracking_report
  source_file: /src/expat-2.4.1/tests/memcheck.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct allocation_entry
      - name: '*prev'
        type: struct allocation_entry
      - name: '*allocation'
        type: void
      - name: num_bytes
        type: size_t
      item_type: struct
      name: allocation_entry
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/expat-2.4.1/tests/memcheck.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/tests/structdata.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_STRUCTDATA_H
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/expat-2.4.1/tests/structdata.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*str'
        type: XML_Char
      - name: data0
        type: int
      - name: data1
        type: int
      - name: data2
        type: int
      item_type: struct
      name: StructDataEntry
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/expat-2.4.1/tests/structdata.h
    - fields:
      - name: count
        type: int
      - name: max_count
        type: int
      - name: '*entries'
        type: StructDataEntry
      item_type: struct
      name: StructData
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/expat-2.4.1/tests/structdata.h
    typedefs: []
    union: []
- function_names:
  - xcstrlen
  - xcstrcmp
  - xcstrlen
  - xcstrcmp
  - xmlstrdup
  - StructData_Init
  - StructData_AddItem
  - StructData_CheckItems
  - StructData_Dispose
  source_file: /src/expat-2.4.1/tests/structdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRUCT_EXTENSION_COUNT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/expat-2.4.1/tests/structdata.c
      type_or_value: '8'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/tests/structdata.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/expat-2.4.1/tests/structdata.c
      type_or_value: '"s"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - suite_create
  - tcase_create
  - suite_add_tcase
  - tcase_add_checked_fixture
  - tcase_add_test
  - tcase_free
  - suite_free
  - srunner_create
  - _check_set_test_info
  - handle_success
  - handle_failure
  - srunner_run_all
  - _fail_unless
  - srunner_ntests_failed
  - srunner_free
  source_file: /src/expat-2.4.1/tests/minicheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/tests/memcheck.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_MEMCHECK_H
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/expat-2.4.1/tests/memcheck.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/tests/chardata.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_CHARDATA_H
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/expat-2.4.1/tests/chardata.h
      type_or_value: '1'
    structs:
    - fields:
      - name: count
        type: int
      - name: data[2048]
        type: XML_Char
      item_type: struct
      name: CharData
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/expat-2.4.1/tests/chardata.h
    typedefs: []
    union: []
- function_names:
  - START_TEST
  - fail
  source_file: /src/expat-2.4.1/tests/minicheck.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CK_NOFORK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CK_FORK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CK_SILENT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CK_NORMAL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CK_VERBOSE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: '2'
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: END_TEST
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type_or_value: "}                                                                            \\\n
        \ }"
    structs:
    - fields:
      - name: '*suite'
        type: Suite
      - name: nchecks
        type: int
      - name: nfailures
        type: int
      item_type: struct
      name: SRunner
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/expat-2.4.1/tests/minicheck.h
    - fields:
      - name: '*name'
        type: char
      - name: '*tests'
        type: TCase
      item_type: struct
      name: Suite
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/expat-2.4.1/tests/minicheck.h
    - fields:
      - name: '*name'
        type: char
      - name: setup
        type: tcase_setup_function
      - name: teardown
        type: tcase_teardown_function
      - name: '*tests'
        type: tcase_test_function
      - name: ntests
        type: int
      - name: allocated
        type: int
      - name: '*next_tcase'
        type: TCase
      item_type: struct
      name: TCase
      pos:
        line_end: 95
        line_start: 87
        source_file: /src/expat-2.4.1/tests/minicheck.h
    typedefs:
    - item_type: typedef
      name: (*tcase_setup_function)(void)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: void
    - item_type: typedef
      name: (*tcase_teardown_function)(void)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: void
    - item_type: typedef
      name: (*tcase_test_function)(void)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: void
    - item_type: typedef
      name: SRunner
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: SRunner
    - item_type: typedef
      name: Suite
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: Suite
    - item_type: typedef
      name: TCase
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/expat-2.4.1/tests/minicheck.h
      type: TCase
    union: []
- function_names:
  - usage
  - main
  source_file: /src/expat-2.4.1/tests/benchmark/benchmark.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/expat-2.4.1/tests/benchmark/benchmark.c
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/expat-2.4.1/tests/benchmark/benchmark.c
      type_or_value: '"l"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/expat-2.4.1/tests/benchmark/benchmark.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/expat-2.4.1/tests/benchmark/benchmark.c
      type_or_value: '"s"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - getTok
  - matchkey
  - getXMLCharset
  - main
  source_file: /src/expat-2.4.1/xmlwf/xmlmime.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - filemap
  source_file: /src/expat-2.4.1/xmlwf/unixfilemap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_FILE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/xmlwf/unixfilemap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/xmlwf/unixfilemap.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/xmlwf/unixfilemap.c
      type_or_value: '"s"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/xmlwf/codepage.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - codepageMap
  - codepageConvert
  source_file: /src/expat-2.4.1/xmlwf/codepage.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRICT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/expat-2.4.1/xmlwf/codepage.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/expat-2.4.1/xmlwf/codepage.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _PREPEND_BIG_L
  - T
  - T
  source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ftprintf
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: fwprintf
    - item_type: preproc_def
      name: tfopen
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: _wfopen
    - item_type: preproc_def
      name: fputts
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: fputws
    - item_type: preproc_def
      name: puttc
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: putwc
    - item_type: preproc_def
      name: tcscmp
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcscmp
    - item_type: preproc_def
      name: tcscpy
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcscpy
    - item_type: preproc_def
      name: tcscat
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcscat
    - item_type: preproc_def
      name: tcschr
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcschr
    - item_type: preproc_def
      name: tcsrchr
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcsrchr
    - item_type: preproc_def
      name: tcslen
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcslen
    - item_type: preproc_def
      name: tperror
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: _wperror
    - item_type: preproc_def
      name: topen
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: _wopen
    - item_type: preproc_def
      name: tmain
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wmain
    - item_type: preproc_def
      name: tremove
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: _wremove
    - item_type: preproc_def
      name: tchar
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wchar_t
    - item_type: preproc_def
      name: tcstof
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcstof
    - item_type: preproc_def
      name: tcstoull
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: wcstoull
    - item_type: preproc_def
      name: ftprintf
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: fprintf
    - item_type: preproc_def
      name: tfopen
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: fopen
    - item_type: preproc_def
      name: fputts
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: fputs
    - item_type: preproc_def
      name: puttc
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: putc
    - item_type: preproc_def
      name: tcscmp
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strcmp
    - item_type: preproc_def
      name: tcscpy
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strcpy
    - item_type: preproc_def
      name: tcscat
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strcat
    - item_type: preproc_def
      name: tcschr
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strchr
    - item_type: preproc_def
      name: tcsrchr
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strrchr
    - item_type: preproc_def
      name: tcslen
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strlen
    - item_type: preproc_def
      name: tperror
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: perror
    - item_type: preproc_def
      name: topen
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: open
    - item_type: preproc_def
      name: tmain
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: main
    - item_type: preproc_def
      name: tremove
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: remove
    - item_type: preproc_def
      name: tchar
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: char
    - item_type: preproc_def
      name: tcstof
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strtof
    - item_type: preproc_def
      name: tcstoull
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/expat-2.4.1/xmlwf/xmltchar.h
      type_or_value: strtoull
    structs: []
    typedefs: []
    union: []
- function_names:
  - getTok
  - matchkey
  - getXMLCharset
  - main
  source_file: /src/expat-2.4.1/xmlwf/ct.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHARSET_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/expat-2.4.1/xmlwf/ct.c
      type_or_value: '41'
    structs: []
    typedefs: []
    union: []
- function_names:
  - filemap
  - win32perror
  source_file: /src/expat-2.4.1/xmlwf/win32filemap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRICT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/expat-2.4.1/xmlwf/win32filemap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/expat-2.4.1/xmlwf/win32filemap.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - S_ISREG
  - filemap
  source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _EXPAT_read
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: _read
    - item_type: preproc_def
      name: _EXPAT_read_count_t
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: int
    - item_type: preproc_def
      name: _EXPAT_read_req_t
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: unsigned int
    - item_type: preproc_def
      name: _EXPAT_read
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: read
    - item_type: preproc_def
      name: _EXPAT_read_count_t
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: ssize_t
    - item_type: preproc_def
      name: _EXPAT_read_req_t
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: size_t
    - item_type: preproc_def
      name: S_IFREG
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: _S_IFREG
    - item_type: preproc_def
      name: S_IFMT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: _S_IFMT
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: _O_BINARY
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/expat-2.4.1/xmlwf/readfilemap.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - reportError
  - processFile
  - isAsciiLetter
  - externalEntityRefFilemap
  - processStream
  - externalEntityRefStream
  - XML_ProcessFile
  source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
      type_or_value: _O_BINARY
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
      type_or_value: '0'
    - item_type: preproc_def
      name: READ_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
      type_or_value: '16'
    - item_type: preproc_def
      name: READ_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
      type_or_value: (1024 * 8)
    structs:
    - fields:
      - name: parser
        type: XML_Parser
      - name: '*retPtr'
        type: int
      item_type: struct
      name: PROCESS_ARGS
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/xmlwf/xmlmime.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHARSET_MAX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/expat-2.4.1/xmlwf/xmlmime.h
      type_or_value: '41'
    structs: []
    typedefs: []
    union: []
- function_names:
  - characterData
  - attributeValue
  - attcmp
  - startElement
  - endElement
  - nsattcmp
  - startElementNS
  - endElementNS
  - processingInstruction
  - xcsdup
  - startDoctypeDecl
  - freeNotations
  - cleanupUserData
  - xcscmp
  - notationCmp
  - endDoctypeDecl
  - notationDecl
  - defaultCharacterData
  - defaultStartElement
  - defaultEndElement
  - defaultProcessingInstruction
  - nopCharacterData
  - nopStartElement
  - nopEndElement
  - nopProcessingInstruction
  - markup
  - metaLocation
  - metaStartDocument
  - metaEndDocument
  - metaStartElement
  - metaEndElement
  - metaProcessingInstruction
  - metaComment
  - metaStartCdataSection
  - metaEndCdataSection
  - metaCharacterData
  - metaStartDoctypeDecl
  - metaEndDoctypeDecl
  - metaNotationDecl
  - metaEntityDecl
  - metaStartNamespaceDecl
  - metaEndNamespaceDecl
  - unknownEncodingConvert
  - unknownEncoding
  - notStandalone
  - showVersion
  - usage
  - XMLWF_SHIFT_ARG_INTO
  - tmain
  source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
  types:
    enum:
    - enumerators:
      - name: XMLWF_EXIT_SUCCESS
        value: '0'
      - name: XMLWF_EXIT_OUTPUT_ERROR
        value: '3'
      - name: XMLWF_EXIT_NOT_WELLFORMED
        value: '2'
      - name: XMLWF_EXIT_USAGE_ERROR
        value: '4'
      - name: XMLWF_EXIT_INTERNAL_ERROR
        value: '1'
      item_type: enum
      name: ExitCode
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
    preproc_defs:
    - item_type: preproc_def
      name: NSSEP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
      type_or_value: T('\001')
    structs:
    - fields:
      - name: '*next'
        type: struct NotationList
      - name: '*notationName'
        type: XML_Char
      - name: '*systemId'
        type: XML_Char
      - name: '*publicId'
        type: XML_Char
      item_type: struct
      name: NotationList
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
    - fields:
      - name: '*fp'
        type: FILE
      - name: '*notationListHead'
        type: NotationList
      - name: '*currentDoctypeName'
        type: XML_Char
      item_type: struct
      name: xmlwfUserData
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/expat-2.4.1/xmlwf/xmlwf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/xmlwf/filemap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_MAX_CHUNK_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/expat-2.4.1/xmlwf/filemap.h
      type_or_value: (INT_MAX / 2 + 1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/xmlwf/xmlfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_MAP_FILE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.h
      type_or_value: '01'
    - item_type: preproc_def
      name: XML_EXTERNAL_ENTITIES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.h
      type_or_value: '02'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.h
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/expat-2.4.1/xmlwf/xmlfile.h
      type_or_value: '"l"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NS
  - NS
  - NS
  - NS
  - NS
  - NS
  - NS
  source_file: /src/expat-2.4.1/lib/xmltok_ns.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENCODING_MAX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/expat-2.4.1/lib/xmltok_ns.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/winconfig.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/asciitab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XmlTokenRole
  source_file: /src/expat-2.4.1/lib/xmlrole.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XmlRole_INCLUDED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/expat-2.4.1/lib/xmlrole.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XmlPrologStateInitExternalEntity
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/expat-2.4.1/lib/xmlrole.h
      type_or_value: XmlPrologStateInitExternalEnt
    structs:
    - fields:
      - name: "(PTRCALL *handler)(struct prolog_state *state, int tok, const char
          *ptr,\n                        const char *end, const ENCODING *enc)"
        type: int
      - name: level
        type: unsigned
      - name: role_none
        type: int
      item_type: struct
      name: prolog_state
      pos:
        line_end: 127
        line_start: 117
        source_file: /src/expat-2.4.1/lib/xmlrole.h
    typedefs: []
    union: []
- function_names:
  - UCS2_GET_NAMING
  - UTF8_GET_NAMING2
  - UTF8_GET_NAMING3
  - UTF8_GET_NAMING
  - UTF8_INVALID2
  - UTF8_INVALID3
  - UTF8_INVALID4
  - PTRFASTCALL::isNever
  - PTRFASTCALL::utf8_isName2
  - PTRFASTCALL::utf8_isName3
  - PTRFASTCALL::utf8_isNmstrt2
  - PTRFASTCALL::utf8_isNmstrt3
  - PTRFASTCALL::utf8_isInvalid2
  - PTRFASTCALL::utf8_isInvalid3
  - PTRFASTCALL::utf8_isInvalid4
  - AS_NORMAL_ENCODING
  - STANDARD_VTABLE
  - NORMAL_VTABLE
  - checkCharRefNumber
  - MINBPC
  - MINBPC
  - SB_BYTE_TYPE
  - PTRFASTCALL::sb_byteType
  - BYTE_TYPE
  - BYTE_TYPE
  - BYTE_TO_ASCII
  - PTRFASTCALL::sb_byteToAscii
  - BYTE_TO_ASCII
  - IS_NAME_CHAR
  - IS_NMSTRT_CHAR
  - IS_INVALID_CHAR
  - IS_INVALID_CHAR
  - IS_NAME_CHAR_MINBPC
  - IS_NMSTRT_CHAR_MINBPC
  - IS_NAME_CHAR_MINBPC
  - IS_NMSTRT_CHAR_MINBPC
  - CHAR_MATCHES
  - sb_charMatches
  - CHAR_MATCHES
  - PREFIX
  - _INTERNAL_trim_to_complete_utf8_characters
  - utf8_toUtf8
  - utf8_toUtf16
  - latin1_toUtf8
  - latin1_toUtf16
  - ascii_toUtf8
  - PTRFASTCALL::unicode_byte_type
  - DEFINE_UTF16_TO_UTF8
  - DEFINE_UTF16_TO_UTF16
  - SET2
  - GET_LO
  - GET_HI
  - SET2
  - GET_LO
  - GET_HI
  - LITTLE2_BYTE_TYPE
  - LITTLE2_BYTE_TO_ASCII
  - LITTLE2_CHAR_MATCHES
  - LITTLE2_IS_NAME_CHAR_MINBPC
  - LITTLE2_IS_NMSTRT_CHAR_MINBPC
  - PTRFASTCALL::little2_byteType
  - PTRFASTCALL::little2_byteToAscii
  - little2_charMatches
  - PTRFASTCALL::little2_isNameMin
  - PTRFASTCALL::little2_isNmstrtMin
  - PREFIX
  - MINBPC
  - BYTE_TYPE
  - BYTE_TO_ASCII
  - CHAR_MATCHES
  - IS_NAME_CHAR
  - IS_NAME_CHAR_MINBPC
  - IS_NMSTRT_CHAR
  - IS_NMSTRT_CHAR_MINBPC
  - BIG2_BYTE_TYPE
  - BIG2_BYTE_TO_ASCII
  - BIG2_CHAR_MATCHES
  - BIG2_IS_NAME_CHAR_MINBPC
  - BIG2_IS_NMSTRT_CHAR_MINBPC
  - PTRFASTCALL::big2_byteType
  - PTRFASTCALL::big2_byteToAscii
  - big2_charMatches
  - PTRFASTCALL::big2_isNameMin
  - PTRFASTCALL::big2_isNmstrtMin
  - PREFIX
  - MINBPC
  - BYTE_TYPE
  - BYTE_TO_ASCII
  - CHAR_MATCHES
  - IS_NAME_CHAR
  - IS_NAME_CHAR_MINBPC
  - IS_NMSTRT_CHAR
  - IS_NMSTRT_CHAR_MINBPC
  - streqci
  - initUpdatePosition
  - toAscii
  - isSpace
  - parsePseudoAttribute
  - doParseXmlDecl
  - checkCharRefNumber
  - XmlUtf8Encode
  - XmlUtf16Encode
  - AS_UNKNOWN_ENCODING
  - XmlSizeOfUnknownEncoding
  - PTRFASTCALL::unknown_isName
  - PTRFASTCALL::unknown_isNmstrt
  - PTRFASTCALL::unknown_isInvalid
  - unknown_toUtf8
  - unknown_toUtf16
  - XmlInitUnknownEncoding
  - getEncodingIndex
  - INIT_ENC_INDEX
  - SET_INIT_ENC_INDEX
  - initScan
  - NS
  - ns
  - NS
  - ns
  - XmlInitUnknownEncodingNS
  source_file: /src/expat-2.4.1/lib/xmltok.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IGNORE_SECTION_TOK_VTABLE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: ', PREFIX(ignoreSectionTok)'
    - item_type: preproc_def
      name: VTABLE1
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: "{PREFIX(prologTok), PREFIX(contentTok),                                      \\\n
        \  PREFIX(cdataSectionTok) IGNORE_SECTION_TOK_VTABLE},                         \\\n
        \     {PREFIX(attributeValueTok), PREFIX(entityValueTok)},                     \\\n
        \     PREFIX(nameMatchesAscii), PREFIX(nameLength), PREFIX(skipS),             \\\n
        \     PREFIX(getAtts), PREFIX(charRefNumber), PREFIX(predefinedEntityName),
        \   \\\n      PREFIX(updatePosition), PREFIX(isPublicId)"
    - item_type: preproc_def
      name: VTABLE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: VTABLE1, PREFIX(toUtf8), PREFIX(toUtf16)
    - item_type: preproc_def
      name: utf8_isName4
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: isNever
    - item_type: preproc_def
      name: utf8_isNmstrt4
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: isNever
    - item_type: preproc_def
      name: sb_isNameMin
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: isNever
    - item_type: preproc_def
      name: sb_isNmstrtMin
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: isNever
    - item_type: preproc_def
      name: VTABLE
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: VTABLE1, little2_toUtf8, little2_toUtf16
    - item_type: preproc_def
      name: VTABLE
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/expat-2.4.1/lib/xmltok.c
      type_or_value: VTABLE1, big2_toUtf8, big2_toUtf16
    structs:
    - fields:
      - name: enc
        type: ENCODING
      - name: type[256]
        type: unsigned char
      - name: (PTRFASTCALL *isName2)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isName3)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isName4)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isNmstrt2)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isNmstrt3)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isNmstrt4)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isInvalid2)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isInvalid3)(const ENCODING *, const char *)
        type: int
      - name: (PTRFASTCALL *isInvalid4)(const ENCODING *, const char *)
        type: int
      item_type: struct
      name: normal_encoding
      pos:
        line_end: 206
        line_start: 187
        source_file: /src/expat-2.4.1/lib/xmltok.c
    - fields:
      - name: normal
        type: struct normal_encoding
      - name: convert
        type: CONVERTER
      - name: '*userData'
        type: void
      - name: utf16[256]
        type: unsigned short
      - name: utf8[256][4]
        type: char
      item_type: struct
      name: unknown_encoding
      pos:
        line_end: 1322
        line_start: 1316
        source_file: /src/expat-2.4.1/lib/xmltok.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/utf8tab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXPAT_FMT_ULL
  - EXPAT_FMT_PTRDIFF_T
  - EXPAT_FMT_SIZE_T
  - EXPAT_FMT_PTRDIFF_T
  - EXPAT_FMT_SIZE_T
  - EXPAT_FMT_ULL
  - EXPAT_FMT_PTRDIFF_T
  - EXPAT_FMT_SIZE_T
  - EXPAT_FMT_PTRDIFF_T
  - EXPAT_FMT_SIZE_T
  - UNUSED_P
  source_file: /src/expat-2.4.1/lib/internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FASTCALL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: __attribute__((regparm(3)))
    - item_type: preproc_def
      name: PTRFASTCALL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: __attribute__((regparm(3)))
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: __inline
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: inline
    - item_type: preproc_def
      name: EXPAT_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: 100.0f
    - item_type: preproc_def
      name: EXPAT_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/expat-2.4.1/lib/internal.h
      type_or_value: 8388608 // 8 MiB, 2^23
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/xmltok_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/latin1tab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/nametab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/iasciitab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_INVALID_CHAR
  - INVALID_LEAD_CASE
  - INVALID_CASES
  - CHECK_NAME_CASE
  - CHECK_NAME_CASES
  - CHECK_NMSTRT_CASE
  - CHECK_NMSTRT_CASES
  - PREFIX
  - HAS_CHARS
  - HAS_CHAR
  - REQUIRE_CHARS
  - REQUIRE_CHAR
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - LEAD_CASE
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - LEAD_CASE
  - PREFIX
  - PREFIX
  - PREFIX
  - PREFIX
  - LEAD_CASE
  - PREFIX
  - LEAD_CASE
  - PREFIX
  - LEAD_CASE
  - PREFIX
  - PREFIX
  - PREFIX
  - LEAD_CASE
  - PTRFASTCALL::PREFIX
  - PREFIX
  - PREFIX
  - PTRFASTCALL::PREFIX
  - LEAD_CASE
  - PTRFASTCALL::PREFIX
  - PREFIX
  - LEAD_CASE
  source_file: /src/expat-2.4.1/lib/xmltok_impl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: START_NAME
      pos:
        line_end: 1519
        line_start: 1511
        source_file: /src/expat-2.4.1/lib/xmltok_impl.c
      type_or_value: "if (state == other) {                                                      \\\n
        \     if (nAtts < attsMax) {                                                   \\\n
        \       atts[nAtts].name = ptr;                                                \\\n
        \       atts[nAtts].normalized = 1;                                            \\\n
        \     }                                                                        \\\n
        \     state = inName;                                                          \\\n
        \   }"
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN_BYTES_PER_CHAR
  - setTopLevel
  - setTopLevel
  - prolog0
  - prolog1
  - prolog2
  - doctype0
  - doctype1
  - doctype2
  - doctype3
  - doctype4
  - doctype5
  - internalSubset
  - externalSubset0
  - externalSubset1
  - entity0
  - entity1
  - entity2
  - entity3
  - entity4
  - entity5
  - entity6
  - entity7
  - entity8
  - entity9
  - entity10
  - notation0
  - notation1
  - notation2
  - notation3
  - notation4
  - attlist0
  - attlist1
  - attlist2
  - attlist3
  - attlist4
  - attlist5
  - attlist6
  - attlist7
  - attlist8
  - attlist9
  - element0
  - element1
  - element2
  - element3
  - element4
  - element5
  - element6
  - element7
  - condSect0
  - condSect1
  - condSect2
  - declClose
  - error
  - common
  - XmlPrologStateInit
  - XmlPrologStateInitExternalEntity
  source_file: /src/expat-2.4.1/lib/xmlrole.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "PROLOG_HANDLER(PROLOG_STATE *state, int tok,\n                                   const
        char *ptr, const char *end,\n                                   const ENCODING
        *enc)"
      pos:
        line_end: 122
        line_start: 120
        source_file: /src/expat-2.4.1/lib/xmlrole.c
      type: int
    union: []
- function_names:
  - _SIP_ULL
  - SIP_ROTL
  - SIP_U32TO8_LE
  - SIP_U64TO8_LE
  - SIP_U8TO64_LE
  - sip_keyof
  - sip_tokey
  - sip_binof
  - sip_tobin
  - sip_round
  - sip24_init
  - sip_endof
  - sip24_update
  - sip24_final
  - siphash24
  - sip24_valid
  - main
  source_file: /src/expat-2.4.1/lib/siphash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIPHASH_INITIALIZER
      pos:
        line_end: 130
        line_start: 128
        source_file: /src/expat-2.4.1/lib/siphash.h
      type_or_value: '{ 0, 0, 0, 0, {0}, 0, 0 }'
    - item_type: preproc_def
      name: SIP_KEYLEN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/expat-2.4.1/lib/siphash.h
      type_or_value: '16'
    structs:
    - fields:
      - name: v0
        type: uint64_t
      - name: buf[8]
        type: unsigned char
      - name: c
        type: uint64_t
      item_type: struct
      name: siphash
      pos:
        line_end: 136
        line_start: 131
        source_file: /src/expat-2.4.1/lib/siphash.h
    - fields:
      - name: k[2]
        type: uint64_t
      item_type: struct
      name: sipkey
      pos:
        line_end: 142
        line_start: 140
        source_file: /src/expat-2.4.1/lib/siphash.h
    typedefs: []
    union: []
- function_names:
  - XmlTok
  - XmlPrologTok
  - XmlContentTok
  - XmlCdataSectionTok
  - XmlIgnoreSectionTok
  - XmlLiteralTok
  - XmlAttributeValueTok
  - XmlEntityValueTok
  - XmlNameMatchesAscii
  - XmlNameLength
  - XmlSkipS
  - XmlGetAttributes
  - XmlCharRefNumber
  - XmlPredefinedEntityName
  - XmlUpdatePosition
  - XmlIsPublicId
  - XmlUtf8Convert
  - XmlUtf16Convert
  source_file: /src/expat-2.4.1/lib/xmltok.h
  types:
    enum:
    - enumerators:
      - name: XML_CONVERT_COMPLETED
        value: '0'
      - name: XML_CONVERT_OUTPUT_EXHAUSTED
        value: '2'
      - name: XML_CONVERT_INPUT_INCOMPLETE
        value: '1'
      item_type: enum
      name: XML_Convert_Result
      pos:
        line_end: 169
        line_start: 164
        source_file: /src/expat-2.4.1/lib/xmltok.h
    preproc_defs:
    - item_type: preproc_def
      name: XmlTok_INCLUDED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_TOK_TRAILING_RSQB
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '-5 '
    - item_type: preproc_def
      name: XML_TOK_NONE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '-4 '
    - item_type: preproc_def
      name: XML_TOK_TRAILING_CR
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '-3                            '
    - item_type: preproc_def
      name: XML_TOK_PARTIAL_CHAR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '-2 '
    - item_type: preproc_def
      name: XML_TOK_PARTIAL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '-1      '
    - item_type: preproc_def
      name: XML_TOK_INVALID
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XML_TOK_START_TAG_WITH_ATTS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_TOK_START_TAG_NO_ATTS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '2'
    - item_type: preproc_def
      name: XML_TOK_EMPTY_ELEMENT_WITH_ATTS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: XML_TOK_EMPTY_ELEMENT_NO_ATTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '4'
    - item_type: preproc_def
      name: XML_TOK_END_TAG
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '5'
    - item_type: preproc_def
      name: XML_TOK_DATA_CHARS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '6'
    - item_type: preproc_def
      name: XML_TOK_DATA_NEWLINE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '7'
    - item_type: preproc_def
      name: XML_TOK_CDATA_SECT_OPEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XML_TOK_ENTITY_REF
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '9'
    - item_type: preproc_def
      name: XML_TOK_CHAR_REF
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: XML_TOK_PI
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '11       '
    - item_type: preproc_def
      name: XML_TOK_XML_DECL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: XML_TOK_COMMENT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '13'
    - item_type: preproc_def
      name: XML_TOK_BOM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: XML_TOK_PROLOG_S
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '15'
    - item_type: preproc_def
      name: XML_TOK_DECL_OPEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: XML_TOK_DECL_CLOSE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: XML_TOK_NAME
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '18'
    - item_type: preproc_def
      name: XML_TOK_NMTOKEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '19'
    - item_type: preproc_def
      name: XML_TOK_POUND_NAME
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '20 '
    - item_type: preproc_def
      name: XML_TOK_OR
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '21         '
    - item_type: preproc_def
      name: XML_TOK_PERCENT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '22'
    - item_type: preproc_def
      name: XML_TOK_OPEN_PAREN
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '23'
    - item_type: preproc_def
      name: XML_TOK_CLOSE_PAREN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '24'
    - item_type: preproc_def
      name: XML_TOK_OPEN_BRACKET
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '25'
    - item_type: preproc_def
      name: XML_TOK_CLOSE_BRACKET
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '26'
    - item_type: preproc_def
      name: XML_TOK_LITERAL
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '27'
    - item_type: preproc_def
      name: XML_TOK_PARAM_ENTITY_REF
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '28'
    - item_type: preproc_def
      name: XML_TOK_INSTANCE_START
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '29'
    - item_type: preproc_def
      name: XML_TOK_NAME_QUESTION
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '30        '
    - item_type: preproc_def
      name: XML_TOK_NAME_ASTERISK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '31        '
    - item_type: preproc_def
      name: XML_TOK_NAME_PLUS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '32            '
    - item_type: preproc_def
      name: XML_TOK_COND_SECT_OPEN
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '33       '
    - item_type: preproc_def
      name: XML_TOK_COND_SECT_CLOSE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '34      '
    - item_type: preproc_def
      name: XML_TOK_CLOSE_PAREN_QUESTION
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '35 '
    - item_type: preproc_def
      name: XML_TOK_CLOSE_PAREN_ASTERISK
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '36 '
    - item_type: preproc_def
      name: XML_TOK_CLOSE_PAREN_PLUS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '37     '
    - item_type: preproc_def
      name: XML_TOK_COMMA
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '38'
    - item_type: preproc_def
      name: XML_TOK_ATTRIBUTE_VALUE_S
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '39'
    - item_type: preproc_def
      name: XML_TOK_CDATA_SECT_CLOSE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '40'
    - item_type: preproc_def
      name: XML_TOK_PREFIXED_NAME
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '41'
    - item_type: preproc_def
      name: XML_TOK_IGNORE_SECT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '42'
    - item_type: preproc_def
      name: XML_N_STATES
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '4'
    - item_type: preproc_def
      name: XML_N_STATES
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XML_PROLOG_STATE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XML_CONTENT_STATE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_CDATA_SECTION_STATE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '2'
    - item_type: preproc_def
      name: XML_IGNORE_SECTION_STATE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XML_N_LITERAL_TYPES
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '2'
    - item_type: preproc_def
      name: XML_ATTRIBUTE_VALUE_LITERAL
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XML_ENTITY_VALUE_LITERAL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_UTF8_ENCODE_MAX
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '4'
    - item_type: preproc_def
      name: XML_UTF16_ENCODE_MAX
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type_or_value: '2'
    structs:
    - fields:
      - name: lineNumber
        type: XML_Size
      - name: columnNumber
        type: XML_Size
      item_type: struct
      name: position
      pos:
        line_end: 149
        line_start: 145
        source_file: /src/expat-2.4.1/lib/xmltok.h
    - fields:
      - name: '*name'
        type: char
      - name: '*valuePtr'
        type: char
      - name: '*valueEnd'
        type: char
      - name: normalized
        type: char
      item_type: struct
      name: ATTRIBUTE
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/expat-2.4.1/lib/xmltok.h
    - fields:
      - name: scanners[XML_N_STATES]
        type: SCANNER
      - name: literalScanners[XML_N_LITERAL_TYPES]
        type: SCANNER
      - name: "(PTRCALL *nameMatchesAscii)(const ENCODING *, const char *, const char
          *,\n                                 const char *)"
        type: int
      - name: (PTRFASTCALL *nameLength)(const ENCODING *, const char *)
        type: int
      - name: '*(PTRFASTCALL *skipS)(const ENCODING *, const char *)'
        type: char
      - name: "(PTRCALL *getAtts)(const ENCODING *enc, const char *ptr, int attsMax,\n
          \                       ATTRIBUTE *atts)"
        type: int
      - name: (PTRFASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr)
        type: int
      - name: "(PTRCALL *predefinedEntityName)(const ENCODING *, const char *,\n                                     const
          char *)"
        type: int
      - name: "(PTRCALL *updatePosition)(const ENCODING *, const char *ptr,\n                                const
          char *end, POSITION *)"
        type: void
      - name: "(PTRCALL *isPublicId)(const ENCODING *enc, const char *ptr,\n                           const
          char *end, const char **badPtr)"
        type: int
      - name: "(PTRCALL *utf8Convert)(const ENCODING *enc,\n                                                const
          char **fromP,\n                                                const char
          *fromLim, char **toP,\n                                                const
          char *toLim)"
        type: enum XML_Convert_Result
      - name: "(PTRCALL *utf16Convert)(const ENCODING *enc,\n                                                 const
          char **fromP,\n                                                 const char
          *fromLim,\n                                                 unsigned short
          **toP,\n                                                 const unsigned
          short *toLim)"
        type: enum XML_Convert_Result
      - name: minBytesPerChar
        type: int
      - name: isUtf8
        type: char
      - name: isUtf16
        type: char
      item_type: struct
      name: encoding
      pos:
        line_end: 199
        line_start: 171
        source_file: /src/expat-2.4.1/lib/xmltok.h
    - fields:
      - name: initEnc
        type: ENCODING
      - name: '**encPtr'
        type: ENCODING
      item_type: struct
      name: INIT_ENCODING
      pos:
        line_end: 283
        line_start: 280
        source_file: /src/expat-2.4.1/lib/xmltok.h
    typedefs:
    - item_type: typedef
      name: ENCODING
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type: encoding
    - item_type: typedef
      name: "(PTRCALL *SCANNER)(const ENCODING *, const char *, const char *,\n                              const
        char **)"
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type: int
    - item_type: typedef
      name: (XMLCALL *CONVERTER)(void *userData, const char *p)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/expat-2.4.1/lib/xmltok.h
      type: int
    union: []
- function_names:
  - MUST_CONVERT
  - MUST_CONVERT
  - XML_T
  - XML_L
  - XML_T
  - XML_L
  - XML_T
  - XML_L
  - ROUND_UP
  - EXPAT_SAFE_PTR_DIFF
  - SECOND_HASH
  - PROBE_STEP
  - poolStart
  - poolEnd
  - poolLength
  - poolChop
  - poolLastChar
  - poolDiscard
  - poolFinish
  - poolAppendChar
  - MALLOC
  - REALLOC
  - FREE
  - XML_ParserCreate
  - XML_ParserCreateNS
  - writeRandomBytes_getrandom_nonblock
  - writeRandomBytes_dev_urandom
  - writeRandomBytes_arc4random
  - writeRandomBytes_rand_s
  - gather_time_entropy
  - ENTROPY_DEBUG
  - generate_hash_secret_salt
  - get_hash_secret_salt
  - startParsing
  - XML_ParserCreate_MM
  - parserCreate
  - parserInit
  - moveToFreeBindingList
  - XML_ParserReset
  - XML_SetEncoding
  - XML_ExternalEntityParserCreate
  - destroyBindings
  - XML_ParserFree
  - XML_UseParserAsHandlerArg
  - XML_UseForeignDTD
  - XML_SetReturnNSTriplet
  - XML_SetUserData
  - XML_SetBase
  - XML_GetBase
  - XML_GetSpecifiedAttributeCount
  - XML_GetIdAttributeIndex
  - XML_GetAttributeInfo
  - XML_SetElementHandler
  - XML_SetStartElementHandler
  - XML_SetEndElementHandler
  - XML_SetCharacterDataHandler
  - XML_SetProcessingInstructionHandler
  - XML_SetCommentHandler
  - XML_SetCdataSectionHandler
  - XML_SetStartCdataSectionHandler
  - XML_SetEndCdataSectionHandler
  - XML_SetDefaultHandler
  - XML_SetDefaultHandlerExpand
  - XML_SetDoctypeDeclHandler
  - XML_SetStartDoctypeDeclHandler
  - XML_SetEndDoctypeDeclHandler
  - XML_SetUnparsedEntityDeclHandler
  - XML_SetNotationDeclHandler
  - XML_SetNamespaceDeclHandler
  - XML_SetStartNamespaceDeclHandler
  - XML_SetEndNamespaceDeclHandler
  - XML_SetNotStandaloneHandler
  - XML_SetExternalEntityRefHandler
  - XML_SetExternalEntityRefHandlerArg
  - XML_SetSkippedEntityHandler
  - XML_SetUnknownEncodingHandler
  - XML_SetElementDeclHandler
  - XML_SetAttlistDeclHandler
  - XML_SetEntityDeclHandler
  - XML_SetXmlDeclHandler
  - XML_SetParamEntityParsing
  - XML_SetHashSalt
  - XML_Parse
  - XML_ParseBuffer
  - XML_GetBuffer
  - XML_StopParser
  - XML_ResumeParser
  - XML_GetParsingStatus
  - XML_GetErrorCode
  - XML_GetCurrentByteIndex
  - XML_GetCurrentByteCount
  - XML_GetInputContext
  - XML_GetCurrentLineNumber
  - XML_GetCurrentColumnNumber
  - XML_FreeContentModel
  - XML_MemMalloc
  - XML_MemRealloc
  - XML_MemFree
  - XML_DefaultCurrent
  - XML_ErrorString
  - XML_ExpatVersion
  - V1
  - V2
  - XML_ExpatVersionInfo
  - XML_GetFeatureList
  - XML_SetBillionLaughsAttackProtectionMaximumAmplification
  - XML_SetBillionLaughsAttackProtectionActivationThreshold
  - storeRawNames
  - contentProcessor
  - externalEntityInitProcessor
  - externalEntityInitProcessor2
  - externalEntityInitProcessor3
  - externalEntityContentProcessor
  - doContent
  - freeBindings
  - storeAtts
  - addBinding
  - cdataSectionProcessor
  - doCdataSection
  - ignoreSectionProcessor
  - doIgnoreSection
  - initializeEncoding
  - processXmlDecl
  - handleUnknownEncoding
  - prologInitProcessor
  - externalParEntInitProcessor
  - entityValueInitProcessor
  - externalParEntProcessor
  - entityValueProcessor
  - prologProcessor
  - doProlog
  - epilogProcessor
  - processInternalEntity
  - internalEntityProcessor
  - errorProcessor
  - storeAttributeValue
  - appendAttributeValue
  - storeEntityValue
  - normalizeLines
  - reportProcessingInstruction
  - reportComment
  - reportDefault
  - defineAttribute
  - setElementTypePrefix
  - getAttributeId
  - getContext
  - setContext
  - normalizePublicId
  - dtdCreate
  - dtdReset
  - dtdDestroy
  - dtdCopy
  - copyEntityTable
  - keyeq
  - keylen
  - copy_salt_to_sipkey
  - hash
  - lookup
  - hashTableClear
  - hashTableDestroy
  - hashTableInit
  - hashTableIterInit
  - hashTableIterNext
  - poolInit
  - poolClear
  - poolDestroy
  - poolAppend
  - poolCopyString
  - poolCopyStringN
  - poolAppendString
  - poolStoreString
  - poolBytesToAllocateFor
  - poolGrow
  - nextScaffoldPart
  - build_node
  - build_model
  - getElementType
  - copyString
  - accountingGetCurrentAmplification
  - accountingReportStats
  - accountingOnAbort
  - accountingReportDiff
  - accountingDiffTolerated
  - testingAccountingGetCountBytesDirect
  - testingAccountingGetCountBytesIndirect
  - entityTrackingReportStats
  - entityTrackingOnOpen
  - entityTrackingOnClose
  - getRootParserOf
  - unsignedCharToPrintable
  - getDebugLevel
  source_file: /src/expat-2.4.1/lib/xmlparse.c
  types:
    enum:
    - enumerators:
      - name: XML_ACCOUNT_DIRECT
      - name: XML_ACCOUNT_ENTITY_EXPANSION
      - name: XML_ACCOUNT_NONE
      item_type: enum
      name: XML_Account
      pos:
        line_end: 404
        line_start: 399
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: getpid
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: GetCurrentProcessId
    - item_type: preproc_def
      name: XML_BUILDING_EXPAT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: GRND_NONBLOCK
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: LOAD_LIBRARY_SEARCH_SYSTEM32
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: XML_ENCODE_MAX
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XML_UTF16_ENCODE_MAX
    - item_type: preproc_def
      name: XmlConvert
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlUtf16Convert
    - item_type: preproc_def
      name: XmlGetInternalEncoding
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlGetUtf16InternalEncoding
    - item_type: preproc_def
      name: XmlGetInternalEncodingNS
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlGetUtf16InternalEncodingNS
    - item_type: preproc_def
      name: XmlEncode
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlUtf16Encode
    - item_type: preproc_def
      name: XML_ENCODE_MAX
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XML_UTF8_ENCODE_MAX
    - item_type: preproc_def
      name: XmlConvert
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlUtf8Convert
    - item_type: preproc_def
      name: XmlGetInternalEncoding
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlGetUtf8InternalEncoding
    - item_type: preproc_def
      name: XmlGetInternalEncodingNS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlGetUtf8InternalEncodingNS
    - item_type: preproc_def
      name: XmlEncode
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlUtf8Encode
    - item_type: preproc_def
      name: XmlInitEncodingNS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlInitEncoding
    - item_type: preproc_def
      name: XmlInitUnknownEncodingNS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlInitUnknownEncoding
    - item_type: preproc_def
      name: XmlGetInternalEncodingNS
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlGetInternalEncoding
    - item_type: preproc_def
      name: XmlParseXmlDeclNS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XmlParseXmlDecl
    - item_type: preproc_def
      name: INIT_TAG_BUF_SIZE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: INIT_DATA_BUF_SIZE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: INIT_ATTS_SIZE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '16'
    - item_type: preproc_def
      name: INIT_ATTS_VERSION
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '0xFFFFFFFF'
    - item_type: preproc_def
      name: INIT_BLOCK_SIZE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: INIT_BUFFER_SIZE
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: EXPAND_SPARE
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '24'
    - item_type: preproc_def
      name: INIT_SCAFFOLD_ELEMENTS
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '32'
    - item_type: preproc_def
      name: CONTEXT_SEP
      pos:
        line_end: 6210
        line_start: 6209
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: XML_T(ASCII_FF)
    - item_type: preproc_def
      name: INIT_POWER
      pos:
        line_end: 6681
        line_start: 6680
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type_or_value: '6'
    structs:
    - fields:
      - name: name
        type: KEY
      item_type: struct
      name: NAMED
      pos:
        line_end: 202
        line_start: 200
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '**v'
        type: NAMED
      - name: power
        type: unsigned char
      - name: size
        type: size_t
      - name: used
        type: size_t
      - name: '*mem'
        type: XML_Memory_Handling_Suite
      item_type: struct
      name: HASH_TABLE
      pos:
        line_end: 210
        line_start: 204
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '**p'
        type: NAMED
      - name: '**end'
        type: NAMED
      item_type: struct
      name: HASH_TABLE_ITER
      pos:
        line_end: 232
        line_start: 229
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*prefix'
        type: struct prefix
      - name: '*nextTagBinding'
        type: struct binding
      - name: '*prevPrefixBinding'
        type: struct binding
      - name: '*attId'
        type: struct attribute_id
      - name: '*uri'
        type: XML_Char
      - name: uriLen
        type: int
      - name: uriAlloc
        type: int
      item_type: struct
      name: binding
      pos:
        line_end: 251
        line_start: 243
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*name'
        type: XML_Char
      - name: '*binding'
        type: BINDING
      item_type: struct
      name: prefix
      pos:
        line_end: 256
        line_start: 253
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*str'
        type: XML_Char
      - name: '*localPart'
        type: XML_Char
      - name: '*prefix'
        type: XML_Char
      - name: strLen
        type: int
      - name: uriLen
        type: int
      - name: prefixLen
        type: int
      item_type: struct
      name: TAG_NAME
      pos:
        line_end: 265
        line_start: 258
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*parent'
        type: struct tag
      - name: '*rawName'
        type: char
      - name: rawNameLength
        type: int
      - name: name
        type: TAG_NAME
      - name: '*buf'
        type: char
      - name: '*bufEnd'
        type: char
      - name: '*bindings'
        type: BINDING
      item_type: struct
      name: tag
      pos:
        line_end: 288
        line_start: 280
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*name'
        type: XML_Char
      - name: '*textPtr'
        type: XML_Char
      - name: textLen
        type: int
      - name: processed
        type: int
      - name: '*systemId'
        type: XML_Char
      - name: '*base'
        type: XML_Char
      - name: '*publicId'
        type: XML_Char
      - name: '*notation'
        type: XML_Char
      - name: open
        type: XML_Bool
      - name: is_param
        type: XML_Bool
      - name: is_internal
        type: XML_Bool
      item_type: struct
      name: ENTITY
      pos:
        line_end: 302
        line_start: 290
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: type
        type: enum XML_Content_Type
      - name: quant
        type: enum XML_Content_Quant
      - name: '*name'
        type: XML_Char
      - name: firstchild
        type: int
      - name: lastchild
        type: int
      - name: childcnt
        type: int
      - name: nextsib
        type: int
      item_type: struct
      name: CONTENT_SCAFFOLD
      pos:
        line_end: 312
        line_start: 304
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*next'
        type: struct block
      - name: size
        type: int
      - name: s[1]
        type: XML_Char
      item_type: struct
      name: block
      pos:
        line_end: 320
        line_start: 316
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*blocks'
        type: BLOCK
      - name: '*freeBlocks'
        type: BLOCK
      - name: '*end'
        type: XML_Char
      - name: '*ptr'
        type: XML_Char
      - name: '*start'
        type: XML_Char
      - name: '*mem'
        type: XML_Memory_Handling_Suite
      item_type: struct
      name: STRING_POOL
      pos:
        line_end: 329
        line_start: 322
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*name'
        type: XML_Char
      - name: '*prefix'
        type: PREFIX
      - name: maybeTokenized
        type: XML_Bool
      - name: xmlns
        type: XML_Bool
      item_type: struct
      name: attribute_id
      pos:
        line_end: 338
        line_start: 333
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*id'
        type: ATTRIBUTE_ID
      - name: isCdata
        type: XML_Bool
      - name: '*value'
        type: XML_Char
      item_type: struct
      name: DEFAULT_ATTRIBUTE
      pos:
        line_end: 344
        line_start: 340
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: version
        type: unsigned long
      - name: hash
        type: unsigned long
      - name: '*uriName'
        type: XML_Char
      item_type: struct
      name: NS_ATT
      pos:
        line_end: 350
        line_start: 346
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*name'
        type: XML_Char
      - name: '*prefix'
        type: PREFIX
      - name: '*idAtt'
        type: ATTRIBUTE_ID
      - name: nDefaultAtts
        type: int
      - name: allocDefaultAtts
        type: int
      - name: '*defaultAtts'
        type: DEFAULT_ATTRIBUTE
      item_type: struct
      name: ELEMENT_TYPE
      pos:
        line_end: 359
        line_start: 352
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: generalEntities
        type: HASH_TABLE
      - name: elementTypes
        type: HASH_TABLE
      - name: attributeIds
        type: HASH_TABLE
      - name: prefixes
        type: HASH_TABLE
      - name: pool
        type: STRING_POOL
      - name: entityValuePool
        type: STRING_POOL
      - name: keepProcessing
        type: XML_Bool
      - name: hasParamEntityRefs
        type: XML_Bool
      - name: standalone
        type: XML_Bool
      - name: defaultPrefix
        type: PREFIX
      - name: in_eldecl
        type: XML_Bool
      - name: '*scaffold'
        type: CONTENT_SCAFFOLD
      - name: contentStringLen
        type: unsigned
      - name: scaffSize
        type: unsigned
      - name: scaffCount
        type: unsigned
      - name: scaffLevel
        type: int
      - name: '*scaffIndex'
        type: int
      item_type: struct
      name: DTD
      pos:
        line_end: 388
        line_start: 361
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*internalEventPtr'
        type: char
      - name: '*internalEventEndPtr'
        type: char
      - name: '*next'
        type: struct open_internal_entity
      - name: '*entity'
        type: ENTITY
      - name: startTagLevel
        type: int
      - name: betweenDecl
        type: XML_Bool
      item_type: struct
      name: open_internal_entity
      pos:
        line_end: 397
        line_start: 390
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: countBytesDirect
        type: XmlBigCount
      - name: countBytesIndirect
        type: XmlBigCount
      - name: debugLevel
        type: int
      - name: maximumAmplificationFactor
        type: float
      - name: activationThresholdBytes
        type: unsigned long long
      item_type: struct
      name: accounting
      pos:
        line_end: 414
        line_start: 408
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: countEverOpened
        type: unsigned int
      - name: currentDepth
        type: unsigned int
      - name: maximumDepthSeen
        type: unsigned int
      - name: debugLevel
        type: int
      item_type: struct
      name: entity_stats
      pos:
        line_end: 421
        line_start: 416
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    - fields:
      - name: '*m_userData'
        type: void
      - name: '*m_handlerArg'
        type: void
      - name: '*m_buffer'
        type: char
      - name: m_mem
        type: XML_Memory_Handling_Suite
      - name: '*m_bufferPtr'
        type: char
      - name: '*m_bufferEnd'
        type: char
      - name: '*m_bufferLim'
        type: char
      - name: m_parseEndByteIndex
        type: XML_Index
      - name: '*m_parseEndPtr'
        type: char
      - name: '*m_dataBuf'
        type: XML_Char
      - name: '*m_dataBufEnd'
        type: XML_Char
      - name: m_startElementHandler
        type: XML_StartElementHandler
      - name: m_endElementHandler
        type: XML_EndElementHandler
      - name: m_characterDataHandler
        type: XML_CharacterDataHandler
      - name: m_processingInstructionHandler
        type: XML_ProcessingInstructionHandler
      - name: m_commentHandler
        type: XML_CommentHandler
      - name: m_startCdataSectionHandler
        type: XML_StartCdataSectionHandler
      - name: m_endCdataSectionHandler
        type: XML_EndCdataSectionHandler
      - name: m_defaultHandler
        type: XML_DefaultHandler
      - name: m_startDoctypeDeclHandler
        type: XML_StartDoctypeDeclHandler
      - name: m_endDoctypeDeclHandler
        type: XML_EndDoctypeDeclHandler
      - name: m_unparsedEntityDeclHandler
        type: XML_UnparsedEntityDeclHandler
      - name: m_notationDeclHandler
        type: XML_NotationDeclHandler
      - name: m_startNamespaceDeclHandler
        type: XML_StartNamespaceDeclHandler
      - name: m_endNamespaceDeclHandler
        type: XML_EndNamespaceDeclHandler
      - name: m_notStandaloneHandler
        type: XML_NotStandaloneHandler
      - name: m_externalEntityRefHandler
        type: XML_ExternalEntityRefHandler
      - name: m_externalEntityRefHandlerArg
        type: XML_Parser
      - name: m_skippedEntityHandler
        type: XML_SkippedEntityHandler
      - name: m_unknownEncodingHandler
        type: XML_UnknownEncodingHandler
      - name: m_elementDeclHandler
        type: XML_ElementDeclHandler
      - name: m_attlistDeclHandler
        type: XML_AttlistDeclHandler
      - name: m_entityDeclHandler
        type: XML_EntityDeclHandler
      - name: m_xmlDeclHandler
        type: XML_XmlDeclHandler
      - name: '*m_encoding'
        type: ENCODING
      - name: m_initEncoding
        type: INIT_ENCODING
      - name: '*m_internalEncoding'
        type: ENCODING
      - name: '*m_protocolEncodingName'
        type: XML_Char
      - name: m_ns
        type: XML_Bool
      - name: m_ns_triplets
        type: XML_Bool
      - name: '*m_unknownEncodingMem'
        type: void
      - name: '*m_unknownEncodingData'
        type: void
      - name: '*m_unknownEncodingHandlerData'
        type: void
      - name: (XMLCALL *m_unknownEncodingRelease)(void *)
        type: void
      - name: m_prologState
        type: PROLOG_STATE
      - name: '*m_processor'
        type: Processor
      - name: m_errorCode
        type: enum XML_Error
      - name: '*m_eventPtr'
        type: char
      - name: '*m_eventEndPtr'
        type: char
      - name: '*m_positionPtr'
        type: char
      - name: '*m_openInternalEntities'
        type: OPEN_INTERNAL_ENTITY
      - name: '*m_freeInternalEntities'
        type: OPEN_INTERNAL_ENTITY
      - name: m_defaultExpandInternalEntities
        type: XML_Bool
      - name: m_tagLevel
        type: int
      - name: '*m_declEntity'
        type: ENTITY
      - name: '*m_doctypeName'
        type: XML_Char
      - name: '*m_doctypeSysid'
        type: XML_Char
      - name: '*m_doctypePubid'
        type: XML_Char
      - name: '*m_declAttributeType'
        type: XML_Char
      - name: '*m_declNotationName'
        type: XML_Char
      - name: '*m_declNotationPublicId'
        type: XML_Char
      - name: '*m_declElementType'
        type: ELEMENT_TYPE
      - name: '*m_declAttributeId'
        type: ATTRIBUTE_ID
      - name: m_declAttributeIsCdata
        type: XML_Bool
      - name: m_declAttributeIsId
        type: XML_Bool
      - name: '*m_dtd'
        type: DTD
      - name: '*m_curBase'
        type: XML_Char
      - name: '*m_tagStack'
        type: TAG
      - name: '*m_freeTagList'
        type: TAG
      - name: '*m_inheritedBindings'
        type: BINDING
      - name: '*m_freeBindingList'
        type: BINDING
      - name: m_attsSize
        type: int
      - name: m_nSpecifiedAtts
        type: int
      - name: m_idAttIndex
        type: int
      - name: '*m_atts'
        type: ATTRIBUTE
      - name: '*m_nsAtts'
        type: NS_ATT
      - name: m_nsAttsVersion
        type: unsigned long
      - name: m_nsAttsPower
        type: unsigned char
      - name: m_position
        type: POSITION
      - name: m_tempPool
        type: STRING_POOL
      - name: m_temp2Pool
        type: STRING_POOL
      - name: '*m_groupConnector'
        type: char
      - name: m_groupSize
        type: unsigned int
      - name: m_namespaceSeparator
        type: XML_Char
      - name: m_parentParser
        type: XML_Parser
      - name: m_parsingStatus
        type: XML_ParsingStatus
      - name: m_hash_secret_salt
        type: unsigned long
      item_type: struct
      name: XML_ParserStruct
      pos:
        line_end: 705
        line_start: 600
        source_file: /src/expat-2.4.1/lib/xmlparse.c
    typedefs:
    - item_type: typedef
      name: ICHAR
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type: unsigned short
    - item_type: typedef
      name: ICHAR
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type: char
    - item_type: typedef
      name: '*KEY'
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type: XML_Char
    - item_type: typedef
      name: XmlBigCount
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type: unsigned long long
    - item_type: typedef
      name: "Processor(XML_Parser parser, const char *start,\n                                         const
        char *end, const char **endPtr)"
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/expat-2.4.1/lib/xmlparse.c
      type: XML_Error
    union: []
- function_names:
  - XML_GetUserData
  source_file: /src/expat-2.4.1/lib/expat.h
  types:
    enum:
    - enumerators:
      - name: XML_STATUS_ERROR
        value: '0'
      - name: XML_STATUS_SUSPENDED
        value: '2'
      - name: XML_STATUS_OK
        value: '1'
      item_type: enum
      name: XML_Status
      pos:
        line_end: 76
        line_start: 69
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_ERROR_INVALID_TOKEN
      - name: XML_ERROR_SYNTAX
      - name: XML_ERROR_PARTIAL_CHAR
      - name: XML_ERROR_DUPLICATE_ATTRIBUTE
      - name: XML_ERROR_MISPLACED_XML_PI
      - name: XML_ERROR_BINARY_ENTITY_REF
      - name: XML_ERROR_ASYNC_ENTITY
      - name: XML_ERROR_RECURSIVE_ENTITY_REF
      - name: XML_ERROR_PARAM_ENTITY_REF
      - name: XML_ERROR_INCORRECT_ENCODING
      - name: XML_ERROR_SUSPENDED
      - name: XML_ERROR_FINISHED
      - name: XML_ERROR_FEATURE_REQUIRES_XML_DTD
      - name: XML_ERROR_XML_DECL
      - name: XML_ERROR_NOT_STANDALONE
      - name: XML_ERROR_INCOMPLETE_PE
      - name: XML_ERROR_UNEXPECTED_STATE
      - name: XML_ERROR_UNCLOSED_CDATA_SECTION
      - name: XML_ERROR_TEXT_DECL
      - name: XML_ERROR_NONE
      - name: XML_ERROR_NO_MEMORY
      - name: XML_ERROR_NO_ELEMENTS
      - name: XML_ERROR_UNCLOSED_TOKEN
      - name: XML_ERROR_TAG_MISMATCH
      - name: XML_ERROR_JUNK_AFTER_DOC_ELEMENT
      - name: XML_ERROR_BAD_CHAR_REF
      - name: XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
      - name: XML_ERROR_UNDEFINED_ENTITY
      - name: XML_ERROR_UNKNOWN_ENCODING
      - name: XML_ERROR_EXTERNAL_ENTITY_HANDLING
      - name: XML_ERROR_SUSPEND_PE
      - name: XML_ERROR_INVALID_ARGUMENT
      - name: XML_ERROR_AMPLIFICATION_LIMIT_BREACH
      - name: XML_ERROR_RESERVED_NAMESPACE_URI
      - name: XML_ERROR_NOT_SUSPENDED
      - name: XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
      - name: XML_ERROR_RESERVED_PREFIX_XML
      - name: XML_ERROR_UNBOUND_PREFIX
      - name: XML_ERROR_NO_BUFFER
      - name: XML_ERROR_ENTITY_DECLARED_IN_PE
      - name: XML_ERROR_ABORTED
      - name: XML_ERROR_RESERVED_PREFIX_XMLNS
      - name: XML_ERROR_UNDECLARING_PREFIX
      - name: XML_ERROR_PUBLICID
      item_type: enum
      name: XML_Error
      pos:
        line_end: 129
        line_start: 78
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_CTYPE_EMPTY
        value: '1'
      - name: XML_CTYPE_CHOICE
      - name: XML_CTYPE_ANY
      - name: XML_CTYPE_MIXED
      - name: XML_CTYPE_NAME
      - name: XML_CTYPE_SEQ
      item_type: enum
      name: XML_Content_Type
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_CQUANT_NONE
      - name: XML_CQUANT_REP
      - name: XML_CQUANT_PLUS
      - name: XML_CQUANT_OPT
      item_type: enum
      name: XML_Content_Quant
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_INITIALIZED
      - name: XML_FINISHED
      - name: XML_SUSPENDED
      - name: XML_PARSING
      item_type: enum
      name: XML_Parsing
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_PARAM_ENTITY_PARSING_NEVER
      - name: XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE
      - name: XML_PARAM_ENTITY_PARSING_ALWAYS
      item_type: enum
      name: XML_ParamEntityParsing
      pos:
        line_end: 864
        line_start: 860
        source_file: /src/expat-2.4.1/lib/expat.h
    - enumerators:
      - name: XML_FEATURE_END
        value: '0'
      - name: XML_FEATURE_CONTEXT_BYTES
      - name: XML_FEATURE_UNICODE
      - name: XML_FEATURE_DTD
      - name: XML_FEATURE_UNICODE_WCHAR_T
      - name: XML_FEATURE_MIN_SIZE
      - name: XML_FEATURE_SIZEOF_XML_CHAR
      - name: XML_FEATURE_SIZEOF_XML_LCHAR
      - name: XML_FEATURE_NS
      - name: XML_FEATURE_LARGE_SIZE
      - name: XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT
      - name: XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT
      - name: XML_FEATURE_ATTR_INFO
      item_type: enum
      name: XML_FeatureEnum
      pos:
        line_end: 1015
        line_start: 999
        source_file: /src/expat-2.4.1/lib/expat.h
    preproc_defs:
    - item_type: preproc_def
      name: Expat_INCLUDED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML_TRUE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: ((XML_Bool)1)
    - item_type: preproc_def
      name: XML_FALSE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: ((XML_Bool)0)
    - item_type: preproc_def
      name: XML_GetErrorLineNumber
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: XML_GetCurrentLineNumber
    - item_type: preproc_def
      name: XML_GetErrorColumnNumber
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: XML_GetCurrentColumnNumber
    - item_type: preproc_def
      name: XML_GetErrorByteIndex
      pos:
        line_end: 956
        line_start: 955
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: XML_GetCurrentByteIndex
    - item_type: preproc_def
      name: XML_MAJOR_VERSION
      pos:
        line_end: 1042
        line_start: 1041
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: '2'
    - item_type: preproc_def
      name: XML_MINOR_VERSION
      pos:
        line_end: 1043
        line_start: 1042
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: '4'
    - item_type: preproc_def
      name: XML_MICRO_VERSION
      pos:
        line_end: 1044
        line_start: 1043
        source_file: /src/expat-2.4.1/lib/expat.h
      type_or_value: '1'
    structs:
    - fields:
      - name: type
        type: enum XML_Content_Type
      - name: quant
        type: enum XML_Content_Quant
      - name: '*name'
        type: XML_Char
      - name: numchildren
        type: unsigned int
      - name: '*children'
        type: XML_Content
      item_type: struct
      name: XML_cp
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: '*(*malloc_fcn)(size_t size)'
        type: void
      - name: '*(*realloc_fcn)(void *ptr, size_t size)'
        type: void
      - name: (*free_fcn)(void *ptr)
        type: void
      item_type: struct
      name: XML_Memory_Handling_Suite
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: map[256]
        type: int
      - name: '*data'
        type: void
      - name: (XMLCALL *convert)(void *data, const char *s)
        type: int
      - name: (XMLCALL *release)(void *data)
        type: void
      item_type: struct
      name: XML_Encoding
      pos:
        line_end: 511
        line_start: 506
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: nameStart
        type: XML_Index
      - name: nameEnd
        type: XML_Index
      - name: valueStart
        type: XML_Index
      - name: valueEnd
        type: XML_Index
      item_type: struct
      name: XML_AttrInfo
      pos:
        line_end: 746
        line_start: 741
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: parsing
        type: enum XML_Parsing
      - name: finalBuffer
        type: XML_Bool
      item_type: struct
      name: XML_ParsingStatus
      pos:
        line_end: 830
        line_start: 827
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: major
        type: int
      - name: minor
        type: int
      - name: micro
        type: int
      item_type: struct
      name: XML_Expat_Version
      pos:
        line_end: 990
        line_start: 986
        source_file: /src/expat-2.4.1/lib/expat.h
    - fields:
      - name: feature
        type: enum XML_FeatureEnum
      - name: '*name'
        type: XML_LChar
      - name: value
        type: long int
      item_type: struct
      name: XML_Feature
      pos:
        line_end: 1021
        line_start: 1017
        source_file: /src/expat-2.4.1/lib/expat.h
    typedefs:
    - item_type: typedef
      name: '*XML_Parser'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/expat-2.4.1/lib/expat.h
      type: XML_ParserStruct
    - item_type: typedef
      name: XML_Bool
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/expat-2.4.1/lib/expat.h
      type: unsigned char
    - item_type: typedef
      name: XML_Content
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/expat-2.4.1/lib/expat.h
      type: XML_cp
    - item_type: typedef
      name: "(XMLCALL *XML_ElementDeclHandler)(void *userData,\n                                              const
        XML_Char *name,\n                                              XML_Content
        *model)"
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_AttlistDeclHandler)(\n    void *userData, const XML_Char
        *elname, const XML_Char *attname,\n    const XML_Char *att_type, const XML_Char
        *dflt, int isrequired)"
      pos:
        line_end: 196
        line_start: 194
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_XmlDeclHandler)(void *userData,\n                                          const
        XML_Char *version,\n                                          const XML_Char
        *encoding,\n                                          int standalone)"
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_StartElementHandler)(void *userData,\n                                               const
        XML_Char *name,\n                                               const XML_Char
        **atts)"
      pos:
        line_end: 274
        line_start: 272
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_EndElementHandler)(void *userData,\n                                             const
        XML_Char *name)"
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_CharacterDataHandler)(void *userData,\n                                                const
        XML_Char *s, int len)"
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_ProcessingInstructionHandler)(void *userData,\n                                                        const
        XML_Char *target,\n                                                        const
        XML_Char *data)"
      pos:
        line_end: 286
        line_start: 284
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: (XMLCALL *XML_CommentHandler)(void *userData, const XML_Char *data)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: (XMLCALL *XML_StartCdataSectionHandler)(void *userData)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: (XMLCALL *XML_EndCdataSectionHandler)(void *userData)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_DefaultHandler)(void *userData, const XML_Char *s,\n                                          int
        len)"
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_StartDoctypeDeclHandler)(void *userData,\n                                                   const
        XML_Char *doctypeName,\n                                                   const
        XML_Char *sysid,\n                                                   const
        XML_Char *pubid,\n                                                   int has_internal_subset)"
      pos:
        line_end: 317
        line_start: 313
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_EntityDeclHandler)(\n    void *userData, const XML_Char
        *entityName, int is_parameter_entity,\n    const XML_Char *value, int value_length,
        const XML_Char *base,\n    const XML_Char *systemId, const XML_Char *publicId,\n
        \   const XML_Char *notationName)"
      pos:
        line_end: 347
        line_start: 343
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_UnparsedEntityDeclHandler)(\n    void *userData, const
        XML_Char *entityName, const XML_Char *base,\n    const XML_Char *systemId,
        const XML_Char *publicId,\n    const XML_Char *notationName)"
      pos:
        line_end: 364
        line_start: 361
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_NotationDeclHandler)(void *userData,\n                                               const
        XML_Char *notationName,\n                                               const
        XML_Char *base,\n                                               const XML_Char
        *systemId,\n                                               const XML_Char
        *publicId)"
      pos:
        line_end: 374
        line_start: 370
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_StartNamespaceDeclHandler)(void *userData,\n                                                     const
        XML_Char *prefix,\n                                                     const
        XML_Char *uri)"
      pos:
        line_end: 384
        line_start: 382
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_EndNamespaceDeclHandler)(void *userData,\n                                                   const
        XML_Char *prefix)"
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: (XMLCALL *XML_NotStandaloneHandler)(void *userData)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/expat-2.4.1/lib/expat.h
      type: int
    - item_type: typedef
      name: "(XMLCALL *XML_ExternalEntityRefHandler)(XML_Parser parser,\n                                                   const
        XML_Char *context,\n                                                   const
        XML_Char *base,\n                                                   const
        XML_Char *systemId,\n                                                   const
        XML_Char *publicId)"
      pos:
        line_end: 438
        line_start: 434
        source_file: /src/expat-2.4.1/lib/expat.h
      type: int
    - item_type: typedef
      name: "(XMLCALL *XML_SkippedEntityHandler)(void *userData,\n                                                const
        XML_Char *entityName,\n                                                int
        is_parameter_entity)"
      pos:
        line_end: 452
        line_start: 450
        source_file: /src/expat-2.4.1/lib/expat.h
      type: void
    - item_type: typedef
      name: "(XMLCALL *XML_UnknownEncodingHandler)(void *encodingHandlerData,\n                                                 const
        XML_Char *name,\n                                                 XML_Encoding
        *info)"
      pos:
        line_end: 530
        line_start: 528
        source_file: /src/expat-2.4.1/lib/expat.h
      type: int
    union: []
- function_names:
  - XML_ATTR_ALLOC_SIZE
  - XMLPARSEAPI
  source_file: /src/expat-2.4.1/lib/expat_external.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Expat_External_INCLUDED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XMLCALL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: __cdecl
    - item_type: preproc_def
      name: XMLCALL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: __attribute__((cdecl))
    - item_type: preproc_def
      name: XMLIMPORT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: XML_ENABLE_VISIBILITY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XMLIMPORT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: XML_ATTR_MALLOC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type_or_value: __attribute__((__malloc__))
    structs: []
    typedefs:
    - item_type: typedef
      name: XML_Char
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: wchar_t
    - item_type: typedef
      name: XML_LChar
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: wchar_t
    - item_type: typedef
      name: XML_Char
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: unsigned short
    - item_type: typedef
      name: XML_LChar
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: char
    - item_type: typedef
      name: XML_Char
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: char
    - item_type: typedef
      name: XML_LChar
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: char
    - item_type: typedef
      name: XML_Index
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: long long
    - item_type: typedef
      name: XML_Size
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: unsigned long long
    - item_type: typedef
      name: XML_Index
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: long
    - item_type: typedef
      name: XML_Size
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/expat-2.4.1/lib/expat_external.h
      type: unsigned long
    union: []
- function_names: []
  source_file: /src/expat-2.4.1/lib/ascii.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASCII_A
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x41'
    - item_type: preproc_def
      name: ASCII_B
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x42'
    - item_type: preproc_def
      name: ASCII_C
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x43'
    - item_type: preproc_def
      name: ASCII_D
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x44'
    - item_type: preproc_def
      name: ASCII_E
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x45'
    - item_type: preproc_def
      name: ASCII_F
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x46'
    - item_type: preproc_def
      name: ASCII_G
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x47'
    - item_type: preproc_def
      name: ASCII_H
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x48'
    - item_type: preproc_def
      name: ASCII_I
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x49'
    - item_type: preproc_def
      name: ASCII_J
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4A'
    - item_type: preproc_def
      name: ASCII_K
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4B'
    - item_type: preproc_def
      name: ASCII_L
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4C'
    - item_type: preproc_def
      name: ASCII_M
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4D'
    - item_type: preproc_def
      name: ASCII_N
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4E'
    - item_type: preproc_def
      name: ASCII_O
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x4F'
    - item_type: preproc_def
      name: ASCII_P
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: ASCII_Q
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x51'
    - item_type: preproc_def
      name: ASCII_R
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x52'
    - item_type: preproc_def
      name: ASCII_S
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x53'
    - item_type: preproc_def
      name: ASCII_T
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x54'
    - item_type: preproc_def
      name: ASCII_U
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x55'
    - item_type: preproc_def
      name: ASCII_V
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x56'
    - item_type: preproc_def
      name: ASCII_W
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x57'
    - item_type: preproc_def
      name: ASCII_X
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x58'
    - item_type: preproc_def
      name: ASCII_Y
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x59'
    - item_type: preproc_def
      name: ASCII_Z
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x5A'
    - item_type: preproc_def
      name: ASCII_a
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x61'
    - item_type: preproc_def
      name: ASCII_b
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x62'
    - item_type: preproc_def
      name: ASCII_c
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x63'
    - item_type: preproc_def
      name: ASCII_d
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x64'
    - item_type: preproc_def
      name: ASCII_e
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x65'
    - item_type: preproc_def
      name: ASCII_f
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x66'
    - item_type: preproc_def
      name: ASCII_g
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x67'
    - item_type: preproc_def
      name: ASCII_h
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x68'
    - item_type: preproc_def
      name: ASCII_i
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x69'
    - item_type: preproc_def
      name: ASCII_j
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6A'
    - item_type: preproc_def
      name: ASCII_k
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6B'
    - item_type: preproc_def
      name: ASCII_l
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6C'
    - item_type: preproc_def
      name: ASCII_m
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6D'
    - item_type: preproc_def
      name: ASCII_n
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6E'
    - item_type: preproc_def
      name: ASCII_o
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x6F'
    - item_type: preproc_def
      name: ASCII_p
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: ASCII_q
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x71'
    - item_type: preproc_def
      name: ASCII_r
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x72'
    - item_type: preproc_def
      name: ASCII_s
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x73'
    - item_type: preproc_def
      name: ASCII_t
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x74'
    - item_type: preproc_def
      name: ASCII_u
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x75'
    - item_type: preproc_def
      name: ASCII_v
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x76'
    - item_type: preproc_def
      name: ASCII_w
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x77'
    - item_type: preproc_def
      name: ASCII_x
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x78'
    - item_type: preproc_def
      name: ASCII_y
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x79'
    - item_type: preproc_def
      name: ASCII_z
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x7A'
    - item_type: preproc_def
      name: ASCII_0
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: ASCII_1
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x31'
    - item_type: preproc_def
      name: ASCII_2
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x32'
    - item_type: preproc_def
      name: ASCII_3
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x33'
    - item_type: preproc_def
      name: ASCII_4
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x34'
    - item_type: preproc_def
      name: ASCII_5
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x35'
    - item_type: preproc_def
      name: ASCII_6
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x36'
    - item_type: preproc_def
      name: ASCII_7
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x37'
    - item_type: preproc_def
      name: ASCII_8
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x38'
    - item_type: preproc_def
      name: ASCII_9
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x39'
    - item_type: preproc_def
      name: ASCII_TAB
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: ASCII_SPACE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ASCII_EXCL
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x21'
    - item_type: preproc_def
      name: ASCII_QUOT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x22'
    - item_type: preproc_def
      name: ASCII_AMP
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x26'
    - item_type: preproc_def
      name: ASCII_APOS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x27'
    - item_type: preproc_def
      name: ASCII_MINUS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x2D'
    - item_type: preproc_def
      name: ASCII_PERIOD
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x2E'
    - item_type: preproc_def
      name: ASCII_COLON
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x3A'
    - item_type: preproc_def
      name: ASCII_SEMI
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x3B'
    - item_type: preproc_def
      name: ASCII_LT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x3C'
    - item_type: preproc_def
      name: ASCII_EQUALS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x3D'
    - item_type: preproc_def
      name: ASCII_GT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x3E'
    - item_type: preproc_def
      name: ASCII_LSQB
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x5B'
    - item_type: preproc_def
      name: ASCII_RSQB
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x5D'
    - item_type: preproc_def
      name: ASCII_UNDERSCORE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x5F'
    - item_type: preproc_def
      name: ASCII_LPAREN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x28'
    - item_type: preproc_def
      name: ASCII_RPAREN
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x29'
    - item_type: preproc_def
      name: ASCII_FF
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x0C'
    - item_type: preproc_def
      name: ASCII_SLASH
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x2F'
    - item_type: preproc_def
      name: ASCII_HASH
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x23'
    - item_type: preproc_def
      name: ASCII_PIPE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x7C'
    - item_type: preproc_def
      name: ASCII_COMMA
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/expat-2.4.1/lib/ascii.h
      type_or_value: '0x2C'
    structs: []
    typedefs: []
    union: []
- function_names:
  - startElement
  - endElement
  - main
  source_file: /src/expat-2.4.1/examples/elements.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/expat-2.4.1/examples/elements.c
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/expat-2.4.1/examples/elements.c
      type_or_value: '"l"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/expat-2.4.1/examples/elements.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/expat-2.4.1/examples/elements.c
      type_or_value: '"s"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - start
  - end
  - main
  source_file: /src/expat-2.4.1/examples/outline.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/expat-2.4.1/examples/outline.c
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: XML_FMT_INT_MOD
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/expat-2.4.1/examples/outline.c
      type_or_value: '"l"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/expat-2.4.1/examples/outline.c
      type_or_value: '"ls"'
    - item_type: preproc_def
      name: XML_FMT_STR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/expat-2.4.1/examples/outline.c
      type_or_value: '"s"'
    - item_type: preproc_def
      name: BUFFSIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/expat-2.4.1/examples/outline.c
      type_or_value: '8192'
    structs: []
    typedefs: []
    union: []
- function_names:
  - af_gb_init
  - af_gb_cleanup
  - af_get_null_terminated
  - af_gb_get_random_data
  - af_gb_get_null_terminated
  - af_gb_alloc_data
  - af_gb_get_fixed_string
  - af_get_short
  - af_get_int
  - af_safe_gb_init
  - ada_safe_get_int
  - ada_safe_get_char_p
  - af_safe_write_random_file
  - af_safe_gb_cleanup
  source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GB_SIZE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
      type_or_value: '100'
    - item_type: preproc_def
      name: STR_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
      type_or_value: '75'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_newline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/src/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_ASSERT_H
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ATTRIBUTE_UNINITIALIZED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_MUL_OVERFLOW
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_UNREACHABLE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DIRENT_H
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIMITS_H
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMFD_CREATE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MKOSTEMP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_REALPATH
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SECURE_GETENV
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETRLIMIT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDIO_H
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_WAIT_H
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_VISIBILITY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_WCHAR_H
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HEAP_LIMIT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/config.h
      type_or_value: '20000000'
    - item_type: preproc_def
      name: LINK_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/pcre2/src/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/pcre2/src/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: MATCH_LIMIT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/config.h
      type_or_value: '10000000'
    - item_type: preproc_def
      name: MATCH_LIMIT_DEPTH
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/pcre2/src/config.h
      type_or_value: MATCH_LIMIT
    - item_type: preproc_def
      name: MAX_NAME_COUNT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/pcre2/src/config.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAX_NAME_SIZE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/pcre2/src/config.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_VARLOOKBEHIND
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/pcre2/src/config.h
      type_or_value: '255'
    - item_type: preproc_def
      name: NEWLINE_DEFAULT
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/pcre2/src/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/pcre2/src/config.h
      type_or_value: '"pcre2"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/pcre2/src/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/pcre2/src/config.h
      type_or_value: '"PCRE2"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/pcre2/src/config.h
      type_or_value: '"PCRE2 10.48-DEV"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/pcre2/src/config.h
      type_or_value: '"pcre2"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/pcre2/src/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/pcre2/src/config.h
      type_or_value: '"10.48-DEV"'
    - item_type: preproc_def
      name: PARENS_NEST_LIMIT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/pcre2/src/config.h
      type_or_value: '250'
    - item_type: preproc_def
      name: PCRE2GREP_BUFSIZE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/pcre2/src/config.h
      type_or_value: '20480'
    - item_type: preproc_def
      name: PCRE2GREP_MAX_BUFSIZE
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/pcre2/src/config.h
      type_or_value: '1048576'
    - item_type: preproc_def
      name: PCRE2POSIX_SHARED
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_EXPORT
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/pcre2/src/config.h
      type_or_value: __attribute__ ((visibility ("default")))
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _DARWIN_C_SOURCE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _HPUX_ALT_XOPEN_SOCKET_API
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _NETBSD_SOURCE
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _OPENBSD_SOURCE
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_IEC_60559_ATTRIBS_EXT__
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_IEC_60559_BFP_EXT__
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_IEC_60559_DFP_EXT__
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_IEC_60559_FUNCS_EXT__
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_IEC_60559_TYPES_EXT__
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_LIB_EXT2__
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_MATH_SPEC_FUNCS__
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/pcre2/src/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/pcre2/src/config.h
      type_or_value: '"10.48-DEV"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - max_fast_forward_char_pair_offset
  - max_fast_forward_char_pair_offset
  - jump_if_utf_char_start
  - character_to_int32
  - fast_forward_char_pair_sse2_compare
  - fast_forward_char_simd
  - fast_requested_char_simd
  - fast_forward_char_pair_simd
  - fast_forward_char_pair_sse2_compare
  - fast_forward_char_simd
  - fast_requested_char_simd
  - fast_forward_char_pair_simd
  - load_from_mem_vector
  - replicate_imm_vector
  - fast_forward_char_pair_sse2_compare
  - fast_forward_char_simd
  - fast_requested_char_simd
  - fast_forward_char_pair_simd
  - VD
  - VJ
  - VK
  - RD_V
  - RJ_V
  - IMM_SI12
  - IMM_UI5
  - IMM_UI2
  - fast_forward_char_pair_lsx_compare
  - fast_forward_char_simd
  - fast_requested_char_simd
  - fast_forward_char_pair_simd
  source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIMD_COMPARE_TYPE_INDEX
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SIMD_COMPARE_TYPE_INDEX
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIMD_COMPARE_TYPE_INDEX
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_SIMD
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_SIMD
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (sljit_has_cpu_feature(SLJIT_HAS_FPU))
    - item_type: preproc_def
      name: JIT_HAS_FAST_REQUESTED_CHAR_SIMD
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_REQUESTED_CHAR_SIMD
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (sljit_has_cpu_feature(SLJIT_HAS_FPU))
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (sljit_has_cpu_feature(SLJIT_HAS_FPU))
    - item_type: preproc_def
      name: PCRE2_REPLICATE_TYPE
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (SLJIT_SIMD_REG_128 | SLJIT_SIMD_ELEM_8)
    - item_type: preproc_def
      name: PCRE2_REPLICATE_TYPE
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (SLJIT_SIMD_REG_128 | SLJIT_SIMD_ELEM_16)
    - item_type: preproc_def
      name: PCRE2_REPLICATE_TYPE
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (SLJIT_SIMD_REG_128 | SLJIT_SIMD_ELEM_32)
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_SIMD
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_REQUESTED_CHAR_SIMD
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD
      pos:
        line_end: 1048
        line_start: 1047
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VECTOR_ELEMENT_SIZE
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VECTOR_ELEMENT_SIZE
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VECTOR_ELEMENT_SIZE
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_SIMD
      pos:
        line_end: 1381
        line_start: 1380
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_REQUESTED_CHAR_SIMD
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD
      pos:
        line_end: 1744
        line_start: 1743
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOONGARCH_HWCAP_LSX
      pos:
        line_end: 1998
        line_start: 1997
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: HAS_LSX_SUPPORT
      pos:
        line_end: 1999
        line_start: 1998
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: ((getauxval(AT_HWCAP) & LOONGARCH_HWCAP_LSX) != 0)
    - item_type: preproc_def
      name: HAS_LSX_SUPPORT
      pos:
        line_end: 2001
        line_start: 2000
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SI12_IMM_MASK
      pos:
        line_end: 2006
        line_start: 2005
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x003ffc00'
    - item_type: preproc_def
      name: UI5_IMM_MASK
      pos:
        line_end: 2007
        line_start: 2006
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x00007c00'
    - item_type: preproc_def
      name: UI2_IMM_MASK
      pos:
        line_end: 2008
        line_start: 2007
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x00000c00'
    - item_type: preproc_def
      name: VBSLL_V
      pos:
        line_end: 2021
        line_start: 2020
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x728e0000'
    - item_type: preproc_def
      name: VMSKLTZ_B
      pos:
        line_end: 2022
        line_start: 2021
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x729c4000'
    - item_type: preproc_def
      name: VPICKVE2GR_WU
      pos:
        line_end: 2023
        line_start: 2022
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x72f3e000'
    - item_type: preproc_def
      name: VREPLGR2VR_X
      pos:
        line_end: 2026
        line_start: 2025
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x729f0000'
    - item_type: preproc_def
      name: VSEQ
      pos:
        line_end: 2027
        line_start: 2026
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x70000000'
    - item_type: preproc_def
      name: VREPLGR2VR_X
      pos:
        line_end: 2029
        line_start: 2028
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x729f0400'
    - item_type: preproc_def
      name: VSEQ
      pos:
        line_end: 2030
        line_start: 2029
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x70008000'
    - item_type: preproc_def
      name: VREPLGR2VR_X
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x729f0800'
    - item_type: preproc_def
      name: VSEQ
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: '0x70010000'
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_SIMD
      pos:
        line_end: 2066
        line_start: 2065
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: HAS_LSX_SUPPORT
    - item_type: preproc_def
      name: JIT_HAS_FAST_REQUESTED_CHAR_SIMD
      pos:
        line_end: 2202
        line_start: 2201
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: HAS_LSX_SUPPORT
    - item_type: preproc_def
      name: JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD
      pos:
        line_end: 2301
        line_start: 2300
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type_or_value: HAS_LSX_SUPPORT
    structs: []
    typedefs:
    - item_type: typedef
      name: sljit_u32
      pos:
        line_end: 2003
        line_start: 2003
        source_file: /src/pcre2/src/pcre2_jit_simd_inc.h
      type: sljit_ins
    union: []
- function_names:
  - PUTCHARS
  - ISLOWER
  - ISLOWER
  - convert_posix
  - convert_glob_write
  - convert_glob_write_str
  - convert_glob_print_separator
  - convert_glob_print_wildcard
  - convert_glob_parse_class
  - convert_glob_char_in_class
  - convert_glob_parse_range
  - convert_glob_print_commit
  - convert_glob
  - pcre2_pattern_convert
  - pcre2_converted_pattern_free
  source_file: /src/pcre2/src/pcre2_convert.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_OPTIONS
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: "(PCRE2_CONVERT_GLOB| \\\n  PCRE2_CONVERT_POSIX_BASIC|PCRE2_CONVERT_POSIX_EXTENDED)"
    - item_type: preproc_def
      name: ALL_OPTIONS
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: "(PCRE2_CONVERT_UTF|PCRE2_CONVERT_NO_UTF_CHECK| \\\n  PCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR|
        \\\n  PCRE2_CONVERT_GLOB_NO_STARSTAR| \\\n  TYPE_OPTIONS)"
    - item_type: preproc_def
      name: DUMMY_BUFFER_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: '100'
    - item_type: preproc_def
      name: STR_BACKSLASH_A
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_BACKSLASH STR_A
    - item_type: preproc_def
      name: STR_BACKSLASH_z
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_BACKSLASH STR_z
    - item_type: preproc_def
      name: STR_COLON_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_COLON STR_RIGHT_SQUARE_BRACKET
    - item_type: preproc_def
      name: STR_DOT_STAR_LOOKBEHIND
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_DOT STR_ASTERISK STR_LEFT_PARENTHESIS STR_QUESTION_MARK STR_LESS_THAN_SIGN
        STR_EQUALS_SIGN
    - item_type: preproc_def
      name: STR_LOOKAHEAD_NOT_DOT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_LEFT_PARENTHESIS STR_QUESTION_MARK STR_EXCLAMATION_MARK STR_BACKSLASH
        STR_DOT STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STR_QUERY_s
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_LEFT_PARENTHESIS STR_QUESTION_MARK STR_s STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STR_STAR_NUL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2_convert.c
      type_or_value: STR_LEFT_PARENTHESIS STR_ASTERISK STR_N STR_U STR_L STR_RIGHT_PARENTHESIS
    structs:
    - fields:
      - name: '*output'
        type: PCRE2_UCHAR
      - name: output_end
        type: PCRE2_SPTR
      - name: output_size
        type: PCRE2_SIZE
      - name: out_str[8]
        type: uint8_t
      item_type: struct
      name: pcre2_output_context
      pos:
        line_end: 397
        line_start: 392
        source_file: /src/pcre2/src/pcre2_convert.c
    typedefs: []
    union: []
- function_names:
  - STRING
  - XSTRING
  source_file: /src/pcre2/src/pcre2_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCRE2_CALL_CONVENTION::pcre2_maketables
  - charfn_to
  - charfn_from
  - pcre2_maketables_free
  source_file: /src/pcre2/src/pcre2_maketables.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcre2_pattern_info
  - pcre2_callout_enumerate
  source_file: /src/pcre2/src/pcre2_pattern_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcre2_match_data_create
  - pcre2_match_data_create_from_pattern
  - pcre2_match_data_free
  - pcre2_get_mark
  - pcre2_get_ovector_pointer
  - pcre2_get_ovector_count
  - pcre2_get_startchar
  - pcre2_get_match_data_size
  - pcre2_get_match_data_heapframes_size
  source_file: /src/pcre2/src/pcre2_match_data.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STRING
  - XSTRING
  - pcre2_config
  source_file: /src/pcre2/src/pcre2_config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SET_CHAR_OFFSET
  - READ_FROM_CHAR_LIST
  - xclass_compute_ranges
  - xclass_check_bitset
  - xclass_update_min_max
  - compile_xclass_matchingpath
  - compile_eclass_matchingpath
  - do_extuni_utf
  - do_extuni_utf_invalid
  - do_extuni_no_utf
  - compile_clist
  - compile_char1_matchingpath
  - compile_charn_matchingpath
  source_file: /src/pcre2/src/pcre2_jit_char_inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECLASS_CHAR_DATA
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: STACK_TOP
    - item_type: preproc_def
      name: ECLASS_STACK_DATA
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: STACK_LIMIT
    - item_type: preproc_def
      name: XCLASS_LOCAL_RANGES_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '32'
    - item_type: preproc_def
      name: XCLASS_LOCAL_RANGES_LOG2_SIZE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '5'
    - item_type: preproc_def
      name: XCLASS_IS_ECLASS
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x001'
    - item_type: preproc_def
      name: XCLASS_SAVE_CHAR
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x002'
    - item_type: preproc_def
      name: XCLASS_HAS_TYPE
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x004'
    - item_type: preproc_def
      name: XCLASS_HAS_SCRIPT
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x008'
    - item_type: preproc_def
      name: XCLASS_HAS_SCRIPT_EXTENSION
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x010'
    - item_type: preproc_def
      name: XCLASS_HAS_BOOL
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x020'
    - item_type: preproc_def
      name: XCLASS_HAS_BIDICL
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x040'
    - item_type: preproc_def
      name: XCLASS_NEEDS_UCD
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: (XCLASS_HAS_TYPE | XCLASS_HAS_SCRIPT | XCLASS_HAS_SCRIPT_EXTENSION
        | XCLASS_HAS_BOOL | XCLASS_HAS_BIDICL)
    - item_type: preproc_def
      name: XCLASS_SCRIPT_EXTENSION_NOTPROP
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x080'
    - item_type: preproc_def
      name: XCLASS_SCRIPT_EXTENSION_RESTORE_RETURN_ADDR
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: XCLASS_SCRIPT_EXTENSION_RESTORE_LOCAL0
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
      type_or_value: '0x200'
    structs:
    - fields:
      - name: first_item
        type: sljit_u32
      - name: last_item
        type: sljit_u32
      - name: '*jump'
        type: struct sljit_jump
      item_type: struct
      name: xclass_stack_item
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
    - fields:
      - name: range_count
        type: size_t
      - name: '*ranges'
        type: uint32_t
      - name: local_ranges[XCLASS_LOCAL_RANGES_SIZE * 2]
        type: uint32_t
      - name: '*stack'
        type: xclass_stack_item
      - name: local_stack[XCLASS_LOCAL_RANGES_LOG2_SIZE]
        type: xclass_stack_item
      item_type: struct
      name: xclass_ranges
      pos:
        line_end: 87
        line_start: 79
        source_file: /src/pcre2/src/pcre2_jit_char_inc.h
    typedefs: []
    union: []
- function_names:
  - ARR_SIZE
  source_file: /src/pcre2/src/pcre2_tables.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ESZ
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/pcre2/src/pcre2_tables.c
      type_or_value: (1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark)|(1<<ucp_gbZWJ)
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCRE2_JOIN
  - PCRE2_GLUE
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  source_file: /src/pcre2/src/pcre2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_MAJOR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PCRE2_MINOR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '48'
    - item_type: preproc_def
      name: PCRE2_PRERELEASE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: -DEV
    - item_type: preproc_def
      name: PCRE2_DATE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2025-10-21'
    - item_type: preproc_def
      name: PCRE2_EXP_DECL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: extern __declspec(dllimport)
    - item_type: preproc_def
      name: PCRE2_EXP_DECL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: extern "C"
    - item_type: preproc_def
      name: PCRE2_EXP_DECL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: extern
    - item_type: preproc_def
      name: PCRE2_ANCHORED
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: PCRE2_NO_UTF_CHECK
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x40000000u
    - item_type: preproc_def
      name: PCRE2_ENDANCHORED
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x20000000u
    - item_type: preproc_def
      name: PCRE2_ALLOW_EMPTY_CLASS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000001u  '
    - item_type: preproc_def
      name: PCRE2_ALT_BSUX
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000002u  '
    - item_type: preproc_def
      name: PCRE2_AUTO_CALLOUT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000004u  '
    - item_type: preproc_def
      name: PCRE2_CASELESS
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000008u  '
    - item_type: preproc_def
      name: PCRE2_DOLLAR_ENDONLY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000010u  '
    - item_type: preproc_def
      name: PCRE2_DOTALL
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000020u  '
    - item_type: preproc_def
      name: PCRE2_DUPNAMES
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000040u  '
    - item_type: preproc_def
      name: PCRE2_EXTENDED
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000080u  '
    - item_type: preproc_def
      name: PCRE2_FIRSTLINE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000100u  '
    - item_type: preproc_def
      name: PCRE2_MATCH_UNSET_BACKREF
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000200u  '
    - item_type: preproc_def
      name: PCRE2_MULTILINE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000400u  '
    - item_type: preproc_def
      name: PCRE2_NEVER_UCP
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000800u  '
    - item_type: preproc_def
      name: PCRE2_NEVER_UTF
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00001000u  '
    - item_type: preproc_def
      name: PCRE2_NO_AUTO_CAPTURE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00002000u  '
    - item_type: preproc_def
      name: PCRE2_NO_AUTO_POSSESS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00004000u  '
    - item_type: preproc_def
      name: PCRE2_NO_DOTSTAR_ANCHOR
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00008000u  '
    - item_type: preproc_def
      name: PCRE2_NO_START_OPTIMIZE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00010000u  '
    - item_type: preproc_def
      name: PCRE2_UCP
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00020000u  '
    - item_type: preproc_def
      name: PCRE2_UNGREEDY
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00040000u  '
    - item_type: preproc_def
      name: PCRE2_UTF
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00080000u  '
    - item_type: preproc_def
      name: PCRE2_NEVER_BACKSLASH_C
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00100000u  '
    - item_type: preproc_def
      name: PCRE2_ALT_CIRCUMFLEX
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00200000u  '
    - item_type: preproc_def
      name: PCRE2_ALT_VERBNAMES
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00400000u  '
    - item_type: preproc_def
      name: PCRE2_USE_OFFSET_LIMIT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00800000u  '
    - item_type: preproc_def
      name: PCRE2_EXTENDED_MORE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x01000000u  '
    - item_type: preproc_def
      name: PCRE2_LITERAL
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x02000000u  '
    - item_type: preproc_def
      name: PCRE2_MATCH_INVALID_UTF
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x04000000u  '
    - item_type: preproc_def
      name: PCRE2_ALT_EXTENDED_CLASS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x08000000u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000001u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000002u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_MATCH_WORD
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000004u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_MATCH_LINE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000008u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ESCAPED_CR_IS_LF
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000010u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ALT_BSUX
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000020u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000040u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_CASELESS_RESTRICT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000080u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_BSD
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000100u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_BSS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000200u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_BSW
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000400u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_POSIX
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000800u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_DIGIT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00001000u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_PYTHON_OCTAL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00002000u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_NO_BS0
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00004000u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_NEVER_CALLOUT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00008000u  '
    - item_type: preproc_def
      name: PCRE2_EXTRA_TURKISH_CASING
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00010000u  '
    - item_type: preproc_def
      name: PCRE2_JIT_COMPLETE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000001u  '
    - item_type: preproc_def
      name: PCRE2_JIT_PARTIAL_SOFT
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: PCRE2_JIT_PARTIAL_HARD
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000004u
    - item_type: preproc_def
      name: PCRE2_JIT_INVALID_UTF
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000100u
    - item_type: preproc_def
      name: PCRE2_JIT_TEST_ALLOC
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000200u
    - item_type: preproc_def
      name: PCRE2_NOTBOL
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000001u
    - item_type: preproc_def
      name: PCRE2_NOTEOL
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: PCRE2_NOTEMPTY
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000004u  '
    - item_type: preproc_def
      name: PCRE2_NOTEMPTY_ATSTART
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000008u  '
    - item_type: preproc_def
      name: PCRE2_PARTIAL_SOFT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000010u
    - item_type: preproc_def
      name: PCRE2_PARTIAL_HARD
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000020u
    - item_type: preproc_def
      name: PCRE2_DFA_RESTART
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000040u  '
    - item_type: preproc_def
      name: PCRE2_DFA_SHORTEST
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000080u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_GLOBAL
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000100u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_EXTENDED
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000200u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_UNSET_EMPTY
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000400u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_UNKNOWN_UNSET
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000800u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_OVERFLOW_LENGTH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00001000u  '
    - item_type: preproc_def
      name: PCRE2_NO_JIT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00002000u  '
    - item_type: preproc_def
      name: PCRE2_COPY_MATCHED_SUBJECT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00004000u
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_LITERAL
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00008000u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_MATCHED
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00010000u  '
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_REPLACEMENT_ONLY
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00020000u  '
    - item_type: preproc_def
      name: PCRE2_DISABLE_RECURSELOOP_CHECK
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00040000u  '
    - item_type: preproc_def
      name: PCRE2_CONVERT_UTF
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000001u
    - item_type: preproc_def
      name: PCRE2_CONVERT_NO_UTF_CHECK
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: PCRE2_CONVERT_POSIX_BASIC
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000004u
    - item_type: preproc_def
      name: PCRE2_CONVERT_POSIX_EXTENDED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000008u
    - item_type: preproc_def
      name: PCRE2_CONVERT_GLOB
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000010u
    - item_type: preproc_def
      name: PCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000030u
    - item_type: preproc_def
      name: PCRE2_CONVERT_GLOB_NO_STARSTAR
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 0x00000050u
    - item_type: preproc_def
      name: PCRE2_NEWLINE_CR
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_NEWLINE_LF
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCRE2_NEWLINE_CRLF
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCRE2_NEWLINE_ANY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCRE2_NEWLINE_ANYCRLF
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PCRE2_NEWLINE_NUL
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCRE2_BSR_UNICODE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_BSR_ANYCRLF
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCRE2_ERROR_END_BACKSLASH
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '101'
    - item_type: preproc_def
      name: PCRE2_ERROR_END_BACKSLASH_C
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '102'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNKNOWN_ESCAPE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '103'
    - item_type: preproc_def
      name: PCRE2_ERROR_QUANTIFIER_OUT_OF_ORDER
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '104'
    - item_type: preproc_def
      name: PCRE2_ERROR_QUANTIFIER_TOO_BIG
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '105'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_SQUARE_BRACKET
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '106'
    - item_type: preproc_def
      name: PCRE2_ERROR_ESCAPE_INVALID_IN_CLASS
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '107'
    - item_type: preproc_def
      name: PCRE2_ERROR_CLASS_RANGE_ORDER
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '108'
    - item_type: preproc_def
      name: PCRE2_ERROR_QUANTIFIER_INVALID
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '109'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_UNEXPECTED_REPEAT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '110'
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALID_AFTER_PARENS_QUERY
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '111'
    - item_type: preproc_def
      name: PCRE2_ERROR_POSIX_CLASS_NOT_IN_CLASS
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '112'
    - item_type: preproc_def
      name: PCRE2_ERROR_POSIX_NO_SUPPORT_COLLATING
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '113'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_CLOSING_PARENTHESIS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '114'
    - item_type: preproc_def
      name: PCRE2_ERROR_BAD_SUBPATTERN_REFERENCE
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '115'
    - item_type: preproc_def
      name: PCRE2_ERROR_NULL_PATTERN
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '116'
    - item_type: preproc_def
      name: PCRE2_ERROR_BAD_OPTIONS
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '117'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_COMMENT_CLOSING
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '118'
    - item_type: preproc_def
      name: PCRE2_ERROR_PARENTHESES_NEST_TOO_DEEP
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '119'
    - item_type: preproc_def
      name: PCRE2_ERROR_PATTERN_TOO_LARGE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '120'
    - item_type: preproc_def
      name: PCRE2_ERROR_HEAP_FAILED
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '121'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNMATCHED_CLOSING_PARENTHESIS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '122'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_CODE_OVERFLOW
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '123'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_CONDITION_CLOSING
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '124'
    - item_type: preproc_def
      name: PCRE2_ERROR_LOOKBEHIND_NOT_FIXED_LENGTH
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '125'
    - item_type: preproc_def
      name: PCRE2_ERROR_ZERO_RELATIVE_REFERENCE
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '126'
    - item_type: preproc_def
      name: PCRE2_ERROR_TOO_MANY_CONDITION_BRANCHES
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '127'
    - item_type: preproc_def
      name: PCRE2_ERROR_CONDITION_ASSERTION_EXPECTED
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '128'
    - item_type: preproc_def
      name: PCRE2_ERROR_BAD_RELATIVE_REFERENCE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '129'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNKNOWN_POSIX_CLASS
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '130'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_STUDY_ERROR
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '131'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNICODE_NOT_SUPPORTED
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '132'
    - item_type: preproc_def
      name: PCRE2_ERROR_PARENTHESES_STACK_CHECK
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '133'
    - item_type: preproc_def
      name: PCRE2_ERROR_CODE_POINT_TOO_BIG
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '134'
    - item_type: preproc_def
      name: PCRE2_ERROR_LOOKBEHIND_TOO_COMPLICATED
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '135'
    - item_type: preproc_def
      name: PCRE2_ERROR_LOOKBEHIND_INVALID_BACKSLASH_C
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '136'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '137'
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT_NUMBER_TOO_BIG
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '138'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_CALLOUT_CLOSING
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '139'
    - item_type: preproc_def
      name: PCRE2_ERROR_ESCAPE_INVALID_IN_VERB
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '140'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNRECOGNIZED_AFTER_QUERY_P
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '141'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_NAME_TERMINATOR
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '142'
    - item_type: preproc_def
      name: PCRE2_ERROR_DUPLICATE_SUBPATTERN_NAME
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '143'
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALID_SUBPATTERN_NAME
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '144'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNICODE_PROPERTIES_UNAVAILABLE
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '145'
    - item_type: preproc_def
      name: PCRE2_ERROR_MALFORMED_UNICODE_PROPERTY
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '146'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNKNOWN_UNICODE_PROPERTY
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '147'
    - item_type: preproc_def
      name: PCRE2_ERROR_SUBPATTERN_NAME_TOO_LONG
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '148'
    - item_type: preproc_def
      name: PCRE2_ERROR_TOO_MANY_NAMED_SUBPATTERNS
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '149'
    - item_type: preproc_def
      name: PCRE2_ERROR_CLASS_INVALID_RANGE
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '150'
    - item_type: preproc_def
      name: PCRE2_ERROR_OCTAL_BYTE_TOO_BIG
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '151'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_OVERRAN_WORKSPACE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '152'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_MISSING_SUBPATTERN
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '153'
    - item_type: preproc_def
      name: PCRE2_ERROR_DEFINE_TOO_MANY_BRANCHES
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '154'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_O_MISSING_BRACE
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '155'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_UNKNOWN_NEWLINE
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '156'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_G_SYNTAX
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '157'
    - item_type: preproc_def
      name: PCRE2_ERROR_PARENS_QUERY_R_MISSING_CLOSING
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '158'
    - item_type: preproc_def
      name: PCRE2_ERROR_VERB_ARGUMENT_NOT_ALLOWED
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '159'
    - item_type: preproc_def
      name: PCRE2_ERROR_VERB_UNKNOWN
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '160'
    - item_type: preproc_def
      name: PCRE2_ERROR_SUBPATTERN_NUMBER_TOO_BIG
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '161'
    - item_type: preproc_def
      name: PCRE2_ERROR_SUBPATTERN_NAME_EXPECTED
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '162'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_PARSED_OVERFLOW
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '163'
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALID_OCTAL
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '164'
    - item_type: preproc_def
      name: PCRE2_ERROR_SUBPATTERN_NAMES_MISMATCH
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '165'
    - item_type: preproc_def
      name: PCRE2_ERROR_MARK_MISSING_ARGUMENT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '166'
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALID_HEXADECIMAL
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '167'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_C_SYNTAX
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '168'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_K_SYNTAX
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '169'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_BAD_CODE_LOOKBEHINDS
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '170'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_N_IN_CLASS
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '171'
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT_STRING_TOO_LONG
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '172'
    - item_type: preproc_def
      name: PCRE2_ERROR_UNICODE_DISALLOWED_CODE_POINT
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '173'
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF_IS_DISABLED
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '174'
    - item_type: preproc_def
      name: PCRE2_ERROR_UCP_IS_DISABLED
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '175'
    - item_type: preproc_def
      name: PCRE2_ERROR_VERB_NAME_TOO_LONG
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '176'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_U_CODE_POINT_TOO_BIG
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '177'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_OCTAL_OR_HEX_DIGITS
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '178'
    - item_type: preproc_def
      name: PCRE2_ERROR_VERSION_CONDITION_SYNTAX
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '179'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_BAD_CODE_AUTO_POSSESS
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '180'
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT_NO_STRING_DELIMITER
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '181'
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT_BAD_STRING_DELIMITER
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '182'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '183'
    - item_type: preproc_def
      name: PCRE2_ERROR_QUERY_BARJX_NEST_TOO_DEEP
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '184'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_C_LIBRARY_DISABLED
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '185'
    - item_type: preproc_def
      name: PCRE2_ERROR_PATTERN_TOO_COMPLICATED
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '186'
    - item_type: preproc_def
      name: PCRE2_ERROR_LOOKBEHIND_TOO_LONG
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '187'
    - item_type: preproc_def
      name: PCRE2_ERROR_PATTERN_STRING_TOO_LONG
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '188'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_BAD_CODE
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '189'
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_BAD_CODE_IN_SKIP
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '190'
    - item_type: preproc_def
      name: PCRE2_ERROR_NO_SURROGATES_IN_UTF16
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '191'
    - item_type: preproc_def
      name: PCRE2_ERROR_BAD_LITERAL_OPTIONS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '192'
    - item_type: preproc_def
      name: PCRE2_ERROR_SUPPORTED_ONLY_IN_UNICODE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '193'
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALID_HYPHEN_IN_OPTIONS
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '194'
    - item_type: preproc_def
      name: PCRE2_ERROR_ALPHA_ASSERTION_UNKNOWN
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '195'
    - item_type: preproc_def
      name: PCRE2_ERROR_SCRIPT_RUN_NOT_AVAILABLE
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '196'
    - item_type: preproc_def
      name: PCRE2_ERROR_TOO_MANY_CAPTURES
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '197'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_OCTAL_DIGIT
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '198'
    - item_type: preproc_def
      name: PCRE2_ERROR_BACKSLASH_K_IN_LOOKAROUND
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '199'
    - item_type: preproc_def
      name: PCRE2_ERROR_MAX_VAR_LOOKBEHIND_EXCEEDED
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '200'
    - item_type: preproc_def
      name: PCRE2_ERROR_PATTERN_COMPILED_SIZE_TOO_BIG
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '201'
    - item_type: preproc_def
      name: PCRE2_ERROR_OVERSIZE_PYTHON_OCTAL
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '202'
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT_CALLER_DISABLED
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '203'
    - item_type: preproc_def
      name: PCRE2_ERROR_EXTRA_CASING_REQUIRES_UNICODE
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '204'
    - item_type: preproc_def
      name: PCRE2_ERROR_TURKISH_CASING_REQUIRES_UTF
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '205'
    - item_type: preproc_def
      name: PCRE2_ERROR_EXTRA_CASING_INCOMPATIBLE
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '206'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_NEST_TOO_DEEP
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '207'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_INVALID_OPERATOR
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '208'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_UNEXPECTED_OPERATOR
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '209'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_EXPECTED_OPERAND
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '210'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_MIXED_OPERATORS
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '211'
    - item_type: preproc_def
      name: PCRE2_ERROR_ECLASS_HINT_SQUARE_BRACKET
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '212'
    - item_type: preproc_def
      name: PCRE2_ERROR_PERL_ECLASS_UNEXPECTED_EXPR
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '213'
    - item_type: preproc_def
      name: PCRE2_ERROR_PERL_ECLASS_EMPTY_EXPR
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '214'
    - item_type: preproc_def
      name: PCRE2_ERROR_PERL_ECLASS_MISSING_CLOSE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '215'
    - item_type: preproc_def
      name: PCRE2_ERROR_PERL_ECLASS_UNEXPECTED_CHAR
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '216'
    - item_type: preproc_def
      name: PCRE2_ERROR_EXPECTED_CAPTURE_GROUP
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '217'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_OPENING_PARENTHESIS
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '218'
    - item_type: preproc_def
      name: PCRE2_ERROR_MISSING_NUMBER_TERMINATOR
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '219'
    - item_type: preproc_def
      name: PCRE2_ERROR_NULL_ERROROFFSET
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '220'
    - item_type: preproc_def
      name: PCRE2_ERROR_NOMATCH
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: PCRE2_ERROR_PARTIAL
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR1
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR2
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR3
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR4
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR5
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-7)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR6
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-8)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR7
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-9)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR8
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-10)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR9
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-11)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR10
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-12)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR11
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-13)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR12
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-14)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR13
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-15)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR14
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-16)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR15
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-17)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR16
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-18)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR17
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-19)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR18
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-20)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR19
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-21)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR20
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-22)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF8_ERR21
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-23)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF16_ERR1
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-24)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF16_ERR2
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-25)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF16_ERR3
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-26)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF32_ERR1
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-27)
    - item_type: preproc_def
      name: PCRE2_ERROR_UTF32_ERR2
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-28)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADDATA
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-29)
    - item_type: preproc_def
      name: PCRE2_ERROR_MIXEDTABLES
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '(-30)  '
    - item_type: preproc_def
      name: PCRE2_ERROR_BADMAGIC
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-31)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADMODE
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-32)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADOFFSET
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-33)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADOPTION
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-34)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADREPLACEMENT
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-35)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADUTFOFFSET
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-36)
    - item_type: preproc_def
      name: PCRE2_ERROR_CALLOUT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '(-37)  '
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_BADRESTART
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-38)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_RECURSE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-39)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_UCOND
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-40)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_UFUNC
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-41)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_UITEM
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-42)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_WSSIZE
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-43)
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-44)
    - item_type: preproc_def
      name: PCRE2_ERROR_JIT_BADOPTION
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-45)
    - item_type: preproc_def
      name: PCRE2_ERROR_JIT_STACKLIMIT
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-46)
    - item_type: preproc_def
      name: PCRE2_ERROR_MATCHLIMIT
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-47)
    - item_type: preproc_def
      name: PCRE2_ERROR_NOMEMORY
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-48)
    - item_type: preproc_def
      name: PCRE2_ERROR_NOSUBSTRING
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-49)
    - item_type: preproc_def
      name: PCRE2_ERROR_NOUNIQUESUBSTRING
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-50)
    - item_type: preproc_def
      name: PCRE2_ERROR_NULL
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-51)
    - item_type: preproc_def
      name: PCRE2_ERROR_RECURSELOOP
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-52)
    - item_type: preproc_def
      name: PCRE2_ERROR_DEPTHLIMIT
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-53)
    - item_type: preproc_def
      name: PCRE2_ERROR_RECURSIONLIMIT
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '(-53)  '
    - item_type: preproc_def
      name: PCRE2_ERROR_UNAVAILABLE
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-54)
    - item_type: preproc_def
      name: PCRE2_ERROR_UNSET
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-55)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADOFFSETLIMIT
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-56)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADREPESCAPE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-57)
    - item_type: preproc_def
      name: PCRE2_ERROR_REPMISSINGBRACE
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-58)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADSUBSTITUTION
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-59)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADSUBSPATTERN
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-60)
    - item_type: preproc_def
      name: PCRE2_ERROR_TOOMANYREPLACE
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-61)
    - item_type: preproc_def
      name: PCRE2_ERROR_BADSERIALIZEDDATA
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-62)
    - item_type: preproc_def
      name: PCRE2_ERROR_HEAPLIMIT
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-63)
    - item_type: preproc_def
      name: PCRE2_ERROR_CONVERT_SYNTAX
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-64)
    - item_type: preproc_def
      name: PCRE2_ERROR_INTERNAL_DUPMATCH
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-65)
    - item_type: preproc_def
      name: PCRE2_ERROR_DFA_UINVALID_UTF
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-66)
    - item_type: preproc_def
      name: PCRE2_ERROR_INVALIDOFFSET
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-67)
    - item_type: preproc_def
      name: PCRE2_ERROR_JIT_UNSUPPORTED
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-68)
    - item_type: preproc_def
      name: PCRE2_ERROR_REPLACECASE
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-69)
    - item_type: preproc_def
      name: PCRE2_ERROR_TOOLARGEREPLACE
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-70)
    - item_type: preproc_def
      name: PCRE2_ERROR_DIFFSUBSPATTERN
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-71)
    - item_type: preproc_def
      name: PCRE2_ERROR_DIFFSUBSSUBJECT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-72)
    - item_type: preproc_def
      name: PCRE2_ERROR_DIFFSUBSOFFSET
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-73)
    - item_type: preproc_def
      name: PCRE2_ERROR_DIFFSUBSOPTIONS
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-74)
    - item_type: preproc_def
      name: PCRE2_ERROR_BAD_BACKSLASH_K
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-75)
    - item_type: preproc_def
      name: PCRE2_ERROR_PARTIALSUBS
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (-76)
    - item_type: preproc_def
      name: PCRE2_INFO_ALLOPTIONS
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_INFO_ARGOPTIONS
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_INFO_BACKREFMAX
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCRE2_INFO_BSR
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCRE2_INFO_CAPTURECOUNT
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCRE2_INFO_FIRSTCODEUNIT
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PCRE2_INFO_FIRSTCODETYPE
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCRE2_INFO_FIRSTBITMAP
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCRE2_INFO_HASCRORLF
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2_INFO_JCHANGED
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PCRE2_INFO_JITSIZE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PCRE2_INFO_LASTCODEUNIT
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PCRE2_INFO_LASTCODETYPE
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PCRE2_INFO_MATCHEMPTY
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PCRE2_INFO_MATCHLIMIT
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PCRE2_INFO_MAXLOOKBEHIND
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PCRE2_INFO_MINLENGTH
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2_INFO_NAMECOUNT
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '17'
    - item_type: preproc_def
      name: PCRE2_INFO_NAMEENTRYSIZE
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '18'
    - item_type: preproc_def
      name: PCRE2_INFO_NAMETABLE
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '19'
    - item_type: preproc_def
      name: PCRE2_INFO_NEWLINE
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '20'
    - item_type: preproc_def
      name: PCRE2_INFO_DEPTHLIMIT
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '21'
    - item_type: preproc_def
      name: PCRE2_INFO_RECURSIONLIMIT
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '21  '
    - item_type: preproc_def
      name: PCRE2_INFO_SIZE
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '22'
    - item_type: preproc_def
      name: PCRE2_INFO_HASBACKSLASHC
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PCRE2_INFO_FRAMESIZE
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '24'
    - item_type: preproc_def
      name: PCRE2_INFO_HEAPLIMIT
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '25'
    - item_type: preproc_def
      name: PCRE2_INFO_EXTRAOPTIONS
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PCRE2_CONFIG_BSR
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_CONFIG_JIT
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_CONFIG_JITTARGET
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCRE2_CONFIG_LINKSIZE
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCRE2_CONFIG_MATCHLIMIT
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCRE2_CONFIG_NEWLINE
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PCRE2_CONFIG_PARENSLIMIT
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCRE2_CONFIG_DEPTHLIMIT
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCRE2_CONFIG_RECURSIONLIMIT
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: PCRE2_CONFIG_STACKRECURSE
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: PCRE2_CONFIG_UNICODE
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PCRE2_CONFIG_UNICODE_VERSION
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PCRE2_CONFIG_VERSION
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PCRE2_CONFIG_HEAPLIMIT
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PCRE2_CONFIG_NEVER_BACKSLASH_C
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PCRE2_CONFIG_COMPILED_WIDTHS
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PCRE2_CONFIG_TABLES_LENGTH
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PCRE2_CONFIG_EFFECTIVE_LINKSIZE
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2_OPTIMIZATION_NONE
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_OPTIMIZATION_FULL
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_AUTO_POSSESS
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PCRE2_AUTO_POSSESS_OFF
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '65'
    - item_type: preproc_def
      name: PCRE2_DOTSTAR_ANCHOR
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '66'
    - item_type: preproc_def
      name: PCRE2_DOTSTAR_ANCHOR_OFF
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '67'
    - item_type: preproc_def
      name: PCRE2_START_OPTIMIZE
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '68'
    - item_type: preproc_def
      name: PCRE2_START_OPTIMIZE_OFF
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '69'
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_CASE_LOWER
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_CASE_UPPER
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_CASE_TITLE_FIRST
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCRE2_SIZE
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: size_t
    - item_type: preproc_def
      name: PCRE2_SIZE_MAX
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: SIZE_MAX
    - item_type: preproc_def
      name: PCRE2_ZERO_TERMINATED
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (~(PCRE2_SIZE)0)
    - item_type: preproc_def
      name: PCRE2_UNSET
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: (~(PCRE2_SIZE)0)
    - item_type: preproc_def
      name: PCRE2_TYPES_LIST
      pos:
        line_end: 566
        line_start: 543
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 'struct pcre2_real_general_context; \

        typedef struct pcre2_real_general_context pcre2_general_context; \

        \

        struct pcre2_real_compile_context; \

        typedef struct pcre2_real_compile_context pcre2_compile_context; \

        \

        struct pcre2_real_match_context; \

        typedef struct pcre2_real_match_context pcre2_match_context; \

        \

        struct pcre2_real_convert_context; \

        typedef struct pcre2_real_convert_context pcre2_convert_context; \

        \

        struct pcre2_real_code; \

        typedef struct pcre2_real_code pcre2_code; \

        \

        struct pcre2_real_match_data; \

        typedef struct pcre2_real_match_data pcre2_match_data; \

        \

        struct pcre2_real_jit_stack; \

        typedef struct pcre2_real_jit_stack pcre2_jit_stack; \

        \

        typedef pcre2_jit_stack *(*pcre2_jit_callback)(void *);'
    - item_type: preproc_def
      name: PCRE2_CALLOUT_STARTMATCH
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000001u  '
    - item_type: preproc_def
      name: PCRE2_CALLOUT_BACKTRACK
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '0x00000002u  '
    - item_type: preproc_def
      name: PCRE2_STRUCTURE_LIST
      pos:
        line_end: 582
        line_start: 579
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "typedef struct pcre2_callout_block { \\\n  uint32_t      version;
        \          "
    - item_type: preproc_def
      name: PCRE2_GENERAL_INFO_FUNCTIONS
      pos:
        line_end: 634
        line_start: 632
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION pcre2_config(uint32_t,
        void *);
    - item_type: preproc_def
      name: PCRE2_GENERAL_CONTEXT_FUNCTIONS
      pos:
        line_end: 646
        line_start: 638
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_general_context *PCRE2_CALL_CONVENTION
        \\\n  pcre2_general_context_copy(pcre2_general_context *); \\\nPCRE2_EXP_DECL
        pcre2_general_context *PCRE2_CALL_CONVENTION \\\n  pcre2_general_context_create(void
        *(*)(size_t, void *), \\\n    void (*)(void *, void *), void *); \\\nPCRE2_EXP_DECL
        void PCRE2_CALL_CONVENTION \\\n  pcre2_general_context_free(pcre2_general_context
        *);"
    - item_type: preproc_def
      name: PCRE2_COMPILE_CONTEXT_FUNCTIONS
      pos:
        line_end: 675
        line_start: 647
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_compile_context *PCRE2_CALL_CONVENTION
        \\\n  pcre2_compile_context_copy(pcre2_compile_context *); \\\nPCRE2_EXP_DECL
        pcre2_compile_context *PCRE2_CALL_CONVENTION \\\n  pcre2_compile_context_create(pcre2_general_context
        *);\\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_compile_context_free(pcre2_compile_context
        *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_bsr(pcre2_compile_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_character_tables(pcre2_compile_context
        *, const uint8_t *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_compile_extra_options(pcre2_compile_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_max_pattern_length(pcre2_compile_context
        *, PCRE2_SIZE); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_max_pattern_compiled_length(pcre2_compile_context
        *, PCRE2_SIZE); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_max_varlookbehind(pcre2_compile_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_newline(pcre2_compile_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_parens_nest_limit(pcre2_compile_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_compile_recursion_guard(pcre2_compile_context
        *, \\\n    int (*)(uint32_t, void *), void *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION
        \\\n  pcre2_set_optimize(pcre2_compile_context *, uint32_t);"
    - item_type: preproc_def
      name: PCRE2_MATCH_CONTEXT_FUNCTIONS
      pos:
        line_end: 707
        line_start: 676
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_match_context *PCRE2_CALL_CONVENTION \\\n
        \ pcre2_match_context_copy(pcre2_match_context *); \\\nPCRE2_EXP_DECL pcre2_match_context
        *PCRE2_CALL_CONVENTION \\\n  pcre2_match_context_create(pcre2_general_context
        *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_match_context_free(pcre2_match_context
        *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_callout(pcre2_match_context
        *, \\\n    int (*)(pcre2_callout_block *, void *), void *); \\\nPCRE2_EXP_DECL
        int PCRE2_CALL_CONVENTION \\\n  pcre2_set_substitute_callout(pcre2_match_context
        *, \\\n    int (*)(pcre2_substitute_callout_block *, void *), void *); \\\nPCRE2_EXP_DECL
        int PCRE2_CALL_CONVENTION \\\n  pcre2_set_substitute_case_callout(pcre2_match_context
        *, \\\n    PCRE2_SIZE (*)(PCRE2_SPTR, PCRE2_SIZE, PCRE2_UCHAR *, PCRE2_SIZE,
        int, \\\n                   void *), \\\n    void *); \\\nPCRE2_EXP_DECL int
        PCRE2_CALL_CONVENTION \\\n  pcre2_set_depth_limit(pcre2_match_context *, uint32_t);
        \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_heap_limit(pcre2_match_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_match_limit(pcre2_match_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_offset_limit(pcre2_match_context
        *, PCRE2_SIZE); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_recursion_limit(pcre2_match_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_recursion_memory_management(pcre2_match_context
        *, \\\n    void *(*)(size_t, void *), void (*)(void *, void *), void *);"
    - item_type: preproc_def
      name: PCRE2_CONVERT_CONTEXT_FUNCTIONS
      pos:
        line_end: 719
        line_start: 708
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_convert_context *PCRE2_CALL_CONVENTION
        \\\n  pcre2_convert_context_copy(pcre2_convert_context *); \\\nPCRE2_EXP_DECL
        pcre2_convert_context *PCRE2_CALL_CONVENTION \\\n  pcre2_convert_context_create(pcre2_general_context
        *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_convert_context_free(pcre2_convert_context
        *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_glob_escape(pcre2_convert_context
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_set_glob_separator(pcre2_convert_context
        *, uint32_t);"
    - item_type: preproc_def
      name: PCRE2_COMPILE_FUNCTIONS
      pos:
        line_end: 733
        line_start: 723
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \\\n  pcre2_compile(PCRE2_SPTR,
        PCRE2_SIZE, uint32_t, int *, PCRE2_SIZE *, \\\n    pcre2_compile_context *);
        \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_code_free(pcre2_code
        *); \\\nPCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \\\n  pcre2_code_copy(const
        pcre2_code *); \\\nPCRE2_EXP_DECL pcre2_code *PCRE2_CALL_CONVENTION \\\n  pcre2_code_copy_with_tables(const
        pcre2_code *);"
    - item_type: preproc_def
      name: PCRE2_PATTERN_INFO_FUNCTIONS
      pos:
        line_end: 743
        line_start: 737
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_pattern_info(const
        pcre2_code *, uint32_t, void *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION
        \\\n  pcre2_callout_enumerate(const pcre2_code *, \\\n    int (*)(pcre2_callout_enumerate_block
        *, void *), void *);"
    - item_type: preproc_def
      name: PCRE2_MATCH_FUNCTIONS
      pos:
        line_end: 775
        line_start: 747
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \\\n
        \ pcre2_match_data_create(uint32_t, pcre2_general_context *); \\\nPCRE2_EXP_DECL
        pcre2_match_data *PCRE2_CALL_CONVENTION \\\n  pcre2_match_data_create_from_pattern(const
        pcre2_code *, \\\n    pcre2_general_context *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION
        \\\n  pcre2_match_data_free(pcre2_match_data *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION
        \\\n  pcre2_dfa_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE,
        \\\n    uint32_t, pcre2_match_data *, pcre2_match_context *, int *, PCRE2_SIZE);
        \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_match(const pcre2_code
        *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \\\n    uint32_t, pcre2_match_data
        *, pcre2_match_context *); \\\nPCRE2_EXP_DECL PCRE2_SPTR PCRE2_CALL_CONVENTION
        \\\n  pcre2_get_mark(pcre2_match_data *); \\\nPCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION
        \\\n  pcre2_get_match_data_size(pcre2_match_data *); \\\nPCRE2_EXP_DECL PCRE2_SIZE
        PCRE2_CALL_CONVENTION \\\n  pcre2_get_match_data_heapframes_size(pcre2_match_data
        *); \\\nPCRE2_EXP_DECL uint32_t PCRE2_CALL_CONVENTION \\\n  pcre2_get_ovector_count(pcre2_match_data
        *); \\\nPCRE2_EXP_DECL PCRE2_SIZE *PCRE2_CALL_CONVENTION \\\n  pcre2_get_ovector_pointer(pcre2_match_data
        *); \\\nPCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \\\n  pcre2_get_startchar(pcre2_match_data
        *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_next_match(pcre2_match_data
        *, PCRE2_SIZE *, uint32_t *);"
    - item_type: preproc_def
      name: PCRE2_SUBSTRING_FUNCTIONS
      pos:
        line_end: 807
        line_start: 779
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_substring_copy_byname(pcre2_match_data
        *, PCRE2_SPTR, PCRE2_UCHAR *, \\\n    PCRE2_SIZE *); \\\nPCRE2_EXP_DECL int
        PCRE2_CALL_CONVENTION \\\n  pcre2_substring_copy_bynumber(pcre2_match_data
        *, uint32_t, PCRE2_UCHAR *, \\\n    PCRE2_SIZE *); \\\nPCRE2_EXP_DECL void
        PCRE2_CALL_CONVENTION \\\n  pcre2_substring_free(PCRE2_UCHAR *); \\\nPCRE2_EXP_DECL
        int PCRE2_CALL_CONVENTION \\\n  pcre2_substring_get_byname(pcre2_match_data
        *, PCRE2_SPTR, PCRE2_UCHAR **, \\\n    PCRE2_SIZE *); \\\nPCRE2_EXP_DECL int
        PCRE2_CALL_CONVENTION \\\n  pcre2_substring_get_bynumber(pcre2_match_data
        *, uint32_t, PCRE2_UCHAR **, \\\n    PCRE2_SIZE *); \\\nPCRE2_EXP_DECL int
        PCRE2_CALL_CONVENTION \\\n  pcre2_substring_length_byname(pcre2_match_data
        *, PCRE2_SPTR, PCRE2_SIZE *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION
        \\\n  pcre2_substring_length_bynumber(pcre2_match_data *, uint32_t, PCRE2_SIZE
        *); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_substring_nametable_scan(const
        pcre2_code *, PCRE2_SPTR, PCRE2_SPTR *, \\\n    PCRE2_SPTR *); \\\nPCRE2_EXP_DECL
        int PCRE2_CALL_CONVENTION \\\n  pcre2_substring_number_from_name(const pcre2_code
        *, PCRE2_SPTR); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_substring_list_free(PCRE2_UCHAR
        **); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_substring_list_get(pcre2_match_data
        *, PCRE2_UCHAR ***, PCRE2_SIZE **);"
    - item_type: preproc_def
      name: PCRE2_SERIALIZE_FUNCTIONS
      pos:
        line_end: 822
        line_start: 811
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int32_t PCRE2_CALL_CONVENTION \\\n  pcre2_serialize_encode(const
        pcre2_code **, int32_t, uint8_t **, \\\n    PCRE2_SIZE *, pcre2_general_context
        *); \\\nPCRE2_EXP_DECL int32_t PCRE2_CALL_CONVENTION \\\n  pcre2_serialize_decode(pcre2_code
        **, int32_t, const uint8_t *, \\\n    pcre2_general_context *); \\\nPCRE2_EXP_DECL
        int32_t PCRE2_CALL_CONVENTION \\\n  pcre2_serialize_get_number_of_codes(const
        uint8_t *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_serialize_free(uint8_t
        *);"
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_FUNCTION
      pos:
        line_end: 831
        line_start: 826
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_substitute(const
        pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \\\n    uint32_t, pcre2_match_data
        *, pcre2_match_context *, PCRE2_SPTR, \\\n    PCRE2_SIZE, PCRE2_UCHAR *, PCRE2_SIZE
        *);"
    - item_type: preproc_def
      name: PCRE2_CONVERT_FUNCTIONS
      pos:
        line_end: 841
        line_start: 835
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_pattern_convert(PCRE2_SPTR,
        PCRE2_SIZE, uint32_t, PCRE2_UCHAR **, \\\n    PCRE2_SIZE *, pcre2_convert_context
        *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_converted_pattern_free(PCRE2_UCHAR
        *);"
    - item_type: preproc_def
      name: PCRE2_JIT_FUNCTIONS
      pos:
        line_end: 859
        line_start: 845
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_jit_compile(pcre2_code
        *, uint32_t); \\\nPCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_jit_match(const
        pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \\\n    uint32_t, pcre2_match_data
        *, pcre2_match_context *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n
        \ pcre2_jit_free_unused_memory(pcre2_general_context *); \\\nPCRE2_EXP_DECL
        pcre2_jit_stack *PCRE2_CALL_CONVENTION \\\n  pcre2_jit_stack_create(size_t,
        size_t, pcre2_general_context *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION
        \\\n  pcre2_jit_stack_assign(pcre2_match_context *, pcre2_jit_callback, void
        *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \\\n  pcre2_jit_stack_free(pcre2_jit_stack
        *);"
    - item_type: preproc_def
      name: PCRE2_OTHER_FUNCTIONS
      pos:
        line_end: 870
        line_start: 863
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: "PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \\\n  pcre2_get_error_message(int,
        PCRE2_UCHAR *, PCRE2_SIZE); \\\nPCRE2_EXP_DECL const uint8_t *PCRE2_CALL_CONVENTION
        \\\n  pcre2_maketables(pcre2_general_context *); \\\nPCRE2_EXP_DECL void PCRE2_CALL_CONVENTION
        \\\n  pcre2_maketables_free(pcre2_general_context *, const uint8_t *);"
    - item_type: preproc_def
      name: PCRE2_UCHAR
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(PCRE2_UCHAR)
    - item_type: preproc_def
      name: PCRE2_SPTR
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(PCRE2_SPTR)
    - item_type: preproc_def
      name: pcre2_code
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_code_)
    - item_type: preproc_def
      name: pcre2_jit_callback
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_callback_)
    - item_type: preproc_def
      name: pcre2_jit_stack
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_stack_)
    - item_type: preproc_def
      name: pcre2_real_code
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_code_)
    - item_type: preproc_def
      name: pcre2_real_general_context
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_general_context_)
    - item_type: preproc_def
      name: pcre2_real_compile_context
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_compile_context_)
    - item_type: preproc_def
      name: pcre2_real_convert_context
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_convert_context_)
    - item_type: preproc_def
      name: pcre2_real_match_context
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_match_context_)
    - item_type: preproc_def
      name: pcre2_real_jit_stack
      pos:
        line_end: 898
        line_start: 897
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_jit_stack_)
    - item_type: preproc_def
      name: pcre2_real_match_data
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_real_match_data_)
    - item_type: preproc_def
      name: pcre2_callout_block
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_callout_block_)
    - item_type: preproc_def
      name: pcre2_callout_enumerate_block
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_callout_enumerate_block_)
    - item_type: preproc_def
      name: pcre2_substitute_callout_block
      pos:
        line_end: 906
        line_start: 905
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substitute_callout_block_)
    - item_type: preproc_def
      name: pcre2_general_context
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_general_context_)
    - item_type: preproc_def
      name: pcre2_compile_context
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_compile_context_)
    - item_type: preproc_def
      name: pcre2_convert_context
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_convert_context_)
    - item_type: preproc_def
      name: pcre2_match_context
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_context_)
    - item_type: preproc_def
      name: pcre2_match_data
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_data_)
    - item_type: preproc_def
      name: pcre2_callout_enumerate
      pos:
        line_end: 916
        line_start: 915
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_callout_enumerate_)
    - item_type: preproc_def
      name: pcre2_code_copy
      pos:
        line_end: 917
        line_start: 916
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_code_copy_)
    - item_type: preproc_def
      name: pcre2_code_copy_with_tables
      pos:
        line_end: 918
        line_start: 917
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_code_copy_with_tables_)
    - item_type: preproc_def
      name: pcre2_code_free
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_code_free_)
    - item_type: preproc_def
      name: pcre2_compile
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_compile_)
    - item_type: preproc_def
      name: pcre2_compile_context_copy
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_compile_context_copy_)
    - item_type: preproc_def
      name: pcre2_compile_context_create
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_compile_context_create_)
    - item_type: preproc_def
      name: pcre2_compile_context_free
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_compile_context_free_)
    - item_type: preproc_def
      name: pcre2_config
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_config_)
    - item_type: preproc_def
      name: pcre2_convert_context_copy
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_convert_context_copy_)
    - item_type: preproc_def
      name: pcre2_convert_context_create
      pos:
        line_end: 926
        line_start: 925
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_convert_context_create_)
    - item_type: preproc_def
      name: pcre2_convert_context_free
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_convert_context_free_)
    - item_type: preproc_def
      name: pcre2_converted_pattern_free
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_converted_pattern_free_)
    - item_type: preproc_def
      name: pcre2_dfa_match
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_dfa_match_)
    - item_type: preproc_def
      name: pcre2_general_context_copy
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_general_context_copy_)
    - item_type: preproc_def
      name: pcre2_general_context_create
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_general_context_create_)
    - item_type: preproc_def
      name: pcre2_general_context_free
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_general_context_free_)
    - item_type: preproc_def
      name: pcre2_get_error_message
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_error_message_)
    - item_type: preproc_def
      name: pcre2_get_mark
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_mark_)
    - item_type: preproc_def
      name: pcre2_get_match_data_heapframes_size
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_match_data_heapframes_size_)
    - item_type: preproc_def
      name: pcre2_get_match_data_size
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_match_data_size_)
    - item_type: preproc_def
      name: pcre2_get_ovector_pointer
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_ovector_pointer_)
    - item_type: preproc_def
      name: pcre2_get_ovector_count
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_ovector_count_)
    - item_type: preproc_def
      name: pcre2_get_startchar
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_get_startchar_)
    - item_type: preproc_def
      name: pcre2_jit_compile
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_compile_)
    - item_type: preproc_def
      name: pcre2_jit_match
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_match_)
    - item_type: preproc_def
      name: pcre2_jit_free_unused_memory
      pos:
        line_end: 942
        line_start: 941
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_free_unused_memory_)
    - item_type: preproc_def
      name: pcre2_jit_stack_assign
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_stack_assign_)
    - item_type: preproc_def
      name: pcre2_jit_stack_create
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_stack_create_)
    - item_type: preproc_def
      name: pcre2_jit_stack_free
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_jit_stack_free_)
    - item_type: preproc_def
      name: pcre2_maketables
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_maketables_)
    - item_type: preproc_def
      name: pcre2_maketables_free
      pos:
        line_end: 947
        line_start: 946
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_maketables_free_)
    - item_type: preproc_def
      name: pcre2_match
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_)
    - item_type: preproc_def
      name: pcre2_match_context_copy
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_context_copy_)
    - item_type: preproc_def
      name: pcre2_match_context_create
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_context_create_)
    - item_type: preproc_def
      name: pcre2_match_context_free
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_context_free_)
    - item_type: preproc_def
      name: pcre2_match_data_create
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_data_create_)
    - item_type: preproc_def
      name: pcre2_match_data_create_from_pattern
      pos:
        line_end: 953
        line_start: 952
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_data_create_from_pattern_)
    - item_type: preproc_def
      name: pcre2_match_data_free
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_match_data_free_)
    - item_type: preproc_def
      name: pcre2_next_match
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_next_match_)
    - item_type: preproc_def
      name: pcre2_pattern_convert
      pos:
        line_end: 956
        line_start: 955
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_pattern_convert_)
    - item_type: preproc_def
      name: pcre2_pattern_info
      pos:
        line_end: 957
        line_start: 956
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_pattern_info_)
    - item_type: preproc_def
      name: pcre2_serialize_decode
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_serialize_decode_)
    - item_type: preproc_def
      name: pcre2_serialize_encode
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_serialize_encode_)
    - item_type: preproc_def
      name: pcre2_serialize_free
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_serialize_free_)
    - item_type: preproc_def
      name: pcre2_serialize_get_number_of_codes
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_serialize_get_number_of_codes_)
    - item_type: preproc_def
      name: pcre2_set_bsr
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_bsr_)
    - item_type: preproc_def
      name: pcre2_set_callout
      pos:
        line_end: 963
        line_start: 962
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_callout_)
    - item_type: preproc_def
      name: pcre2_set_character_tables
      pos:
        line_end: 964
        line_start: 963
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_character_tables_)
    - item_type: preproc_def
      name: pcre2_set_compile_extra_options
      pos:
        line_end: 965
        line_start: 964
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_compile_extra_options_)
    - item_type: preproc_def
      name: pcre2_set_compile_recursion_guard
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_compile_recursion_guard_)
    - item_type: preproc_def
      name: pcre2_set_depth_limit
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_depth_limit_)
    - item_type: preproc_def
      name: pcre2_set_glob_escape
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_glob_escape_)
    - item_type: preproc_def
      name: pcre2_set_glob_separator
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_glob_separator_)
    - item_type: preproc_def
      name: pcre2_set_heap_limit
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_heap_limit_)
    - item_type: preproc_def
      name: pcre2_set_match_limit
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_match_limit_)
    - item_type: preproc_def
      name: pcre2_set_max_varlookbehind
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_max_varlookbehind_)
    - item_type: preproc_def
      name: pcre2_set_max_pattern_length
      pos:
        line_end: 973
        line_start: 972
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_max_pattern_length_)
    - item_type: preproc_def
      name: pcre2_set_max_pattern_compiled_length
      pos:
        line_end: 974
        line_start: 973
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_max_pattern_compiled_length_)
    - item_type: preproc_def
      name: pcre2_set_newline
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_newline_)
    - item_type: preproc_def
      name: pcre2_set_parens_nest_limit
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_parens_nest_limit_)
    - item_type: preproc_def
      name: pcre2_set_offset_limit
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_offset_limit_)
    - item_type: preproc_def
      name: pcre2_set_optimize
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_optimize_)
    - item_type: preproc_def
      name: pcre2_set_substitute_callout
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_substitute_callout_)
    - item_type: preproc_def
      name: pcre2_set_substitute_case_callout
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_substitute_case_callout_)
    - item_type: preproc_def
      name: pcre2_substitute
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substitute_)
    - item_type: preproc_def
      name: pcre2_substring_copy_byname
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_copy_byname_)
    - item_type: preproc_def
      name: pcre2_substring_copy_bynumber
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_copy_bynumber_)
    - item_type: preproc_def
      name: pcre2_substring_free
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_free_)
    - item_type: preproc_def
      name: pcre2_substring_get_byname
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_get_byname_)
    - item_type: preproc_def
      name: pcre2_substring_get_bynumber
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_get_bynumber_)
    - item_type: preproc_def
      name: pcre2_substring_length_byname
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_length_byname_)
    - item_type: preproc_def
      name: pcre2_substring_length_bynumber
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_length_bynumber_)
    - item_type: preproc_def
      name: pcre2_substring_list_get
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_list_get_)
    - item_type: preproc_def
      name: pcre2_substring_list_free
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_list_free_)
    - item_type: preproc_def
      name: pcre2_substring_nametable_scan
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_nametable_scan_)
    - item_type: preproc_def
      name: pcre2_substring_number_from_name
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_substring_number_from_name_)
    - item_type: preproc_def
      name: pcre2_set_recursion_limit
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_recursion_limit_)
    - item_type: preproc_def
      name: pcre2_set_recursion_memory_management
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: PCRE2_SUFFIX(pcre2_set_recursion_memory_management_)
    - item_type: preproc_def
      name: PCRE2_TYPES_STRUCTURES_AND_FUNCTIONS
      pos:
        line_end: 1019
        line_start: 1002
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: 'PCRE2_TYPES_LIST \

        PCRE2_STRUCTURE_LIST \

        PCRE2_GENERAL_INFO_FUNCTIONS \

        PCRE2_GENERAL_CONTEXT_FUNCTIONS \

        PCRE2_COMPILE_CONTEXT_FUNCTIONS \

        PCRE2_CONVERT_CONTEXT_FUNCTIONS \

        PCRE2_CONVERT_FUNCTIONS \

        PCRE2_MATCH_CONTEXT_FUNCTIONS \

        PCRE2_COMPILE_FUNCTIONS \

        PCRE2_PATTERN_INFO_FUNCTIONS \

        PCRE2_MATCH_FUNCTIONS \

        PCRE2_SUBSTRING_FUNCTIONS \

        PCRE2_SERIALIZE_FUNCTIONS \

        PCRE2_SUBSTITUTE_FUNCTION \

        PCRE2_JIT_FUNCTIONS \

        PCRE2_OTHER_FUNCTIONS'
    - item_type: preproc_def
      name: PCRE2_LOCAL_WIDTH
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2_LOCAL_WIDTH
      pos:
        line_end: 1025
        line_start: 1024
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2_LOCAL_WIDTH
      pos:
        line_end: 1029
        line_start: 1028
        source_file: /src/pcre2/src/pcre2.h
      type_or_value: '32'
    structs:
    - fields:
      - name: version
        type: uint32_t
      - name: pattern_position
        type: PCRE2_SIZE
      - name: next_item_length
        type: PCRE2_SIZE
      - name: callout_number
        type: uint32_t
      - name: callout_string_offset
        type: PCRE2_SIZE
      - name: callout_string_length
        type: PCRE2_SIZE
      - name: callout_string
        type: PCRE2_SPTR
      item_type: struct
      name: pcre2_callout_enumerate_block
      pos:
        line_end: 613
        line_start: 603
        source_file: /src/pcre2/src/pcre2.h
    - fields:
      - name: version
        type: uint32_t
      - name: input
        type: PCRE2_SPTR
      - name: output
        type: PCRE2_SPTR
      - name: output_offsets[2]
        type: PCRE2_SIZE
      - name: '*ovector'
        type: PCRE2_SIZE
      - name: oveccount
        type: uint32_t
      - name: subscount
        type: uint32_t
      item_type: struct
      name: pcre2_substitute_callout_block
      pos:
        line_end: 625
        line_start: 615
        source_file: /src/pcre2/src/pcre2.h
    typedefs:
    - item_type: typedef
      name: PCRE2_UCHAR8
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/pcre2/src/pcre2.h
      type: uint8_t
    - item_type: typedef
      name: PCRE2_UCHAR16
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/pcre2/src/pcre2.h
      type: uint16_t
    - item_type: typedef
      name: PCRE2_UCHAR32
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/pcre2/src/pcre2.h
      type: uint32_t
    - item_type: typedef
      name: '*PCRE2_SPTR8'
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/pcre2/src/pcre2.h
      type: PCRE2_UCHAR8
    - item_type: typedef
      name: '*PCRE2_SPTR16'
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/pcre2/src/pcre2.h
      type: PCRE2_UCHAR16
    - item_type: typedef
      name: '*PCRE2_SPTR32'
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/pcre2/src/pcre2.h
      type: PCRE2_UCHAR32
    union: []
- function_names:
  - SET_BIT
  - find_minlength
  - set_table_bit
  - set_type_bits
  - set_nottype_bits
  - study_char_list
  - set_start_bits
  - PRIV
  source_file: /src/pcre2/src/pcre2_study.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CACHE_BACKREF
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/pcre2/src/pcre2_study.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcre2_substring_copy_byname
  - pcre2_substring_copy_bynumber
  - pcre2_substring_get_byname
  - pcre2_substring_get_bynumber
  - pcre2_substring_free
  - pcre2_substring_length_byname
  - pcre2_substring_length_bynumber
  - pcre2_substring_list_get
  - pcre2_substring_list_free
  - pcre2_substring_nametable_scan
  - pcre2_substring_number_from_name
  source_file: /src/pcre2/src/pcre2_substring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcre2_serialize_encode
  - pcre2_serialize_decode
  - pcre2_serialize_get_number_of_codes
  - pcre2_serialize_free
  source_file: /src/pcre2/src/pcre2_serialize.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERIALIZED_DATA_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/pcre2/src/pcre2_serialize.c
      type_or_value: 0x50523253u
    - item_type: preproc_def
      name: SERIALIZED_DATA_VERSION
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/pcre2/src/pcre2_serialize.c
      type_or_value: ((PCRE2_MAJOR) | ((PCRE2_MINOR) << 16))
    - item_type: preproc_def
      name: SERIALIZED_DATA_CONFIG
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/pcre2/src/pcre2_serialize.c
      type_or_value: (sizeof(PCRE2_UCHAR) | ((sizeof(void*)) << 8) | ((sizeof(PCRE2_SIZE))
        << 16))
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_xclass.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jit_machine_stack_exec
  - pcre2_jit_match
  source_file: /src/pcre2/src/pcre2_jit_match_inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*executable_func'
        type: void
      - name: call_executable_func
        type: jit_function
      item_type: union
      name: convert_executable_func
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/pcre2/src/pcre2_jit_match_inc.h
- function_names:
  - PRIV
  source_file: /src/pcre2/src/pcre2_chkdint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_ord2utf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/src/pcre2_ucp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ucd_boolprop_sets_item_size
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/pcre2/src/pcre2_ucp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ucd_script_sets_item_size
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/pcre2/src/pcre2_ucp.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_malloc
  - default_free
  - PRIV
  - pcre2_general_context_create
  - pcre2_compile_context_create
  - pcre2_match_context_create
  - pcre2_convert_context_create
  - pcre2_general_context_copy
  - pcre2_compile_context_copy
  - pcre2_match_context_copy
  - pcre2_convert_context_copy
  - pcre2_general_context_free
  - pcre2_compile_context_free
  - pcre2_match_context_free
  - pcre2_convert_context_free
  - pcre2_set_character_tables
  - pcre2_set_bsr
  - pcre2_set_max_pattern_length
  - pcre2_set_max_pattern_compiled_length
  - pcre2_set_newline
  - pcre2_set_max_varlookbehind
  - pcre2_set_parens_nest_limit
  - pcre2_set_compile_extra_options
  - pcre2_set_compile_recursion_guard
  - pcre2_set_optimize
  - pcre2_set_callout
  - pcre2_set_substitute_callout
  - pcre2_set_substitute_case_callout
  - pcre2_set_heap_limit
  - pcre2_set_match_limit
  - pcre2_set_depth_limit
  - pcre2_set_offset_limit
  - pcre2_set_recursion_limit
  - pcre2_set_recursion_memory_management
  - pcre2_set_glob_separator
  - pcre2_set_glob_escape
  source_file: /src/pcre2/src/pcre2_context.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/src/pcre2_ucd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  source_file: /src/pcre2/src/pcre2_script_run.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCD_MAPSIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: (ucp_Unknown/32 + 1)
    - item_type: preproc_def
      name: FULL_MAPSIZE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: (ucp_Script_Count/32 + 1)
    - item_type: preproc_def
      name: FOUND_BOPOMOFO
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FOUND_HIRAGANA
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FOUND_KATAKANA
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: '4'
    - item_type: preproc_def
      name: FOUND_HANGUL
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/pcre2/src/pcre2_script_run.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - FWRITE_IGNORE
  - ord2utf8
  - strcmpic
  - parse_grep_colors
  - pcre2grep_exit
  - add_pattern
  - free_pattern_chain
  - free_file_chain
  - iswild
  - BGR_RGB
  - decode_ANSI_colour
  - init_colour_output
  - isdirectory
  - opendirectory
  - readdirectory
  - closedirectory
  - isregfile
  - is_stdout_tty
  - is_file_tty
  - is_stdout_tty
  - is_file_tty
  - print_match
  - isdirectory
  - opendirectory
  - readdirectory
  - closedirectory
  - isregfile
  - is_stdout_tty
  - is_file_tty
  - print_match
  - isdirectory
  - opendirectory
  - readdirectory
  - closedirectory
  - isregfile
  - is_stdout_tty
  - is_file_tty
  - print_match
  - usage
  - help
  - test_incexc
  - decode_number
  - add_number
  - read_one_line
  - read_pattern
  - end_of_line
  - previous_line
  - write_final_newline
  - do_after_lines
  - match_patterns
  - decode_dollar_escape
  - syntax_check_output_text
  - display_output_text
  - pcre2grep_callout
  - fill_buffer
  - pcre2grep
  - handle_option
  - ordin
  - compile_pattern
  - read_pattern_file
  - main
  source_file: /src/pcre2/src/pcre2grep.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '8'
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_CAPTURE_MAX
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '50'
    - item_type: preproc_def
      name: MAXPATLEN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: BUFSIZ
    - item_type: preproc_def
      name: MAXPATLEN
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: FNBUFSIZ
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: ERRBUFSIZ
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '256'
    - item_type: preproc_def
      name: PO_WORD_MATCH
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: PO_LINE_MATCH
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: PO_FIXED_STRINGS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: STDOUT_NL
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: STDOUT_NL_LEN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '2'
    - item_type: preproc_def
      name: QUOT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"\""'
    - item_type: preproc_def
      name: STDOUT_NL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"\n"'
    - item_type: preproc_def
      name: STDOUT_NL_LEN
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '1'
    - item_type: preproc_def
      name: QUOT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '"''"'
    - item_type: preproc_def
      name: STDOUT_NL_CODE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: 0x7fffffffu
    - item_type: preproc_def
      name: N_COLOUR
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: N_EXCLUDE
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: N_EXCLUDE_DIR
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-3)
    - item_type: preproc_def
      name: N_HELP
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-4)
    - item_type: preproc_def
      name: N_INCLUDE
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-5)
    - item_type: preproc_def
      name: N_INCLUDE_DIR
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-6)
    - item_type: preproc_def
      name: N_LABEL
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-7)
    - item_type: preproc_def
      name: N_LOCALE
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-8)
    - item_type: preproc_def
      name: N_NULL
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-9)
    - item_type: preproc_def
      name: N_LOFFSETS
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-10)
    - item_type: preproc_def
      name: N_FOFFSETS
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-11)
    - item_type: preproc_def
      name: N_LBUFFER
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-12)
    - item_type: preproc_def
      name: N_H_LIMIT
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-13)
    - item_type: preproc_def
      name: N_M_LIMIT
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-14)
    - item_type: preproc_def
      name: N_M_LIMIT_DEP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-15)
    - item_type: preproc_def
      name: N_BUFSIZE
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-16)
    - item_type: preproc_def
      name: N_NOJIT
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-17)
    - item_type: preproc_def
      name: N_FILE_LIST
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-18)
    - item_type: preproc_def
      name: N_BINARY_FILES
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-19)
    - item_type: preproc_def
      name: N_EXCLUDE_FROM
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-20)
    - item_type: preproc_def
      name: N_INCLUDE_FROM
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-21)
    - item_type: preproc_def
      name: N_OM_SEPARATOR
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-22)
    - item_type: preproc_def
      name: N_MAX_BUFSIZE
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-23)
    - item_type: preproc_def
      name: N_OM_CAPTURE
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-24)
    - item_type: preproc_def
      name: N_ALLABSK
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-25)
    - item_type: preproc_def
      name: N_POSIX_DIGIT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-26)
    - item_type: preproc_def
      name: N_GROUP_SEPARATOR
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-27)
    - item_type: preproc_def
      name: N_NO_GROUP_SEPARATOR
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-28)
    - item_type: preproc_def
      name: N_POSIX_PATFILE
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: (-29)
    - item_type: preproc_def
      name: FILESEP
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: INVALID_FILE_ATTRIBUTES
      pos:
        line_end: 957
        line_start: 956
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0xFFFFFFFF'
    - item_type: preproc_def
      name: FILESEP
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: FILESEP
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/pcre2/src/pcre2grep.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*next'
        type: struct omstr
      - name: groupnum
        type: int
      item_type: struct
      name: omstr
      pos:
        line_end: 310
        line_start: 307
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: '**anchor'
        type: omstr
      - name: '**lastptr'
        type: omstr
      item_type: struct
      name: omdatastr
      pos:
        line_end: 321
        line_start: 318
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: '*next'
        type: struct fnstr
      - name: '*name'
        type: char
      item_type: struct
      name: fnstr
      pos:
        line_end: 330
        line_start: 327
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: '**anchor'
        type: fnstr
      - name: '**lastptr'
        type: fnstr
      item_type: struct
      name: fndatastr
      pos:
        line_end: 347
        line_start: 344
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: '*next'
        type: struct patstr
      - name: '*string'
        type: char
      - name: length
        type: PCRE2_SIZE
      - name: '*compiled'
        type: pcre2_code
      item_type: struct
      name: patstr
      pos:
        line_end: 362
        line_start: 357
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: '**anchor'
        type: patstr
      - name: '**lastptr'
        type: patstr
      item_type: struct
      name: patdatastr
      pos:
        line_end: 381
        line_start: 378
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: type
        type: int
      - name: one_char
        type: int
      - name: '*dataptr'
        type: void
      - name: '*long_name'
        type: char
      - name: '*help_text'
        type: char
      item_type: struct
      name: option_item
      pos:
        line_end: 406
        line_start: 400
        source_file: /src/pcre2/src/pcre2grep.c
    - fields:
      - name: handle
        type: HANDLE
      - name: first
        type: BOOL
      - name: data
        type: WIN32_FIND_DATA
      item_type: struct
      name: directory_type
      pos:
        line_end: 964
        line_start: 959
        source_file: /src/pcre2/src/pcre2grep.c
    typedefs:
    - item_type: typedef
      name: BOOL
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/pcre2/src/pcre2grep.c
      type: int
    - item_type: typedef
      name: directory_type
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/pcre2/src/pcre2grep.c
      type: DIR
    - item_type: typedef
      name: directory_type
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/pcre2/src/pcre2grep.c
      type: void
    union: []
- function_names:
  - print_char
  - print_custring
  - print_custring_bylen
  - get_ucpname
  - print_prop
  - print_char_list
  - print_map
  - print_class
  - pcre2_printint
  source_file: /src/pcre2/src/pcre2_printint_inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OP_lengths
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(OP_lengths_)
    - item_type: preproc_def
      name: get_ucpname
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(get_ucpname_)
    - item_type: preproc_def
      name: pcre2_printint
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(pcre2_printint_)
    - item_type: preproc_def
      name: print_char
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_char_)
    - item_type: preproc_def
      name: print_custring
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_custring_)
    - item_type: preproc_def
      name: print_custring_bylen
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_custring_bylen_)
    - item_type: preproc_def
      name: print_prop
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_prop_)
    - item_type: preproc_def
      name: print_char_list
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_char_list_)
    - item_type: preproc_def
      name: print_map
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_map_)
    - item_type: preproc_def
      name: print_class
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2_printint_inc.h
      type_or_value: PCRE2_SUFFIX(print_class_)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/src/pcre2_chartables.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - pcre2_regerror
  - pcre2_regfree
  - pcre2_regcomp
  - pcre2_regexec
  source_file: /src/pcre2/src/pcre2posix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DECL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: extern __declspec(dllexport)
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DECL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: extern PCRE2_EXPORT
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DEFN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: extern __declspec(dllexport)
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DEFN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: extern PCRE2_EXPORT
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: COMPILE_ERROR_BASE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2posix.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/src/pcre2posix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REG_ICASE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0001  '
    - item_type: preproc_def
      name: REG_NEWLINE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: REG_NOTBOL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0004  '
    - item_type: preproc_def
      name: REG_NOTEOL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0008  '
    - item_type: preproc_def
      name: REG_DOTALL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0010  '
    - item_type: preproc_def
      name: REG_NOSUB
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0020  '
    - item_type: preproc_def
      name: REG_UTF
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0040  '
    - item_type: preproc_def
      name: REG_STARTEND
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0080  '
    - item_type: preproc_def
      name: REG_NOTEMPTY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0100  '
    - item_type: preproc_def
      name: REG_UNGREEDY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0200  '
    - item_type: preproc_def
      name: REG_UCP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0400  '
    - item_type: preproc_def
      name: REG_PEND
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x0800  '
    - item_type: preproc_def
      name: REG_NOSPEC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0x1000  '
    - item_type: preproc_def
      name: REG_EXTENDED
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DECL
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: extern __declspec(dllimport)
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DECL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: extern "C"
    - item_type: preproc_def
      name: PCRE2POSIX_EXP_DECL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: extern
    - item_type: preproc_def
      name: regcomp
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regcomp
    - item_type: preproc_def
      name: regexec
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regexec
    - item_type: preproc_def
      name: regerror
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regerror
    - item_type: preproc_def
      name: regfree
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regfree
    - item_type: preproc_def
      name: PCRE2regcomp
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regcomp
    - item_type: preproc_def
      name: PCRE2regexec
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regexec
    - item_type: preproc_def
      name: PCRE2regerror
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regerror
    - item_type: preproc_def
      name: PCRE2regfree
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/pcre2/src/pcre2posix.h
      type_or_value: pcre2_regfree
    structs:
    - fields:
      - name: '*re_pcre2_code'
        type: void
      - name: '*re_match_data'
        type: void
      - name: '*re_endp'
        type: char
      - name: re_nsub
        type: size_t
      - name: re_erroffset
        type: size_t
      - name: re_cflags
        type: int
      item_type: struct
      name: regex_t
      pos:
        line_end: 109
        line_start: 102
        source_file: /src/pcre2/src/pcre2posix.h
    - fields:
      - name: rm_so
        type: regoff_t
      - name: rm_eo
        type: regoff_t
      item_type: struct
      name: regmatch_t
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/pcre2/src/pcre2posix.h
    typedefs:
    - item_type: typedef
      name: regoff_t
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pcre2/src/pcre2posix.h
      type: int
    union: []
- function_names:
  - main
  source_file: /src/pcre2/src/pcre2demo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/pcre2/src/pcre2demo.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_extuni.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  - pcre2_jit_free_unused_memory
  - pcre2_jit_stack_create
  - pcre2_jit_stack_assign
  - pcre2_jit_stack_free
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_jit_misc_inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - find_text_end
  - read_name_subst
  - pessimistic_case_inflation
  - default_substitute_case_callout
  - do_case_copy
  - CHECKMEMCPY
  - CHECKCASECPY_BASE
  - CHECKCASECPY_DEFAULT
  - CHECKCASECPY_CALLOUT
  - DELAYEDFORCECASE
  source_file: /src/pcre2/src/pcre2_substitute.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PTR_STACK_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/pcre2/src/pcre2_substitute.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SUBSTITUTE_OPTIONS
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/pcre2/src/pcre2_substitute.c
      type_or_value: "(PCRE2_SUBSTITUTE_EXTENDED|PCRE2_SUBSTITUTE_GLOBAL| \\\n   PCRE2_SUBSTITUTE_LITERAL|PCRE2_SUBSTITUTE_MATCHED|
        \\\n   PCRE2_SUBSTITUTE_OVERFLOW_LENGTH|PCRE2_SUBSTITUTE_REPLACEMENT_ONLY|
        \\\n   PCRE2_SUBSTITUTE_UNKNOWN_UNSET|PCRE2_SUBSTITUTE_UNSET_EMPTY)"
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_CASE_NONE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/pcre2/src/pcre2_substitute.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_SUBSTITUTE_CASE_REVERSE_TITLE_FIRST
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/pcre2/src/pcre2_substitute.c
      type_or_value: '4'
    structs:
    - fields:
      - name: to_case
        type: int
      - name: single_char
        type: BOOL
      item_type: struct
      name: case_state
      pos:
        line_end: 274
        line_start: 271
        source_file: /src/pcre2/src/pcre2_substitute.c
    typedefs: []
    union: []
- function_names:
  - PRINTABLE
  - PRINTABLE
  - CHAR_OUTPUT
  - CHAR_OUTPUT_HEX
  - CHAR_INPUT
  - CHAR_INPUT_HEX
  - XDIGIT
  - XDIGIT
  - IS_DIGIT
  - UPPER_CASE
  - UPPER_CASE
  - show_parsed
  - pcre2_code_copy
  - pcre2_code_copy_with_tables
  - pcre2_code_free
  - read_number
  - read_repeat_counts
  - PRIV
  - get_ucp
  - check_posix_syntax
  - check_posix_name
  - read_name
  - parse_capture_list
  - manage_callouts
  - handle_escdsw
  - max_parsed_pattern
  - PARSED_LITERAL
  - PARSED_LITERAL
  - parse_regex
  - first_significant_code
  - compile_branch
  - compile_regex
  - is_anchored
  - is_startline
  - find_recurse
  - find_firstassertedcu
  - parsed_skip
  - get_grouplength
  - get_branchlength
  - set_lookbehind_lengths
  - check_lookbehinds
  - pcre2_compile
  source_file: /src/pcre2/src/pcre2_compile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NLBLOCK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 'cb             '
    - item_type: preproc_def
      name: PSSTART
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 'start_pattern  '
    - item_type: preproc_def
      name: PSEND
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 'end_pattern    '
    - item_type: preproc_def
      name: STRING_UTFn_RIGHTPAR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: STRING_UTF8_RIGHTPAR, 5
    - item_type: preproc_def
      name: STRING_UTFn_RIGHTPAR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: STRING_UTF16_RIGHTPAR, 6
    - item_type: preproc_def
      name: STRING_UTFn_RIGHTPAR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: STRING_UTF32_RIGHTPAR, 6
    - item_type: preproc_def
      name: MAX_GROUP_NUMBER
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 65535u
    - item_type: preproc_def
      name: MAX_REPEAT_COUNT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 65535u
    - item_type: preproc_def
      name: REPEAT_UNLIMITED
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: (MAX_REPEAT_COUNT+1)
    - item_type: preproc_def
      name: COMPILE_WORK_SIZE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '(3000*LINK_SIZE)   '
    - item_type: preproc_def
      name: C16_WORK_SIZE
      pos:
        line_end: 139
        line_start: 137
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: ((COMPILE_WORK_SIZE * sizeof(PCRE2_UCHAR))/sizeof(uint16_t))
    - item_type: preproc_def
      name: GROUPINFO_DEFAULT_SIZE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '256'
    - item_type: preproc_def
      name: WORK_SIZE_SAFETY_MARGIN
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: (100)
    - item_type: preproc_def
      name: NAMED_GROUP_LIST_SIZE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '20'
    - item_type: preproc_def
      name: PARSED_PATTERN_DEFAULT_SIZE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: OFLOW_MAX
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: (INT_MAX - 20)
    - item_type: preproc_def
      name: REQ_UNSET
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '0xffffffffu  '
    - item_type: preproc_def
      name: REQ_NONE
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '0xfffffffeu  '
    - item_type: preproc_def
      name: REQ_CASELESS
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '0x00000001u  '
    - item_type: preproc_def
      name: REQ_VARY
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '0x00000002u  '
    - item_type: preproc_def
      name: GI_SET_FIXED_LENGTH
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: GI_NOT_FIXED_LENGTH
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x40000000u
    - item_type: preproc_def
      name: GI_FIXED_LENGTH_MASK
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x0000ffffu
    - item_type: preproc_def
      name: ESCAPES_FIRST
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: CHAR_0
    - item_type: preproc_def
      name: ESCAPES_LAST
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: CHAR_z
    - item_type: preproc_def
      name: ESCAPES_FIRST
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: CHAR_a
    - item_type: preproc_def
      name: ESCAPES_LAST
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: CHAR_9
    - item_type: preproc_def
      name: PUBLIC_LITERAL_COMPILE_OPTIONS
      pos:
        line_end: 691
        line_start: 687
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PCRE2_ANCHORED|PCRE2_AUTO_CALLOUT|PCRE2_CASELESS|PCRE2_ENDANCHORED|
        \\\n   PCRE2_FIRSTLINE|PCRE2_LITERAL|PCRE2_MATCH_INVALID_UTF| \\\n   PCRE2_NO_START_OPTIMIZE|PCRE2_NO_UTF_CHECK|PCRE2_USE_OFFSET_LIMIT|PCRE2_UTF)"
    - item_type: preproc_def
      name: PUBLIC_COMPILE_OPTIONS
      pos:
        line_end: 700
        line_start: 692
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PUBLIC_LITERAL_COMPILE_OPTIONS| \\\n   PCRE2_ALLOW_EMPTY_CLASS|PCRE2_ALT_BSUX|PCRE2_ALT_CIRCUMFLEX|
        \\\n   PCRE2_ALT_VERBNAMES|PCRE2_DOLLAR_ENDONLY|PCRE2_DOTALL|PCRE2_DUPNAMES|
        \\\n   PCRE2_EXTENDED|PCRE2_EXTENDED_MORE|PCRE2_MATCH_UNSET_BACKREF| \\\n
        \  PCRE2_MULTILINE|PCRE2_NEVER_BACKSLASH_C|PCRE2_NEVER_UCP| \\\n   PCRE2_NEVER_UTF|PCRE2_NO_AUTO_CAPTURE|PCRE2_NO_AUTO_POSSESS|
        \\\n   PCRE2_NO_DOTSTAR_ANCHOR|PCRE2_UCP|PCRE2_UNGREEDY|PCRE2_ALT_EXTENDED_CLASS)"
    - item_type: preproc_def
      name: PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS
      pos:
        line_end: 704
        line_start: 701
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PCRE2_EXTRA_MATCH_LINE|PCRE2_EXTRA_MATCH_WORD| \\\n    PCRE2_EXTRA_CASELESS_RESTRICT|PCRE2_EXTRA_TURKISH_CASING)"
    - item_type: preproc_def
      name: PUBLIC_COMPILE_EXTRA_OPTIONS
      pos:
        line_end: 713
        line_start: 705
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS| \\\n    PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES|PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL|
        \\\n    PCRE2_EXTRA_ESCAPED_CR_IS_LF|PCRE2_EXTRA_ALT_BSUX| \\\n    PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK|PCRE2_EXTRA_ASCII_BSD|
        \\\n    PCRE2_EXTRA_ASCII_BSS|PCRE2_EXTRA_ASCII_BSW|PCRE2_EXTRA_ASCII_POSIX|
        \\\n    PCRE2_EXTRA_ASCII_DIGIT|PCRE2_EXTRA_PYTHON_OCTAL|PCRE2_EXTRA_NO_BS0|
        \\\n    PCRE2_EXTRA_NEVER_CALLOUT)"
    - item_type: preproc_def
      name: NSF_RESET
      pos:
        line_end: 3047
        line_start: 3046
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x0001u
    - item_type: preproc_def
      name: NSF_CONDASSERT
      pos:
        line_end: 3048
        line_start: 3047
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x0002u
    - item_type: preproc_def
      name: NSF_ATOMICSR
      pos:
        line_end: 3049
        line_start: 3048
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: 0x0004u
    - item_type: preproc_def
      name: PARSE_TRACKED_OPTIONS
      pos:
        line_end: 3058
        line_start: 3055
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PCRE2_CASELESS|PCRE2_DOTALL|PCRE2_DUPNAMES| \\\n  PCRE2_EXTENDED|PCRE2_EXTENDED_MORE|PCRE2_MULTILINE|PCRE2_NO_AUTO_CAPTURE|
        \\\n  PCRE2_UNGREEDY)"
    - item_type: preproc_def
      name: PARSE_TRACKED_EXTRA_OPTIONS
      pos:
        line_end: 3062
        line_start: 3059
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: "(PCRE2_EXTRA_CASELESS_RESTRICT| \\\n  PCRE2_EXTRA_ASCII_BSD|PCRE2_EXTRA_ASCII_BSS|PCRE2_EXTRA_ASCII_BSW|
        \\\n  PCRE2_EXTRA_ASCII_DIGIT|PCRE2_EXTRA_ASCII_POSIX)"
    - item_type: preproc_def
      name: RSCAN_CACHE_SIZE
      pos:
        line_end: 11010
        line_start: 11009
        source_file: /src/pcre2/src/pcre2_compile.c
      type_or_value: '8'
    structs:
    - fields:
      - name: len
        type: unsigned int
      - name: meta
        type: uint32_t
      - name: has_arg
        type: int
      item_type: struct
      name: verbitem
      pos:
        line_end: 524
        line_start: 520
        source_file: /src/pcre2/src/pcre2_compile.c
    - fields:
      - name: len
        type: unsigned int
      - name: meta
        type: uint32_t
      item_type: struct
      name: alasitem
      pos:
        line_end: 562
        line_start: 559
        source_file: /src/pcre2/src/pcre2_compile.c
    - fields:
      - name: '*name'
        type: char
      - name: length
        type: uint16_t
      - name: type
        type: uint16_t
      - name: value
        type: uint32_t
      item_type: struct
      name: pso
      pos:
        line_end: 735
        line_start: 730
        source_file: /src/pcre2/src/pcre2_compile.c
    - fields:
      - name: nest_depth
        type: uint16_t
      - name: reset_group
        type: uint16_t
      - name: max_group
        type: uint16_t
      - name: flags
        type: uint16_t
      - name: options
        type: uint32_t
      - name: xoptions
        type: uint32_t
      item_type: struct
      name: nest_save
      pos:
        line_end: 3044
        line_start: 3037
        source_file: /src/pcre2/src/pcre2_compile.c
    typedefs: []
    union: []
- function_names:
  - PRIV
  - identity
  - ebcdic_to_unicode
  - unicode_to_ebcdic
  - usage
  - main
  source_file: /src/pcre2/src/pcre2_dftables.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2_dftables.c
      type_or_value: '0   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - GF_IDMASK
  - GF_DATAMASK
  - display_frames
  - do_callout
  - match_ref
  - recurse_update_offsets
  - CHECK_PARTIAL
  - SCHECK_PARTIAL
  - RMATCH
  - RRETURN
  - match
  - LBL
  source_file: /src/pcre2/src/pcre2_match.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NLBLOCK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 'mb              '
    - item_type: preproc_def
      name: PSSTART
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 'start_subject   '
    - item_type: preproc_def
      name: PSEND
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 'end_subject     '
    - item_type: preproc_def
      name: RECURSE_UNSET
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: '0xffffffffu  '
    - item_type: preproc_def
      name: PUBLIC_MATCH_OPTIONS
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: "(PCRE2_ANCHORED|PCRE2_ENDANCHORED|PCRE2_NOTBOL|PCRE2_NOTEOL|PCRE2_NOTEMPTY|
        \\\n   PCRE2_NOTEMPTY_ATSTART|PCRE2_NO_UTF_CHECK|PCRE2_PARTIAL_HARD| \\\n
        \  PCRE2_PARTIAL_SOFT|PCRE2_NO_JIT|PCRE2_COPY_MATCHED_SUBJECT| \\\n   PCRE2_DISABLE_RECURSELOOP_CHECK)"
    - item_type: preproc_def
      name: PUBLIC_JIT_MATCH_OPTIONS
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: "(PCRE2_NO_UTF_CHECK|PCRE2_NOTBOL|PCRE2_NOTEOL|PCRE2_NOTEMPTY|\\\n
        \   PCRE2_NOTEMPTY_ATSTART|PCRE2_PARTIAL_SOFT|PCRE2_PARTIAL_HARD|\\\n    PCRE2_COPY_MATCHED_SUBJECT)"
    - item_type: preproc_def
      name: MATCH_MATCH
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MATCH_NOMATCH
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MATCH_ACCEPT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-999)
    - item_type: preproc_def
      name: MATCH_KETRPOS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-998)
    - item_type: preproc_def
      name: MATCH_COMMIT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-997)
    - item_type: preproc_def
      name: MATCH_PRUNE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-996)
    - item_type: preproc_def
      name: MATCH_SKIP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-995)
    - item_type: preproc_def
      name: MATCH_SKIP_ARG
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-994)
    - item_type: preproc_def
      name: MATCH_THEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (-993)
    - item_type: preproc_def
      name: MATCH_BACKTRACK_MAX
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: MATCH_THEN
    - item_type: preproc_def
      name: MATCH_BACKTRACK_MIN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: MATCH_COMMIT
    - item_type: preproc_def
      name: GF_CAPTURE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 0x00010000u
    - item_type: preproc_def
      name: GF_NOCAPTURE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 0x00020000u
    - item_type: preproc_def
      name: GF_CONDASSERT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 0x00030000u
    - item_type: preproc_def
      name: GF_RECURSE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: 0x00040000u
    - item_type: preproc_def
      name: Fback_frame
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->back_frame
    - item_type: preproc_def
      name: Fcapture_last
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->capture_last
    - item_type: preproc_def
      name: Fcurrent_recurse
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->current_recurse
    - item_type: preproc_def
      name: Fecode
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->ecode
    - item_type: preproc_def
      name: Feptr
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->eptr
    - item_type: preproc_def
      name: Fgroup_frame_type
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->group_frame_type
    - item_type: preproc_def
      name: Flast_group_offset
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->last_group_offset
    - item_type: preproc_def
      name: Fmark
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->mark
    - item_type: preproc_def
      name: Frdepth
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->rdepth
    - item_type: preproc_def
      name: Fstart_match
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->start_match
    - item_type: preproc_def
      name: Foffset_top
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->offset_top
    - item_type: preproc_def
      name: Fop
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->op
    - item_type: preproc_def
      name: Fovector
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->ovector
    - item_type: preproc_def
      name: Freturn_id
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->return_id
    - item_type: preproc_def
      name: Llength
      pos:
        line_end: 1294
        line_start: 1293
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte1
    - item_type: preproc_def
      name: Loclength
      pos:
        line_end: 1295
        line_start: 1294
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte2
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 1296
        line_start: 1295
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.start_eptr
    - item_type: preproc_def
      name: Lcharptr
      pos:
        line_end: 1297
        line_start: 1296
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.charptr
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 1298
        line_start: 1297
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 1299
        line_start: 1298
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.max
    - item_type: preproc_def
      name: Lc
      pos:
        line_end: 1300
        line_start: 1299
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.c
    - item_type: preproc_def
      name: Loc
      pos:
        line_end: 1301
        line_start: 1300
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.oc.oc
    - item_type: preproc_def
      name: Loccu
      pos:
        line_end: 1302
        line_start: 1301
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.char_repeat.oc.occu
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 1654
        line_start: 1653
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.charnot_repeat.start_eptr
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 1655
        line_start: 1654
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.charnot_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 1656
        line_start: 1655
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.charnot_repeat.max
    - item_type: preproc_def
      name: Lc
      pos:
        line_end: 1657
        line_start: 1656
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.charnot_repeat.c
    - item_type: preproc_def
      name: Loc
      pos:
        line_end: 1658
        line_start: 1657
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.charnot_repeat.oc
    - item_type: preproc_def
      name: Lbyte_map_address
      pos:
        line_end: 2045
        line_start: 2044
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.class_repeat.byte_map_address
    - item_type: preproc_def
      name: Lbyte_map
      pos:
        line_end: 2046
        line_start: 2045
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: ((const unsigned char *)Lbyte_map_address)
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 2047
        line_start: 2046
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.class_repeat.start_eptr
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 2048
        line_start: 2047
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.class_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 2049
        line_start: 2048
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.class_repeat.max
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.xclass_repeat.start_eptr
    - item_type: preproc_def
      name: Lxclass_data
      pos:
        line_end: 2289
        line_start: 2288
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.xclass_repeat.xclass_data
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 2290
        line_start: 2289
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.xclass_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 2291
        line_start: 2290
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.xclass_repeat.max
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 2429
        line_start: 2428
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.eclass_repeat.start_eptr
    - item_type: preproc_def
      name: Leclass_data
      pos:
        line_end: 2430
        line_start: 2429
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.eclass_repeat.eclass_data
    - item_type: preproc_def
      name: Leclass_len
      pos:
        line_end: 2431
        line_start: 2430
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.eclass_repeat.eclass_len
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 2432
        line_start: 2431
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.eclass_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 2433
        line_start: 2432
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.eclass_repeat.max
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 2913
        line_start: 2912
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.type_repeat.start_eptr
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 2914
        line_start: 2913
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.type_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 2915
        line_start: 2914
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.type_repeat.max
    - item_type: preproc_def
      name: Lctype
      pos:
        line_end: 2916
        line_start: 2915
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.type_repeat.ctype
    - item_type: preproc_def
      name: Lpropvalue
      pos:
        line_end: 2917
        line_start: 2916
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.type_repeat.propvalue
    - item_type: preproc_def
      name: Lstart
      pos:
        line_end: 5241
        line_start: 5240
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.ref_repeat.start
    - item_type: preproc_def
      name: Loffset
      pos:
        line_end: 5242
        line_start: 5241
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.ref_repeat.offset
    - item_type: preproc_def
      name: Llength
      pos:
        line_end: 5243
        line_start: 5242
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.ref_repeat.length
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 5244
        line_start: 5243
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.ref_repeat.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 5245
        line_start: 5244
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.ref_repeat.max
    - item_type: preproc_def
      name: Lcaseless
      pos:
        line_end: 5246
        line_start: 5245
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte1
    - item_type: preproc_def
      name: Lcaseopts
      pos:
        line_end: 5247
        line_start: 5246
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte2
    - item_type: preproc_def
      name: Lstart_eptr
      pos:
        line_end: 5528
        line_start: 5527
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_brapos.start_eptr
    - item_type: preproc_def
      name: Lstart_group
      pos:
        line_end: 5529
        line_start: 5528
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_brapos.start_group
    - item_type: preproc_def
      name: Lframe_type
      pos:
        line_end: 5530
        line_start: 5529
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_brapos.frame_type
    - item_type: preproc_def
      name: Lmatched_once
      pos:
        line_end: 5531
        line_start: 5530
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte1
    - item_type: preproc_def
      name: Lzero_allowed
      pos:
        line_end: 5532
        line_start: 5531
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte2
    - item_type: preproc_def
      name: Lframe_type
      pos:
        line_end: 5620
        line_start: 5619
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_bra.frame_type
    - item_type: preproc_def
      name: Lstart_branch
      pos:
        line_end: 5704
        line_start: 5703
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_recurse.start_branch
    - item_type: preproc_def
      name: Lframe_type
      pos:
        line_end: 5705
        line_start: 5704
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_recurse.frame_type
    - item_type: preproc_def
      name: Lsaved_end_subject
      pos:
        line_end: 5861
        line_start: 5860
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_assert_scs.saved_end_subject
    - item_type: preproc_def
      name: Lsaved_eptr
      pos:
        line_end: 5862
        line_start: 5861
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_assert_scs.saved_eptr
    - item_type: preproc_def
      name: Ltrue_end_extra
      pos:
        line_end: 5863
        line_start: 5862
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_assert_scs.true_end_extra
    - item_type: preproc_def
      name: Lextra_size
      pos:
        line_end: 5864
        line_start: 5863
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_assert_scs.extra_size
    - item_type: preproc_def
      name: Lsaved_moptions
      pos:
        line_end: 5865
        line_start: 5864
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_assert_scs.saved_moptions
    - item_type: preproc_def
      name: Lstart_branch
      pos:
        line_end: 6004
        line_start: 6003
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_cond.start_branch
    - item_type: preproc_def
      name: Llength
      pos:
        line_end: 6005
        line_start: 6004
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_cond.length
    - item_type: preproc_def
      name: Lpositive
      pos:
        line_end: 6006
        line_start: 6005
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->byte1
    - item_type: preproc_def
      name: Lmin
      pos:
        line_end: 6230
        line_start: 6229
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_vreverse.min
    - item_type: preproc_def
      name: Lmax
      pos:
        line_end: 6231
        line_start: 6230
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: F->fields.op_vreverse.max
    - item_type: preproc_def
      name: FF
      pos:
        line_end: 7080
        line_start: 7079
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (PCRE2_NOTEMPTY_SET|PCRE2_NE_ATST_SET)
    - item_type: preproc_def
      name: OO
      pos:
        line_end: 7081
        line_start: 7080
        source_file: /src/pcre2/src/pcre2_match.c
      type_or_value: (PCRE2_NOTEMPTY|PCRE2_NOTEMPTY_ATSTART)
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_char_prop
  - get_repeat_base
  - get_chr_property_list
  - compare_opcodes
  - PRIV
  source_file: /src/pcre2/src/pcre2_auto_possess.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LIST
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/pcre2/src/pcre2_auto_possess.c
      type_or_value: '8'
    - item_type: preproc_def
      name: APTROWS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2_auto_possess.c
      type_or_value: (LAST_AUTOTAB_LEFT_OP - FIRST_AUTOTAB_OP + 1)
    - item_type: preproc_def
      name: APTCOLS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/pcre2/src/pcre2_auto_possess.c
      type_or_value: (LAST_AUTOTAB_RIGHT_OP - FIRST_AUTOTAB_OP + 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - PUT
  - GET
  - PUT
  - GET
  - PUT
  - GET
  - PUT
  - GET
  - PUT
  - GET
  - PUT
  - GET
  - GET2
  - PUT2
  - GET2
  - PUT2
  - MAX_255
  - TABLE_GET
  - CHMAX_255
  - CHMAX_255
  - CHMAX_255
  - MAX_255
  - TABLE_GET
  - GETCHAR
  - GETCHARTEST
  - GETCHARINC
  - GETCHARINCTEST
  - GETCHARLEN
  - PUTCHAR
  - HAS_EXTRALEN
  - GET_EXTRALEN
  - NOT_FIRSTCU
  - GETCHAR
  - GETCHARTEST
  - GETCHARINC
  - GETCHARINCTEST
  - GETCHARLEN
  - GETCHARLENTEST
  - BACKCHAR
  - FORWARDCHAR
  - FORWARDCHARTEST
  - ACROSSCHAR
  - PUTCHAR
  - HAS_EXTRALEN
  - GET_EXTRALEN
  - NOT_FIRSTCU
  - GETUTF16
  - GETCHAR
  - GETCHARTEST
  - GETUTF16INC
  - GETCHARINC
  - GETCHARINCTEST
  - GETUTF16LEN
  - GETCHARLEN
  - GETCHARLENTEST
  - BACKCHAR
  - FORWARDCHAR
  - FORWARDCHARTEST
  - ACROSSCHAR
  - PUTCHAR
  - HAS_EXTRALEN
  - GET_EXTRALEN
  - NOT_FIRSTCU
  - GETCHAR
  - GETCHARTEST
  - GETCHARINC
  - GETCHARINCTEST
  - GETCHARLEN
  - GETCHARLENTEST
  - BACKCHAR
  - FORWARDCHAR
  - FORWARDCHARTEST
  - ACROSSCHAR
  - PUTCHAR
  - CU2BYTES
  - BYTES2CU
  - PUTINC
  - PUT2INC
  source_file: /src/pcre2/src/pcre2_intmodedep.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIGURED_LINK_SIZE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CONFIGURED_LINK_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CONFIGURED_LINK_SIZE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: (1 << 24)
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '(1 << 30)   '
    - item_type: preproc_def
      name: LINK_SIZE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: LINK_SIZE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '(1 << 30)  '
    - item_type: preproc_def
      name: LINK_SIZE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_PATTERN_SIZE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '(1 << 30)  '
    - item_type: preproc_def
      name: IMM2_SIZE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IMM2_SIZE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_MARK
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: ((1u << 8) - 1)
    - item_type: preproc_def
      name: MAX_MARK
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: ((1u << 16) - 1)
    - item_type: preproc_def
      name: MAX_UTF_SINGLE_CU
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '127'
    - item_type: preproc_def
      name: MAX_UTF_SINGLE_CU
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: MAX_UTF_SINGLE_CU
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: (0x10ffffu)
    - item_type: preproc_def
      name: CODE_BLOCKSIZE_TYPE
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: PCRE2_SIZE
    - item_type: preproc_def
      name: LOOKBEHIND_MAX
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: ((int)UINT16_MAX)
    - item_type: preproc_def
      name: HEAPFRAME_ALIGNMENT
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/pcre2/src/pcre2_intmodedep.h
      type_or_value: offsetof(heapframe_align, frame)
    structs:
    - fields:
      - name: memctl
        type: pcre2_memctl
      item_type: struct
      name: pcre2_real_general_context
      pos:
        line_end: 596
        line_start: 594
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: (*stack_guard)(uint32_t, void *)
        type: int
      - name: '*stack_guard_data'
        type: void
      - name: '*tables'
        type: uint8_t
      - name: max_pattern_length
        type: PCRE2_SIZE
      - name: max_pattern_compiled_length
        type: PCRE2_SIZE
      - name: bsr_convention
        type: uint16_t
      - name: newline_convention
        type: uint16_t
      - name: parens_nest_limit
        type: uint32_t
      - name: extra_options
        type: uint32_t
      - name: max_varlookbehind
        type: uint32_t
      - name: optimization_flags
        type: uint32_t
      item_type: struct
      name: pcre2_real_compile_context
      pos:
        line_end: 613
        line_start: 600
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: (*callout)(pcre2_callout_block *, void *)
        type: int
      - name: '*callout_data'
        type: void
      - name: (*substitute_callout)(pcre2_substitute_callout_block *, void *)
        type: int
      - name: '*substitute_callout_data'
        type: void
      - name: "(*substitute_case_callout)(PCRE2_SPTR, PCRE2_SIZE, PCRE2_UCHAR *,\n
          \                                       PCRE2_SIZE, int, void *)"
        type: PCRE2_SIZE
      - name: '*substitute_case_callout_data'
        type: void
      - name: offset_limit
        type: PCRE2_SIZE
      - name: heap_limit
        type: uint32_t
      - name: match_limit
        type: uint32_t
      - name: depth_limit
        type: uint32_t
      item_type: struct
      name: pcre2_real_match_context
      pos:
        line_end: 634
        line_start: 617
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: glob_separator
        type: uint32_t
      - name: glob_escape
        type: uint32_t
      item_type: struct
      name: pcre2_real_convert_context
      pos:
        line_end: 642
        line_start: 638
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: '*tables'
        type: uint8_t
      - name: '*executable_jit'
        type: void
      - name: start_bitmap[32]
        type: uint8_t
      - name: blocksize
        type: CODE_BLOCKSIZE_TYPE
      - name: code_start
        type: CODE_BLOCKSIZE_TYPE
      - name: magic_number
        type: uint32_t
      - name: compile_options
        type: uint32_t
      - name: overall_options
        type: uint32_t
      - name: extra_options
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: limit_heap
        type: uint32_t
      - name: limit_match
        type: uint32_t
      - name: limit_depth
        type: uint32_t
      - name: first_codeunit
        type: uint32_t
      - name: last_codeunit
        type: uint32_t
      - name: bsr_convention
        type: uint16_t
      - name: newline_convention
        type: uint16_t
      - name: max_lookbehind
        type: uint16_t
      - name: minlength
        type: uint16_t
      - name: top_bracket
        type: uint16_t
      - name: top_backref
        type: uint16_t
      - name: name_entry_size
        type: uint16_t
      - name: name_count
        type: uint16_t
      - name: optimization_flags
        type: uint32_t
      item_type: struct
      name: pcre2_real_code
      pos:
        line_end: 685
        line_start: 659
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: '*code'
        type: pcre2_real_code
      - name: subject
        type: PCRE2_SPTR
      - name: mark
        type: PCRE2_SPTR
      - name: '*heapframes'
        type: struct heapframe
      - name: heapframes_size
        type: PCRE2_SIZE
      - name: subject_length
        type: PCRE2_SIZE
      - name: start_offset
        type: PCRE2_SIZE
      - name: leftchar
        type: PCRE2_SIZE
      - name: rightchar
        type: PCRE2_SIZE
      - name: startchar
        type: PCRE2_SIZE
      - name: matchedby
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: oveccount
        type: uint16_t
      - name: options
        type: uint32_t
      - name: rc
        type: int
      - name: ovector[131072]
        type: PCRE2_SIZE
      item_type: struct
      name: pcre2_real_match_data
      pos:
        line_end: 715
        line_start: 697
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*prev'
        type: struct recurse_check
      - name: group
        type: PCRE2_SPTR
      item_type: struct
      name: recurse_check
      pos:
        line_end: 730
        line_start: 727
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*prev'
        type: struct parsed_recurse_check
      - name: '*groupptr'
        type: uint32_t
      item_type: struct
      name: parsed_recurse_check
      pos:
        line_end: 735
        line_start: 732
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: group
        type: PCRE2_SPTR
      - name: groupnumber
        type: int
      item_type: struct
      name: recurse_cache
      pos:
        line_end: 742
        line_start: 739
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*outer'
        type: struct branch_chain
      - name: '*current_branch'
        type: PCRE2_UCHAR
      item_type: struct
      name: branch_chain
      pos:
        line_end: 750
        line_start: 747
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: name
        type: PCRE2_SPTR
      - name: number
        type: uint32_t
      - name: length
        type: uint16_t
      - name: hash_dup
        type: uint16_t
      item_type: struct
      name: named_group
      pos:
        line_end: 762
        line_start: 756
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*next'
        type: struct compile_data
      item_type: struct
      name: compile_data
      pos:
        line_end: 771
        line_start: 766
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: header
        type: compile_data
      - name: char_lists_size
        type: size_t
      - name: char_lists_start
        type: size_t
      - name: range_list_size
        type: uint16_t
      - name: char_lists_types
        type: uint16_t
      item_type: struct
      name: class_ranges
      pos:
        line_end: 783
        line_start: 776
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: header
        type: compile_data
      - name: size
        type: size_t
      - name: skip_size
        type: size_t
      item_type: struct
      name: recurse_arguments
      pos:
        line_end: 791
        line_start: 787
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*cx'
        type: pcre2_real_compile_context
      - name: '*lcc'
        type: uint8_t
      - name: '*fcc'
        type: uint8_t
      - name: '*cbits'
        type: uint8_t
      - name: '*ctypes'
        type: uint8_t
      - name: '*start_workspace'
        type: PCRE2_UCHAR
      - name: '*start_code'
        type: PCRE2_UCHAR
      - name: start_pattern
        type: PCRE2_SPTR
      - name: end_pattern
        type: PCRE2_SPTR
      - name: '*name_table'
        type: PCRE2_UCHAR
      - name: workspace_size
        type: PCRE2_SIZE
      - name: small_ref_offset[10]
        type: PCRE2_SIZE
      - name: erroroffset
        type: PCRE2_SIZE
      - name: classbits
        type: class_bits_storage
      - name: names_found
        type: uint16_t
      - name: name_entry_size
        type: uint16_t
      - name: parens_depth
        type: uint16_t
      - name: assert_depth
        type: uint16_t
      - name: '*named_groups'
        type: named_group
      - name: named_group_list_size
        type: uint32_t
      - name: external_options
        type: uint32_t
      - name: external_flags
        type: uint32_t
      - name: bracount
        type: uint32_t
      - name: lastcapture
        type: uint32_t
      - name: '*parsed_pattern'
        type: uint32_t
      - name: '*parsed_pattern_end'
        type: uint32_t
      - name: '*groupinfo'
        type: uint32_t
      - name: top_backref
        type: uint32_t
      - name: backref_map
        type: uint32_t
      - name: nltype
        type: uint32_t
      - name: nllen
        type: uint32_t
      - name: nl[4]
        type: PCRE2_UCHAR
      - name: class_op_used[ECLASS_NEST_LIMIT]
        type: uint8_t
      - name: req_varyopt
        type: uint32_t
      - name: max_varlookbehind
        type: uint32_t
      - name: max_lookbehind
        type: int
      - name: had_accept
        type: BOOL
      - name: had_pruneorskip
        type: BOOL
      - name: had_recurse
        type: BOOL
      - name: dupnames
        type: BOOL
      - name: '*first_data'
        type: compile_data
      - name: '*last_data'
        type: compile_data
      item_type: struct
      name: compile_block
      pos:
        line_end: 848
        line_start: 801
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: '* stack'
        type: void
      item_type: struct
      name: pcre2_real_jit_stack
      pos:
        line_end: 856
        line_start: 853
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: '*prevrec'
        type: struct dfa_recursion_info
      - name: subject_position
        type: PCRE2_SPTR
      - name: last_used_ptr
        type: PCRE2_SPTR
      - name: group_num
        type: uint32_t
      item_type: struct
      name: dfa_recursion_info
      pos:
        line_end: 866
        line_start: 861
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: ecode
        type: PCRE2_SPTR
      - name: back_frame
        type: PCRE2_SIZE
      - name: rdepth
        type: uint32_t
      - name: group_frame_type
        type: uint32_t
      - name: return_id
        type: uint8_t
      - name: op
        type: uint8_t
      - name: byte1
        type: uint8_t
      - name: byte2
        type: uint8_t
      - name: fields
        type: "union {\n    /* Fields for storing localized data, which\n    is preserved
          by RMATCH() calls. */\n\n    struct {\n      PCRE2_SPTR start_eptr;\n      PCRE2_SPTR
          charptr;\n      uint32_t min;\n      uint32_t max;\n      uint32_t c;\n
          \     union {\n        uint32_t oc;\n        /* Buffer for other case code
          units. The size of\n        the buffer is enough to store the longest character.
          */\n#if PCRE2_CODE_UNIT_WIDTH == 8\n        PCRE2_UCHAR occu[4];\n#elif
          PCRE2_CODE_UNIT_WIDTH == 16\n        PCRE2_UCHAR occu[2];\n#else\n        PCRE2_UCHAR
          occu[1];\n#endif\n      } oc;\n    } char_repeat;\n\n    struct {\n      PCRE2_SPTR
          start_eptr;\n      uint32_t min;\n      uint32_t max;\n      uint32_t c;\n
          \     uint32_t oc;\n    } charnot_repeat;\n\n    struct {\n      PCRE2_SPTR
          start_eptr;\n      PCRE2_SPTR byte_map_address;\n      uint32_t min;\n      uint32_t
          max;\n    } class_repeat;\n\n    struct {\n      PCRE2_SPTR start_eptr;\n
          \     PCRE2_SPTR xclass_data;\n      uint32_t min;\n      uint32_t max;\n
          \   } xclass_repeat;\n\n    struct {\n      PCRE2_SPTR start_eptr;\n      PCRE2_SPTR
          eclass_data;\n      PCRE2_SIZE eclass_len;\n      uint32_t min;\n      uint32_t
          max;\n    } eclass_repeat;\n\n    struct {\n      PCRE2_SPTR start_eptr;\n
          \     uint32_t min;\n      uint32_t max;\n      uint32_t ctype;\n      uint32_t
          propvalue;\n    } type_repeat;\n\n    struct {\n      PCRE2_SPTR start;\n
          \     PCRE2_SIZE offset;\n      PCRE2_SIZE length;\n      uint32_t min;\n
          \     uint32_t max;\n    } ref_repeat;\n\n    struct {\n      uint32_t frame_type;
          \   /* Set for all that use GROUPLOOP */\n    } op_bra;\n\n    struct {\n
          \     PCRE2_SPTR start_eptr;\n      PCRE2_SPTR start_group;\n      uint32_t
          frame_type;\n    } op_brapos;\n\n    struct {\n      PCRE2_SPTR start_branch;\n
          \     uint32_t frame_type;\n    } op_recurse;\n\n    struct {\n      PCRE2_SPTR
          saved_end_subject;\n      PCRE2_SPTR saved_eptr;\n      PCRE2_SIZE true_end_extra;\n
          \     uint32_t saved_moptions;\n    } op_assert_scs;\n\n    struct {\n      PCRE2_SPTR
          start_branch;\n      PCRE2_SIZE length;\n    } op_cond;\n\n    struct {\n
          \     uint32_t min;\n      uint32_t max;\n    } op_vreverse;\n  }"
      - name: eptr
        type: PCRE2_SPTR
      - name: start_match
        type: PCRE2_SPTR
      - name: mark
        type: PCRE2_SPTR
      - name: recurse_last_used
        type: PCRE2_SPTR
      - name: current_recurse
        type: uint32_t
      - name: capture_last
        type: uint32_t
      - name: last_group_offset
        type: PCRE2_SIZE
      - name: offset_top
        type: PCRE2_SIZE
      - name: ovector[131072]
        type: PCRE2_SIZE
      item_type: struct
      name: heapframe
      pos:
        line_end: 1014
        line_start: 875
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: unalign
        type: char
      - name: frame
        type: heapframe
      item_type: struct
      name: heapframe_align
      pos:
        line_end: 1026
        line_start: 1023
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: heap_limit
        type: uint32_t
      - name: match_limit
        type: uint32_t
      - name: match_limit_depth
        type: uint32_t
      - name: match_call_count
        type: uint32_t
      - name: hitend
        type: BOOL
      - name: hasthen
        type: BOOL
      - name: hasbsk
        type: BOOL
      - name: allowemptypartial
        type: BOOL
      - name: allowlookaroundbsk
        type: BOOL
      - name: '*lcc'
        type: uint8_t
      - name: '*fcc'
        type: uint8_t
      - name: '*ctypes'
        type: uint8_t
      - name: start_offset
        type: PCRE2_SIZE
      - name: end_offset_top
        type: PCRE2_SIZE
      - name: partial
        type: uint16_t
      - name: bsr_convention
        type: uint16_t
      - name: name_count
        type: uint16_t
      - name: name_entry_size
        type: uint16_t
      - name: name_table
        type: PCRE2_SPTR
      - name: start_code
        type: PCRE2_SPTR
      - name: start_subject
        type: PCRE2_SPTR
      - name: check_subject
        type: PCRE2_SPTR
      - name: end_subject
        type: PCRE2_SPTR
      - name: true_end_subject
        type: PCRE2_SPTR
      - name: end_match_ptr
        type: PCRE2_SPTR
      - name: start_used_ptr
        type: PCRE2_SPTR
      - name: last_used_ptr
        type: PCRE2_SPTR
      - name: mark
        type: PCRE2_SPTR
      - name: nomatch_mark
        type: PCRE2_SPTR
      - name: verb_ecode_ptr
        type: PCRE2_SPTR
      - name: verb_skip_ptr
        type: PCRE2_SPTR
      - name: verb_current_recurse
        type: uint32_t
      - name: moptions
        type: uint32_t
      - name: poptions
        type: uint32_t
      - name: skip_arg_count
        type: uint32_t
      - name: ignore_skip_arg
        type: uint32_t
      - name: nltype
        type: uint32_t
      - name: nllen
        type: uint32_t
      - name: nl[4]
        type: PCRE2_UCHAR
      - name: '*cb'
        type: pcre2_callout_block
      - name: '*callout_data'
        type: void
      - name: (*callout)(pcre2_callout_block *,void *)
        type: int
      item_type: struct
      name: match_block
      pos:
        line_end: 1079
        line_start: 1035
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    - fields:
      - name: memctl
        type: pcre2_memctl
      - name: start_code
        type: PCRE2_SPTR
      - name: start_subject
        type: PCRE2_SPTR
      - name: end_subject
        type: PCRE2_SPTR
      - name: start_used_ptr
        type: PCRE2_SPTR
      - name: last_used_ptr
        type: PCRE2_SPTR
      - name: '*tables'
        type: uint8_t
      - name: start_offset
        type: PCRE2_SIZE
      - name: heap_limit
        type: uint32_t
      - name: heap_used
        type: PCRE2_SIZE
      - name: match_limit
        type: uint32_t
      - name: match_limit_depth
        type: uint32_t
      - name: match_call_count
        type: uint32_t
      - name: moptions
        type: uint32_t
      - name: poptions
        type: uint32_t
      - name: nltype
        type: uint32_t
      - name: nllen
        type: uint32_t
      - name: allowemptypartial
        type: BOOL
      - name: nl[4]
        type: PCRE2_UCHAR
      - name: bsr_convention
        type: uint16_t
      - name: '*cb'
        type: pcre2_callout_block
      - name: '*callout_data'
        type: void
      - name: (*callout)(pcre2_callout_block *,void *)
        type: int
      - name: '*recursive'
        type: dfa_recursion_info
      item_type: struct
      name: dfa_match_block
      pos:
        line_end: 1109
        line_start: 1084
        source_file: /src/pcre2/src/pcre2_intmodedep.h
    typedefs: []
    union:
    - fields:
      - name: classbits[32]
        type: uint8_t
      - name: classwords[8]
        type: uint32_t
      item_type: union
      name: class_bits_storage
      pos:
        line_end: 796
        line_start: 793
        source_file: /src/pcre2/src/pcre2_intmodedep.h
- function_names:
  - INTERACTIVE
  - _setmode
  - glue
  - G
  - stringify
  - STR
  - PRINTABLE
  - PRINTABLE
  - CHAR_OUTPUT
  - CHAR_OUTPUT_HEX
  - CHAR_INPUT
  - CHAR_INPUT_HEX
  - CHAR_OUTPUT
  - CHAR_OUTPUT_HEX
  - CHAR_INPUT
  - CHAR_INPUT_HEX
  - CHAR_OUTPUT
  - CHAR_OUTPUT_HEX
  - CHAR_INPUT
  - CHAR_INPUT_HEX
  - PRIV
  - U32OVERFLOW
  - U32OVERFLOW
  - S32OVERFLOW
  - S32OVERFLOW
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - patctl_zero
  - datctl_zero
  - CO
  - MO
  - PO
  - DO
  - should_print_colour
  - colour_begin
  - colour_end
  - cfprintf
  - reset_callout_state
  - my_malloc
  - my_free
  - stack_guard
  - printable
  - ascii_to_ebcdic_str
  - ebcdic_to_ascii_str
  - ascii_to_ebcdic
  - ebcdic_to_ascii
  - utf8_to_ord
  - utf16_to_ord
  - ord_to_utf8
  - pchar
  - expand_input_buffers
  - extend_inputline
  - strncmpic
  - scan_modifiers
  - error_direction
  - prmsg
  - show_controls
  - show_compile_options
  - show_compile_extra_options
  - show_optimize_flags
  - show_match_options
  - open_file
  - case_transform
  - show_ovector
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - PCRE2_SUFFIX
  - DISPATCH
  - DISPATCH
  - DISPATCH
  - jit_compile_test
  - pcre2_config
  - config_str
  - decode_modifiers
  - print_error_message_file
  - process_command
  - process_pattern
  - have_active_pattern
  - free_active_pattern
  - process_data
  - init_globals
  - free_globals
  - unittest
  - print_version
  - print_unicode_version
  - print_jit_target
  - print_newline_config
  - usage
  - c_option
  - format_list_item
  - display_properties
  - display_one_modifier
  - display_selected_modifiers
  - display_modifiers
  - main
  source_file: /src/pcre2/src/pcre2test.c
  types:
    enum:
    - enumerators:
      - name: FORCE_NONE
      - name: FORCE_UTF
      - name: FORCE_RAW
      item_type: enum
      name: force_encoding
      pos:
        line_end: 1061
        line_start: 1057
        source_file: /src/pcre2/src/pcre2test.c
    preproc_defs:
    - item_type: preproc_def
      name: INPUT_MODE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"r"'
    - item_type: preproc_def
      name: OUTPUT_MODE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: BINARY_INPUT_MODE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"rb"'
    - item_type: preproc_def
      name: BINARY_OUTPUT_MODE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: isatty
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '_isatty         '
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: _fileno
    - item_type: preproc_def
      name: INPUT_MODE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"r"'
    - item_type: preproc_def
      name: OUTPUT_MODE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"w"'
    - item_type: preproc_def
      name: BINARY_INPUT_MODE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"rb"'
    - item_type: preproc_def
      name: BINARY_OUTPUT_MODE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: INPUT_MODE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"rb"'
    - item_type: preproc_def
      name: OUTPUT_MODE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: BINARY_INPUT_MODE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"rb"'
    - item_type: preproc_def
      name: BINARY_OUTPUT_MODE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: PTR_FORM
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PTR_FORM
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: PTR_FORM
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"td"'
    - item_type: preproc_def
      name: SIZ_FORM
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: CLOCKS_PER_SEC
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: CLK_TCK
    - item_type: preproc_def
      name: CLOCKS_PER_SEC
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '100'
    - item_type: preproc_def
      name: CFORE_UNSET
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 'UINT32_MAX    '
    - item_type: preproc_def
      name: CONVERT_UNSET
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 'UINT32_MAX  '
    - item_type: preproc_def
      name: MOD_STR_UNSET
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 'UINT8_MAX   '
    - item_type: preproc_def
      name: DFA_WS_DIMENSION
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1000     '
    - item_type: preproc_def
      name: DEFAULT_OVECCOUNT
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '15      '
    - item_type: preproc_def
      name: JUNK_OFFSET
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0xdeadbeef    '
    - item_type: preproc_def
      name: LOCALESIZE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32             '
    - item_type: preproc_def
      name: LOOPREPEAT
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '500000         '
    - item_type: preproc_def
      name: MALLOCLISTSIZE
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '20         '
    - item_type: preproc_def
      name: PARENS_NEST_DEFAULT
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '220   '
    - item_type: preproc_def
      name: PATSTACKSIZE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '20           '
    - item_type: preproc_def
      name: REPLACE_MODSIZE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '100       '
    - item_type: preproc_def
      name: SUBSTITUTE_SUBJECT_MODSIZE
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '100 '
    - item_type: preproc_def
      name: REPLACE_BUFFSIZE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '256      '
    - item_type: preproc_def
      name: JIT_DEFAULT
      pos:
        line_end: 238
        line_start: 235
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(PCRE2_JIT_COMPLETE|\\\n                     PCRE2_JIT_PARTIAL_SOFT|\\\n
        \                    PCRE2_JIT_PARTIAL_HARD)"
    - item_type: preproc_def
      name: PCRE2TEST_MODE_8
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2TEST_MODE_16
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2TEST_MODE_32
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: EBCDIC_IO
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EBCDIC_IO
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2_SPTR
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: PCRE2_SPTR8
    - item_type: preproc_def
      name: PCRE2_SPTR
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: PCRE2_SUFFIX(PCRE2_SPTR)
    - item_type: preproc_def
      name: DEFAULT_TEST_MODE
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: PCRE2TEST_MODE_8
    - item_type: preproc_def
      name: PCRE2_REAL_COMPILE_CONTEXT
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_compile_context_8
    - item_type: preproc_def
      name: PCRE2_REAL_MATCH_CONTEXT
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_match_context_8
    - item_type: preproc_def
      name: DEFAULT_TEST_MODE
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: PCRE2TEST_MODE_16
    - item_type: preproc_def
      name: PCRE2_REAL_COMPILE_CONTEXT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_compile_context_16
    - item_type: preproc_def
      name: PCRE2_REAL_MATCH_CONTEXT
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_match_context_16
    - item_type: preproc_def
      name: DEFAULT_TEST_MODE
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: PCRE2TEST_MODE_32
    - item_type: preproc_def
      name: PCRE2_REAL_COMPILE_CONTEXT
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_compile_context_32
    - item_type: preproc_def
      name: PCRE2_REAL_MATCH_CONTEXT
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: pcre2_real_match_context_32
    - item_type: preproc_def
      name: cmdlistcount
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (sizeof(cmdlist)/sizeof(cmdstruct))
    - item_type: preproc_def
      name: convertlistcount
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (sizeof(convertlist)/sizeof(convertstruct))
    - item_type: preproc_def
      name: CTL_AFTERTEXT
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000001u
    - item_type: preproc_def
      name: CTL_ALLAFTERTEXT
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: CTL_ALLCAPTURES
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000004u
    - item_type: preproc_def
      name: CTL_ALLUSEDTEXT
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000008u
    - item_type: preproc_def
      name: CTL_ALTGLOBAL
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000010u
    - item_type: preproc_def
      name: CTL_BINCODE
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000020u
    - item_type: preproc_def
      name: CTL_CALLOUT_CAPTURE
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000040u
    - item_type: preproc_def
      name: CTL_CALLOUT_INFO
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000080u
    - item_type: preproc_def
      name: CTL_CALLOUT_NONE
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000100u
    - item_type: preproc_def
      name: CTL_DFA
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000200u
    - item_type: preproc_def
      name: CTL_EXPAND
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000400u
    - item_type: preproc_def
      name: CTL_FINDLIMITS
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000800u
    - item_type: preproc_def
      name: CTL_FINDLIMITS_NOHEAP
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00001000u
    - item_type: preproc_def
      name: CTL_FULLBINCODE
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00002000u
    - item_type: preproc_def
      name: CTL_GETALL
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00004000u
    - item_type: preproc_def
      name: CTL_GLOBAL
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00008000u
    - item_type: preproc_def
      name: CTL_HEXPAT
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x00010000u  '
    - item_type: preproc_def
      name: CTL_INFO
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00020000u
    - item_type: preproc_def
      name: CTL_JITFAST
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00040000u
    - item_type: preproc_def
      name: CTL_JITVERIFY
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00080000u
    - item_type: preproc_def
      name: CTL_MARK
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00100000u
    - item_type: preproc_def
      name: CTL_MEMORY
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00200000u
    - item_type: preproc_def
      name: CTL_NULLCONTEXT
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00400000u
    - item_type: preproc_def
      name: CTL_POSIX
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00800000u
    - item_type: preproc_def
      name: CTL_POSIX_NOSUB
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x01000000u
    - item_type: preproc_def
      name: CTL_PUSH
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x02000000u  '
    - item_type: preproc_def
      name: CTL_PUSHCOPY
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x04000000u  '
    - item_type: preproc_def
      name: CTL_PUSHTABLESCOPY
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x08000000u  '
    - item_type: preproc_def
      name: CTL_STARTCHAR
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x10000000u
    - item_type: preproc_def
      name: CTL_USE_LENGTH
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x20000000u  '
    - item_type: preproc_def
      name: CTL_UTF8_INPUT
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x40000000u
    - item_type: preproc_def
      name: CTL_ZERO_TERMINATE
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: CTL_DEBUG
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '(CTL_FULLBINCODE|CTL_INFO)  '
    - item_type: preproc_def
      name: CTL_ANYGLOB
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (CTL_ALTGLOBAL|CTL_GLOBAL)
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_CALLOUT
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000001u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_EXTENDED
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_LITERAL
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000004u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_MATCHED
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000008u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_OVERFLOW_LENGTH
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000010u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_REPLACEMENT_ONLY
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000020u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_UNKNOWN_UNSET
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000040u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_UNSET_EMPTY
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000080u
    - item_type: preproc_def
      name: CTL2_SUBJECT_LITERAL
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000100u
    - item_type: preproc_def
      name: CTL2_CALLOUT_NO_WHERE
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000200u
    - item_type: preproc_def
      name: CTL2_CALLOUT_EXTRA
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000400u
    - item_type: preproc_def
      name: CTL2_ALLVECTOR
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00000800u
    - item_type: preproc_def
      name: CTL2_NULL_PATTERN
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00001000u
    - item_type: preproc_def
      name: CTL2_NULL_SUBJECT
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00002000u
    - item_type: preproc_def
      name: CTL2_NULL_REPLACEMENT
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00004000u
    - item_type: preproc_def
      name: CTL2_FRAMESIZE
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00008000u
    - item_type: preproc_def
      name: CTL2_SUBSTITUTE_CASE_CALLOUT
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00010000u
    - item_type: preproc_def
      name: CTL2_NULL_SUBSTITUTE_MATCH_DATA
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: 0x00020000u
    - item_type: preproc_def
      name: CTL2_HEAPFRAMES_SIZE
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x20000000u  '
    - item_type: preproc_def
      name: CTL2_NL_SET
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x40000000u  '
    - item_type: preproc_def
      name: CTL2_BSR_SET
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0x80000000u  '
    - item_type: preproc_def
      name: CTL_ALLPD
      pos:
        line_end: 605
        line_start: 596
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(CTL_AFTERTEXT|\\\n                    CTL_ALLAFTERTEXT|\\\n
        \                   CTL_ALLCAPTURES|\\\n                    CTL_ALLUSEDTEXT|\\\n
        \                   CTL_ALTGLOBAL|\\\n                    CTL_GLOBAL|\\\n
        \                   CTL_MARK|\\\n                    CTL_STARTCHAR|\\\n                    CTL_UTF8_INPUT)"
    - item_type: preproc_def
      name: CTL2_ALLPD
      pos:
        line_end: 618
        line_start: 606
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(CTL2_SUBSTITUTE_CALLOUT|\\\n                    CTL2_SUBSTITUTE_EXTENDED|\\\n
        \                   CTL2_SUBSTITUTE_LITERAL|\\\n                    CTL2_SUBSTITUTE_MATCHED|\\\n
        \                   CTL2_SUBSTITUTE_OVERFLOW_LENGTH|\\\n                    CTL2_SUBSTITUTE_REPLACEMENT_ONLY|\\\n
        \                   CTL2_SUBSTITUTE_UNKNOWN_UNSET|\\\n                    CTL2_SUBSTITUTE_UNSET_EMPTY|\\\n
        \                   CTL2_ALLVECTOR|\\\n                    CTL2_SUBSTITUTE_CASE_CALLOUT|\\\n
        \                   CTL2_NULL_SUBSTITUTE_MATCH_DATA|\\\n                    CTL2_HEAPFRAMES_SIZE)"
    - item_type: preproc_def
      name: MAXCPYGET
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LENCPYGET
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '64'
    - item_type: preproc_def
      name: PCRE2_EXTRA_ASCII_ALL
      pos:
        line_end: 730
        line_start: 728
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(PCRE2_EXTRA_ASCII_BSD|PCRE2_EXTRA_ASCII_BSS| \\\n  PCRE2_EXTRA_ASCII_BSW|PCRE2_EXTRA_ASCII_POSIX)"
    - item_type: preproc_def
      name: MODLISTCOUNT
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: sizeof(modlist)/sizeof(modstruct)
    - item_type: preproc_def
      name: POSIX_SUPPORTED_COMPILE_OPTIONS
      pos:
        line_end: 897
        line_start: 894
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "( \\\n  PCRE2_CASELESS|PCRE2_DOTALL|PCRE2_LITERAL|PCRE2_MULTILINE|PCRE2_UCP|
        \\\n  PCRE2_UTF|PCRE2_UNGREEDY)"
    - item_type: preproc_def
      name: POSIX_SUPPORTED_COMPILE_EXTRA_OPTIONS
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (0)
    - item_type: preproc_def
      name: POSIX_SUPPORTED_COMPILE_CONTROLS
      pos:
        line_end: 903
        line_start: 900
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "( \\\n  CTL_AFTERTEXT|CTL_ALLAFTERTEXT|CTL_EXPAND|CTL_HEXPAT|CTL_POSIX|
        \\\n  CTL_POSIX_NOSUB|CTL_USE_LENGTH)"
    - item_type: preproc_def
      name: POSIX_SUPPORTED_COMPILE_CONTROLS2
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (0)
    - item_type: preproc_def
      name: POSIX_SUPPORTED_MATCH_OPTIONS
      pos:
        line_end: 908
        line_start: 906
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "( \\\n  PCRE2_NOTBOL|PCRE2_NOTEMPTY|PCRE2_NOTEOL)"
    - item_type: preproc_def
      name: POSIX_SUPPORTED_MATCH_CONTROLS
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (CTL_AFTERTEXT|CTL_ALLAFTERTEXT)
    - item_type: preproc_def
      name: POSIX_SUPPORTED_MATCH_CONTROLS2
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (CTL2_NULL_SUBJECT)
    - item_type: preproc_def
      name: PUSH_SUPPORTED_COMPILE_CONTROLS
      pos:
        line_end: 918
        line_start: 914
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "( \\\n  CTL_BINCODE|CTL_CALLOUT_INFO|CTL_FULLBINCODE|CTL_HEXPAT|CTL_INFO|
        \\\n  CTL_JITVERIFY|CTL_MEMORY|CTL_PUSH|CTL_PUSHCOPY| \\\n  CTL_PUSHTABLESCOPY|CTL_USE_LENGTH)"
    - item_type: preproc_def
      name: PUSH_SUPPORTED_COMPILE_CONTROLS2
      pos:
        line_end: 921
        line_start: 919
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(CTL2_BSR_SET| \\\n  CTL2_HEAPFRAMES_SIZE|CTL2_FRAMESIZE|CTL2_NL_SET)"
    - item_type: preproc_def
      name: PUSH_COMPILE_ONLY_CONTROLS
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: CTL_JITVERIFY
    - item_type: preproc_def
      name: PUSH_COMPILE_ONLY_CONTROLS2
      pos:
        line_end: 926
        line_start: 925
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NOTPOP_CONTROLS
      pos:
        line_end: 931
        line_start: 929
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: "(CTL_HEXPAT|CTL_POSIX|CTL_POSIX_NOSUB|CTL_PUSH| \\\n  CTL_PUSHCOPY|CTL_PUSHTABLESCOPY|CTL_USE_LENGTH)"
    - item_type: preproc_def
      name: C1MODLISTCOUNT
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: sizeof(c1modlist)/sizeof(c1modstruct)
    - item_type: preproc_def
      name: SUPPORT_8
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORT_16
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORT_32
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORT_8
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SUPPORT_16
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SUPPORT_32
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SUPPORT_EBCDIC
      pos:
        line_end: 1005
        line_start: 1004
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORT_EBCDIC_NL25
      pos:
        line_end: 1006
        line_start: 1005
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: CHAR_LF == 0x25
    - item_type: preproc_def
      name: SUPPORT_EBCDIC
      pos:
        line_end: 1008
        line_start: 1007
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SUPPORT_EBCDIC_NL25
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BACKSLASH_C
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BACKSLASH_C
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: COPTLISTCOUNT
      pos:
        line_end: 1047
        line_start: 1046
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: sizeof(coptlist)/sizeof(coptstruct)
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 2849
        line_start: 2848
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 2858
        line_start: 2857
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 2867
        line_start: 2866
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 2875
        line_start: 2874
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2905
        line_start: 2904
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BITTWO
      pos:
        line_end: 2906
        line_start: 2905
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2908
        line_start: 2907
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BITTWO
      pos:
        line_end: 2909
        line_start: 2908
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2911
        line_start: 2910
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BITTWO
      pos:
        line_end: 2912
        line_start: 2911
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2922
        line_start: 2921
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2924
        line_start: 2923
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BITONE
      pos:
        line_end: 2926
        line_start: 2925
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_SYNONYMS
      pos:
        line_end: 3418
        line_start: 3417
        source_file: /src/pcre2/src/pcre2test.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: int
      item_type: struct
      name: cmdstruct
      pos:
        line_end: 450
        line_start: 447
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: '*name'
        type: char
      - name: option
        type: uint32_t
      item_type: struct
      name: convertstruct
      pos:
        line_end: 485
        line_start: 482
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: options
        type: uint32_t
      - name: control
        type: uint32_t
      - name: control2
        type: uint32_t
      - name: jitstack
        type: uint32_t
      - name: replacement[1+REPLACE_MODSIZE]
        type: uint8_t
      - name: substitute_skip
        type: uint32_t
      - name: substitute_stop
        type: uint32_t
      - name: jit
        type: uint32_t
      - name: stackguard_test
        type: uint32_t
      - name: tables_id
        type: uint32_t
      - name: convert_type
        type: uint32_t
      - name: convert_length
        type: uint32_t
      - name: convert_glob_escape
        type: uint32_t
      - name: convert_glob_separator
        type: uint32_t
      - name: regerror_buffsize
        type: int32_t
      - name: locale[1+LOCALESIZE]
        type: uint8_t
      item_type: struct
      name: patctl
      pos:
        line_end: 641
        line_start: 624
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: options
        type: uint32_t
      - name: control
        type: uint32_t
      - name: control2
        type: uint32_t
      - name: jitstack
        type: uint32_t
      - name: replacement[1+REPLACE_MODSIZE]
        type: uint8_t
      - name: substitute_skip
        type: uint32_t
      - name: substitute_stop
        type: uint32_t
      - name: substitute_subject[1+SUBSTITUTE_SUBJECT_MODSIZE]
        type: uint8_t
      - name: startend[2]
        type: uint32_t
      - name: cerror[2]
        type: uint32_t
      - name: cfail[2]
        type: uint32_t
      - name: callout_data
        type: int32_t
      - name: copy_numbers[MAXCPYGET]
        type: int32_t
      - name: get_numbers[MAXCPYGET]
        type: int32_t
      - name: oveccount
        type: uint32_t
      - name: offset
        type: PCRE2_SIZE
      - name: copy_names[LENCPYGET]
        type: uint8_t
      - name: get_names[LENCPYGET]
        type: uint8_t
      item_type: struct
      name: datctl
      pos:
        line_end: 665
        line_start: 646
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: '*name'
        type: char
      - name: which
        type: uint16_t
      - name: type
        type: uint16_t
      - name: value
        type: uint32_t
      - name: offset
        type: PCRE2_SIZE
      item_type: struct
      name: modstruct
      pos:
        line_end: 726
        line_start: 720
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: '*fullname'
        type: char
      - name: onechar
        type: uint32_t
      - name: index
        type: int
      item_type: struct
      name: c1modstruct
      pos:
        line_end: 963
        line_start: 959
        source_file: /src/pcre2/src/pcre2test.c
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: uint32_t
      - name: value
        type: uint32_t
      item_type: struct
      name: coptstruct
      pos:
        line_end: 1021
        line_start: 1017
        source_file: /src/pcre2/src/pcre2test.c
    typedefs: []
    union: []
- function_names:
  - STATIC_ASSERT_JOIN
  - STATIC_ASSERT
  - PRIV
  - HASUTF8EXTRALEN
  - GETUTF8
  - GETUTF8INC
  - GETUTF8LEN
  - IS_NEWLINE
  - WAS_NEWLINE
  source_file: /src/pcre2/src/pcre2_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCRE2_KEEP_UNINITIALIZED
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: __attribute__((uninitialized))
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: PCRE2_EXP_DECL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: extern __declspec(dllexport)
    - item_type: preproc_def
      name: PCRE2_EXP_DECL
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: extern PCRE2_EXPORT
    - item_type: preproc_def
      name: PCRE2_EXP_DEFN
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: extern __declspec(dllexport)
    - item_type: preproc_def
      name: PCRE2_EXP_DEFN
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: extern PCRE2_EXPORT
    - item_type: preproc_def
      name: INT64_OR_DOUBLE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: int64_t
    - item_type: preproc_def
      name: INT64_OR_DOUBLE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: double
    - item_type: preproc_def
      name: NOTACHAR
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAX_UTF_CODE_POINT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x10ffff'
    - item_type: preproc_def
      name: COMPILE_ERROR_BASE
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '100'
    - item_type: preproc_def
      name: START_FRAMES_SIZE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '20480'
    - item_type: preproc_def
      name: DFA_START_RWS_SIZE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '30720'
    - item_type: preproc_def
      name: BSR_DEFAULT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_BSR_ANYCRLF
    - item_type: preproc_def
      name: BSR_DEFAULT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_BSR_UNICODE
    - item_type: preproc_def
      name: HSPACE_LIST
      pos:
        line_end: 381
        line_start: 376
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "CHAR_HT, CHAR_SPACE, CHAR_NBSP, \\\n  0x1680, 0x180e, 0x2000,
        0x2001, 0x2002, 0x2003, 0x2004, 0x2005, \\\n  0x2006, 0x2007, 0x2008, 0x2009,
        0x200a, 0x202f, 0x205f, 0x3000, \\\n  NOTACHAR"
    - item_type: preproc_def
      name: HSPACE_MULTIBYTE_CASES
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 'case 0x1680:  '
    - item_type: preproc_def
      name: HSPACE_BYTE_CASES
      pos:
        line_end: 404
        line_start: 400
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "case CHAR_HT: \\\n  case CHAR_SPACE: \\\n  case CHAR_NBSP"
    - item_type: preproc_def
      name: HSPACE_CASES
      pos:
        line_end: 408
        line_start: 405
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "HSPACE_BYTE_CASES: \\\n  HSPACE_MULTIBYTE_CASES"
    - item_type: preproc_def
      name: VSPACE_LIST
      pos:
        line_end: 411
        line_start: 409
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_LF, CHAR_VT, CHAR_FF, CHAR_CR, CHAR_NEL, 0x2028, 0x2029,
        NOTACHAR
    - item_type: preproc_def
      name: case
      pos:
        line_end: 415
        line_start: 412
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x2029     '
    - item_type: preproc_def
      name: VSPACE_BYTE_CASES
      pos:
        line_end: 422
        line_start: 416
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "case CHAR_LF: \\\n  case CHAR_VT: \\\n  case CHAR_FF: \\\n  case
        CHAR_CR: \\\n  case CHAR_NEL"
    - item_type: preproc_def
      name: VSPACE_CASES
      pos:
        line_end: 426
        line_start: 423
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "VSPACE_BYTE_CASES: \\\n  VSPACE_MULTIBYTE_CASES"
    - item_type: preproc_def
      name: HSPACE_LIST
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_HT, CHAR_SPACE, CHAR_NBSP, NOTACHAR
    - item_type: preproc_def
      name: HSPACE_BYTE_CASES
      pos:
        line_end: 436
        line_start: 432
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "case CHAR_HT: \\\n  case CHAR_SPACE: \\\n  case CHAR_NBSP"
    - item_type: preproc_def
      name: HSPACE_CASES
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: HSPACE_BYTE_CASES
    - item_type: preproc_def
      name: VSPACE_LIST
      pos:
        line_end: 442
        line_start: 440
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_VT, CHAR_FF, CHAR_CR, CHAR_NEL, CHAR_LF, NOTACHAR
    - item_type: preproc_def
      name: VSPACE_LIST
      pos:
        line_end: 445
        line_start: 443
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_VT, CHAR_FF, CHAR_CR, CHAR_LF, CHAR_NEL, NOTACHAR
    - item_type: preproc_def
      name: VSPACE_BYTE_CASES
      pos:
        line_end: 453
        line_start: 447
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "case CHAR_LF: \\\n  case CHAR_VT: \\\n  case CHAR_FF: \\\n  case
        CHAR_CR: \\\n  case CHAR_NEL"
    - item_type: preproc_def
      name: VSPACE_CASES
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: VSPACE_BYTE_CASES
    - item_type: preproc_def
      name: NLTYPE_FIXED
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0     '
    - item_type: preproc_def
      name: NLTYPE_ANY
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: NLTYPE_ANYCRLF
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '2     '
    - item_type: preproc_def
      name: PCRE2_MODE8
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000001u '
    - item_type: preproc_def
      name: PCRE2_MODE16
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000002u '
    - item_type: preproc_def
      name: PCRE2_MODE32
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000004u '
    - item_type: preproc_def
      name: PCRE2_FIRSTSET
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000010u '
    - item_type: preproc_def
      name: PCRE2_FIRSTCASELESS
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000020u '
    - item_type: preproc_def
      name: PCRE2_FIRSTMAPSET
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000040u '
    - item_type: preproc_def
      name: PCRE2_LASTSET
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000080u '
    - item_type: preproc_def
      name: PCRE2_LASTCASELESS
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000100u '
    - item_type: preproc_def
      name: PCRE2_STARTLINE
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000200u '
    - item_type: preproc_def
      name: PCRE2_JCHANGED
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000400u '
    - item_type: preproc_def
      name: PCRE2_HASCRORLF
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00000800u '
    - item_type: preproc_def
      name: PCRE2_HASTHEN
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00001000u '
    - item_type: preproc_def
      name: PCRE2_MATCH_EMPTY
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00002000u '
    - item_type: preproc_def
      name: PCRE2_BSR_SET
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00004000u '
    - item_type: preproc_def
      name: PCRE2_NL_SET
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00008000u '
    - item_type: preproc_def
      name: PCRE2_NOTEMPTY_SET
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00010000u '
    - item_type: preproc_def
      name: PCRE2_NE_ATST_SET
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00020000u '
    - item_type: preproc_def
      name: PCRE2_DEREF_TABLES
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00040000u '
    - item_type: preproc_def
      name: PCRE2_NOJIT
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00080000u '
    - item_type: preproc_def
      name: PCRE2_HASBKPORX
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00100000u '
    - item_type: preproc_def
      name: PCRE2_DUPCAPUSED
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00200000u '
    - item_type: preproc_def
      name: PCRE2_HASBKC
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00400000u '
    - item_type: preproc_def
      name: PCRE2_HASACCEPT
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x00800000u '
    - item_type: preproc_def
      name: PCRE2_HASBSK
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x01000000u '
    - item_type: preproc_def
      name: PCRE2_MODE_MASK
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: (PCRE2_MODE8 | PCRE2_MODE16 | PCRE2_MODE32)
    - item_type: preproc_def
      name: PCRE2_MD_COPIED_SUBJECT
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 0x01u
    - item_type: preproc_def
      name: MAGIC_NUMBER
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x50435245UL   '
    - item_type: preproc_def
      name: REQ_CU_MAX
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: REQ_CU_MAX
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '2000'
    - item_type: preproc_def
      name: ECLASS_NEST_LIMIT
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '15'
    - item_type: preproc_def
      name: cbit_space
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0      '
    - item_type: preproc_def
      name: cbit_xdigit
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '32      '
    - item_type: preproc_def
      name: cbit_digit
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '64      '
    - item_type: preproc_def
      name: cbit_upper
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '96      '
    - item_type: preproc_def
      name: cbit_lower
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '128      '
    - item_type: preproc_def
      name: cbit_word
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '160      '
    - item_type: preproc_def
      name: cbit_graph
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '192      '
    - item_type: preproc_def
      name: cbit_print
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '224      '
    - item_type: preproc_def
      name: cbit_punct
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '256      '
    - item_type: preproc_def
      name: cbit_cntrl
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '288      '
    - item_type: preproc_def
      name: cbit_length
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '320      '
    - item_type: preproc_def
      name: ctype_space
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ctype_letter
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ctype_lcletter
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ctype_digit
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: ctype_word
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x10    '
    - item_type: preproc_def
      name: lcc_offset
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0                           '
    - item_type: preproc_def
      name: fcc_offset
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '256                           '
    - item_type: preproc_def
      name: cbits_offset
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '512                           '
    - item_type: preproc_def
      name: ctypes_offset
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '(cbits_offset + cbit_length)  '
    - item_type: preproc_def
      name: TABLES_LENGTH
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: (ctypes_offset + 256)
    - item_type: preproc_def
      name: PCRE2_OPTIM_AUTO_POSSESS
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 0x00000001u
    - item_type: preproc_def
      name: PCRE2_OPTIM_DOTSTAR_ANCHOR
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 0x00000002u
    - item_type: preproc_def
      name: PCRE2_OPTIM_START_OPTIMIZE
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 0x00000004u
    - item_type: preproc_def
      name: PCRE2_OPTIMIZATION_ALL
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 0x00000007u
    - item_type: preproc_def
      name: CHAR_NL
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\x15'''
    - item_type: preproc_def
      name: CHAR_NEL
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\x25'''
    - item_type: preproc_def
      name: STR_NL
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\x15"'
    - item_type: preproc_def
      name: STR_NEL
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\x25"'
    - item_type: preproc_def
      name: CHAR_NL
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\x25'''
    - item_type: preproc_def
      name: CHAR_NEL
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\x15'''
    - item_type: preproc_def
      name: STR_NL
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\x25"'
    - item_type: preproc_def
      name: STR_NEL
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\x15"'
    - item_type: preproc_def
      name: CHAR_LF
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_NL
    - item_type: preproc_def
      name: STR_LF
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_NL
    - item_type: preproc_def
      name: CHAR_ESC
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\047'''
    - item_type: preproc_def
      name: CHAR_DEL
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\007'''
    - item_type: preproc_def
      name: CHAR_NBSP
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x41')
    - item_type: preproc_def
      name: STR_ESC
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\047"'
    - item_type: preproc_def
      name: STR_DEL
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\007"'
    - item_type: preproc_def
      name: CHAR_LF
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\n'''
    - item_type: preproc_def
      name: CHAR_NL
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_LF
    - item_type: preproc_def
      name: CHAR_NEL
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x85')
    - item_type: preproc_def
      name: CHAR_ESC
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\033'''
    - item_type: preproc_def
      name: CHAR_DEL
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\177'''
    - item_type: preproc_def
      name: CHAR_NBSP
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa0')
    - item_type: preproc_def
      name: STR_LF
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\n"'
    - item_type: preproc_def
      name: STR_NL
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_LF
    - item_type: preproc_def
      name: STR_NEL
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\x85"'
    - item_type: preproc_def
      name: STR_ESC
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\033"'
    - item_type: preproc_def
      name: STR_DEL
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\177"'
    - item_type: preproc_def
      name: CHAR_NUL
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\000'''
    - item_type: preproc_def
      name: CHAR_HT
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\005'''
    - item_type: preproc_def
      name: CHAR_VT
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\013'''
    - item_type: preproc_def
      name: CHAR_FF
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\014'''
    - item_type: preproc_def
      name: CHAR_CR
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\015'''
    - item_type: preproc_def
      name: CHAR_BS
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\026'''
    - item_type: preproc_def
      name: CHAR_BEL
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\057'''
    - item_type: preproc_def
      name: CHAR_SPACE
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\100'''
    - item_type: preproc_def
      name: CHAR_EXCLAMATION_MARK
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\132'''
    - item_type: preproc_def
      name: CHAR_QUOTATION_MARK
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\177'''
    - item_type: preproc_def
      name: CHAR_NUMBER_SIGN
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\173'''
    - item_type: preproc_def
      name: CHAR_DOLLAR_SIGN
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\133'''
    - item_type: preproc_def
      name: CHAR_PERCENT_SIGN
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\154'''
    - item_type: preproc_def
      name: CHAR_AMPERSAND
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\120'''
    - item_type: preproc_def
      name: CHAR_APOSTROPHE
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\175'''
    - item_type: preproc_def
      name: CHAR_LEFT_PARENTHESIS
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\115'''
    - item_type: preproc_def
      name: CHAR_RIGHT_PARENTHESIS
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\135'''
    - item_type: preproc_def
      name: CHAR_ASTERISK
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\134'''
    - item_type: preproc_def
      name: CHAR_PLUS
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\116'''
    - item_type: preproc_def
      name: CHAR_COMMA
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\153'''
    - item_type: preproc_def
      name: CHAR_MINUS
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\140'''
    - item_type: preproc_def
      name: CHAR_DOT
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\113'''
    - item_type: preproc_def
      name: CHAR_SLASH
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\141'''
    - item_type: preproc_def
      name: CHAR_0
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf0')
    - item_type: preproc_def
      name: CHAR_1
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf1')
    - item_type: preproc_def
      name: CHAR_2
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf2')
    - item_type: preproc_def
      name: CHAR_3
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf3')
    - item_type: preproc_def
      name: CHAR_4
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf4')
    - item_type: preproc_def
      name: CHAR_5
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf5')
    - item_type: preproc_def
      name: CHAR_6
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf6')
    - item_type: preproc_def
      name: CHAR_7
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf7')
    - item_type: preproc_def
      name: CHAR_8
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf8')
    - item_type: preproc_def
      name: CHAR_9
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xf9')
    - item_type: preproc_def
      name: CHAR_COLON
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\172'''
    - item_type: preproc_def
      name: CHAR_SEMICOLON
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\136'''
    - item_type: preproc_def
      name: CHAR_LESS_THAN_SIGN
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\114'''
    - item_type: preproc_def
      name: CHAR_EQUALS_SIGN
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\176'''
    - item_type: preproc_def
      name: CHAR_GREATER_THAN_SIGN
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\156'''
    - item_type: preproc_def
      name: CHAR_QUESTION_MARK
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\157'''
    - item_type: preproc_def
      name: CHAR_COMMERCIAL_AT
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\174'''
    - item_type: preproc_def
      name: CHAR_A
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc1')
    - item_type: preproc_def
      name: CHAR_B
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc2')
    - item_type: preproc_def
      name: CHAR_C
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc3')
    - item_type: preproc_def
      name: CHAR_D
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc4')
    - item_type: preproc_def
      name: CHAR_E
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc5')
    - item_type: preproc_def
      name: CHAR_F
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc6')
    - item_type: preproc_def
      name: CHAR_G
      pos:
        line_end: 744
        line_start: 743
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc7')
    - item_type: preproc_def
      name: CHAR_H
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc8')
    - item_type: preproc_def
      name: CHAR_I
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc9')
    - item_type: preproc_def
      name: CHAR_J
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd1')
    - item_type: preproc_def
      name: CHAR_K
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd2')
    - item_type: preproc_def
      name: CHAR_L
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd3')
    - item_type: preproc_def
      name: CHAR_M
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd4')
    - item_type: preproc_def
      name: CHAR_N
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd5')
    - item_type: preproc_def
      name: CHAR_O
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd6')
    - item_type: preproc_def
      name: CHAR_P
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd7')
    - item_type: preproc_def
      name: CHAR_Q
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd8')
    - item_type: preproc_def
      name: CHAR_R
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd9')
    - item_type: preproc_def
      name: CHAR_S
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe2')
    - item_type: preproc_def
      name: CHAR_T
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe3')
    - item_type: preproc_def
      name: CHAR_U
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe4')
    - item_type: preproc_def
      name: CHAR_V
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe5')
    - item_type: preproc_def
      name: CHAR_W
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe6')
    - item_type: preproc_def
      name: CHAR_X
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe7')
    - item_type: preproc_def
      name: CHAR_Y
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe8')
    - item_type: preproc_def
      name: CHAR_Z
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe9')
    - item_type: preproc_def
      name: CHAR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xad')
    - item_type: preproc_def
      name: CHAR_BACKSLASH
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xe0')
    - item_type: preproc_def
      name: CHAR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xbd')
    - item_type: preproc_def
      name: CHAR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\137'''
    - item_type: preproc_def
      name: CHAR_UNDERSCORE
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\155'''
    - item_type: preproc_def
      name: CHAR_GRAVE_ACCENT
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\171'''
    - item_type: preproc_def
      name: CHAR_a
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x81')
    - item_type: preproc_def
      name: CHAR_b
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x82')
    - item_type: preproc_def
      name: CHAR_c
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x83')
    - item_type: preproc_def
      name: CHAR_d
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x84')
    - item_type: preproc_def
      name: CHAR_e
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x85')
    - item_type: preproc_def
      name: CHAR_f
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x86')
    - item_type: preproc_def
      name: CHAR_g
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x87')
    - item_type: preproc_def
      name: CHAR_h
      pos:
        line_end: 777
        line_start: 776
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x88')
    - item_type: preproc_def
      name: CHAR_i
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x89')
    - item_type: preproc_def
      name: CHAR_j
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x91')
    - item_type: preproc_def
      name: CHAR_k
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x92')
    - item_type: preproc_def
      name: CHAR_l
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x93')
    - item_type: preproc_def
      name: CHAR_m
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x94')
    - item_type: preproc_def
      name: CHAR_n
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x95')
    - item_type: preproc_def
      name: CHAR_o
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x96')
    - item_type: preproc_def
      name: CHAR_p
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x97')
    - item_type: preproc_def
      name: CHAR_q
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x98')
    - item_type: preproc_def
      name: CHAR_r
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x99')
    - item_type: preproc_def
      name: CHAR_s
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa2')
    - item_type: preproc_def
      name: CHAR_t
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa3')
    - item_type: preproc_def
      name: CHAR_u
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa4')
    - item_type: preproc_def
      name: CHAR_v
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa5')
    - item_type: preproc_def
      name: CHAR_w
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa6')
    - item_type: preproc_def
      name: CHAR_x
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa7')
    - item_type: preproc_def
      name: CHAR_y
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa8')
    - item_type: preproc_def
      name: CHAR_z
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa9')
    - item_type: preproc_def
      name: CHAR_LEFT_CURLY_BRACKET
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xc0')
    - item_type: preproc_def
      name: CHAR_VERTICAL_LINE
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\117'''
    - item_type: preproc_def
      name: CHAR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xd0')
    - item_type: preproc_def
      name: CHAR_TILDE
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa1')
    - item_type: preproc_def
      name: STR_HT
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\005"'
    - item_type: preproc_def
      name: STR_VT
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\013"'
    - item_type: preproc_def
      name: STR_FF
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\014"'
    - item_type: preproc_def
      name: STR_CR
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\015"'
    - item_type: preproc_def
      name: STR_BS
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\026"'
    - item_type: preproc_def
      name: STR_BEL
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\057"'
    - item_type: preproc_def
      name: STR_SPACE
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\100"'
    - item_type: preproc_def
      name: STR_EXCLAMATION_MARK
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\132"'
    - item_type: preproc_def
      name: STR_QUOTATION_MARK
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\177"'
    - item_type: preproc_def
      name: STR_NUMBER_SIGN
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\173"'
    - item_type: preproc_def
      name: STR_DOLLAR_SIGN
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\133"'
    - item_type: preproc_def
      name: STR_PERCENT_SIGN
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\154"'
    - item_type: preproc_def
      name: STR_AMPERSAND
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\120"'
    - item_type: preproc_def
      name: STR_APOSTROPHE
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\175"'
    - item_type: preproc_def
      name: STR_LEFT_PARENTHESIS
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\115"'
    - item_type: preproc_def
      name: STR_RIGHT_PARENTHESIS
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\135"'
    - item_type: preproc_def
      name: STR_ASTERISK
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\134"'
    - item_type: preproc_def
      name: STR_PLUS
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\116"'
    - item_type: preproc_def
      name: STR_COMMA
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\153"'
    - item_type: preproc_def
      name: STR_MINUS
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\140"'
    - item_type: preproc_def
      name: STR_DOT
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\113"'
    - item_type: preproc_def
      name: STR_SLASH
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\141"'
    - item_type: preproc_def
      name: STR_0
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\360"'
    - item_type: preproc_def
      name: STR_1
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\361"'
    - item_type: preproc_def
      name: STR_2
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\362"'
    - item_type: preproc_def
      name: STR_3
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\363"'
    - item_type: preproc_def
      name: STR_4
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\364"'
    - item_type: preproc_def
      name: STR_5
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\365"'
    - item_type: preproc_def
      name: STR_6
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\366"'
    - item_type: preproc_def
      name: STR_7
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\367"'
    - item_type: preproc_def
      name: STR_8
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\370"'
    - item_type: preproc_def
      name: STR_9
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\371"'
    - item_type: preproc_def
      name: STR_COLON
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\172"'
    - item_type: preproc_def
      name: STR_SEMICOLON
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\136"'
    - item_type: preproc_def
      name: STR_LESS_THAN_SIGN
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\114"'
    - item_type: preproc_def
      name: STR_EQUALS_SIGN
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\176"'
    - item_type: preproc_def
      name: STR_GREATER_THAN_SIGN
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\156"'
    - item_type: preproc_def
      name: STR_QUESTION_MARK
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\157"'
    - item_type: preproc_def
      name: STR_COMMERCIAL_AT
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\174"'
    - item_type: preproc_def
      name: STR_A
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\301"'
    - item_type: preproc_def
      name: STR_B
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\302"'
    - item_type: preproc_def
      name: STR_C
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\303"'
    - item_type: preproc_def
      name: STR_D
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\304"'
    - item_type: preproc_def
      name: STR_E
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\305"'
    - item_type: preproc_def
      name: STR_F
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\306"'
    - item_type: preproc_def
      name: STR_G
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\307"'
    - item_type: preproc_def
      name: STR_H
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\310"'
    - item_type: preproc_def
      name: STR_I
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\311"'
    - item_type: preproc_def
      name: STR_J
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\321"'
    - item_type: preproc_def
      name: STR_K
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\322"'
    - item_type: preproc_def
      name: STR_L
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\323"'
    - item_type: preproc_def
      name: STR_M
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\324"'
    - item_type: preproc_def
      name: STR_N
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\325"'
    - item_type: preproc_def
      name: STR_O
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\326"'
    - item_type: preproc_def
      name: STR_P
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\327"'
    - item_type: preproc_def
      name: STR_Q
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\330"'
    - item_type: preproc_def
      name: STR_R
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\331"'
    - item_type: preproc_def
      name: STR_S
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\342"'
    - item_type: preproc_def
      name: STR_T
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\343"'
    - item_type: preproc_def
      name: STR_U
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\344"'
    - item_type: preproc_def
      name: STR_V
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\345"'
    - item_type: preproc_def
      name: STR_W
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\346"'
    - item_type: preproc_def
      name: STR_X
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\347"'
    - item_type: preproc_def
      name: STR_Y
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\350"'
    - item_type: preproc_def
      name: STR_Z
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\351"'
    - item_type: preproc_def
      name: STR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\255"'
    - item_type: preproc_def
      name: STR_BACKSLASH
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\340"'
    - item_type: preproc_def
      name: STR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\275"'
    - item_type: preproc_def
      name: STR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\137"'
    - item_type: preproc_def
      name: STR_UNDERSCORE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\155"'
    - item_type: preproc_def
      name: STR_GRAVE_ACCENT
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\171"'
    - item_type: preproc_def
      name: STR_a
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\201"'
    - item_type: preproc_def
      name: STR_b
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\202"'
    - item_type: preproc_def
      name: STR_c
      pos:
        line_end: 875
        line_start: 874
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\203"'
    - item_type: preproc_def
      name: STR_d
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\204"'
    - item_type: preproc_def
      name: STR_e
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\205"'
    - item_type: preproc_def
      name: STR_f
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\206"'
    - item_type: preproc_def
      name: STR_g
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\207"'
    - item_type: preproc_def
      name: STR_h
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\210"'
    - item_type: preproc_def
      name: STR_i
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\211"'
    - item_type: preproc_def
      name: STR_j
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\221"'
    - item_type: preproc_def
      name: STR_k
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\222"'
    - item_type: preproc_def
      name: STR_l
      pos:
        line_end: 884
        line_start: 883
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\223"'
    - item_type: preproc_def
      name: STR_m
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\224"'
    - item_type: preproc_def
      name: STR_n
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\225"'
    - item_type: preproc_def
      name: STR_o
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\226"'
    - item_type: preproc_def
      name: STR_p
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\227"'
    - item_type: preproc_def
      name: STR_q
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\230"'
    - item_type: preproc_def
      name: STR_r
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\231"'
    - item_type: preproc_def
      name: STR_s
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\242"'
    - item_type: preproc_def
      name: STR_t
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\243"'
    - item_type: preproc_def
      name: STR_u
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\244"'
    - item_type: preproc_def
      name: STR_v
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\245"'
    - item_type: preproc_def
      name: STR_w
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\246"'
    - item_type: preproc_def
      name: STR_x
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\247"'
    - item_type: preproc_def
      name: STR_y
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\250"'
    - item_type: preproc_def
      name: STR_z
      pos:
        line_end: 898
        line_start: 897
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\251"'
    - item_type: preproc_def
      name: STR_LEFT_CURLY_BRACKET
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\300"'
    - item_type: preproc_def
      name: STR_VERTICAL_LINE
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\117"'
    - item_type: preproc_def
      name: STR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\320"'
    - item_type: preproc_def
      name: STR_TILDE
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\241"'
    - item_type: preproc_def
      name: CHAR_NUL
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: CHAR_HT
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\t'''
    - item_type: preproc_def
      name: CHAR_VT
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\v'''
    - item_type: preproc_def
      name: CHAR_FF
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\f'''
    - item_type: preproc_def
      name: CHAR_CR
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\r'''
    - item_type: preproc_def
      name: CHAR_BS
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\b'''
    - item_type: preproc_def
      name: CHAR_BEL
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\a'''
    - item_type: preproc_def
      name: CHAR_SPACE
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''' '''
    - item_type: preproc_def
      name: CHAR_EXCLAMATION_MARK
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''!'''
    - item_type: preproc_def
      name: CHAR_QUOTATION_MARK
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''"'''
    - item_type: preproc_def
      name: CHAR_NUMBER_SIGN
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''#'''
    - item_type: preproc_def
      name: CHAR_DOLLAR_SIGN
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''$'''
    - item_type: preproc_def
      name: CHAR_PERCENT_SIGN
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''%'''
    - item_type: preproc_def
      name: CHAR_AMPERSAND
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''&'''
    - item_type: preproc_def
      name: CHAR_APOSTROPHE
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\'''''
    - item_type: preproc_def
      name: CHAR_LEFT_PARENTHESIS
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''('''
    - item_type: preproc_def
      name: CHAR_RIGHT_PARENTHESIS
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''')'''
    - item_type: preproc_def
      name: CHAR_ASTERISK
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''*'''
    - item_type: preproc_def
      name: CHAR_PLUS
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''+'''
    - item_type: preproc_def
      name: CHAR_COMMA
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''','''
    - item_type: preproc_def
      name: CHAR_MINUS
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''-'''
    - item_type: preproc_def
      name: CHAR_DOT
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''.'''
    - item_type: preproc_def
      name: CHAR_SLASH
      pos:
        line_end: 942
        line_start: 941
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: CHAR_0
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''0'''
    - item_type: preproc_def
      name: CHAR_1
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''1'''
    - item_type: preproc_def
      name: CHAR_2
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''2'''
    - item_type: preproc_def
      name: CHAR_3
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''3'''
    - item_type: preproc_def
      name: CHAR_4
      pos:
        line_end: 947
        line_start: 946
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''4'''
    - item_type: preproc_def
      name: CHAR_5
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''5'''
    - item_type: preproc_def
      name: CHAR_6
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''6'''
    - item_type: preproc_def
      name: CHAR_7
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''7'''
    - item_type: preproc_def
      name: CHAR_8
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''8'''
    - item_type: preproc_def
      name: CHAR_9
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''9'''
    - item_type: preproc_def
      name: CHAR_COLON
      pos:
        line_end: 953
        line_start: 952
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''':'''
    - item_type: preproc_def
      name: CHAR_SEMICOLON
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''';'''
    - item_type: preproc_def
      name: CHAR_LESS_THAN_SIGN
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''<'''
    - item_type: preproc_def
      name: CHAR_EQUALS_SIGN
      pos:
        line_end: 956
        line_start: 955
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''='''
    - item_type: preproc_def
      name: CHAR_GREATER_THAN_SIGN
      pos:
        line_end: 957
        line_start: 956
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''>'''
    - item_type: preproc_def
      name: CHAR_QUESTION_MARK
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''?'''
    - item_type: preproc_def
      name: CHAR_COMMERCIAL_AT
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''@'''
    - item_type: preproc_def
      name: CHAR_A
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''A'''
    - item_type: preproc_def
      name: CHAR_B
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''B'''
    - item_type: preproc_def
      name: CHAR_C
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''C'''
    - item_type: preproc_def
      name: CHAR_D
      pos:
        line_end: 963
        line_start: 962
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''D'''
    - item_type: preproc_def
      name: CHAR_E
      pos:
        line_end: 964
        line_start: 963
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''E'''
    - item_type: preproc_def
      name: CHAR_F
      pos:
        line_end: 965
        line_start: 964
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''F'''
    - item_type: preproc_def
      name: CHAR_G
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''G'''
    - item_type: preproc_def
      name: CHAR_H
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''H'''
    - item_type: preproc_def
      name: CHAR_I
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''I'''
    - item_type: preproc_def
      name: CHAR_J
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''J'''
    - item_type: preproc_def
      name: CHAR_K
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''K'''
    - item_type: preproc_def
      name: CHAR_L
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''L'''
    - item_type: preproc_def
      name: CHAR_M
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''M'''
    - item_type: preproc_def
      name: CHAR_N
      pos:
        line_end: 973
        line_start: 972
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''N'''
    - item_type: preproc_def
      name: CHAR_O
      pos:
        line_end: 974
        line_start: 973
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''O'''
    - item_type: preproc_def
      name: CHAR_P
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''P'''
    - item_type: preproc_def
      name: CHAR_Q
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''Q'''
    - item_type: preproc_def
      name: CHAR_R
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''R'''
    - item_type: preproc_def
      name: CHAR_S
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''S'''
    - item_type: preproc_def
      name: CHAR_T
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''T'''
    - item_type: preproc_def
      name: CHAR_U
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''U'''
    - item_type: preproc_def
      name: CHAR_V
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''V'''
    - item_type: preproc_def
      name: CHAR_W
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''W'''
    - item_type: preproc_def
      name: CHAR_X
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''X'''
    - item_type: preproc_def
      name: CHAR_Y
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''Y'''
    - item_type: preproc_def
      name: CHAR_Z
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''Z'''
    - item_type: preproc_def
      name: CHAR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''['''
    - item_type: preproc_def
      name: CHAR_BACKSLASH
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: CHAR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ''']'''
    - item_type: preproc_def
      name: CHAR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''^'''
    - item_type: preproc_def
      name: CHAR_UNDERSCORE
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''_'''
    - item_type: preproc_def
      name: CHAR_GRAVE_ACCENT
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''`'''
    - item_type: preproc_def
      name: CHAR_a
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''a'''
    - item_type: preproc_def
      name: CHAR_b
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''b'''
    - item_type: preproc_def
      name: CHAR_c
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''c'''
    - item_type: preproc_def
      name: CHAR_d
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''d'''
    - item_type: preproc_def
      name: CHAR_e
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''e'''
    - item_type: preproc_def
      name: CHAR_f
      pos:
        line_end: 997
        line_start: 996
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''f'''
    - item_type: preproc_def
      name: CHAR_g
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''g'''
    - item_type: preproc_def
      name: CHAR_h
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''h'''
    - item_type: preproc_def
      name: CHAR_i
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''i'''
    - item_type: preproc_def
      name: CHAR_j
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''j'''
    - item_type: preproc_def
      name: CHAR_k
      pos:
        line_end: 1002
        line_start: 1001
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''k'''
    - item_type: preproc_def
      name: CHAR_l
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''l'''
    - item_type: preproc_def
      name: CHAR_m
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''m'''
    - item_type: preproc_def
      name: CHAR_n
      pos:
        line_end: 1005
        line_start: 1004
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''n'''
    - item_type: preproc_def
      name: CHAR_o
      pos:
        line_end: 1006
        line_start: 1005
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''o'''
    - item_type: preproc_def
      name: CHAR_p
      pos:
        line_end: 1007
        line_start: 1006
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''p'''
    - item_type: preproc_def
      name: CHAR_q
      pos:
        line_end: 1008
        line_start: 1007
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''q'''
    - item_type: preproc_def
      name: CHAR_r
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''r'''
    - item_type: preproc_def
      name: CHAR_s
      pos:
        line_end: 1010
        line_start: 1009
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''s'''
    - item_type: preproc_def
      name: CHAR_t
      pos:
        line_end: 1011
        line_start: 1010
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''t'''
    - item_type: preproc_def
      name: CHAR_u
      pos:
        line_end: 1012
        line_start: 1011
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''u'''
    - item_type: preproc_def
      name: CHAR_v
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''v'''
    - item_type: preproc_def
      name: CHAR_w
      pos:
        line_end: 1014
        line_start: 1013
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''w'''
    - item_type: preproc_def
      name: CHAR_x
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''x'''
    - item_type: preproc_def
      name: CHAR_y
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''y'''
    - item_type: preproc_def
      name: CHAR_z
      pos:
        line_end: 1017
        line_start: 1016
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''z'''
    - item_type: preproc_def
      name: CHAR_LEFT_CURLY_BRACKET
      pos:
        line_end: 1018
        line_start: 1017
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''{'''
    - item_type: preproc_def
      name: CHAR_VERTICAL_LINE
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''|'''
    - item_type: preproc_def
      name: CHAR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''}'''
    - item_type: preproc_def
      name: CHAR_TILDE
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''~'''
    - item_type: preproc_def
      name: STR_HT
      pos:
        line_end: 1023
        line_start: 1022
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\t"'
    - item_type: preproc_def
      name: STR_VT
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\v"'
    - item_type: preproc_def
      name: STR_FF
      pos:
        line_end: 1025
        line_start: 1024
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\f"'
    - item_type: preproc_def
      name: STR_CR
      pos:
        line_end: 1026
        line_start: 1025
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\r"'
    - item_type: preproc_def
      name: STR_BS
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\b"'
    - item_type: preproc_def
      name: STR_BEL
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\a"'
    - item_type: preproc_def
      name: STR_SPACE
      pos:
        line_end: 1030
        line_start: 1029
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '" "'
    - item_type: preproc_def
      name: STR_EXCLAMATION_MARK
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"!"'
    - item_type: preproc_def
      name: STR_QUOTATION_MARK
      pos:
        line_end: 1032
        line_start: 1031
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\""'
    - item_type: preproc_def
      name: STR_NUMBER_SIGN
      pos:
        line_end: 1033
        line_start: 1032
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"#"'
    - item_type: preproc_def
      name: STR_DOLLAR_SIGN
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"$"'
    - item_type: preproc_def
      name: STR_PERCENT_SIGN
      pos:
        line_end: 1035
        line_start: 1034
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"%"'
    - item_type: preproc_def
      name: STR_AMPERSAND
      pos:
        line_end: 1036
        line_start: 1035
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"&"'
    - item_type: preproc_def
      name: STR_APOSTROPHE
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"''"'
    - item_type: preproc_def
      name: STR_LEFT_PARENTHESIS
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"("'
    - item_type: preproc_def
      name: STR_RIGHT_PARENTHESIS
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '")"'
    - item_type: preproc_def
      name: STR_ASTERISK
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: STR_PLUS
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"+"'
    - item_type: preproc_def
      name: STR_COMMA
      pos:
        line_end: 1042
        line_start: 1041
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '","'
    - item_type: preproc_def
      name: STR_MINUS
      pos:
        line_end: 1043
        line_start: 1042
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"-"'
    - item_type: preproc_def
      name: STR_DOT
      pos:
        line_end: 1044
        line_start: 1043
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"."'
    - item_type: preproc_def
      name: STR_SLASH
      pos:
        line_end: 1045
        line_start: 1044
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"/"'
    - item_type: preproc_def
      name: STR_0
      pos:
        line_end: 1046
        line_start: 1045
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: STR_1
      pos:
        line_end: 1047
        line_start: 1046
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"1"'
    - item_type: preproc_def
      name: STR_2
      pos:
        line_end: 1048
        line_start: 1047
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"2"'
    - item_type: preproc_def
      name: STR_3
      pos:
        line_end: 1049
        line_start: 1048
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"3"'
    - item_type: preproc_def
      name: STR_4
      pos:
        line_end: 1050
        line_start: 1049
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"4"'
    - item_type: preproc_def
      name: STR_5
      pos:
        line_end: 1051
        line_start: 1050
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"5"'
    - item_type: preproc_def
      name: STR_6
      pos:
        line_end: 1052
        line_start: 1051
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"6"'
    - item_type: preproc_def
      name: STR_7
      pos:
        line_end: 1053
        line_start: 1052
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"7"'
    - item_type: preproc_def
      name: STR_8
      pos:
        line_end: 1054
        line_start: 1053
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"8"'
    - item_type: preproc_def
      name: STR_9
      pos:
        line_end: 1055
        line_start: 1054
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"9"'
    - item_type: preproc_def
      name: STR_COLON
      pos:
        line_end: 1056
        line_start: 1055
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '":"'
    - item_type: preproc_def
      name: STR_SEMICOLON
      pos:
        line_end: 1057
        line_start: 1056
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '";"'
    - item_type: preproc_def
      name: STR_LESS_THAN_SIGN
      pos:
        line_end: 1058
        line_start: 1057
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"<"'
    - item_type: preproc_def
      name: STR_EQUALS_SIGN
      pos:
        line_end: 1059
        line_start: 1058
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"="'
    - item_type: preproc_def
      name: STR_GREATER_THAN_SIGN
      pos:
        line_end: 1060
        line_start: 1059
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '">"'
    - item_type: preproc_def
      name: STR_QUESTION_MARK
      pos:
        line_end: 1061
        line_start: 1060
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"?"'
    - item_type: preproc_def
      name: STR_COMMERCIAL_AT
      pos:
        line_end: 1062
        line_start: 1061
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"@"'
    - item_type: preproc_def
      name: STR_A
      pos:
        line_end: 1063
        line_start: 1062
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"A"'
    - item_type: preproc_def
      name: STR_B
      pos:
        line_end: 1064
        line_start: 1063
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"B"'
    - item_type: preproc_def
      name: STR_C
      pos:
        line_end: 1065
        line_start: 1064
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"C"'
    - item_type: preproc_def
      name: STR_D
      pos:
        line_end: 1066
        line_start: 1065
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"D"'
    - item_type: preproc_def
      name: STR_E
      pos:
        line_end: 1067
        line_start: 1066
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"E"'
    - item_type: preproc_def
      name: STR_F
      pos:
        line_end: 1068
        line_start: 1067
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"F"'
    - item_type: preproc_def
      name: STR_G
      pos:
        line_end: 1069
        line_start: 1068
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"G"'
    - item_type: preproc_def
      name: STR_H
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"H"'
    - item_type: preproc_def
      name: STR_I
      pos:
        line_end: 1071
        line_start: 1070
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"I"'
    - item_type: preproc_def
      name: STR_J
      pos:
        line_end: 1072
        line_start: 1071
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"J"'
    - item_type: preproc_def
      name: STR_K
      pos:
        line_end: 1073
        line_start: 1072
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"K"'
    - item_type: preproc_def
      name: STR_L
      pos:
        line_end: 1074
        line_start: 1073
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"L"'
    - item_type: preproc_def
      name: STR_M
      pos:
        line_end: 1075
        line_start: 1074
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"M"'
    - item_type: preproc_def
      name: STR_N
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"N"'
    - item_type: preproc_def
      name: STR_O
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"O"'
    - item_type: preproc_def
      name: STR_P
      pos:
        line_end: 1078
        line_start: 1077
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"P"'
    - item_type: preproc_def
      name: STR_Q
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"Q"'
    - item_type: preproc_def
      name: STR_R
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"R"'
    - item_type: preproc_def
      name: STR_S
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"S"'
    - item_type: preproc_def
      name: STR_T
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"T"'
    - item_type: preproc_def
      name: STR_U
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"U"'
    - item_type: preproc_def
      name: STR_V
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"V"'
    - item_type: preproc_def
      name: STR_W
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"W"'
    - item_type: preproc_def
      name: STR_X
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"X"'
    - item_type: preproc_def
      name: STR_Y
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"Y"'
    - item_type: preproc_def
      name: STR_Z
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"Z"'
    - item_type: preproc_def
      name: STR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"["'
    - item_type: preproc_def
      name: STR_BACKSLASH
      pos:
        line_end: 1090
        line_start: 1089
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: STR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"]"'
    - item_type: preproc_def
      name: STR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"^"'
    - item_type: preproc_def
      name: STR_UNDERSCORE
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"_"'
    - item_type: preproc_def
      name: STR_GRAVE_ACCENT
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"`"'
    - item_type: preproc_def
      name: STR_a
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: STR_b
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: STR_c
      pos:
        line_end: 1097
        line_start: 1096
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"c"'
    - item_type: preproc_def
      name: STR_d
      pos:
        line_end: 1098
        line_start: 1097
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: STR_e
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"e"'
    - item_type: preproc_def
      name: STR_f
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"f"'
    - item_type: preproc_def
      name: STR_g
      pos:
        line_end: 1101
        line_start: 1100
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"g"'
    - item_type: preproc_def
      name: STR_h
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"h"'
    - item_type: preproc_def
      name: STR_i
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: STR_j
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"j"'
    - item_type: preproc_def
      name: STR_k
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"k"'
    - item_type: preproc_def
      name: STR_l
      pos:
        line_end: 1106
        line_start: 1105
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"l"'
    - item_type: preproc_def
      name: STR_m
      pos:
        line_end: 1107
        line_start: 1106
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"m"'
    - item_type: preproc_def
      name: STR_n
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"n"'
    - item_type: preproc_def
      name: STR_o
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: STR_p
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"p"'
    - item_type: preproc_def
      name: STR_q
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"q"'
    - item_type: preproc_def
      name: STR_r
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: STR_s
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"s"'
    - item_type: preproc_def
      name: STR_t
      pos:
        line_end: 1114
        line_start: 1113
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"t"'
    - item_type: preproc_def
      name: STR_u
      pos:
        line_end: 1115
        line_start: 1114
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: STR_v
      pos:
        line_end: 1116
        line_start: 1115
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"v"'
    - item_type: preproc_def
      name: STR_w
      pos:
        line_end: 1117
        line_start: 1116
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: STR_x
      pos:
        line_end: 1118
        line_start: 1117
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"x"'
    - item_type: preproc_def
      name: STR_y
      pos:
        line_end: 1119
        line_start: 1118
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"y"'
    - item_type: preproc_def
      name: STR_z
      pos:
        line_end: 1120
        line_start: 1119
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"z"'
    - item_type: preproc_def
      name: STR_LEFT_CURLY_BRACKET
      pos:
        line_end: 1121
        line_start: 1120
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"{"'
    - item_type: preproc_def
      name: STR_VERTICAL_LINE
      pos:
        line_end: 1122
        line_start: 1121
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"|"'
    - item_type: preproc_def
      name: STR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 1123
        line_start: 1122
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"}"'
    - item_type: preproc_def
      name: STR_TILDE
      pos:
        line_end: 1124
        line_start: 1123
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"~"'
    - item_type: preproc_def
      name: CHAR_HT
      pos:
        line_end: 1134
        line_start: 1133
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\011'''
    - item_type: preproc_def
      name: CHAR_VT
      pos:
        line_end: 1135
        line_start: 1134
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\013'''
    - item_type: preproc_def
      name: CHAR_FF
      pos:
        line_end: 1136
        line_start: 1135
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\014'''
    - item_type: preproc_def
      name: CHAR_CR
      pos:
        line_end: 1137
        line_start: 1136
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\015'''
    - item_type: preproc_def
      name: CHAR_LF
      pos:
        line_end: 1138
        line_start: 1137
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\012'''
    - item_type: preproc_def
      name: CHAR_NL
      pos:
        line_end: 1139
        line_start: 1138
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: CHAR_LF
    - item_type: preproc_def
      name: CHAR_NEL
      pos:
        line_end: 1140
        line_start: 1139
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\x85')
    - item_type: preproc_def
      name: CHAR_BS
      pos:
        line_end: 1141
        line_start: 1140
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\010'''
    - item_type: preproc_def
      name: CHAR_BEL
      pos:
        line_end: 1142
        line_start: 1141
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\007'''
    - item_type: preproc_def
      name: CHAR_ESC
      pos:
        line_end: 1143
        line_start: 1142
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\033'''
    - item_type: preproc_def
      name: CHAR_DEL
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\177'''
    - item_type: preproc_def
      name: CHAR_NUL
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: CHAR_SPACE
      pos:
        line_end: 1147
        line_start: 1146
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\040'''
    - item_type: preproc_def
      name: CHAR_EXCLAMATION_MARK
      pos:
        line_end: 1148
        line_start: 1147
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\041'''
    - item_type: preproc_def
      name: CHAR_QUOTATION_MARK
      pos:
        line_end: 1149
        line_start: 1148
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\042'''
    - item_type: preproc_def
      name: CHAR_NUMBER_SIGN
      pos:
        line_end: 1150
        line_start: 1149
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\043'''
    - item_type: preproc_def
      name: CHAR_DOLLAR_SIGN
      pos:
        line_end: 1151
        line_start: 1150
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\044'''
    - item_type: preproc_def
      name: CHAR_PERCENT_SIGN
      pos:
        line_end: 1152
        line_start: 1151
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\045'''
    - item_type: preproc_def
      name: CHAR_AMPERSAND
      pos:
        line_end: 1153
        line_start: 1152
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\046'''
    - item_type: preproc_def
      name: CHAR_APOSTROPHE
      pos:
        line_end: 1154
        line_start: 1153
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\047'''
    - item_type: preproc_def
      name: CHAR_LEFT_PARENTHESIS
      pos:
        line_end: 1155
        line_start: 1154
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\050'''
    - item_type: preproc_def
      name: CHAR_RIGHT_PARENTHESIS
      pos:
        line_end: 1156
        line_start: 1155
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\051'''
    - item_type: preproc_def
      name: CHAR_ASTERISK
      pos:
        line_end: 1157
        line_start: 1156
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\052'''
    - item_type: preproc_def
      name: CHAR_PLUS
      pos:
        line_end: 1158
        line_start: 1157
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\053'''
    - item_type: preproc_def
      name: CHAR_COMMA
      pos:
        line_end: 1159
        line_start: 1158
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\054'''
    - item_type: preproc_def
      name: CHAR_MINUS
      pos:
        line_end: 1160
        line_start: 1159
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\055'''
    - item_type: preproc_def
      name: CHAR_DOT
      pos:
        line_end: 1161
        line_start: 1160
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\056'''
    - item_type: preproc_def
      name: CHAR_SLASH
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\057'''
    - item_type: preproc_def
      name: CHAR_0
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\060'''
    - item_type: preproc_def
      name: CHAR_1
      pos:
        line_end: 1164
        line_start: 1163
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\061'''
    - item_type: preproc_def
      name: CHAR_2
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\062'''
    - item_type: preproc_def
      name: CHAR_3
      pos:
        line_end: 1166
        line_start: 1165
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\063'''
    - item_type: preproc_def
      name: CHAR_4
      pos:
        line_end: 1167
        line_start: 1166
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\064'''
    - item_type: preproc_def
      name: CHAR_5
      pos:
        line_end: 1168
        line_start: 1167
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\065'''
    - item_type: preproc_def
      name: CHAR_6
      pos:
        line_end: 1169
        line_start: 1168
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\066'''
    - item_type: preproc_def
      name: CHAR_7
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\067'''
    - item_type: preproc_def
      name: CHAR_8
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\070'''
    - item_type: preproc_def
      name: CHAR_9
      pos:
        line_end: 1172
        line_start: 1171
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\071'''
    - item_type: preproc_def
      name: CHAR_COLON
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\072'''
    - item_type: preproc_def
      name: CHAR_SEMICOLON
      pos:
        line_end: 1174
        line_start: 1173
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\073'''
    - item_type: preproc_def
      name: CHAR_LESS_THAN_SIGN
      pos:
        line_end: 1175
        line_start: 1174
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\074'''
    - item_type: preproc_def
      name: CHAR_EQUALS_SIGN
      pos:
        line_end: 1176
        line_start: 1175
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\075'''
    - item_type: preproc_def
      name: CHAR_GREATER_THAN_SIGN
      pos:
        line_end: 1177
        line_start: 1176
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\076'''
    - item_type: preproc_def
      name: CHAR_QUESTION_MARK
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\077'''
    - item_type: preproc_def
      name: CHAR_COMMERCIAL_AT
      pos:
        line_end: 1179
        line_start: 1178
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\100'''
    - item_type: preproc_def
      name: CHAR_A
      pos:
        line_end: 1180
        line_start: 1179
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\101'''
    - item_type: preproc_def
      name: CHAR_B
      pos:
        line_end: 1181
        line_start: 1180
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\102'''
    - item_type: preproc_def
      name: CHAR_C
      pos:
        line_end: 1182
        line_start: 1181
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\103'''
    - item_type: preproc_def
      name: CHAR_D
      pos:
        line_end: 1183
        line_start: 1182
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\104'''
    - item_type: preproc_def
      name: CHAR_E
      pos:
        line_end: 1184
        line_start: 1183
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\105'''
    - item_type: preproc_def
      name: CHAR_F
      pos:
        line_end: 1185
        line_start: 1184
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\106'''
    - item_type: preproc_def
      name: CHAR_G
      pos:
        line_end: 1186
        line_start: 1185
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\107'''
    - item_type: preproc_def
      name: CHAR_H
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\110'''
    - item_type: preproc_def
      name: CHAR_I
      pos:
        line_end: 1188
        line_start: 1187
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\111'''
    - item_type: preproc_def
      name: CHAR_J
      pos:
        line_end: 1189
        line_start: 1188
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\112'''
    - item_type: preproc_def
      name: CHAR_K
      pos:
        line_end: 1190
        line_start: 1189
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\113'''
    - item_type: preproc_def
      name: CHAR_L
      pos:
        line_end: 1191
        line_start: 1190
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\114'''
    - item_type: preproc_def
      name: CHAR_M
      pos:
        line_end: 1192
        line_start: 1191
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\115'''
    - item_type: preproc_def
      name: CHAR_N
      pos:
        line_end: 1193
        line_start: 1192
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\116'''
    - item_type: preproc_def
      name: CHAR_O
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\117'''
    - item_type: preproc_def
      name: CHAR_P
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\120'''
    - item_type: preproc_def
      name: CHAR_Q
      pos:
        line_end: 1196
        line_start: 1195
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\121'''
    - item_type: preproc_def
      name: CHAR_R
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\122'''
    - item_type: preproc_def
      name: CHAR_S
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\123'''
    - item_type: preproc_def
      name: CHAR_T
      pos:
        line_end: 1199
        line_start: 1198
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\124'''
    - item_type: preproc_def
      name: CHAR_U
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\125'''
    - item_type: preproc_def
      name: CHAR_V
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\126'''
    - item_type: preproc_def
      name: CHAR_W
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\127'''
    - item_type: preproc_def
      name: CHAR_X
      pos:
        line_end: 1203
        line_start: 1202
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\130'''
    - item_type: preproc_def
      name: CHAR_Y
      pos:
        line_end: 1204
        line_start: 1203
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\131'''
    - item_type: preproc_def
      name: CHAR_Z
      pos:
        line_end: 1205
        line_start: 1204
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\132'''
    - item_type: preproc_def
      name: CHAR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\133'''
    - item_type: preproc_def
      name: CHAR_BACKSLASH
      pos:
        line_end: 1207
        line_start: 1206
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\134'''
    - item_type: preproc_def
      name: CHAR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\135'''
    - item_type: preproc_def
      name: CHAR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 1209
        line_start: 1208
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\136'''
    - item_type: preproc_def
      name: CHAR_UNDERSCORE
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\137'''
    - item_type: preproc_def
      name: CHAR_GRAVE_ACCENT
      pos:
        line_end: 1211
        line_start: 1210
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\140'''
    - item_type: preproc_def
      name: CHAR_a
      pos:
        line_end: 1212
        line_start: 1211
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\141'''
    - item_type: preproc_def
      name: CHAR_b
      pos:
        line_end: 1213
        line_start: 1212
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\142'''
    - item_type: preproc_def
      name: CHAR_c
      pos:
        line_end: 1214
        line_start: 1213
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\143'''
    - item_type: preproc_def
      name: CHAR_d
      pos:
        line_end: 1215
        line_start: 1214
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\144'''
    - item_type: preproc_def
      name: CHAR_e
      pos:
        line_end: 1216
        line_start: 1215
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\145'''
    - item_type: preproc_def
      name: CHAR_f
      pos:
        line_end: 1217
        line_start: 1216
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\146'''
    - item_type: preproc_def
      name: CHAR_g
      pos:
        line_end: 1218
        line_start: 1217
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\147'''
    - item_type: preproc_def
      name: CHAR_h
      pos:
        line_end: 1219
        line_start: 1218
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\150'''
    - item_type: preproc_def
      name: CHAR_i
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\151'''
    - item_type: preproc_def
      name: CHAR_j
      pos:
        line_end: 1221
        line_start: 1220
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\152'''
    - item_type: preproc_def
      name: CHAR_k
      pos:
        line_end: 1222
        line_start: 1221
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\153'''
    - item_type: preproc_def
      name: CHAR_l
      pos:
        line_end: 1223
        line_start: 1222
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\154'''
    - item_type: preproc_def
      name: CHAR_m
      pos:
        line_end: 1224
        line_start: 1223
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\155'''
    - item_type: preproc_def
      name: CHAR_n
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\156'''
    - item_type: preproc_def
      name: CHAR_o
      pos:
        line_end: 1226
        line_start: 1225
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\157'''
    - item_type: preproc_def
      name: CHAR_p
      pos:
        line_end: 1227
        line_start: 1226
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\160'''
    - item_type: preproc_def
      name: CHAR_q
      pos:
        line_end: 1228
        line_start: 1227
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\161'''
    - item_type: preproc_def
      name: CHAR_r
      pos:
        line_end: 1229
        line_start: 1228
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\162'''
    - item_type: preproc_def
      name: CHAR_s
      pos:
        line_end: 1230
        line_start: 1229
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\163'''
    - item_type: preproc_def
      name: CHAR_t
      pos:
        line_end: 1231
        line_start: 1230
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\164'''
    - item_type: preproc_def
      name: CHAR_u
      pos:
        line_end: 1232
        line_start: 1231
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\165'''
    - item_type: preproc_def
      name: CHAR_v
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\166'''
    - item_type: preproc_def
      name: CHAR_w
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\167'''
    - item_type: preproc_def
      name: CHAR_x
      pos:
        line_end: 1235
        line_start: 1234
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\170'''
    - item_type: preproc_def
      name: CHAR_y
      pos:
        line_end: 1236
        line_start: 1235
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\171'''
    - item_type: preproc_def
      name: CHAR_z
      pos:
        line_end: 1237
        line_start: 1236
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\172'''
    - item_type: preproc_def
      name: CHAR_LEFT_CURLY_BRACKET
      pos:
        line_end: 1238
        line_start: 1237
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\173'''
    - item_type: preproc_def
      name: CHAR_VERTICAL_LINE
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\174'''
    - item_type: preproc_def
      name: CHAR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 1240
        line_start: 1239
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\175'''
    - item_type: preproc_def
      name: CHAR_TILDE
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '''\176'''
    - item_type: preproc_def
      name: CHAR_NBSP
      pos:
        line_end: 1242
        line_start: 1241
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: ((unsigned char)'\xa0')
    - item_type: preproc_def
      name: STR_HT
      pos:
        line_end: 1244
        line_start: 1243
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\011"'
    - item_type: preproc_def
      name: STR_VT
      pos:
        line_end: 1245
        line_start: 1244
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\013"'
    - item_type: preproc_def
      name: STR_FF
      pos:
        line_end: 1246
        line_start: 1245
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\014"'
    - item_type: preproc_def
      name: STR_CR
      pos:
        line_end: 1247
        line_start: 1246
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\015"'
    - item_type: preproc_def
      name: STR_NL
      pos:
        line_end: 1248
        line_start: 1247
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\012"'
    - item_type: preproc_def
      name: STR_BS
      pos:
        line_end: 1249
        line_start: 1248
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\010"'
    - item_type: preproc_def
      name: STR_BEL
      pos:
        line_end: 1250
        line_start: 1249
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\007"'
    - item_type: preproc_def
      name: STR_ESC
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\033"'
    - item_type: preproc_def
      name: STR_DEL
      pos:
        line_end: 1252
        line_start: 1251
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\177"'
    - item_type: preproc_def
      name: STR_SPACE
      pos:
        line_end: 1254
        line_start: 1253
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\040"'
    - item_type: preproc_def
      name: STR_EXCLAMATION_MARK
      pos:
        line_end: 1255
        line_start: 1254
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\041"'
    - item_type: preproc_def
      name: STR_QUOTATION_MARK
      pos:
        line_end: 1256
        line_start: 1255
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\042"'
    - item_type: preproc_def
      name: STR_NUMBER_SIGN
      pos:
        line_end: 1257
        line_start: 1256
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\043"'
    - item_type: preproc_def
      name: STR_DOLLAR_SIGN
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\044"'
    - item_type: preproc_def
      name: STR_PERCENT_SIGN
      pos:
        line_end: 1259
        line_start: 1258
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\045"'
    - item_type: preproc_def
      name: STR_AMPERSAND
      pos:
        line_end: 1260
        line_start: 1259
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\046"'
    - item_type: preproc_def
      name: STR_APOSTROPHE
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\047"'
    - item_type: preproc_def
      name: STR_LEFT_PARENTHESIS
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\050"'
    - item_type: preproc_def
      name: STR_RIGHT_PARENTHESIS
      pos:
        line_end: 1263
        line_start: 1262
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\051"'
    - item_type: preproc_def
      name: STR_ASTERISK
      pos:
        line_end: 1264
        line_start: 1263
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\052"'
    - item_type: preproc_def
      name: STR_PLUS
      pos:
        line_end: 1265
        line_start: 1264
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\053"'
    - item_type: preproc_def
      name: STR_COMMA
      pos:
        line_end: 1266
        line_start: 1265
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\054"'
    - item_type: preproc_def
      name: STR_MINUS
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\055"'
    - item_type: preproc_def
      name: STR_DOT
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\056"'
    - item_type: preproc_def
      name: STR_SLASH
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\057"'
    - item_type: preproc_def
      name: STR_0
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\060"'
    - item_type: preproc_def
      name: STR_1
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\061"'
    - item_type: preproc_def
      name: STR_2
      pos:
        line_end: 1272
        line_start: 1271
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\062"'
    - item_type: preproc_def
      name: STR_3
      pos:
        line_end: 1273
        line_start: 1272
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\063"'
    - item_type: preproc_def
      name: STR_4
      pos:
        line_end: 1274
        line_start: 1273
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\064"'
    - item_type: preproc_def
      name: STR_5
      pos:
        line_end: 1275
        line_start: 1274
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\065"'
    - item_type: preproc_def
      name: STR_6
      pos:
        line_end: 1276
        line_start: 1275
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\066"'
    - item_type: preproc_def
      name: STR_7
      pos:
        line_end: 1277
        line_start: 1276
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\067"'
    - item_type: preproc_def
      name: STR_8
      pos:
        line_end: 1278
        line_start: 1277
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\070"'
    - item_type: preproc_def
      name: STR_9
      pos:
        line_end: 1279
        line_start: 1278
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\071"'
    - item_type: preproc_def
      name: STR_COLON
      pos:
        line_end: 1280
        line_start: 1279
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\072"'
    - item_type: preproc_def
      name: STR_SEMICOLON
      pos:
        line_end: 1281
        line_start: 1280
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\073"'
    - item_type: preproc_def
      name: STR_LESS_THAN_SIGN
      pos:
        line_end: 1282
        line_start: 1281
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\074"'
    - item_type: preproc_def
      name: STR_EQUALS_SIGN
      pos:
        line_end: 1283
        line_start: 1282
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\075"'
    - item_type: preproc_def
      name: STR_GREATER_THAN_SIGN
      pos:
        line_end: 1284
        line_start: 1283
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\076"'
    - item_type: preproc_def
      name: STR_QUESTION_MARK
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\077"'
    - item_type: preproc_def
      name: STR_COMMERCIAL_AT
      pos:
        line_end: 1286
        line_start: 1285
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\100"'
    - item_type: preproc_def
      name: STR_A
      pos:
        line_end: 1287
        line_start: 1286
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\101"'
    - item_type: preproc_def
      name: STR_B
      pos:
        line_end: 1288
        line_start: 1287
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\102"'
    - item_type: preproc_def
      name: STR_C
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\103"'
    - item_type: preproc_def
      name: STR_D
      pos:
        line_end: 1290
        line_start: 1289
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\104"'
    - item_type: preproc_def
      name: STR_E
      pos:
        line_end: 1291
        line_start: 1290
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\105"'
    - item_type: preproc_def
      name: STR_F
      pos:
        line_end: 1292
        line_start: 1291
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\106"'
    - item_type: preproc_def
      name: STR_G
      pos:
        line_end: 1293
        line_start: 1292
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\107"'
    - item_type: preproc_def
      name: STR_H
      pos:
        line_end: 1294
        line_start: 1293
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\110"'
    - item_type: preproc_def
      name: STR_I
      pos:
        line_end: 1295
        line_start: 1294
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\111"'
    - item_type: preproc_def
      name: STR_J
      pos:
        line_end: 1296
        line_start: 1295
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\112"'
    - item_type: preproc_def
      name: STR_K
      pos:
        line_end: 1297
        line_start: 1296
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\113"'
    - item_type: preproc_def
      name: STR_L
      pos:
        line_end: 1298
        line_start: 1297
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\114"'
    - item_type: preproc_def
      name: STR_M
      pos:
        line_end: 1299
        line_start: 1298
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\115"'
    - item_type: preproc_def
      name: STR_N
      pos:
        line_end: 1300
        line_start: 1299
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\116"'
    - item_type: preproc_def
      name: STR_O
      pos:
        line_end: 1301
        line_start: 1300
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\117"'
    - item_type: preproc_def
      name: STR_P
      pos:
        line_end: 1302
        line_start: 1301
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\120"'
    - item_type: preproc_def
      name: STR_Q
      pos:
        line_end: 1303
        line_start: 1302
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\121"'
    - item_type: preproc_def
      name: STR_R
      pos:
        line_end: 1304
        line_start: 1303
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\122"'
    - item_type: preproc_def
      name: STR_S
      pos:
        line_end: 1305
        line_start: 1304
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\123"'
    - item_type: preproc_def
      name: STR_T
      pos:
        line_end: 1306
        line_start: 1305
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\124"'
    - item_type: preproc_def
      name: STR_U
      pos:
        line_end: 1307
        line_start: 1306
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\125"'
    - item_type: preproc_def
      name: STR_V
      pos:
        line_end: 1308
        line_start: 1307
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\126"'
    - item_type: preproc_def
      name: STR_W
      pos:
        line_end: 1309
        line_start: 1308
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\127"'
    - item_type: preproc_def
      name: STR_X
      pos:
        line_end: 1310
        line_start: 1309
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\130"'
    - item_type: preproc_def
      name: STR_Y
      pos:
        line_end: 1311
        line_start: 1310
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\131"'
    - item_type: preproc_def
      name: STR_Z
      pos:
        line_end: 1312
        line_start: 1311
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\132"'
    - item_type: preproc_def
      name: STR_LEFT_SQUARE_BRACKET
      pos:
        line_end: 1313
        line_start: 1312
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\133"'
    - item_type: preproc_def
      name: STR_BACKSLASH
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\134"'
    - item_type: preproc_def
      name: STR_RIGHT_SQUARE_BRACKET
      pos:
        line_end: 1315
        line_start: 1314
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\135"'
    - item_type: preproc_def
      name: STR_CIRCUMFLEX_ACCENT
      pos:
        line_end: 1316
        line_start: 1315
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\136"'
    - item_type: preproc_def
      name: STR_UNDERSCORE
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\137"'
    - item_type: preproc_def
      name: STR_GRAVE_ACCENT
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\140"'
    - item_type: preproc_def
      name: STR_a
      pos:
        line_end: 1319
        line_start: 1318
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\141"'
    - item_type: preproc_def
      name: STR_b
      pos:
        line_end: 1320
        line_start: 1319
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\142"'
    - item_type: preproc_def
      name: STR_c
      pos:
        line_end: 1321
        line_start: 1320
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\143"'
    - item_type: preproc_def
      name: STR_d
      pos:
        line_end: 1322
        line_start: 1321
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\144"'
    - item_type: preproc_def
      name: STR_e
      pos:
        line_end: 1323
        line_start: 1322
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\145"'
    - item_type: preproc_def
      name: STR_f
      pos:
        line_end: 1324
        line_start: 1323
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\146"'
    - item_type: preproc_def
      name: STR_g
      pos:
        line_end: 1325
        line_start: 1324
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\147"'
    - item_type: preproc_def
      name: STR_h
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\150"'
    - item_type: preproc_def
      name: STR_i
      pos:
        line_end: 1327
        line_start: 1326
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\151"'
    - item_type: preproc_def
      name: STR_j
      pos:
        line_end: 1328
        line_start: 1327
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\152"'
    - item_type: preproc_def
      name: STR_k
      pos:
        line_end: 1329
        line_start: 1328
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\153"'
    - item_type: preproc_def
      name: STR_l
      pos:
        line_end: 1330
        line_start: 1329
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\154"'
    - item_type: preproc_def
      name: STR_m
      pos:
        line_end: 1331
        line_start: 1330
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\155"'
    - item_type: preproc_def
      name: STR_n
      pos:
        line_end: 1332
        line_start: 1331
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\156"'
    - item_type: preproc_def
      name: STR_o
      pos:
        line_end: 1333
        line_start: 1332
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\157"'
    - item_type: preproc_def
      name: STR_p
      pos:
        line_end: 1334
        line_start: 1333
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\160"'
    - item_type: preproc_def
      name: STR_q
      pos:
        line_end: 1335
        line_start: 1334
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\161"'
    - item_type: preproc_def
      name: STR_r
      pos:
        line_end: 1336
        line_start: 1335
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\162"'
    - item_type: preproc_def
      name: STR_s
      pos:
        line_end: 1337
        line_start: 1336
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\163"'
    - item_type: preproc_def
      name: STR_t
      pos:
        line_end: 1338
        line_start: 1337
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\164"'
    - item_type: preproc_def
      name: STR_u
      pos:
        line_end: 1339
        line_start: 1338
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\165"'
    - item_type: preproc_def
      name: STR_v
      pos:
        line_end: 1340
        line_start: 1339
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\166"'
    - item_type: preproc_def
      name: STR_w
      pos:
        line_end: 1341
        line_start: 1340
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\167"'
    - item_type: preproc_def
      name: STR_x
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\170"'
    - item_type: preproc_def
      name: STR_y
      pos:
        line_end: 1343
        line_start: 1342
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\171"'
    - item_type: preproc_def
      name: STR_z
      pos:
        line_end: 1344
        line_start: 1343
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\172"'
    - item_type: preproc_def
      name: STR_LEFT_CURLY_BRACKET
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\173"'
    - item_type: preproc_def
      name: STR_VERTICAL_LINE
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\174"'
    - item_type: preproc_def
      name: STR_RIGHT_CURLY_BRACKET
      pos:
        line_end: 1347
        line_start: 1346
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\175"'
    - item_type: preproc_def
      name: STR_TILDE
      pos:
        line_end: 1348
        line_start: 1347
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '"\176"'
    - item_type: preproc_def
      name: STRING_ACCEPT0
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_A STR_C STR_C STR_E STR_P STR_T "\0"
    - item_type: preproc_def
      name: STRING_COMMIT0
      pos:
        line_end: 1354
        line_start: 1353
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_C STR_O STR_M STR_M STR_I STR_T "\0"
    - item_type: preproc_def
      name: STRING_F0
      pos:
        line_end: 1355
        line_start: 1354
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_F "\0"
    - item_type: preproc_def
      name: STRING_FAIL0
      pos:
        line_end: 1356
        line_start: 1355
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_F STR_A STR_I STR_L "\0"
    - item_type: preproc_def
      name: STRING_MARK0
      pos:
        line_end: 1357
        line_start: 1356
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_M STR_A STR_R STR_K "\0"
    - item_type: preproc_def
      name: STRING_PRUNE0
      pos:
        line_end: 1358
        line_start: 1357
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_P STR_R STR_U STR_N STR_E "\0"
    - item_type: preproc_def
      name: STRING_SKIP0
      pos:
        line_end: 1359
        line_start: 1358
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_S STR_K STR_I STR_P "\0"
    - item_type: preproc_def
      name: STRING_THEN
      pos:
        line_end: 1360
        line_start: 1359
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_T STR_H STR_E STR_N
    - item_type: preproc_def
      name: STRING_atomic0
      pos:
        line_end: 1362
        line_start: 1361
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_t STR_o STR_m STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_pla0
      pos:
        line_end: 1363
        line_start: 1362
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_l STR_a "\0"
    - item_type: preproc_def
      name: STRING_plb0
      pos:
        line_end: 1364
        line_start: 1363
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_l STR_b "\0"
    - item_type: preproc_def
      name: STRING_napla0
      pos:
        line_end: 1365
        line_start: 1364
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_a STR_p STR_l STR_a "\0"
    - item_type: preproc_def
      name: STRING_naplb0
      pos:
        line_end: 1366
        line_start: 1365
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_a STR_p STR_l STR_b "\0"
    - item_type: preproc_def
      name: STRING_nla0
      pos:
        line_end: 1367
        line_start: 1366
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_l STR_a "\0"
    - item_type: preproc_def
      name: STRING_nlb0
      pos:
        line_end: 1368
        line_start: 1367
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_l STR_b "\0"
    - item_type: preproc_def
      name: STRING_scs0
      pos:
        line_end: 1369
        line_start: 1368
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_s "\0"
    - item_type: preproc_def
      name: STRING_sr0
      pos:
        line_end: 1370
        line_start: 1369
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_r "\0"
    - item_type: preproc_def
      name: STRING_asr0
      pos:
        line_end: 1371
        line_start: 1370
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_s STR_r "\0"
    - item_type: preproc_def
      name: STRING_positive_lookahead0
      pos:
        line_end: 1372
        line_start: 1371
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0"
    - item_type: preproc_def
      name: STRING_positive_lookbehind0
      pos:
        line_end: 1373
        line_start: 1372
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_non_atomic_positive_lookahead0
      pos:
        line_end: 1374
        line_start: 1373
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_o STR_n STR_UNDERSCORE STR_a STR_t STR_o STR_m STR_i
        STR_c STR_UNDERSCORE STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0"
    - item_type: preproc_def
      name: STRING_non_atomic_positive_lookbehind0
      pos:
        line_end: 1375
        line_start: 1374
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_o STR_n STR_UNDERSCORE STR_a STR_t STR_o STR_m STR_i
        STR_c STR_UNDERSCORE STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_negative_lookahead0
      pos:
        line_end: 1376
        line_start: 1375
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_e STR_g STR_a STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0"
    - item_type: preproc_def
      name: STRING_negative_lookbehind0
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_n STR_e STR_g STR_a STR_t STR_i STR_v STR_e STR_UNDERSCORE
        STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_script_run0
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_r STR_i STR_p STR_t STR_UNDERSCORE STR_r STR_u
        STR_n "\0"
    - item_type: preproc_def
      name: STRING_atomic_script_run
      pos:
        line_end: 1379
        line_start: 1378
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_t STR_o STR_m STR_i STR_c STR_UNDERSCORE STR_s STR_c
        STR_r STR_i STR_p STR_t STR_UNDERSCORE STR_r STR_u STR_n
    - item_type: preproc_def
      name: STRING_scan_substring0
      pos:
        line_end: 1380
        line_start: 1379
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_a STR_n STR_UNDERSCORE STR_s STR_u STR_b STR_s
        STR_t STR_r STR_i STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_alpha0
      pos:
        line_end: 1382
        line_start: 1381
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_l STR_p STR_h STR_a "\0"
    - item_type: preproc_def
      name: STRING_lower0
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_l STR_o STR_w STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_upper0
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_u STR_p STR_p STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_alnum0
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_l STR_n STR_u STR_m "\0"
    - item_type: preproc_def
      name: STRING_ascii0
      pos:
        line_end: 1386
        line_start: 1385
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_a STR_s STR_c STR_i STR_i "\0"
    - item_type: preproc_def
      name: STRING_blank0
      pos:
        line_end: 1387
        line_start: 1386
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_b STR_l STR_a STR_n STR_k "\0"
    - item_type: preproc_def
      name: STRING_cntrl0
      pos:
        line_end: 1388
        line_start: 1387
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_c STR_n STR_t STR_r STR_l "\0"
    - item_type: preproc_def
      name: STRING_digit0
      pos:
        line_end: 1389
        line_start: 1388
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_d STR_i STR_g STR_i STR_t "\0"
    - item_type: preproc_def
      name: STRING_graph0
      pos:
        line_end: 1390
        line_start: 1389
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_g STR_r STR_a STR_p STR_h "\0"
    - item_type: preproc_def
      name: STRING_print0
      pos:
        line_end: 1391
        line_start: 1390
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_r STR_i STR_n STR_t "\0"
    - item_type: preproc_def
      name: STRING_punct0
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_p STR_u STR_n STR_c STR_t "\0"
    - item_type: preproc_def
      name: STRING_space0
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_p STR_a STR_c STR_e "\0"
    - item_type: preproc_def
      name: STRING_word0
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_w STR_o STR_r STR_d       "\0"
    - item_type: preproc_def
      name: STRING_xdigit
      pos:
        line_end: 1395
        line_start: 1394
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_x STR_d STR_i STR_g STR_i STR_t
    - item_type: preproc_def
      name: STRING_DEFINE
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_D STR_E STR_F STR_I STR_N STR_E
    - item_type: preproc_def
      name: STRING_VERSION
      pos:
        line_end: 1398
        line_start: 1397
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_V STR_E STR_R STR_S STR_I STR_O STR_N
    - item_type: preproc_def
      name: STRING_WEIRD_STARTWORD
      pos:
        line_end: 1399
        line_start: 1398
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_LEFT_SQUARE_BRACKET STR_COLON STR_LESS_THAN_SIGN STR_COLON
        STR_RIGHT_SQUARE_BRACKET STR_RIGHT_SQUARE_BRACKET
    - item_type: preproc_def
      name: STRING_WEIRD_ENDWORD
      pos:
        line_end: 1400
        line_start: 1399
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_LEFT_SQUARE_BRACKET STR_COLON STR_GREATER_THAN_SIGN STR_COLON
        STR_RIGHT_SQUARE_BRACKET STR_RIGHT_SQUARE_BRACKET
    - item_type: preproc_def
      name: STRING_CR_RIGHTPAR
      pos:
        line_end: 1402
        line_start: 1401
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_C STR_R STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_LF_RIGHTPAR
      pos:
        line_end: 1403
        line_start: 1402
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_L STR_F STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_CRLF_RIGHTPAR
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_C STR_R STR_L STR_F STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_ANY_RIGHTPAR
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_A STR_N STR_Y STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_ANYCRLF_RIGHTPAR
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_A STR_N STR_Y STR_C STR_R STR_L STR_F STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NUL_RIGHTPAR
      pos:
        line_end: 1407
        line_start: 1406
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_U STR_L STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_BSR_ANYCRLF_RIGHTPAR
      pos:
        line_end: 1408
        line_start: 1407
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_B STR_S STR_R STR_UNDERSCORE STR_A STR_N STR_Y STR_C STR_R
        STR_L STR_F STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_BSR_UNICODE_RIGHTPAR
      pos:
        line_end: 1409
        line_start: 1408
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_B STR_S STR_R STR_UNDERSCORE STR_U STR_N STR_I STR_C STR_O
        STR_D STR_E STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_UTF8_RIGHTPAR
      pos:
        line_end: 1410
        line_start: 1409
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_U STR_T STR_F STR_8 STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_UTF16_RIGHTPAR
      pos:
        line_end: 1411
        line_start: 1410
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_U STR_T STR_F STR_1 STR_6 STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_UTF32_RIGHTPAR
      pos:
        line_end: 1412
        line_start: 1411
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_U STR_T STR_F STR_3 STR_2 STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_UTF_RIGHTPAR
      pos:
        line_end: 1413
        line_start: 1412
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_U STR_T STR_F STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_UCP_RIGHTPAR
      pos:
        line_end: 1414
        line_start: 1413
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_U STR_C STR_P STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NO_AUTO_POSSESS_RIGHTPAR
      pos:
        line_end: 1415
        line_start: 1414
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_UNDERSCORE STR_A STR_U STR_T STR_O STR_UNDERSCORE
        STR_P STR_O STR_S STR_S STR_E STR_S STR_S STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR
      pos:
        line_end: 1416
        line_start: 1415
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_UNDERSCORE STR_D STR_O STR_T STR_S STR_T STR_A
        STR_R STR_UNDERSCORE STR_A STR_N STR_C STR_H STR_O STR_R STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NO_JIT_RIGHTPAR
      pos:
        line_end: 1417
        line_start: 1416
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_UNDERSCORE STR_J STR_I STR_T STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NO_START_OPT_RIGHTPAR
      pos:
        line_end: 1418
        line_start: 1417
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_UNDERSCORE STR_S STR_T STR_A STR_R STR_T STR_UNDERSCORE
        STR_O STR_P STR_T STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NOTEMPTY_RIGHTPAR
      pos:
        line_end: 1419
        line_start: 1418
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_T STR_E STR_M STR_P STR_T STR_Y STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_NOTEMPTY_ATSTART_RIGHTPAR
      pos:
        line_end: 1420
        line_start: 1419
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_N STR_O STR_T STR_E STR_M STR_P STR_T STR_Y STR_UNDERSCORE
        STR_A STR_T STR_S STR_T STR_A STR_R STR_T STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_CASELESS_RESTRICT_RIGHTPAR
      pos:
        line_end: 1421
        line_start: 1420
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_C STR_A STR_S STR_E STR_L STR_E STR_S STR_S STR_UNDERSCORE
        STR_R STR_E STR_S STR_T STR_R STR_I STR_C STR_T STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_TURKISH_CASING_RIGHTPAR
      pos:
        line_end: 1422
        line_start: 1421
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_T STR_U STR_R STR_K STR_I STR_S STR_H STR_UNDERSCORE STR_C
        STR_A STR_S STR_I STR_N STR_G STR_RIGHT_PARENTHESIS
    - item_type: preproc_def
      name: STRING_LIMIT_HEAP_EQ
      pos:
        line_end: 1423
        line_start: 1422
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_H STR_E STR_A
        STR_P STR_EQUALS_SIGN
    - item_type: preproc_def
      name: STRING_LIMIT_MATCH_EQ
      pos:
        line_end: 1424
        line_start: 1423
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_M STR_A STR_T
        STR_C STR_H STR_EQUALS_SIGN
    - item_type: preproc_def
      name: STRING_LIMIT_DEPTH_EQ
      pos:
        line_end: 1425
        line_start: 1424
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_D STR_E STR_P
        STR_T STR_H STR_EQUALS_SIGN
    - item_type: preproc_def
      name: STRING_LIMIT_RECURSION_EQ
      pos:
        line_end: 1426
        line_start: 1425
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_R STR_E STR_C
        STR_U STR_R STR_S STR_I STR_O STR_N STR_EQUALS_SIGN
    - item_type: preproc_def
      name: STRING_MARK
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_M STR_A STR_R STR_K
    - item_type: preproc_def
      name: STRING_bc
      pos:
        line_end: 1429
        line_start: 1428
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_b STR_c
    - item_type: preproc_def
      name: STRING_bidiclass
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_b STR_i STR_d STR_i STR_c STR_l STR_a STR_s STR_s
    - item_type: preproc_def
      name: STRING_sc
      pos:
        line_end: 1431
        line_start: 1430
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c
    - item_type: preproc_def
      name: STRING_script
      pos:
        line_end: 1432
        line_start: 1431
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_r STR_i STR_p STR_t
    - item_type: preproc_def
      name: STRING_scriptextensions
      pos:
        line_end: 1433
        line_start: 1432
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_r STR_i STR_p STR_t STR_e STR_x STR_t STR_e STR_n
        STR_s STR_i STR_o STR_n STR_s
    - item_type: preproc_def
      name: STRING_scx
      pos:
        line_end: 1434
        line_start: 1433
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: STR_s STR_c STR_x
    - item_type: preproc_def
      name: PT_LAMP
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0    '
    - item_type: preproc_def
      name: PT_GC
      pos:
        line_end: 1446
        line_start: 1445
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: PT_PC
      pos:
        line_end: 1447
        line_start: 1446
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: PT_SC
      pos:
        line_end: 1448
        line_start: 1447
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '3    '
    - item_type: preproc_def
      name: PT_SCX
      pos:
        line_end: 1449
        line_start: 1448
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '4    '
    - item_type: preproc_def
      name: PT_ALNUM
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '5    '
    - item_type: preproc_def
      name: PT_SPACE
      pos:
        line_end: 1451
        line_start: 1450
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '6    '
    - item_type: preproc_def
      name: PT_PXSPACE
      pos:
        line_end: 1452
        line_start: 1451
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '7    '
    - item_type: preproc_def
      name: PT_WORD
      pos:
        line_end: 1453
        line_start: 1452
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '8    '
    - item_type: preproc_def
      name: PT_CLIST
      pos:
        line_end: 1454
        line_start: 1453
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '9    '
    - item_type: preproc_def
      name: PT_UCNC
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '10    '
    - item_type: preproc_def
      name: PT_BIDICL
      pos:
        line_end: 1456
        line_start: 1455
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '11    '
    - item_type: preproc_def
      name: PT_BOOL
      pos:
        line_end: 1457
        line_start: 1456
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '12    '
    - item_type: preproc_def
      name: PT_ANY
      pos:
        line_end: 1459
        line_start: 1457
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '13    '
    - item_type: preproc_def
      name: PT_TABSIZE
      pos:
        line_end: 1460
        line_start: 1459
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: 'PT_ANY  '
    - item_type: preproc_def
      name: PT_PXGRAPH
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '14    '
    - item_type: preproc_def
      name: PT_PXPRINT
      pos:
        line_end: 1469
        line_start: 1468
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '15    '
    - item_type: preproc_def
      name: PT_PXPUNCT
      pos:
        line_end: 1470
        line_start: 1469
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '16    '
    - item_type: preproc_def
      name: PT_PXXDIGIT
      pos:
        line_end: 1471
        line_start: 1470
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '17    '
    - item_type: preproc_def
      name: PT_NOTSCRIPT
      pos:
        line_end: 1476
        line_start: 1475
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '255'
    - item_type: preproc_def
      name: XCL_NOT
      pos:
        line_end: 1481
        line_start: 1480
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x01  '
    - item_type: preproc_def
      name: XCL_MAP
      pos:
        line_end: 1482
        line_start: 1481
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x02  '
    - item_type: preproc_def
      name: XCL_HASPROP
      pos:
        line_end: 1483
        line_start: 1482
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x04  '
    - item_type: preproc_def
      name: XCL_END
      pos:
        line_end: 1485
        line_start: 1484
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0     '
    - item_type: preproc_def
      name: XCL_SINGLE
      pos:
        line_end: 1486
        line_start: 1485
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: XCL_RANGE
      pos:
        line_end: 1487
        line_start: 1486
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '2     '
    - item_type: preproc_def
      name: XCL_PROP
      pos:
        line_end: 1488
        line_start: 1487
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '3     '
    - item_type: preproc_def
      name: XCL_NOTPROP
      pos:
        line_end: 1489
        line_start: 1488
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '4     '
    - item_type: preproc_def
      name: XCL_LIST
      pos:
        line_end: 1493
        line_start: 1492
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '(sizeof(PCRE2_UCHAR) == 1 ? 0x10 : 0x1000)'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_16_START
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_16_END
      pos:
        line_end: 1527
        line_start: 1526
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x7fff'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_16_ADD
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_16_START
      pos:
        line_end: 1530
        line_start: 1529
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_16_END
      pos:
        line_end: 1531
        line_start: 1530
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_16_ADD
      pos:
        line_end: 1532
        line_start: 1531
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_32_START
      pos:
        line_end: 1534
        line_start: 1533
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_32_END
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x7fffffff'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_LOW_32_ADD
      pos:
        line_end: 1536
        line_start: 1535
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_32_START
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_32_END
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: XCL_CHAR_LIST_HIGH_32_ADD
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: XCL_TYPE_MASK
      pos:
        line_end: 1547
        line_start: 1546
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0xfff'
    - item_type: preproc_def
      name: XCL_TYPE_BIT_LEN
      pos:
        line_end: 1548
        line_start: 1547
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XCL_BEGIN_WITH_RANGE
      pos:
        line_end: 1555
        line_start: 1554
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: XCL_ITEM_COUNT_MASK
      pos:
        line_end: 1560
        line_start: 1559
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: XCL_CHAR_END
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: XCL_CHAR_SHIFT
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ECL_MAP
      pos:
        line_end: 1570
        line_start: 1569
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '0x01  '
    - item_type: preproc_def
      name: ECL_AND
      pos:
        line_end: 1576
        line_start: 1575
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: ECL_OR
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: ECL_XOR
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: ECL_NOT
      pos:
        line_end: 1579
        line_start: 1578
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: ECL_XCLASS
      pos:
        line_end: 1580
        line_start: 1579
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: ECL_ANY
      pos:
        line_end: 1581
        line_start: 1580
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: ECL_NONE
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: FIRST_AUTOTAB_OP
      pos:
        line_end: 1634
        line_start: 1633
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: OP_NOT_DIGIT
    - item_type: preproc_def
      name: LAST_AUTOTAB_LEFT_OP
      pos:
        line_end: 1635
        line_start: 1634
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: OP_EXTUNI
    - item_type: preproc_def
      name: LAST_AUTOTAB_RIGHT_OP
      pos:
        line_end: 1636
        line_start: 1635
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: OP_DOLLM
    - item_type: preproc_def
      name: OP_NAME_LIST
      pos:
        line_end: 1965
        line_start: 1922
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: "\"End\", \"\\\\A\", \"\\\\G\", \"\\\\K\", \"\\\\B\", \"\\\\b\",
        \"\\\\D\", \"\\\\d\",         \\\n  \"\\\\S\", \"\\\\s\", \"\\\\W\", \"\\\\w\",
        \"Any\", \"AllAny\", \"Anybyte\",         \\\n  \"notprop\", \"prop\", \"\\\\R\",
        \"\\\\H\", \"\\\\h\", \"\\\\V\", \"\\\\v\",           \\\n  \"extuni\",  \"\\\\Z\",
        \"\\\\z\",                                        \\\n  \"$\", \"$\", \"^\",
        \"^\", \"char\", \"chari\", \"not\", \"noti\",             \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\",                                \\\n  \"{\",
        \"{\", \"{\",                                                  \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\",                                \\\n  \"{\",
        \"{\", \"{\",                                                  \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\",                                \\\n  \"{\",
        \"{\", \"{\",                                                  \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\",                                \\\n  \"{\",
        \"{\", \"{\",                                                  \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\", \"{\",                 \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"*\", \"*?\",
        \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\",                      \\\n  \"*+\",\"++\",
        \"?+\", \"{\",                                           \\\n  \"class\",
        \"nclass\", \"xclass\", \"eclass\",                          \\\n  \"Ref\",
        \"Refi\", \"DnRef\", \"DnRefi\",                               \\\n  \"Recurse\",
        \"Callout\", \"CalloutStr\",                             \\\n  \"Alt\", \"Ket\",
        \"KetRmax\", \"KetRmin\", \"KetRpos\",                  \\\n  \"Reverse\",
        \"VReverse\", \"Assert\", \"Assert not\",                  \\\n  \"Assert
        back\", \"Assert back not\",                               \\\n  \"Non-atomic
        assert\", \"Non-atomic assert back\",                  \\\n  \"Scan substring\",
        \                                              \\\n  \"Once\",                                                         \\\n
        \ \"Script run\",                                                   \\\n  \"Bra\",
        \"BraPos\", \"CBra\", \"CBraPos\",                             \\\n  \"Cond\",
        \                                                        \\\n  \"SBra\", \"SBraPos\",
        \"SCBra\", \"SCBraPos\",                         \\\n  \"SCond\",                                                        \\\n
        \ \"Capture ref\", \"Capture dnref\", \"Cond rec\", \"Cond dnrec\",       \\\n
        \ \"Cond false\", \"Cond true\",                                      \\\n
        \ \"Brazero\", \"Braminzero\", \"Braposzero\",                          \\\n
        \ \"*MARK\", \"*PRUNE\", \"*PRUNE\", \"*SKIP\", \"*SKIP\",                  \\\n
        \ \"*THEN\", \"*THEN\", \"*COMMIT\", \"*COMMIT\", \"*FAIL\",                \\\n
        \ \"*ACCEPT\", \"*ASSERT_ACCEPT\",                                    \\\n
        \ \"Close\", \"Skip zero\", \"Define\", \"\\\\B (ucp)\", \"\\\\b (ucp)\""
    - item_type: preproc_def
      name: OP_LENGTHS
      pos:
        line_end: 1977
        line_start: 1976
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: '1,                             '
    - item_type: preproc_def
      name: _pcre2_OP_lengths
      pos:
        line_end: 2210
        line_start: 2209
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_OP_lengths_)
    - item_type: preproc_def
      name: _pcre2_callout_end_delims
      pos:
        line_end: 2211
        line_start: 2210
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_callout_end_delims_)
    - item_type: preproc_def
      name: _pcre2_callout_start_delims
      pos:
        line_end: 2212
        line_start: 2211
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_callout_start_delims_)
    - item_type: preproc_def
      name: _pcre2_default_compile_context
      pos:
        line_end: 2213
        line_start: 2212
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_default_compile_context_)
    - item_type: preproc_def
      name: _pcre2_default_convert_context
      pos:
        line_end: 2214
        line_start: 2213
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_default_convert_context_)
    - item_type: preproc_def
      name: _pcre2_default_match_context
      pos:
        line_end: 2215
        line_start: 2214
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_default_match_context_)
    - item_type: preproc_def
      name: _pcre2_default_tables
      pos:
        line_end: 2216
        line_start: 2215
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_default_tables_)
    - item_type: preproc_def
      name: _pcre2_dummy_ucd_record
      pos:
        line_end: 2218
        line_start: 2217
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_dummy_ucd_record_)
    - item_type: preproc_def
      name: _pcre2_hspace_list
      pos:
        line_end: 2220
        line_start: 2219
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_hspace_list_)
    - item_type: preproc_def
      name: _pcre2_vspace_list
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_vspace_list_)
    - item_type: preproc_def
      name: _pcre2_ucd_boolprop_sets
      pos:
        line_end: 2222
        line_start: 2221
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_boolprop_sets_)
    - item_type: preproc_def
      name: _pcre2_ucd_caseless_sets
      pos:
        line_end: 2223
        line_start: 2222
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_caseless_sets_)
    - item_type: preproc_def
      name: _pcre2_ucd_turkish_dotted_i_caseset
      pos:
        line_end: 2224
        line_start: 2223
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_turkish_dotted_i_caseset_)
    - item_type: preproc_def
      name: _pcre2_ucd_nocase_ranges
      pos:
        line_end: 2225
        line_start: 2224
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_nocase_ranges_)
    - item_type: preproc_def
      name: _pcre2_ucd_nocase_ranges_size
      pos:
        line_end: 2226
        line_start: 2225
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_nocase_ranges_size_)
    - item_type: preproc_def
      name: _pcre2_ucd_digit_sets
      pos:
        line_end: 2227
        line_start: 2226
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_digit_sets_)
    - item_type: preproc_def
      name: _pcre2_ucd_script_sets
      pos:
        line_end: 2228
        line_start: 2227
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_script_sets_)
    - item_type: preproc_def
      name: _pcre2_ucd_records
      pos:
        line_end: 2229
        line_start: 2228
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_records_)
    - item_type: preproc_def
      name: _pcre2_ucd_stage1
      pos:
        line_end: 2230
        line_start: 2229
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_stage1_)
    - item_type: preproc_def
      name: _pcre2_ucd_stage2
      pos:
        line_end: 2231
        line_start: 2230
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucd_stage2_)
    - item_type: preproc_def
      name: _pcre2_ucp_gbtable
      pos:
        line_end: 2232
        line_start: 2231
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucp_gbtable_)
    - item_type: preproc_def
      name: _pcre2_ucp_gentype
      pos:
        line_end: 2233
        line_start: 2232
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucp_gentype_)
    - item_type: preproc_def
      name: _pcre2_ucp_typerange
      pos:
        line_end: 2234
        line_start: 2233
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ucp_typerange_)
    - item_type: preproc_def
      name: _pcre2_unicode_version
      pos:
        line_end: 2235
        line_start: 2234
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_unicode_version_)
    - item_type: preproc_def
      name: _pcre2_utt
      pos:
        line_end: 2236
        line_start: 2235
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_utt_)
    - item_type: preproc_def
      name: _pcre2_utt_names
      pos:
        line_end: 2237
        line_start: 2236
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_utt_names_)
    - item_type: preproc_def
      name: _pcre2_utt_size
      pos:
        line_end: 2238
        line_start: 2237
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_utt_size_)
    - item_type: preproc_def
      name: _pcre2_ebcdic_1047_to_ascii
      pos:
        line_end: 2239
        line_start: 2238
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ebcdic_1047_to_ascii_)
    - item_type: preproc_def
      name: _pcre2_ascii_to_ebcdic_1047
      pos:
        line_end: 2240
        line_start: 2239
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ascii_to_ebcdic_1047_)
    - item_type: preproc_def
      name: branch_chain
      pos:
        line_end: 2282
        line_start: 2281
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(branch_chain_)
    - item_type: preproc_def
      name: compile_block
      pos:
        line_end: 2283
        line_start: 2282
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(compile_block_)
    - item_type: preproc_def
      name: dfa_match_block
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(dfa_match_block_)
    - item_type: preproc_def
      name: match_block
      pos:
        line_end: 2285
        line_start: 2284
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(match_block_)
    - item_type: preproc_def
      name: named_group
      pos:
        line_end: 2286
        line_start: 2285
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(named_group_)
    - item_type: preproc_def
      name: _pcre2_auto_possessify
      pos:
        line_end: 2296
        line_start: 2295
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_auto_possessify_)
    - item_type: preproc_def
      name: _pcre2_check_escape
      pos:
        line_end: 2297
        line_start: 2296
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_check_escape_)
    - item_type: preproc_def
      name: _pcre2_ckd_smul
      pos:
        line_end: 2298
        line_start: 2297
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ckd_smul_)
    - item_type: preproc_def
      name: _pcre2_extuni
      pos:
        line_end: 2299
        line_start: 2298
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_extuni_)
    - item_type: preproc_def
      name: _pcre2_find_bracket
      pos:
        line_end: 2300
        line_start: 2299
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_find_bracket_)
    - item_type: preproc_def
      name: _pcre2_is_newline
      pos:
        line_end: 2301
        line_start: 2300
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_is_newline_)
    - item_type: preproc_def
      name: _pcre2_jit_free_rodata
      pos:
        line_end: 2302
        line_start: 2301
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_jit_free_rodata_)
    - item_type: preproc_def
      name: _pcre2_jit_free
      pos:
        line_end: 2303
        line_start: 2302
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_jit_free_)
    - item_type: preproc_def
      name: _pcre2_jit_get_size
      pos:
        line_end: 2304
        line_start: 2303
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_jit_get_size_)
    - item_type: preproc_def
      name: _pcre2_jit_get_target
      pos:
        line_end: 2305
        line_start: 2304
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_jit_get_target_)
    - item_type: preproc_def
      name: _pcre2_memctl_malloc
      pos:
        line_end: 2306
        line_start: 2305
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_memctl_malloc_)
    - item_type: preproc_def
      name: _pcre2_ord2utf
      pos:
        line_end: 2307
        line_start: 2306
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_ord2utf_)
    - item_type: preproc_def
      name: _pcre2_script_run
      pos:
        line_end: 2308
        line_start: 2307
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_script_run_)
    - item_type: preproc_def
      name: _pcre2_strcmp
      pos:
        line_end: 2309
        line_start: 2308
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strcmp_)
    - item_type: preproc_def
      name: _pcre2_strcmp_c8
      pos:
        line_end: 2310
        line_start: 2309
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strcmp_c8_)
    - item_type: preproc_def
      name: _pcre2_strcpy_c8
      pos:
        line_end: 2311
        line_start: 2310
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strcpy_c8_)
    - item_type: preproc_def
      name: _pcre2_strlen
      pos:
        line_end: 2312
        line_start: 2311
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strlen_)
    - item_type: preproc_def
      name: _pcre2_strncmp
      pos:
        line_end: 2313
        line_start: 2312
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strncmp_)
    - item_type: preproc_def
      name: _pcre2_strncmp_c8
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_strncmp_c8_)
    - item_type: preproc_def
      name: _pcre2_study
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_study_)
    - item_type: preproc_def
      name: _pcre2_valid_utf
      pos:
        line_end: 2316
        line_start: 2315
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_valid_utf_)
    - item_type: preproc_def
      name: _pcre2_was_newline
      pos:
        line_end: 2317
        line_start: 2316
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_was_newline_)
    - item_type: preproc_def
      name: _pcre2_xclass
      pos:
        line_end: 2318
        line_start: 2317
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_xclass_)
    - item_type: preproc_def
      name: _pcre2_eclass
      pos:
        line_end: 2319
        line_start: 2318
        source_file: /src/pcre2/src/pcre2_internal.h
      type_or_value: PCRE2_SUFFIX(_pcre2_eclass_)
    structs: []
    typedefs:
    - item_type: typedef
      name: BOOL
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/pcre2/src/pcre2_internal.h
      type: int
    union: []
- function_names:
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_string_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_callout_dfa
  - more_workspace
  - ADD_ACTIVE
  - ADD_ACTIVE_DATA
  - ADD_NEW
  - ADD_NEW_DATA
  - internal_dfa_match
  - pcre2_dfa_match
  source_file: /src/pcre2/src/pcre2_dfa_match.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NLBLOCK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: 'mb             '
    - item_type: preproc_def
      name: PSSTART
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: 'start_subject  '
    - item_type: preproc_def
      name: PSEND
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: 'end_subject    '
    - item_type: preproc_def
      name: PUBLIC_DFA_MATCH_OPTIONS
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: "(PCRE2_ANCHORED|PCRE2_ENDANCHORED|PCRE2_NOTBOL|PCRE2_NOTEOL|PCRE2_NOTEMPTY|
        \\\n   PCRE2_NOTEMPTY_ATSTART|PCRE2_NO_UTF_CHECK|PCRE2_PARTIAL_HARD| \\\n
        \  PCRE2_PARTIAL_SOFT|PCRE2_DFA_SHORTEST|PCRE2_DFA_RESTART| \\\n   PCRE2_COPY_MATCHED_SUBJECT)"
    - item_type: preproc_def
      name: OP_PROP_EXTRA
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '300'
    - item_type: preproc_def
      name: OP_EXTUNI_EXTRA
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '320'
    - item_type: preproc_def
      name: OP_ANYNL_EXTRA
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '340'
    - item_type: preproc_def
      name: OP_HSPACE_EXTRA
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '360'
    - item_type: preproc_def
      name: OP_VSPACE_EXTRA
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '380'
    - item_type: preproc_def
      name: INTS_PER_STATEBLOCK
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: (int)(sizeof(stateblock)/sizeof(int))
    - item_type: preproc_def
      name: OVEC_UNIT
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: (sizeof(PCRE2_SIZE)/sizeof(int))
    - item_type: preproc_def
      name: RWS_BASE_SIZE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '(DFA_START_RWS_SIZE/sizeof(int))  '
    - item_type: preproc_def
      name: RWS_RSIZE
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '1000                    '
    - item_type: preproc_def
      name: RWS_OVEC_RSIZE
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '(1000*OVEC_UNIT)        '
    - item_type: preproc_def
      name: RWS_OVEC_OSIZE
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: '(2*OVEC_UNIT)           '
    - item_type: preproc_def
      name: RWS_ANCHOR_SIZE
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: (sizeof(RWS_anchor)/sizeof(int))
    - item_type: preproc_def
      name: FF
      pos:
        line_end: 3445
        line_start: 3444
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: (PCRE2_NOTEMPTY_SET|PCRE2_NE_ATST_SET)
    - item_type: preproc_def
      name: OO
      pos:
        line_end: 3446
        line_start: 3445
        source_file: /src/pcre2/src/pcre2_dfa_match.c
      type_or_value: (PCRE2_NOTEMPTY|PCRE2_NOTEMPTY_ATSTART)
    structs:
    - fields:
      - name: offset
        type: int
      - name: count
        type: int
      - name: data
        type: int
      item_type: struct
      name: stateblock
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/pcre2/src/pcre2_dfa_match.c
    - fields:
      - name: '*next'
        type: struct RWS_anchor
      - name: size
        type: uint32_t
      - name: free
        type: uint32_t
      item_type: struct
      name: RWS_anchor
      pos:
        line_end: 335
        line_start: 331
        source_file: /src/pcre2/src/pcre2_dfa_match.c
    typedefs: []
    union: []
- function_names:
  - CLASS_END_CASES
  - CLASS_END_CASES
  - do_heapify
  - get_nocase_range
  - utf_caseless_extend
  - append_char_list
  - get_highest_char
  - append_negated_char_list
  - append_non_ascii_range
  - parse_class
  - compile_optimize_class
  - PRIV
  - add_to_class
  - add_list_to_class
  - add_not_list_to_class
  - PRIV
  - fold_negation
  - fold_binary
  - compile_class_operand
  - compile_class_juxtaposition
  - compile_class_unary
  - compile_class_binary_tight
  - compile_class_binary_loose
  - compile_eclass_nested
  - PRIV
  source_file: /src/pcre2/src/pcre2_compile_class.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PARSE_CLASS_UTF
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: PARSE_CLASS_CASELESS_UTF
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: PARSE_CLASS_RESTRICTED_UTF
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: PARSE_CLASS_TURKISH_UTF
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: CHAR_LIST_EXTRA_SIZE
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '3'
    - item_type: preproc_def
      name: XCLASS_REQUIRED
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: XCLASS_HAS_8BIT_CHARS
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: XCLASS_HAS_PROPS
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: XCLASS_HAS_CHAR_LISTS
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: XCLASS_HIGH_ANY
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/pcre2/src/pcre2_compile_class.c
      type_or_value: '0x10'
    structs:
    - fields:
      - name: options
        type: uint32_t
      - name: xoptions
        type: uint32_t
      - name: '*errorcodeptr'
        type: int
      - name: '*cb'
        type: compile_block
      - name: needs_bitmap
        type: BOOL
      item_type: struct
      name: eclass_context
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/pcre2/src/pcre2_compile_class.c
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  - PRIV
  - do_heapify_u16
  - PRIV
  source_file: /src/pcre2/src/pcre2_compile_cgroup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/pcre2/src/pcre2posix_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAPCOUNT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2posix_test.c
      type_or_value: '5               '
    - item_type: preproc_def
      name: PRINTF
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2posix_test.c
      type_or_value: 'if (v) printf     '
    - item_type: preproc_def
      name: count
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/pcre2/src/pcre2posix_test.c
      type_or_value: (int)(sizeof(cflags)/sizeof(int))
    structs: []
    typedefs: []
    union: []
- function_names:
  - jit_callback
  - pcre2_strcmp_c8
  - pcre2_strlen
  - pchars
  - ptrunc_8
  - ptrunc_16
  - ptrunc_32
  - to16
  - to32
  - config_str
  - check_modifier
  - decode_modifiers
  - pattern_info
  - show_memory_info
  - show_framesize
  - show_heapframes_size
  - print_error_message_file
  - print_error_message
  - callout_enumerate_function
  - callout_enumerate_function_void
  - callout_enumerate_function_fail
  - show_pattern_info
  - serial_error
  - process_command
  - process_pattern
  - have_active_pattern
  - free_active_pattern
  - check_match_limit
  - substitute_callout_function
  - substitute_case_callout_function
  - callout_function
  - copy_and_get
  - copy_substitute_string
  - process_data
  - CLEAR_HEAP_FRAMES
  - init_globals
  - free_globals
  - unittest
  - ASSERT
  - ASSERT
  source_file: /src/pcre2/src/pcre2test_inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: pbuffer
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pbuffer)
    - item_type: preproc_def
      name: pbuffer_size
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: G(pbuffer,_size)
    - item_type: preproc_def
      name: utf_to_ord
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: G(G(utf,PCRE2_CODE_UNIT_WIDTH),_to_ord)
    - item_type: preproc_def
      name: compiled_code
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(compiled_code_)
    - item_type: preproc_def
      name: general_context
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(general_context_)
    - item_type: preproc_def
      name: general_context_copy
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(general_context_copy_)
    - item_type: preproc_def
      name: pat_context
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pat_context_)
    - item_type: preproc_def
      name: default_pat_context
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(default_pat_context_)
    - item_type: preproc_def
      name: con_context
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(con_context_)
    - item_type: preproc_def
      name: default_con_context
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(default_con_context_)
    - item_type: preproc_def
      name: dat_context
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(dat_context_)
    - item_type: preproc_def
      name: default_dat_context
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(default_dat_context_)
    - item_type: preproc_def
      name: match_data
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(match_data_)
    - item_type: preproc_def
      name: jit_stack
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(jit_stack_)
    - item_type: preproc_def
      name: jit_stack_size
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(jit_stack_size_)
    - item_type: preproc_def
      name: patstack
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(patstack_)
    - item_type: preproc_def
      name: patstacknext
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(patstacknext_)
    - item_type: preproc_def
      name: rep_in_buffer
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(rep_in_buffer_)
    - item_type: preproc_def
      name: rep_in_buffer_size
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(rep_in_buffer_size_)
    - item_type: preproc_def
      name: rep_out_buffer
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(rep_out_buffer_)
    - item_type: preproc_def
      name: rep_out_buffer_size
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(rep_out_buffer_size_)
    - item_type: preproc_def
      name: jit_callback
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(jit_callback_)
    - item_type: preproc_def
      name: pcre2_strcmp_c8
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pcre2_strcmp_c8_)
    - item_type: preproc_def
      name: pcre2_strlen
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pcre2_strlen_)
    - item_type: preproc_def
      name: pchars
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pchars_)
    - item_type: preproc_def
      name: ptrunc
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(ptrunc_)
    - item_type: preproc_def
      name: config_str
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(config_str_)
    - item_type: preproc_def
      name: check_modifier
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(check_modifier_)
    - item_type: preproc_def
      name: decode_modifiers
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(decode_modifiers_)
    - item_type: preproc_def
      name: pattern_info
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(pattern_info_)
    - item_type: preproc_def
      name: show_memory_info
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(show_memory_info_)
    - item_type: preproc_def
      name: show_framesize
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(show_framesize_)
    - item_type: preproc_def
      name: show_heapframes_size
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(show_heapframes_size_)
    - item_type: preproc_def
      name: print_error_message_file
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(print_error_message_file_)
    - item_type: preproc_def
      name: print_error_message
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(print_error_message_)
    - item_type: preproc_def
      name: callout_enumerate_function
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(callout_enumerate_function_)
    - item_type: preproc_def
      name: callout_enumerate_function_void
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(callout_enumerate_function_void_)
    - item_type: preproc_def
      name: callout_enumerate_function_fail
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(callout_enumerate_function_fail_)
    - item_type: preproc_def
      name: show_pattern_info
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(show_pattern_info_)
    - item_type: preproc_def
      name: serial_error
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(serial_error_)
    - item_type: preproc_def
      name: process_command
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(process_command_)
    - item_type: preproc_def
      name: process_pattern
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(process_pattern_)
    - item_type: preproc_def
      name: have_active_pattern
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(have_active_pattern_)
    - item_type: preproc_def
      name: free_active_pattern
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(free_active_pattern_)
    - item_type: preproc_def
      name: check_match_limit
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(check_match_limit_)
    - item_type: preproc_def
      name: substitute_callout_function
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(substitute_callout_function_)
    - item_type: preproc_def
      name: substitute_case_callout_function
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(substitute_case_callout_function_)
    - item_type: preproc_def
      name: callout_function
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(callout_function_)
    - item_type: preproc_def
      name: copy_and_get
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(copy_and_get_)
    - item_type: preproc_def
      name: copy_substitute_string
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(copy_substitute_string_)
    - item_type: preproc_def
      name: process_data
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(process_data_)
    - item_type: preproc_def
      name: init_globals
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(init_globals_)
    - item_type: preproc_def
      name: free_globals
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(free_globals_)
    - item_type: preproc_def
      name: unittest
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: PCRE2_SUFFIX(unittest_)
    - item_type: preproc_def
      name: BITOTHER
      pos:
        line_end: 5656
        line_start: 5655
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: '8'
    - item_type: preproc_def
      name: BITOTHER
      pos:
        line_end: 5658
        line_start: 5657
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: '16'
    - item_type: preproc_def
      name: BITOTHER
      pos:
        line_end: 5660
        line_start: 5659
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: '32'
    - item_type: preproc_def
      name: BUFFER_OUTPUT
      pos:
        line_end: 6006
        line_start: 6005
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: ebcdic_to_ascii_str((uint8_t *)errorbuffer8, sizeof(errorbuffer8));
    - item_type: preproc_def
      name: BUFFER_OUTPUT
      pos:
        line_end: 6044
        line_start: 6043
        source_file: /src/pcre2/src/pcre2test_inc.h
      type_or_value: ebcdic_to_ascii_str(errorbuffer, sizeof(errorbuffer));
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_compile_options
  - print_match_options
  - print_error
  - dump_matches
  - describe_failure
  - callout_function
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  - main
  source_file: /src/pcre2/src/pcre2_fuzzsupport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STACK_SIZE_MB
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: '256'
    - item_type: preproc_def
      name: JIT_SIZE_LIMIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: (200 * 1024)
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_MATCH_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: DFA_WORKSPACE_COUNT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: '100'
    - item_type: preproc_def
      name: ALLOWED_COMPILE_OPTIONS
      pos:
        line_end: 93
        line_start: 82
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: "(PCRE2_ANCHORED|PCRE2_ALLOW_EMPTY_CLASS|PCRE2_ALT_BSUX|PCRE2_ALT_CIRCUMFLEX|
        \\\n   PCRE2_ALT_EXTENDED_CLASS|PCRE2_ALT_VERBNAMES|PCRE2_AUTO_CALLOUT| \\\n
        \  PCRE2_CASELESS|PCRE2_DOLLAR_ENDONLY| \\\n   PCRE2_DOTALL|PCRE2_DUPNAMES|PCRE2_ENDANCHORED|PCRE2_EXTENDED|
        \\\n   PCRE2_EXTENDED_MORE|PCRE2_FIRSTLINE| \\\n   PCRE2_MATCH_UNSET_BACKREF|PCRE2_MULTILINE|PCRE2_NEVER_BACKSLASH_C|
        \\\n   PCRE2_NO_AUTO_CAPTURE| \\\n   PCRE2_NO_AUTO_POSSESS|PCRE2_NO_DOTSTAR_ANCHOR|PCRE2_NO_START_OPTIMIZE|
        \\\n   PCRE2_UCP|PCRE2_UNGREEDY|PCRE2_USE_OFFSET_LIMIT| \\\n   PCRE2_UTF)"
    - item_type: preproc_def
      name: ALLOWED_MATCH_OPTIONS
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: "(PCRE2_ANCHORED|PCRE2_ENDANCHORED|PCRE2_NOTBOL|PCRE2_NOTEOL|PCRE2_NOTEMPTY|
        \\\n   PCRE2_NOTEMPTY_ATSTART|PCRE2_PARTIAL_HARD| \\\n   PCRE2_PARTIAL_SOFT)"
    - item_type: preproc_def
      name: BASE_MATCH_OPTIONS
      pos:
        line_end: 101
        line_start: 99
        source_file: /src/pcre2/src/pcre2_fuzzsupport.c
      type_or_value: (PCRE2_NO_JIT|PCRE2_DISABLE_RECURSELOOP_CHECK)
    structs: []
    typedefs: []
    union: []
- function_names:
  - SLJIT_MALLOC
  - SLJIT_FREE
  - pcre2_jit_malloc
  - pcre2_jit_free
  - STACK
  - OVECTOR
  - OVECTOR_PRIV
  - PRIVATE_DATA
  - IN_UCHARS
  - IN_UCHARS
  - IN_UCHARS
  - OP1
  - OP2
  - OP2U
  - OP_SRC
  - LABEL
  - JUMP
  - JUMPTO
  - JUMPHERE
  - SET_LABEL
  - CMP
  - CMPTO
  - OP_FLAGS
  - SELECT
  - GET_LOCAL_BASE
  - GETCHARINC_INVALID
  - GETCHARBACK_INVALID
  - GETCHARINC_INVALID
  - GETCHARBACK_INVALID
  - GETCHARINC_INVALID
  - GETCHARBACK_INVALID
  - bracketend
  - no_alternatives
  - find_vreverse
  - next_opcode
  - ref_update_local_size
  - is_optimized_cbracket
  - clear_optimized_cbracket
  - check_opcode_types
  - detect_early_fail
  - get_class_iterator_size
  - detect_repeat
  - set_private_data_ptrs
  - is_cbracket_processed
  - get_framesize
  - init_frame
  - delayed_mem_copy_init
  - delayed_mem_copy_move
  - delayed_mem_copy_finish
  - recurse_check_bit
  - get_recurse_data_length
  - copy_recurse_data
  - set_then_offsets
  - is_powerof2
  - set_jumps
  - add_jump
  - add_stub
  - flush_stubs
  - count_match
  - allocate_stack
  - free_stack
  - allocate_read_only_data
  - reset_ovector
  - reset_early_fail
  - do_reset_match
  - do_search_mark
  - copy_ovector
  - return_with_partial_match
  - check_start_used_ptr
  - char_has_othercase
  - char_othercase
  - char_get_othercase_bit
  - check_partial
  - check_str_end
  - detect_partial_match
  - process_partial_match
  - detect_partial_match_to
  - peek_char
  - peek_char_back
  - read_char
  - skip_valid_char
  - is_char7_bitset
  - read_char7_type
  - read_char8_type
  - move_back
  - check_newlinechar
  - do_utfreadchar
  - do_utfreadtype8
  - do_utfreadchar_invalid
  - do_utfreadnewline_invalid
  - do_utfmoveback_invalid
  - do_utfpeakcharback
  - do_utfpeakcharback_invalid
  - do_utfreadchar_invalid
  - do_utfreadnewline_invalid
  - do_utfmoveback_invalid
  - do_utfpeakcharback_invalid
  - do_getucd
  - do_getucdtype
  - mainloop_entry
  - add_prefix_char
  - scan_prefix
  - jumpto_if_not_utf_char_start
  - check_fast_forward_char_pair_simd
  - fast_forward_first_char2
  - fast_forward_first_n_chars
  - fast_forward_first_char
  - fast_forward_newline
  - fast_forward_start_bits
  - search_requested_char
  - do_revertframes
  - UCPCAT
  - UCPCAT2
  - UCPCAT3
  - UCPCAT_RANGE
  - check_wordboundary
  - optimize_class_ranges
  - optimize_class_chars
  - optimize_class
  - do_casefulcmp
  - do_caselesscmp
  - compile_simple_assertion_matchingpath
  - PUSH_BACKTRACK
  - PUSH_BACKTRACK_NOVALUE
  - BACKTRACK_AS
  - compile_dnref_search
  - compile_ref_matchingpath
  - compile_ref_iterator_matchingpath
  - compile_recurse_matchingpath
  - do_callout_jit
  - CALLOUT_ARG_OFFSET
  - compile_callout_matchingpath
  - compile_reverse_matchingpath
  - assert_needs_str_ptr_saving
  - compile_assert_matchingpath
  - match_once_common
  - match_capture_common
  - do_script_run
  - do_script_run_utf
  - match_script_run_common
  - compile_bracket_matchingpath
  - compile_bracketpos_matchingpath
  - get_iterator_parameters
  - COMPILE_BACKTRACKINGPATH
  - CURRENT_AS
  - compile_newline_move_back
  - compile_iterator_backtrackingpath
  - compile_ref_iterator_backtrackingpath
  - compile_recurse_backtrackingpath
  - compile_assert_backtrackingpath
  - compile_bracket_backtrackingpath
  - compile_bracketpos_backtrackingpath
  - compile_braminzero_backtrackingpath
  - compile_control_verb_backtrackingpath
  - compile_vreverse_backtrackingpath
  - compile_then_trap_backtrackingpath
  - compile_backtrackingpath
  - compile_recurse
  - jit_compile
  - pcre2_jit_compile
  source_file: /src/pcre2/src/pcre2_jit_compile.c
  types:
    enum:
    - enumerators:
      - name: no_frame
        value: '-1'
      - name: no_stack
        value: '-2'
      item_type: enum
      name: frame_types
      pos:
        line_end: 220
        line_start: 217
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - enumerators:
      - name: type_mark
        value: '0'
      - name: type_then_trap
        value: '1'
      item_type: enum
      name: control_types
      pos:
        line_end: 225
        line_start: 222
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - enumerators:
      - name: type_skip
        value: '0'
      - name: type_fail
        value: '1'
      - name: type_fail_range
        value: '2'
      item_type: enum
      name: early_fail_types
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - enumerators:
      - name: recurse_flag_quit_found
        value: (1 << 0)
      - name: recurse_flag_setmark_found
        value: (1 << 3)
      - name: recurse_flag_control_head_found
        value: (1 << 4)
      - name: recurse_flag_accept_found
        value: (1 << 1)
      - name: recurse_flag_setsom_found
        value: (1 << 2)
      - name: recurse_flag_recurse_arg
        value: (1 << 5)
      item_type: enum
      name: get_recurse_flags
      pos:
        line_end: 2615
        line_start: 2608
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - enumerators:
      - name: recurse_copy_from_global
      - name: recurse_copy_shared_to_global
      - name: recurse_copy_private_to_global
      - name: recurse_copy_kept_shared_to_global
      - name: recurse_swap_global
      item_type: enum
      name: copy_recurse_data_types
      pos:
        line_end: 2906
        line_start: 2900
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    preproc_defs:
    - item_type: preproc_def
      name: SLJIT_CONFIG_AUTO
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLJIT_CONFIG_STATIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLJIT_VERBOSE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLJIT_DEBUG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLJIT_DEBUG
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MACHINE_STACK_SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '32768'
    - item_type: preproc_def
      name: STACK_GROWTH_RATE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: DESTROY_REGISTERS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JIT_NUMBER_OF_COMPILE_MODES
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '3'
    - item_type: preproc_def
      name: OP_THEN_TRAP
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: OP_TABLE_LENGTH
    - item_type: preproc_def
      name: MAX_N_CHARS
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '12'
    - item_type: preproc_def
      name: MAX_DIFF_CHARS
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_CLASS_RANGE_SIZE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_CLASS_CHARS_SIZE
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TMP1
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R0
    - item_type: preproc_def
      name: TMP2
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R3
    - item_type: preproc_def
      name: TMP3
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R2
    - item_type: preproc_def
      name: TMP2
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R2
    - item_type: preproc_def
      name: TMP3
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R3
    - item_type: preproc_def
      name: STR_PTR
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R1
    - item_type: preproc_def
      name: STR_END
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_S0
    - item_type: preproc_def
      name: STACK_TOP
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_S1
    - item_type: preproc_def
      name: STACK_LIMIT
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_S2
    - item_type: preproc_def
      name: COUNT_MATCH
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_S3
    - item_type: preproc_def
      name: ARGUMENTS
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_S4
    - item_type: preproc_def
      name: RETURN_ADDR
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_R4
    - item_type: preproc_def
      name: HAS_VIRTUAL_REGISTERS
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_VIRTUAL_REGISTERS
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LIMIT_MATCH
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (0 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: LOCAL0
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (1 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: LOCAL1
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (2 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: LOCAL2
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (3 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: LOCAL3
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (4 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: LOCAL4
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (5 * sizeof(sljit_sw))
    - item_type: preproc_def
      name: OVECTOR_START
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (common->ovector_start)
    - item_type: preproc_def
      name: MOV_UCHAR
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_MOV_U8
    - item_type: preproc_def
      name: MOV_UCHAR
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_MOV_U16
    - item_type: preproc_def
      name: UCHAR_SHIFT
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (1)
    - item_type: preproc_def
      name: MOV_UCHAR
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: SLJIT_MOV_U32
    - item_type: preproc_def
      name: UCHAR_SHIFT
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (2)
    - item_type: preproc_def
      name: DEFINE_COMPILER
      pos:
        line_end: 651
        line_start: 649
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: struct sljit_compiler *compiler = common->compiler
    - item_type: preproc_def
      name: READ_CHAR_MAX
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: ((sljit_u32)0xffffffff)
    - item_type: preproc_def
      name: INVALID_UTF_CHAR
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: UNASSIGNED_UTF_CHAR
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '888'
    - item_type: preproc_def
      name: EARLY_FAIL_ENHANCE_MAX
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (3 + 3)
    - item_type: preproc_def
      name: CASE_ITERATOR_PRIVATE_DATA_1
      pos:
        line_end: 1908
        line_start: 1891
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_MINSTAR: \\\n    case OP_MINPLUS: \\\n    case OP_QUERY:
        \\\n    case OP_MINQUERY: \\\n    case OP_MINSTARI: \\\n    case OP_MINPLUSI:
        \\\n    case OP_QUERYI: \\\n    case OP_MINQUERYI: \\\n    case OP_NOTMINSTAR:
        \\\n    case OP_NOTMINPLUS: \\\n    case OP_NOTQUERY: \\\n    case OP_NOTMINQUERY:
        \\\n    case OP_NOTMINSTARI: \\\n    case OP_NOTMINPLUSI: \\\n    case OP_NOTQUERYI:
        \\\n    case OP_NOTMINQUERYI:"
    - item_type: preproc_def
      name: CASE_ITERATOR_PRIVATE_DATA_2A
      pos:
        line_end: 1918
        line_start: 1909
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_STAR: \\\n    case OP_PLUS: \\\n    case OP_STARI: \\\n
        \   case OP_PLUSI: \\\n    case OP_NOTSTAR: \\\n    case OP_NOTPLUS: \\\n
        \   case OP_NOTSTARI: \\\n    case OP_NOTPLUSI:"
    - item_type: preproc_def
      name: CASE_ITERATOR_PRIVATE_DATA_2B
      pos:
        line_end: 1928
        line_start: 1919
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_UPTO: \\\n    case OP_MINUPTO: \\\n    case OP_UPTOI:
        \\\n    case OP_MINUPTOI: \\\n    case OP_NOTUPTO: \\\n    case OP_NOTMINUPTO:
        \\\n    case OP_NOTUPTOI: \\\n    case OP_NOTMINUPTOI:"
    - item_type: preproc_def
      name: CASE_ITERATOR_TYPE_PRIVATE_DATA_1
      pos:
        line_end: 1934
        line_start: 1929
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_TYPEMINSTAR: \\\n    case OP_TYPEMINPLUS: \\\n    case
        OP_TYPEQUERY: \\\n    case OP_TYPEMINQUERY:"
    - item_type: preproc_def
      name: CASE_ITERATOR_TYPE_PRIVATE_DATA_2A
      pos:
        line_end: 1938
        line_start: 1935
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_TYPESTAR: \\\n    case OP_TYPEPLUS:"
    - item_type: preproc_def
      name: CASE_ITERATOR_TYPE_PRIVATE_DATA_2B
      pos:
        line_end: 1942
        line_start: 1939
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: "case OP_TYPEUPTO: \\\n    case OP_TYPEMINUPTO:"
    - item_type: preproc_def
      name: RECURSE_TMP_REG_COUNT
      pos:
        line_end: 2511
        line_start: 2510
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '3'
    - item_type: preproc_def
      name: READ_CHAR_UPDATE_STR_PTR
      pos:
        line_end: 4289
        line_start: 4288
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: READ_CHAR_UTF8_NEWLINE
      pos:
        line_end: 4290
        line_start: 4289
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: READ_CHAR_NEWLINE
      pos:
        line_end: 4291
        line_start: 4290
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (READ_CHAR_UPDATE_STR_PTR | READ_CHAR_UTF8_NEWLINE)
    - item_type: preproc_def
      name: READ_CHAR_VALID_UTF
      pos:
        line_end: 4292
        line_start: 4291
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: UCD_BLOCK_MASK
      pos:
        line_end: 5545
        line_start: 5544
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '127'
    - item_type: preproc_def
      name: UCD_BLOCK_SHIFT
      pos:
        line_end: 5546
        line_start: 5545
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SCAN_PREFIX_STACK_END
      pos:
        line_end: 5865
        line_start: 5864
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: '32'
    - item_type: preproc_def
      name: UCPCAT_L
      pos:
        line_end: 7158
        line_start: 7157
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: UCPCAT_RANGE(ucp_Ll, ucp_Lu)
    - item_type: preproc_def
      name: UCPCAT_N
      pos:
        line_end: 7159
        line_start: 7158
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: UCPCAT_RANGE(ucp_Nd, ucp_No)
    - item_type: preproc_def
      name: UCPCAT_ALL
      pos:
        line_end: 7160
        line_start: 7159
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: ((1 << (ucp_Zs + 1)) - 1)
    - item_type: preproc_def
      name: PUBLIC_JIT_COMPILE_CONFIGURATION_OPTIONS
      pos:
        line_end: 13528
        line_start: 13526
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: PUBLIC_JIT_COMPILE_OPTIONS
      pos:
        line_end: 14290
        line_start: 14288
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type_or_value: (PCRE2_JIT_COMPLETE|PCRE2_JIT_PARTIAL_SOFT|PCRE2_JIT_PARTIAL_HARD|PCRE2_JIT_INVALID_UTF)
    structs:
    - fields:
      - name: '*stack'
        type: struct sljit_stack
      - name: str
        type: PCRE2_SPTR
      - name: begin
        type: PCRE2_SPTR
      - name: end
        type: PCRE2_SPTR
      - name: '*match_data'
        type: pcre2_match_data
      - name: startchar_ptr
        type: PCRE2_SPTR
      - name: '*mark_ptr'
        type: PCRE2_UCHAR
      - name: (*callout)(pcre2_callout_block *, void *)
        type: int
      - name: '*callout_data'
        type: void
      - name: offset_limit
        type: sljit_uw
      - name: limit_match
        type: sljit_u32
      - name: oveccount
        type: sljit_u32
      - name: options
        type: sljit_u32
      item_type: struct
      name: jit_arguments
      pos:
        line_end: 194
        line_start: 178
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*executable_funcs[JIT_NUMBER_OF_COMPILE_MODES]'
        type: void
      - name: '*read_only_data_heads[JIT_NUMBER_OF_COMPILE_MODES]'
        type: void
      - name: executable_sizes[JIT_NUMBER_OF_COMPILE_MODES]
        type: sljit_uw
      - name: top_bracket
        type: sljit_u32
      - name: limit_match
        type: sljit_u32
      item_type: struct
      name: executable_functions
      pos:
        line_end: 204
        line_start: 198
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*jump'
        type: struct sljit_jump
      - name: '*next'
        type: struct jump_list
      item_type: struct
      name: jump_list
      pos:
        line_end: 209
        line_start: 206
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*start'
        type: struct sljit_jump
      - name: '*quit'
        type: struct sljit_label
      - name: '*next'
        type: struct stub_list
      item_type: struct
      name: stub_list
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*prev'
        type: struct backtrack_common
      - name: '*simple_backtracks'
        type: jump_list
      - name: '*top'
        type: struct backtrack_common
      - name: '*own_backtracks'
        type: jump_list
      - name: cc
        type: PCRE2_SPTR
      item_type: struct
      name: backtrack_common
      pos:
        line_end: 257
        line_start: 239
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*condfailed'
        type: jump_list
      - name: framesize
        type: int
      - name: private_data_ptr
        type: int
      - name: '*matchingpath'
        type: struct sljit_label
      item_type: struct
      name: assert_backtrack
      pos:
        line_end: 268
        line_start: 259
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*alternative_matchingpath'
        type: struct sljit_label
      - name: '*recursive_matchingpath'
        type: struct sljit_label
      - name: '*zero_matchingpath'
        type: struct sljit_label
      - name: u
        type: "union {\n    /* Both for OP_COND, OP_SCOND, OP_ASSERT_SCS. */\n    jump_list
          *no_capture;\n    assert_backtrack *assert;\n    /* For OP_ONCE. Less than
          0 if not needed. */\n    int framesize;\n  }"
      - name: '*matching_mov_addr'
        type: struct sljit_jump
      - name: private_data_ptr
        type: int
      item_type: struct
      name: bracket_backtrack
      pos:
        line_end: 290
        line_start: 270
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: private_data_ptr
        type: int
      - name: framesize
        type: int
      - name: stacksize
        type: int
      item_type: struct
      name: bracketpos_backtrack
      pos:
        line_end: 300
        line_start: 292
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*matchingpath'
        type: struct sljit_label
      item_type: struct
      name: braminzero_backtrack
      pos:
        line_end: 305
        line_start: 302
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*matchingpath'
        type: struct sljit_label
      - name: charpos
        type: "struct {\n    unsigned int othercasebit;\n    PCRE2_UCHAR chr;\n    BOOL
          charpos_enabled;\n  }"
      item_type: struct
      name: char_iterator_backtrack
      pos:
        line_end: 317
        line_start: 307
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*matchingpath'
        type: struct sljit_label
      - name: possessive_or_exact
        type: BOOL
      item_type: struct
      name: ref_iterator_backtrack
      pos:
        line_end: 324
        line_start: 319
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*next'
        type: struct recurse_entry
      - name: '*entry_label'
        type: struct sljit_label
      - name: '*backtrack_label'
        type: struct sljit_label
      - name: '*entry_calls'
        type: jump_list
      - name: '*backtrack_calls'
        type: jump_list
      - name: start
        type: sljit_sw
      - name: arg_start
        type: PCRE2_SPTR
      - name: arg_size
        type: sljit_uw
      item_type: struct
      name: recurse_entry
      pos:
        line_end: 342
        line_start: 326
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*matchingpath'
        type: struct sljit_label
      - name: '*entry'
        type: recurse_entry
      - name: inlined_pattern
        type: BOOL
      item_type: struct
      name: recurse_backtrack
      pos:
        line_end: 352
        line_start: 344
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*matchingpath'
        type: struct sljit_label
      item_type: struct
      name: vreverse_backtrack
      pos:
        line_end: 358
        line_start: 354
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: common
        type: backtrack_common
      - name: '*then_trap'
        type: struct then_trap_backtrack
      - name: start
        type: sljit_sw
      - name: '*quit'
        type: jump_list
      - name: framesize
        type: int
      item_type: struct
      name: then_trap_backtrack
      pos:
        line_end: 373
        line_start: 362
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: count
        type: sljit_u8
      - name: last_count
        type: sljit_u8
      - name: chars[MAX_DIFF_CHARS]
        type: PCRE2_UCHAR
      item_type: struct
      name: fast_forward_char_data
      pos:
        line_end: 385
        line_start: 378
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*compiler'
        type: struct sljit_compiler
      - name: '*re'
        type: pcre2_real_code
      - name: start
        type: PCRE2_SPTR
      - name: '*private_data_ptrs'
        type: sljit_s32
      - name: '*read_only_data_head'
        type: void
      - name: '*optimized_cbrackets'
        type: sljit_u8
      - name: '*cbracket_bitset'
        type: sljit_u8
      - name: '*then_offsets'
        type: sljit_u8
      - name: '*then_trap'
        type: then_trap_backtrack
      - name: cbra_ptr
        type: sljit_s32
      - name: ovector_start
        type: sljit_s32
      - name: start_ptr
        type: sljit_s32
      - name: req_char_ptr
        type: sljit_s32
      - name: recursive_head_ptr
        type: sljit_s32
      - name: start_used_ptr
        type: sljit_s32
      - name: hit_start
        type: sljit_s32
      - name: match_end_ptr
        type: sljit_s32
      - name: mark_ptr
        type: sljit_s32
      - name: control_head_ptr
        type: sljit_s32
      - name: restore_end_ptr
        type: sljit_s32
      - name: capture_last_ptr
        type: sljit_s32
      - name: fast_forward_bc_ptr
        type: PCRE2_SPTR
      - name: early_fail_start_ptr
        type: sljit_s32
      - name: early_fail_end_ptr
        type: sljit_s32
      - name: cbracket_bitset_length
        type: sljit_u32
      - name: recurse_bitset_size
        type: sljit_s32
      - name: '*recurse_bitset'
        type: uint8_t
      - name: '*fcc'
        type: sljit_u8
      - name: lcc
        type: sljit_sw
      - name: mode
        type: int
      - name: allow_empty_partial
        type: BOOL
      - name: might_be_empty
        type: BOOL
      - name: has_set_som
        type: BOOL
      - name: has_skip_arg
        type: BOOL
      - name: has_then
        type: BOOL
      - name: has_skip_in_assert_back
        type: BOOL
      - name: local_quit_available
        type: BOOL
      - name: in_positive_assertion
        type: BOOL
      - name: nltype
        type: int
      - name: nlmax
        type: sljit_u32
      - name: nlmin
        type: sljit_u32
      - name: newline
        type: int
      - name: bsr_nltype
        type: int
      - name: bsr_nlmax
        type: sljit_u32
      - name: bsr_nlmin
        type: sljit_u32
      - name: endonly
        type: int
      - name: ctypes
        type: sljit_sw
      - name: name_table
        type: PCRE2_SPTR
      - name: name_count
        type: sljit_sw
      - name: name_entry_size
        type: sljit_sw
      - name: '*partialmatchlabel'
        type: struct sljit_label
      - name: '*quit_label'
        type: struct sljit_label
      - name: '*abort_label'
        type: struct sljit_label
      - name: '*accept_label'
        type: struct sljit_label
      - name: '*ff_newline_shortcut'
        type: struct sljit_label
      - name: '*stubs'
        type: stub_list
      - name: '*entries'
        type: recurse_entry
      - name: '*currententry'
        type: recurse_entry
      - name: '*partialmatch'
        type: jump_list
      - name: '*quit'
        type: jump_list
      - name: '*positive_assertion_quit'
        type: jump_list
      - name: '*abort'
        type: jump_list
      - name: '*failed_match'
        type: jump_list
      - name: '*accept'
        type: jump_list
      - name: '*calllimit'
        type: jump_list
      - name: '*stackalloc'
        type: jump_list
      - name: '*revertframes'
        type: jump_list
      - name: '*wordboundary'
        type: jump_list
      - name: '*ucp_wordboundary'
        type: jump_list
      - name: '*anynewline'
        type: jump_list
      - name: '*hspace'
        type: jump_list
      - name: '*vspace'
        type: jump_list
      - name: '*casefulcmp'
        type: jump_list
      - name: '*caselesscmp'
        type: jump_list
      - name: '*reset_match'
        type: jump_list
      - name: '*restart_match'
        type: jump_list
      - name: unset_backref
        type: BOOL
      - name: alt_circumflex
        type: BOOL
      item_type: struct
      name: compiler_common
      pos:
        line_end: 541
        line_start: 390
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: length
        type: int
      - name: sourcereg
        type: int
      item_type: struct
      name: compare_context
      pos:
        line_end: 575
        line_start: 545
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    - fields:
      - name: '*compiler'
        type: struct sljit_compiler
      - name: store_bases[RECURSE_TMP_REG_COUNT]
        type: int
      - name: store_offsets[RECURSE_TMP_REG_COUNT]
        type: sljit_s32
      - name: tmp_regs[RECURSE_TMP_REG_COUNT]
        type: int
      - name: saved_tmp_regs[RECURSE_TMP_REG_COUNT]
        type: int
      - name: next_tmp_reg
        type: int
      item_type: struct
      name: delayed_mem_copy_status
      pos:
        line_end: 2519
        line_start: 2512
        source_file: /src/pcre2/src/pcre2_jit_compile.c
    typedefs:
    - item_type: typedef
      name: (SLJIT_FUNC *jit_function)(jit_arguments *args)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/pcre2/src/pcre2_jit_compile.c
      type: int
    union: []
- function_names: []
  source_file: /src/pcre2/src/pcre2_ucptables_inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRING_adlam0
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_d STR_l STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_adlm0
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_d STR_l STR_m "\0"
    - item_type: preproc_def
      name: STRING_aghb0
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_g STR_h STR_b "\0"
    - item_type: preproc_def
      name: STRING_ahex0
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_h STR_e STR_x "\0"
    - item_type: preproc_def
      name: STRING_ahom0
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_h STR_o STR_m "\0"
    - item_type: preproc_def
      name: STRING_alpha0
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_l STR_p STR_h STR_a "\0"
    - item_type: preproc_def
      name: STRING_alphabetic0
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_l STR_p STR_h STR_a STR_b STR_e STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_anatolianhieroglyphs0
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_n STR_a STR_t STR_o STR_l STR_i STR_a STR_n STR_h STR_i
        STR_e STR_r STR_o STR_g STR_l STR_y STR_p STR_h STR_s "\0"
    - item_type: preproc_def
      name: STRING_any0
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_n STR_y "\0"
    - item_type: preproc_def
      name: STRING_arab0
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_r STR_a STR_b "\0"
    - item_type: preproc_def
      name: STRING_arabic0
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_r STR_a STR_b STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_armenian0
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_r STR_m STR_e STR_n STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_armi0
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_r STR_m STR_i "\0"
    - item_type: preproc_def
      name: STRING_armn0
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_r STR_m STR_n "\0"
    - item_type: preproc_def
      name: STRING_ascii0
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_s STR_c STR_i STR_i "\0"
    - item_type: preproc_def
      name: STRING_asciihexdigit0
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_s STR_c STR_i STR_i STR_h STR_e STR_x STR_d STR_i STR_g
        STR_i STR_t "\0"
    - item_type: preproc_def
      name: STRING_avestan0
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_v STR_e STR_s STR_t STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_avst0
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_a STR_v STR_s STR_t "\0"
    - item_type: preproc_def
      name: STRING_bali0
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_balinese0
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_l STR_i STR_n STR_e STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_bamu0
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_m STR_u "\0"
    - item_type: preproc_def
      name: STRING_bamum0
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_m STR_u STR_m "\0"
    - item_type: preproc_def
      name: STRING_bass0
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_s STR_s "\0"
    - item_type: preproc_def
      name: STRING_bassavah0
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_s STR_s STR_a STR_v STR_a STR_h "\0"
    - item_type: preproc_def
      name: STRING_batak0
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_t STR_a STR_k "\0"
    - item_type: preproc_def
      name: STRING_batk0
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_a STR_t STR_k "\0"
    - item_type: preproc_def
      name: STRING_beng0
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_e STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_bengali0
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_e STR_n STR_g STR_a STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_berf0
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_e STR_r STR_f "\0"
    - item_type: preproc_def
      name: STRING_beriaerfe0
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_e STR_r STR_i STR_a STR_e STR_r STR_f STR_e "\0"
    - item_type: preproc_def
      name: STRING_bhaiksuki0
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_h STR_a STR_i STR_k STR_s STR_u STR_k STR_i "\0"
    - item_type: preproc_def
      name: STRING_bhks0
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_h STR_k STR_s "\0"
    - item_type: preproc_def
      name: STRING_bidial0
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_bidian0
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_bidib0
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_b "\0"
    - item_type: preproc_def
      name: STRING_bidibn0
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_b STR_n "\0"
    - item_type: preproc_def
      name: STRING_bidic0
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_bidicontrol0
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_c STR_o STR_n STR_t STR_r STR_o STR_l
        "\0"
    - item_type: preproc_def
      name: STRING_bidics0
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_c STR_s "\0"
    - item_type: preproc_def
      name: STRING_bidien0
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_e STR_n "\0"
    - item_type: preproc_def
      name: STRING_bidies0
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_e STR_s "\0"
    - item_type: preproc_def
      name: STRING_bidiet0
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_e STR_t "\0"
    - item_type: preproc_def
      name: STRING_bidifsi0
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_f STR_s STR_i "\0"
    - item_type: preproc_def
      name: STRING_bidil0
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_l "\0"
    - item_type: preproc_def
      name: STRING_bidilre0
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_l STR_r STR_e "\0"
    - item_type: preproc_def
      name: STRING_bidilri0
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_l STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_bidilro0
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_l STR_r STR_o "\0"
    - item_type: preproc_def
      name: STRING_bidim0
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_m "\0"
    - item_type: preproc_def
      name: STRING_bidimirrored0
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_m STR_i STR_r STR_r STR_o STR_r STR_e
        STR_d "\0"
    - item_type: preproc_def
      name: STRING_bidinsm0
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_n STR_s STR_m "\0"
    - item_type: preproc_def
      name: STRING_bidion0
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_o STR_n "\0"
    - item_type: preproc_def
      name: STRING_bidipdf0
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_p STR_d STR_f "\0"
    - item_type: preproc_def
      name: STRING_bidipdi0
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_p STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_bidir0
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_r "\0"
    - item_type: preproc_def
      name: STRING_bidirle0
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_r STR_l STR_e "\0"
    - item_type: preproc_def
      name: STRING_bidirli0
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_r STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_bidirlo0
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_r STR_l STR_o "\0"
    - item_type: preproc_def
      name: STRING_bidis0
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_s "\0"
    - item_type: preproc_def
      name: STRING_bidiws0
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_i STR_d STR_i STR_w STR_s "\0"
    - item_type: preproc_def
      name: STRING_bopo0
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_o STR_p STR_o "\0"
    - item_type: preproc_def
      name: STRING_bopomofo0
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_o STR_p STR_o STR_m STR_o STR_f STR_o "\0"
    - item_type: preproc_def
      name: STRING_brah0
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_r STR_a STR_h "\0"
    - item_type: preproc_def
      name: STRING_brahmi0
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_r STR_a STR_h STR_m STR_i "\0"
    - item_type: preproc_def
      name: STRING_brai0
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_r STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_braille0
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_r STR_a STR_i STR_l STR_l STR_e "\0"
    - item_type: preproc_def
      name: STRING_bugi0
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_u STR_g STR_i "\0"
    - item_type: preproc_def
      name: STRING_buginese0
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_u STR_g STR_i STR_n STR_e STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_buhd0
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_u STR_h STR_d "\0"
    - item_type: preproc_def
      name: STRING_buhid0
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_b STR_u STR_h STR_i STR_d "\0"
    - item_type: preproc_def
      name: STRING_c0
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c "\0"
    - item_type: preproc_def
      name: STRING_cakm0
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_k STR_m "\0"
    - item_type: preproc_def
      name: STRING_canadianaboriginal0
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_n STR_a STR_d STR_i STR_a STR_n STR_a STR_b STR_o
        STR_r STR_i STR_g STR_i STR_n STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_cans0
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_n STR_s "\0"
    - item_type: preproc_def
      name: STRING_cari0
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_carian0
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_r STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_cased0
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_s STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_caseignorable0
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_s STR_e STR_i STR_g STR_n STR_o STR_r STR_a STR_b
        STR_l STR_e "\0"
    - item_type: preproc_def
      name: STRING_caucasianalbanian0
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_a STR_u STR_c STR_a STR_s STR_i STR_a STR_n STR_a STR_l
        STR_b STR_a STR_n STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_cc0
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_c "\0"
    - item_type: preproc_def
      name: STRING_cf0
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_f "\0"
    - item_type: preproc_def
      name: STRING_chakma0
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_k STR_m STR_a "\0"
    - item_type: preproc_def
      name: STRING_cham0
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_changeswhencasefolded0
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_n STR_g STR_e STR_s STR_w STR_h STR_e STR_n
        STR_c STR_a STR_s STR_e STR_f STR_o STR_l STR_d STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_changeswhencasemapped0
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_n STR_g STR_e STR_s STR_w STR_h STR_e STR_n
        STR_c STR_a STR_s STR_e STR_m STR_a STR_p STR_p STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_changeswhenlowercased0
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_n STR_g STR_e STR_s STR_w STR_h STR_e STR_n
        STR_l STR_o STR_w STR_e STR_r STR_c STR_a STR_s STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_changeswhentitlecased0
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_n STR_g STR_e STR_s STR_w STR_h STR_e STR_n
        STR_t STR_i STR_t STR_l STR_e STR_c STR_a STR_s STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_changeswhenuppercased0
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_a STR_n STR_g STR_e STR_s STR_w STR_h STR_e STR_n
        STR_u STR_p STR_p STR_e STR_r STR_c STR_a STR_s STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_cher0
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_cherokee0
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_e STR_r STR_o STR_k STR_e STR_e "\0"
    - item_type: preproc_def
      name: STRING_chorasmian0
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_o STR_r STR_a STR_s STR_m STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_chrs0
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_h STR_r STR_s "\0"
    - item_type: preproc_def
      name: STRING_ci0
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_i "\0"
    - item_type: preproc_def
      name: STRING_cn0
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_n "\0"
    - item_type: preproc_def
      name: STRING_co0
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_o "\0"
    - item_type: preproc_def
      name: STRING_common0
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_o STR_m STR_m STR_o STR_n "\0"
    - item_type: preproc_def
      name: STRING_copt0
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_o STR_p STR_t "\0"
    - item_type: preproc_def
      name: STRING_coptic0
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_o STR_p STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_cpmn0
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_p STR_m STR_n "\0"
    - item_type: preproc_def
      name: STRING_cprt0
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_p STR_r STR_t "\0"
    - item_type: preproc_def
      name: STRING_cs0
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_s "\0"
    - item_type: preproc_def
      name: STRING_cuneiform0
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_u STR_n STR_e STR_i STR_f STR_o STR_r STR_m "\0"
    - item_type: preproc_def
      name: STRING_cwcf0
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_w STR_c STR_f "\0"
    - item_type: preproc_def
      name: STRING_cwcm0
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_w STR_c STR_m "\0"
    - item_type: preproc_def
      name: STRING_cwl0
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_w STR_l "\0"
    - item_type: preproc_def
      name: STRING_cwt0
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_w STR_t "\0"
    - item_type: preproc_def
      name: STRING_cwu0
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_w STR_u "\0"
    - item_type: preproc_def
      name: STRING_cypriot0
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_y STR_p STR_r STR_i STR_o STR_t "\0"
    - item_type: preproc_def
      name: STRING_cyprominoan0
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_y STR_p STR_r STR_o STR_m STR_i STR_n STR_o STR_a STR_n
        "\0"
    - item_type: preproc_def
      name: STRING_cyrillic0
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_y STR_r STR_i STR_l STR_l STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_cyrl0
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_c STR_y STR_r STR_l "\0"
    - item_type: preproc_def
      name: STRING_dash0
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_a STR_s STR_h "\0"
    - item_type: preproc_def
      name: STRING_defaultignorablecodepoint0
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_f STR_a STR_u STR_l STR_t STR_i STR_g STR_n STR_o
        STR_r STR_a STR_b STR_l STR_e STR_c STR_o STR_d STR_e STR_p STR_o STR_i STR_n
        STR_t "\0"
    - item_type: preproc_def
      name: STRING_dep0
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_p "\0"
    - item_type: preproc_def
      name: STRING_deprecated0
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_p STR_r STR_e STR_c STR_a STR_t STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_deseret0
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_s STR_e STR_r STR_e STR_t "\0"
    - item_type: preproc_def
      name: STRING_deva0
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_v STR_a "\0"
    - item_type: preproc_def
      name: STRING_devanagari0
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_e STR_v STR_a STR_n STR_a STR_g STR_a STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_di0
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_dia0
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_i STR_a "\0"
    - item_type: preproc_def
      name: STRING_diacritic0
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_i STR_a STR_c STR_r STR_i STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_diak0
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_i STR_a STR_k "\0"
    - item_type: preproc_def
      name: STRING_divesakuru0
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_i STR_v STR_e STR_s STR_a STR_k STR_u STR_r STR_u "\0"
    - item_type: preproc_def
      name: STRING_dogr0
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_o STR_g STR_r "\0"
    - item_type: preproc_def
      name: STRING_dogra0
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_o STR_g STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_dsrt0
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_s STR_r STR_t "\0"
    - item_type: preproc_def
      name: STRING_dupl0
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_u STR_p STR_l "\0"
    - item_type: preproc_def
      name: STRING_duployan0
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_d STR_u STR_p STR_l STR_o STR_y STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_ebase0
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_b STR_a STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_ecomp0
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_c STR_o STR_m STR_p "\0"
    - item_type: preproc_def
      name: STRING_egyp0
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_g STR_y STR_p "\0"
    - item_type: preproc_def
      name: STRING_egyptianhieroglyphs0
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_g STR_y STR_p STR_t STR_i STR_a STR_n STR_h STR_i STR_e
        STR_r STR_o STR_g STR_l STR_y STR_p STR_h STR_s "\0"
    - item_type: preproc_def
      name: STRING_elba0
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_l STR_b STR_a "\0"
    - item_type: preproc_def
      name: STRING_elbasan0
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_l STR_b STR_a STR_s STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_elym0
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_l STR_y STR_m "\0"
    - item_type: preproc_def
      name: STRING_elymaic0
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_l STR_y STR_m STR_a STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_emod0
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_d "\0"
    - item_type: preproc_def
      name: STRING_emoji0
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_j STR_i "\0"
    - item_type: preproc_def
      name: STRING_emojicomponent0
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_j STR_i STR_c STR_o STR_m STR_p STR_o STR_n
        STR_e STR_n STR_t "\0"
    - item_type: preproc_def
      name: STRING_emojimodifier0
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_j STR_i STR_m STR_o STR_d STR_i STR_f STR_i
        STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_emojimodifierbase0
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_j STR_i STR_m STR_o STR_d STR_i STR_f STR_i
        STR_e STR_r STR_b STR_a STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_emojipresentation0
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_m STR_o STR_j STR_i STR_p STR_r STR_e STR_s STR_e STR_n
        STR_t STR_a STR_t STR_i STR_o STR_n "\0"
    - item_type: preproc_def
      name: STRING_epres0
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_p STR_r STR_e STR_s "\0"
    - item_type: preproc_def
      name: STRING_ethi0
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_t STR_h STR_i "\0"
    - item_type: preproc_def
      name: STRING_ethiopic0
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_t STR_h STR_i STR_o STR_p STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_ext0
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_x STR_t "\0"
    - item_type: preproc_def
      name: STRING_extendedpictographic0
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_x STR_t STR_e STR_n STR_d STR_e STR_d STR_p STR_i STR_c
        STR_t STR_o STR_g STR_r STR_a STR_p STR_h STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_extender0
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_x STR_t STR_e STR_n STR_d STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_extpict0
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_e STR_x STR_t STR_p STR_i STR_c STR_t "\0"
    - item_type: preproc_def
      name: STRING_gara0
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_a STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_garay0
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_a STR_r STR_a STR_y "\0"
    - item_type: preproc_def
      name: STRING_geor0
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_e STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_georgian0
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_e STR_o STR_r STR_g STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_glag0
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_l STR_a STR_g "\0"
    - item_type: preproc_def
      name: STRING_glagolitic0
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_l STR_a STR_g STR_o STR_l STR_i STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_gong0
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_o STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_gonm0
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_o STR_n STR_m "\0"
    - item_type: preproc_def
      name: STRING_goth0
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_o STR_t STR_h "\0"
    - item_type: preproc_def
      name: STRING_gothic0
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_o STR_t STR_h STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_gran0
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_grantha0
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_a STR_n STR_t STR_h STR_a "\0"
    - item_type: preproc_def
      name: STRING_graphemebase0
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_a STR_p STR_h STR_e STR_m STR_e STR_b STR_a STR_s
        STR_e "\0"
    - item_type: preproc_def
      name: STRING_graphemeextend0
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_a STR_p STR_h STR_e STR_m STR_e STR_e STR_x STR_t
        STR_e STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_graphemelink0
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_a STR_p STR_h STR_e STR_m STR_e STR_l STR_i STR_n
        STR_k "\0"
    - item_type: preproc_def
      name: STRING_grbase0
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_b STR_a STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_greek0
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_e STR_e STR_k "\0"
    - item_type: preproc_def
      name: STRING_grek0
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_e STR_k "\0"
    - item_type: preproc_def
      name: STRING_grext0
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_e STR_x STR_t "\0"
    - item_type: preproc_def
      name: STRING_grlink0
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_r STR_l STR_i STR_n STR_k "\0"
    - item_type: preproc_def
      name: STRING_gujarati0
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_j STR_a STR_r STR_a STR_t STR_i "\0"
    - item_type: preproc_def
      name: STRING_gujr0
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_j STR_r "\0"
    - item_type: preproc_def
      name: STRING_gukh0
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_k STR_h "\0"
    - item_type: preproc_def
      name: STRING_gunjalagondi0
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_n STR_j STR_a STR_l STR_a STR_g STR_o STR_n STR_d
        STR_i "\0"
    - item_type: preproc_def
      name: STRING_gurmukhi0
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_r STR_m STR_u STR_k STR_h STR_i "\0"
    - item_type: preproc_def
      name: STRING_guru0
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_r STR_u "\0"
    - item_type: preproc_def
      name: STRING_gurungkhema0
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_g STR_u STR_r STR_u STR_n STR_g STR_k STR_h STR_e STR_m STR_a
        "\0"
    - item_type: preproc_def
      name: STRING_han0
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_hang0
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_hangul0
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_g STR_u STR_l "\0"
    - item_type: preproc_def
      name: STRING_hani0
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_i "\0"
    - item_type: preproc_def
      name: STRING_hanifirohingya0
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_i STR_f STR_i STR_r STR_o STR_h STR_i STR_n
        STR_g STR_y STR_a "\0"
    - item_type: preproc_def
      name: STRING_hano0
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_o "\0"
    - item_type: preproc_def
      name: STRING_hanunoo0
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_n STR_u STR_n STR_o STR_o "\0"
    - item_type: preproc_def
      name: STRING_hatr0
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_t STR_r "\0"
    - item_type: preproc_def
      name: STRING_hatran0
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_a STR_t STR_r STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_hebr0
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_e STR_b STR_r "\0"
    - item_type: preproc_def
      name: STRING_hebrew0
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_e STR_b STR_r STR_e STR_w "\0"
    - item_type: preproc_def
      name: STRING_hex0
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_e STR_x "\0"
    - item_type: preproc_def
      name: STRING_hexdigit0
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_e STR_x STR_d STR_i STR_g STR_i STR_t "\0"
    - item_type: preproc_def
      name: STRING_hira0
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_i STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_hiragana0
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_i STR_r STR_a STR_g STR_a STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_hluw0
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_l STR_u STR_w "\0"
    - item_type: preproc_def
      name: STRING_hmng0
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_m STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_hmnp0
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_m STR_n STR_p "\0"
    - item_type: preproc_def
      name: STRING_hung0
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_h STR_u STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_idc0
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_c "\0"
    - item_type: preproc_def
      name: STRING_idcompatmathcontinue0
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_c STR_o STR_m STR_p STR_a STR_t STR_m STR_a STR_t
        STR_h STR_c STR_o STR_n STR_t STR_i STR_n STR_u STR_e "\0"
    - item_type: preproc_def
      name: STRING_idcompatmathstart0
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_c STR_o STR_m STR_p STR_a STR_t STR_m STR_a STR_t
        STR_h STR_s STR_t STR_a STR_r STR_t "\0"
    - item_type: preproc_def
      name: STRING_idcontinue0
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_c STR_o STR_n STR_t STR_i STR_n STR_u STR_e "\0"
    - item_type: preproc_def
      name: STRING_ideo0
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_e STR_o "\0"
    - item_type: preproc_def
      name: STRING_ideographic0
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_e STR_o STR_g STR_r STR_a STR_p STR_h STR_i STR_c
        "\0"
    - item_type: preproc_def
      name: STRING_ids0
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s "\0"
    - item_type: preproc_def
      name: STRING_idsb0
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_b "\0"
    - item_type: preproc_def
      name: STRING_idsbinaryoperator0
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_b STR_i STR_n STR_a STR_r STR_y STR_o STR_p
        STR_e STR_r STR_a STR_t STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_idst0
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_t "\0"
    - item_type: preproc_def
      name: STRING_idstart0
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_t STR_a STR_r STR_t "\0"
    - item_type: preproc_def
      name: STRING_idstrinaryoperator0
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_t STR_r STR_i STR_n STR_a STR_r STR_y STR_o
        STR_p STR_e STR_r STR_a STR_t STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_idsu0
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_u "\0"
    - item_type: preproc_def
      name: STRING_idsunaryoperator0
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_d STR_s STR_u STR_n STR_a STR_r STR_y STR_o STR_p STR_e
        STR_r STR_a STR_t STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_imperialaramaic0
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_m STR_p STR_e STR_r STR_i STR_a STR_l STR_a STR_r STR_a
        STR_m STR_a STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_incb0
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_n STR_c STR_b "\0"
    - item_type: preproc_def
      name: STRING_inherited0
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_n STR_h STR_e STR_r STR_i STR_t STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_inscriptionalpahlavi0
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_n STR_s STR_c STR_r STR_i STR_p STR_t STR_i STR_o STR_n
        STR_a STR_l STR_p STR_a STR_h STR_l STR_a STR_v STR_i "\0"
    - item_type: preproc_def
      name: STRING_inscriptionalparthian0
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_n STR_s STR_c STR_r STR_i STR_p STR_t STR_i STR_o STR_n
        STR_a STR_l STR_p STR_a STR_r STR_t STR_h STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_ital0
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_i STR_t STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_java0
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_j STR_a STR_v STR_a "\0"
    - item_type: preproc_def
      name: STRING_javanese0
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_j STR_a STR_v STR_a STR_n STR_e STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_joinc0
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_j STR_o STR_i STR_n STR_c "\0"
    - item_type: preproc_def
      name: STRING_joincontrol0
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_j STR_o STR_i STR_n STR_c STR_o STR_n STR_t STR_r STR_o STR_l
        "\0"
    - item_type: preproc_def
      name: STRING_kaithi0
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_i STR_t STR_h STR_i "\0"
    - item_type: preproc_def
      name: STRING_kali0
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_kana0
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_kannada0
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_n STR_n STR_a STR_d STR_a "\0"
    - item_type: preproc_def
      name: STRING_katakana0
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_t STR_a STR_k STR_a STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_kawi0
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_w STR_i "\0"
    - item_type: preproc_def
      name: STRING_kayahli0
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_a STR_y STR_a STR_h STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_khar0
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_kharoshthi0
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_a STR_r STR_o STR_s STR_h STR_t STR_h STR_i "\0"
    - item_type: preproc_def
      name: STRING_khitansmallscript0
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_i STR_t STR_a STR_n STR_s STR_m STR_a STR_l STR_l
        STR_s STR_c STR_r STR_i STR_p STR_t "\0"
    - item_type: preproc_def
      name: STRING_khmer0
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_m STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_khmr0
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_m STR_r "\0"
    - item_type: preproc_def
      name: STRING_khoj0
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_o STR_j "\0"
    - item_type: preproc_def
      name: STRING_khojki0
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_o STR_j STR_k STR_i "\0"
    - item_type: preproc_def
      name: STRING_khudawadi0
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_h STR_u STR_d STR_a STR_w STR_a STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_kiratrai0
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_i STR_r STR_a STR_t STR_r STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_kits0
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_i STR_t STR_s "\0"
    - item_type: preproc_def
      name: STRING_knda0
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_n STR_d STR_a "\0"
    - item_type: preproc_def
      name: STRING_krai0
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_r STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_kthi0
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_k STR_t STR_h STR_i "\0"
    - item_type: preproc_def
      name: STRING_l0
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l "\0"
    - item_type: preproc_def
      name: STRING_l_AMPERSAND0
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_AMPERSAND "\0"
    - item_type: preproc_def
      name: STRING_lana0
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_a STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_lao0
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_a STR_o "\0"
    - item_type: preproc_def
      name: STRING_laoo0
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_a STR_o STR_o "\0"
    - item_type: preproc_def
      name: STRING_latin0
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_a STR_t STR_i STR_n "\0"
    - item_type: preproc_def
      name: STRING_latn0
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_a STR_t STR_n "\0"
    - item_type: preproc_def
      name: STRING_lc0
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_c "\0"
    - item_type: preproc_def
      name: STRING_lepc0
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_e STR_p STR_c "\0"
    - item_type: preproc_def
      name: STRING_lepcha0
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_e STR_p STR_c STR_h STR_a "\0"
    - item_type: preproc_def
      name: STRING_limb0
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_m STR_b "\0"
    - item_type: preproc_def
      name: STRING_limbu0
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_m STR_b STR_u "\0"
    - item_type: preproc_def
      name: STRING_lina0
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_linb0
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_n STR_b "\0"
    - item_type: preproc_def
      name: STRING_lineara0
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_n STR_e STR_a STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_linearb0
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_n STR_e STR_a STR_r STR_b "\0"
    - item_type: preproc_def
      name: STRING_lisu0
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_i STR_s STR_u "\0"
    - item_type: preproc_def
      name: STRING_ll0
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_l "\0"
    - item_type: preproc_def
      name: STRING_lm0
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_m "\0"
    - item_type: preproc_def
      name: STRING_lo0
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_o "\0"
    - item_type: preproc_def
      name: STRING_loe0
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_o STR_e "\0"
    - item_type: preproc_def
      name: STRING_logicalorderexception0
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_o STR_g STR_i STR_c STR_a STR_l STR_o STR_r STR_d STR_e
        STR_r STR_e STR_x STR_c STR_e STR_p STR_t STR_i STR_o STR_n "\0"
    - item_type: preproc_def
      name: STRING_lower0
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_o STR_w STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_lowercase0
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_o STR_w STR_e STR_r STR_c STR_a STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_lt0
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_t "\0"
    - item_type: preproc_def
      name: STRING_lu0
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_u "\0"
    - item_type: preproc_def
      name: STRING_lyci0
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_y STR_c STR_i "\0"
    - item_type: preproc_def
      name: STRING_lycian0
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_y STR_c STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_lydi0
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_y STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_lydian0
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_l STR_y STR_d STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_m0
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m "\0"
    - item_type: preproc_def
      name: STRING_mahajani0
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_h STR_a STR_j STR_a STR_n STR_i "\0"
    - item_type: preproc_def
      name: STRING_mahj0
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_h STR_j "\0"
    - item_type: preproc_def
      name: STRING_maka0
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_k STR_a "\0"
    - item_type: preproc_def
      name: STRING_makasar0
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_k STR_a STR_s STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_malayalam0
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_l STR_a STR_y STR_a STR_l STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_mand0
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_mandaic0
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_n STR_d STR_a STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_mani0
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_n STR_i "\0"
    - item_type: preproc_def
      name: STRING_manichaean0
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_n STR_i STR_c STR_h STR_a STR_e STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_marc0
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_r STR_c "\0"
    - item_type: preproc_def
      name: STRING_marchen0
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_r STR_c STR_h STR_e STR_n "\0"
    - item_type: preproc_def
      name: STRING_masaramgondi0
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_s STR_a STR_r STR_a STR_m STR_g STR_o STR_n STR_d
        STR_i "\0"
    - item_type: preproc_def
      name: STRING_math0
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_a STR_t STR_h "\0"
    - item_type: preproc_def
      name: STRING_mc0
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_c "\0"
    - item_type: preproc_def
      name: STRING_mcm0
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_c STR_m "\0"
    - item_type: preproc_def
      name: STRING_me0
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e "\0"
    - item_type: preproc_def
      name: STRING_medefaidrin0
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_d STR_e STR_f STR_a STR_i STR_d STR_r STR_i STR_n
        "\0"
    - item_type: preproc_def
      name: STRING_medf0
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_d STR_f "\0"
    - item_type: preproc_def
      name: STRING_meeteimayek0
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_e STR_t STR_e STR_i STR_m STR_a STR_y STR_e STR_k
        "\0"
    - item_type: preproc_def
      name: STRING_mend0
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_mendekikakui0
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_n STR_d STR_e STR_k STR_i STR_k STR_a STR_k STR_u
        STR_i "\0"
    - item_type: preproc_def
      name: STRING_merc0
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_r STR_c "\0"
    - item_type: preproc_def
      name: STRING_mero0
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_r STR_o "\0"
    - item_type: preproc_def
      name: STRING_meroiticcursive0
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_r STR_o STR_i STR_t STR_i STR_c STR_c STR_u STR_r
        STR_s STR_i STR_v STR_e "\0"
    - item_type: preproc_def
      name: STRING_meroitichieroglyphs0
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_e STR_r STR_o STR_i STR_t STR_i STR_c STR_h STR_i STR_e
        STR_r STR_o STR_g STR_l STR_y STR_p STR_h STR_s "\0"
    - item_type: preproc_def
      name: STRING_miao0
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_i STR_a STR_o "\0"
    - item_type: preproc_def
      name: STRING_mlym0
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_l STR_y STR_m "\0"
    - item_type: preproc_def
      name: STRING_mn0
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_n "\0"
    - item_type: preproc_def
      name: STRING_modi0
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_o STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_modifiercombiningmark0
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_o STR_d STR_i STR_f STR_i STR_e STR_r STR_c STR_o STR_m
        STR_b STR_i STR_n STR_i STR_n STR_g STR_m STR_a STR_r STR_k "\0"
    - item_type: preproc_def
      name: STRING_mong0
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_o STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_mongolian0
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_o STR_n STR_g STR_o STR_l STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_mro0
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_r STR_o "\0"
    - item_type: preproc_def
      name: STRING_mroo0
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_r STR_o STR_o "\0"
    - item_type: preproc_def
      name: STRING_mtei0
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_t STR_e STR_i "\0"
    - item_type: preproc_def
      name: STRING_mult0
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_u STR_l STR_t "\0"
    - item_type: preproc_def
      name: STRING_multani0
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_u STR_l STR_t STR_a STR_n STR_i "\0"
    - item_type: preproc_def
      name: STRING_myanmar0
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_y STR_a STR_n STR_m STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_mymr0
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_m STR_y STR_m STR_r "\0"
    - item_type: preproc_def
      name: STRING_n0
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n "\0"
    - item_type: preproc_def
      name: STRING_nabataean0
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_b STR_a STR_t STR_a STR_e STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_nagm0
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_g STR_m "\0"
    - item_type: preproc_def
      name: STRING_nagmundari0
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_g STR_m STR_u STR_n STR_d STR_a STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_nand0
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_nandinagari0
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_n STR_d STR_i STR_n STR_a STR_g STR_a STR_r STR_i
        "\0"
    - item_type: preproc_def
      name: STRING_narb0
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_a STR_r STR_b "\0"
    - item_type: preproc_def
      name: STRING_nbat0
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_b STR_a STR_t "\0"
    - item_type: preproc_def
      name: STRING_nchar0
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_c STR_h STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_nd0
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_newa0
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_e STR_w STR_a "\0"
    - item_type: preproc_def
      name: STRING_newtailue0
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_e STR_w STR_t STR_a STR_i STR_l STR_u STR_e "\0"
    - item_type: preproc_def
      name: STRING_nko0
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_k STR_o "\0"
    - item_type: preproc_def
      name: STRING_nkoo0
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_k STR_o STR_o "\0"
    - item_type: preproc_def
      name: STRING_nl0
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_l "\0"
    - item_type: preproc_def
      name: STRING_no0
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_o "\0"
    - item_type: preproc_def
      name: STRING_noncharactercodepoint0
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_o STR_n STR_c STR_h STR_a STR_r STR_a STR_c STR_t STR_e
        STR_r STR_c STR_o STR_d STR_e STR_p STR_o STR_i STR_n STR_t "\0"
    - item_type: preproc_def
      name: STRING_nshu0
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_s STR_h STR_u "\0"
    - item_type: preproc_def
      name: STRING_nushu0
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_u STR_s STR_h STR_u "\0"
    - item_type: preproc_def
      name: STRING_nyiakengpuachuehmong0
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_n STR_y STR_i STR_a STR_k STR_e STR_n STR_g STR_p STR_u STR_a
        STR_c STR_h STR_u STR_e STR_h STR_m STR_o STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_ogam0
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_g STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_ogham0
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_g STR_h STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_olchiki0
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_c STR_h STR_i STR_k STR_i "\0"
    - item_type: preproc_def
      name: STRING_olck0
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_c STR_k "\0"
    - item_type: preproc_def
      name: STRING_oldhungarian0
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_h STR_u STR_n STR_g STR_a STR_r STR_i STR_a
        STR_n "\0"
    - item_type: preproc_def
      name: STRING_olditalic0
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_i STR_t STR_a STR_l STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_oldnortharabian0
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_n STR_o STR_r STR_t STR_h STR_a STR_r STR_a
        STR_b STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_oldpermic0
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_p STR_e STR_r STR_m STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_oldpersian0
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_p STR_e STR_r STR_s STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_oldsogdian0
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_s STR_o STR_g STR_d STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_oldsoutharabian0
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_s STR_o STR_u STR_t STR_h STR_a STR_r STR_a
        STR_b STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_oldturkic0
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_t STR_u STR_r STR_k STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_olduyghur0
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_d STR_u STR_y STR_g STR_h STR_u STR_r "\0"
    - item_type: preproc_def
      name: STRING_olonal0
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_l STR_o STR_n STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_onao0
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_n STR_a STR_o "\0"
    - item_type: preproc_def
      name: STRING_oriya0
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_r STR_i STR_y STR_a "\0"
    - item_type: preproc_def
      name: STRING_orkh0
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_r STR_k STR_h "\0"
    - item_type: preproc_def
      name: STRING_orya0
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_r STR_y STR_a "\0"
    - item_type: preproc_def
      name: STRING_osage0
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_s STR_a STR_g STR_e "\0"
    - item_type: preproc_def
      name: STRING_osge0
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_s STR_g STR_e "\0"
    - item_type: preproc_def
      name: STRING_osma0
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_s STR_m STR_a "\0"
    - item_type: preproc_def
      name: STRING_osmanya0
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_s STR_m STR_a STR_n STR_y STR_a "\0"
    - item_type: preproc_def
      name: STRING_ougr0
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_o STR_u STR_g STR_r "\0"
    - item_type: preproc_def
      name: STRING_p0
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p "\0"
    - item_type: preproc_def
      name: STRING_pahawhhmong0
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_h STR_a STR_w STR_h STR_h STR_m STR_o STR_n STR_g
        "\0"
    - item_type: preproc_def
      name: STRING_palm0
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_l STR_m "\0"
    - item_type: preproc_def
      name: STRING_palmyrene0
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_l STR_m STR_y STR_r STR_e STR_n STR_e "\0"
    - item_type: preproc_def
      name: STRING_patsyn0
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_t STR_s STR_y STR_n "\0"
    - item_type: preproc_def
      name: STRING_patternsyntax0
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_t STR_t STR_e STR_r STR_n STR_s STR_y STR_n STR_t
        STR_a STR_x "\0"
    - item_type: preproc_def
      name: STRING_patternwhitespace0
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_t STR_t STR_e STR_r STR_n STR_w STR_h STR_i STR_t
        STR_e STR_s STR_p STR_a STR_c STR_e "\0"
    - item_type: preproc_def
      name: STRING_patws0
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_t STR_w STR_s "\0"
    - item_type: preproc_def
      name: STRING_pauc0
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_u STR_c "\0"
    - item_type: preproc_def
      name: STRING_paucinhau0
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_a STR_u STR_c STR_i STR_n STR_h STR_a STR_u "\0"
    - item_type: preproc_def
      name: STRING_pc0
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_c "\0"
    - item_type: preproc_def
      name: STRING_pcm0
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_c STR_m "\0"
    - item_type: preproc_def
      name: STRING_pd0
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_d "\0"
    - item_type: preproc_def
      name: STRING_pe0
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_e "\0"
    - item_type: preproc_def
      name: STRING_perm0
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_e STR_r STR_m "\0"
    - item_type: preproc_def
      name: STRING_pf0
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_f "\0"
    - item_type: preproc_def
      name: STRING_phag0
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_a STR_g "\0"
    - item_type: preproc_def
      name: STRING_phagspa0
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_a STR_g STR_s STR_p STR_a "\0"
    - item_type: preproc_def
      name: STRING_phli0
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_l STR_i "\0"
    - item_type: preproc_def
      name: STRING_phlp0
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_l STR_p "\0"
    - item_type: preproc_def
      name: STRING_phnx0
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_n STR_x "\0"
    - item_type: preproc_def
      name: STRING_phoenician0
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_h STR_o STR_e STR_n STR_i STR_c STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_pi0
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_i "\0"
    - item_type: preproc_def
      name: STRING_plrd0
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_l STR_r STR_d "\0"
    - item_type: preproc_def
      name: STRING_po0
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_o "\0"
    - item_type: preproc_def
      name: STRING_prependedconcatenationmark0
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_r STR_e STR_p STR_e STR_n STR_d STR_e STR_d STR_c STR_o
        STR_n STR_c STR_a STR_t STR_e STR_n STR_a STR_t STR_i STR_o STR_n STR_m STR_a
        STR_r STR_k "\0"
    - item_type: preproc_def
      name: STRING_prti0
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_r STR_t STR_i "\0"
    - item_type: preproc_def
      name: STRING_ps0
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_s "\0"
    - item_type: preproc_def
      name: STRING_psalterpahlavi0
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_p STR_s STR_a STR_l STR_t STR_e STR_r STR_p STR_a STR_h STR_l
        STR_a STR_v STR_i "\0"
    - item_type: preproc_def
      name: STRING_qaac0
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_q STR_a STR_a STR_c "\0"
    - item_type: preproc_def
      name: STRING_qaai0
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_q STR_a STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_qmark0
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_q STR_m STR_a STR_r STR_k "\0"
    - item_type: preproc_def
      name: STRING_quotationmark0
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_q STR_u STR_o STR_t STR_a STR_t STR_i STR_o STR_n STR_m STR_a
        STR_r STR_k "\0"
    - item_type: preproc_def
      name: STRING_radical0
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_a STR_d STR_i STR_c STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_regionalindicator0
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_e STR_g STR_i STR_o STR_n STR_a STR_l STR_i STR_n STR_d
        STR_i STR_c STR_a STR_t STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_rejang0
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_e STR_j STR_a STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_ri0
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_rjng0
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_j STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_rohg0
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_o STR_h STR_g "\0"
    - item_type: preproc_def
      name: STRING_runic0
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_u STR_n STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_runr0
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_r STR_u STR_n STR_r "\0"
    - item_type: preproc_def
      name: STRING_s0
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s "\0"
    - item_type: preproc_def
      name: STRING_samaritan0
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_a STR_m STR_a STR_r STR_i STR_t STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_samr0
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_a STR_m STR_r "\0"
    - item_type: preproc_def
      name: STRING_sarb0
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_a STR_r STR_b "\0"
    - item_type: preproc_def
      name: STRING_saur0
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_a STR_u STR_r "\0"
    - item_type: preproc_def
      name: STRING_saurashtra0
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_a STR_u STR_r STR_a STR_s STR_h STR_t STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_sc0
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_c "\0"
    - item_type: preproc_def
      name: STRING_sd0
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_d "\0"
    - item_type: preproc_def
      name: STRING_sentenceterminal0
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_e STR_n STR_t STR_e STR_n STR_c STR_e STR_t STR_e STR_r
        STR_m STR_i STR_n STR_a STR_l "\0"
    - item_type: preproc_def
      name: STRING_sgnw0
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_g STR_n STR_w "\0"
    - item_type: preproc_def
      name: STRING_sharada0
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_h STR_a STR_r STR_a STR_d STR_a "\0"
    - item_type: preproc_def
      name: STRING_shavian0
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_h STR_a STR_v STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_shaw0
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_h STR_a STR_w "\0"
    - item_type: preproc_def
      name: STRING_shrd0
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_h STR_r STR_d "\0"
    - item_type: preproc_def
      name: STRING_sidd0
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_d STR_d "\0"
    - item_type: preproc_def
      name: STRING_siddham0
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_d STR_d STR_h STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_sidetic0
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_d STR_e STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_sidt0
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_d STR_t "\0"
    - item_type: preproc_def
      name: STRING_signwriting0
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_g STR_n STR_w STR_r STR_i STR_t STR_i STR_n STR_g
        "\0"
    - item_type: preproc_def
      name: STRING_sind0
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_sinh0
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_n STR_h "\0"
    - item_type: preproc_def
      name: STRING_sinhala0
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_i STR_n STR_h STR_a STR_l STR_a "\0"
    - item_type: preproc_def
      name: STRING_sk0
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_k "\0"
    - item_type: preproc_def
      name: STRING_sm0
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_m "\0"
    - item_type: preproc_def
      name: STRING_so0
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o "\0"
    - item_type: preproc_def
      name: STRING_softdotted0
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_f STR_t STR_d STR_o STR_t STR_t STR_e STR_d "\0"
    - item_type: preproc_def
      name: STRING_sogd0
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_g STR_d "\0"
    - item_type: preproc_def
      name: STRING_sogdian0
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_g STR_d STR_i STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_sogo0
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_g STR_o "\0"
    - item_type: preproc_def
      name: STRING_sora0
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_sorasompeng0
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_r STR_a STR_s STR_o STR_m STR_p STR_e STR_n STR_g
        "\0"
    - item_type: preproc_def
      name: STRING_soyo0
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_y STR_o "\0"
    - item_type: preproc_def
      name: STRING_soyombo0
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_o STR_y STR_o STR_m STR_b STR_o "\0"
    - item_type: preproc_def
      name: STRING_space0
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_p STR_a STR_c STR_e "\0"
    - item_type: preproc_def
      name: STRING_sterm0
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_t STR_e STR_r STR_m "\0"
    - item_type: preproc_def
      name: STRING_sund0
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_u STR_n STR_d "\0"
    - item_type: preproc_def
      name: STRING_sundanese0
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_u STR_n STR_d STR_a STR_n STR_e STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_sunu0
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_u STR_n STR_u "\0"
    - item_type: preproc_def
      name: STRING_sunuwar0
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_u STR_n STR_u STR_w STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_sylo0
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_y STR_l STR_o "\0"
    - item_type: preproc_def
      name: STRING_sylotinagri0
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_y STR_l STR_o STR_t STR_i STR_n STR_a STR_g STR_r STR_i
        "\0"
    - item_type: preproc_def
      name: STRING_syrc0
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_y STR_r STR_c "\0"
    - item_type: preproc_def
      name: STRING_syriac0
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_s STR_y STR_r STR_i STR_a STR_c "\0"
    - item_type: preproc_def
      name: STRING_tagalog0
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_g STR_a STR_l STR_o STR_g "\0"
    - item_type: preproc_def
      name: STRING_tagb0
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_g STR_b "\0"
    - item_type: preproc_def
      name: STRING_tagbanwa0
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_g STR_b STR_a STR_n STR_w STR_a "\0"
    - item_type: preproc_def
      name: STRING_taile0
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_i STR_l STR_e "\0"
    - item_type: preproc_def
      name: STRING_taitham0
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_i STR_t STR_h STR_a STR_m "\0"
    - item_type: preproc_def
      name: STRING_taiviet0
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_i STR_v STR_i STR_e STR_t "\0"
    - item_type: preproc_def
      name: STRING_taiyo0
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_i STR_y STR_o "\0"
    - item_type: preproc_def
      name: STRING_takr0
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_k STR_r "\0"
    - item_type: preproc_def
      name: STRING_takri0
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_k STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_tale0
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_l STR_e "\0"
    - item_type: preproc_def
      name: STRING_talu0
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_l STR_u "\0"
    - item_type: preproc_def
      name: STRING_tamil0
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_m STR_i STR_l "\0"
    - item_type: preproc_def
      name: STRING_taml0
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_m STR_l "\0"
    - item_type: preproc_def
      name: STRING_tang0
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_tangsa0
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_n STR_g STR_s STR_a "\0"
    - item_type: preproc_def
      name: STRING_tangut0
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_n STR_g STR_u STR_t "\0"
    - item_type: preproc_def
      name: STRING_tavt0
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_v STR_t "\0"
    - item_type: preproc_def
      name: STRING_tayo0
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_a STR_y STR_o "\0"
    - item_type: preproc_def
      name: STRING_telu0
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_e STR_l STR_u "\0"
    - item_type: preproc_def
      name: STRING_telugu0
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_e STR_l STR_u STR_g STR_u "\0"
    - item_type: preproc_def
      name: STRING_term0
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_e STR_r STR_m "\0"
    - item_type: preproc_def
      name: STRING_terminalpunctuation0
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_e STR_r STR_m STR_i STR_n STR_a STR_l STR_p STR_u STR_n
        STR_c STR_t STR_u STR_a STR_t STR_i STR_o STR_n "\0"
    - item_type: preproc_def
      name: STRING_tfng0
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_f STR_n STR_g "\0"
    - item_type: preproc_def
      name: STRING_tglg0
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_g STR_l STR_g "\0"
    - item_type: preproc_def
      name: STRING_thaa0
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_h STR_a STR_a "\0"
    - item_type: preproc_def
      name: STRING_thaana0
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_h STR_a STR_a STR_n STR_a "\0"
    - item_type: preproc_def
      name: STRING_thai0
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_h STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_tibetan0
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_i STR_b STR_e STR_t STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_tibt0
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_i STR_b STR_t "\0"
    - item_type: preproc_def
      name: STRING_tifinagh0
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_i STR_f STR_i STR_n STR_a STR_g STR_h "\0"
    - item_type: preproc_def
      name: STRING_tirh0
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_i STR_r STR_h "\0"
    - item_type: preproc_def
      name: STRING_tirhuta0
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_i STR_r STR_h STR_u STR_t STR_a "\0"
    - item_type: preproc_def
      name: STRING_tnsa0
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_n STR_s STR_a "\0"
    - item_type: preproc_def
      name: STRING_todhri0
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_o STR_d STR_h STR_r STR_i "\0"
    - item_type: preproc_def
      name: STRING_todr0
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_o STR_d STR_r "\0"
    - item_type: preproc_def
      name: STRING_tolongsiki0
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_o STR_l STR_o STR_n STR_g STR_s STR_i STR_k STR_i "\0"
    - item_type: preproc_def
      name: STRING_tols0
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_o STR_l STR_s "\0"
    - item_type: preproc_def
      name: STRING_toto0
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_o STR_t STR_o "\0"
    - item_type: preproc_def
      name: STRING_tulutigalari0
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_u STR_l STR_u STR_t STR_i STR_g STR_a STR_l STR_a STR_r
        STR_i "\0"
    - item_type: preproc_def
      name: STRING_tutg0
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_t STR_u STR_t STR_g "\0"
    - item_type: preproc_def
      name: STRING_ugar0
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_g STR_a STR_r "\0"
    - item_type: preproc_def
      name: STRING_ugaritic0
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_g STR_a STR_r STR_i STR_t STR_i STR_c "\0"
    - item_type: preproc_def
      name: STRING_uideo0
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_i STR_d STR_e STR_o "\0"
    - item_type: preproc_def
      name: STRING_unifiedideograph0
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_n STR_i STR_f STR_i STR_e STR_d STR_i STR_d STR_e STR_o
        STR_g STR_r STR_a STR_p STR_h "\0"
    - item_type: preproc_def
      name: STRING_unknown0
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_n STR_k STR_n STR_o STR_w STR_n "\0"
    - item_type: preproc_def
      name: STRING_upper0
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_p STR_p STR_e STR_r "\0"
    - item_type: preproc_def
      name: STRING_uppercase0
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_u STR_p STR_p STR_e STR_r STR_c STR_a STR_s STR_e "\0"
    - item_type: preproc_def
      name: STRING_vai0
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_a STR_i "\0"
    - item_type: preproc_def
      name: STRING_vaii0
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_a STR_i STR_i "\0"
    - item_type: preproc_def
      name: STRING_variationselector0
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_a STR_r STR_i STR_a STR_t STR_i STR_o STR_n STR_s STR_e
        STR_l STR_e STR_c STR_t STR_o STR_r "\0"
    - item_type: preproc_def
      name: STRING_vith0
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_i STR_t STR_h "\0"
    - item_type: preproc_def
      name: STRING_vithkuqi0
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_i STR_t STR_h STR_k STR_u STR_q STR_i "\0"
    - item_type: preproc_def
      name: STRING_vs0
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_v STR_s "\0"
    - item_type: preproc_def
      name: STRING_wancho0
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_a STR_n STR_c STR_h STR_o "\0"
    - item_type: preproc_def
      name: STRING_wara0
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_a STR_r STR_a "\0"
    - item_type: preproc_def
      name: STRING_warangciti0
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_a STR_r STR_a STR_n STR_g STR_c STR_i STR_t STR_i "\0"
    - item_type: preproc_def
      name: STRING_wcho0
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_c STR_h STR_o "\0"
    - item_type: preproc_def
      name: STRING_whitespace0
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_h STR_i STR_t STR_e STR_s STR_p STR_a STR_c STR_e "\0"
    - item_type: preproc_def
      name: STRING_wspace0
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_w STR_s STR_p STR_a STR_c STR_e "\0"
    - item_type: preproc_def
      name: STRING_xan0
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_a STR_n "\0"
    - item_type: preproc_def
      name: STRING_xidc0
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_i STR_d STR_c "\0"
    - item_type: preproc_def
      name: STRING_xidcontinue0
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_i STR_d STR_c STR_o STR_n STR_t STR_i STR_n STR_u STR_e
        "\0"
    - item_type: preproc_def
      name: STRING_xids0
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_i STR_d STR_s "\0"
    - item_type: preproc_def
      name: STRING_xidstart0
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_i STR_d STR_s STR_t STR_a STR_r STR_t "\0"
    - item_type: preproc_def
      name: STRING_xpeo0
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_p STR_e STR_o "\0"
    - item_type: preproc_def
      name: STRING_xps0
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_p STR_s "\0"
    - item_type: preproc_def
      name: STRING_xsp0
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_s STR_p "\0"
    - item_type: preproc_def
      name: STRING_xsux0
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_s STR_u STR_x "\0"
    - item_type: preproc_def
      name: STRING_xuc0
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_u STR_c "\0"
    - item_type: preproc_def
      name: STRING_xwd0
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_x STR_w STR_d "\0"
    - item_type: preproc_def
      name: STRING_yezi0
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_y STR_e STR_z STR_i "\0"
    - item_type: preproc_def
      name: STRING_yezidi0
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_y STR_e STR_z STR_i STR_d STR_i "\0"
    - item_type: preproc_def
      name: STRING_yi0
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_y STR_i "\0"
    - item_type: preproc_def
      name: STRING_yiii0
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_y STR_i STR_i STR_i "\0"
    - item_type: preproc_def
      name: STRING_z0
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z "\0"
    - item_type: preproc_def
      name: STRING_zanabazarsquare0
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_a STR_n STR_a STR_b STR_a STR_z STR_a STR_r STR_s STR_q
        STR_u STR_a STR_r STR_e "\0"
    - item_type: preproc_def
      name: STRING_zanb0
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_a STR_n STR_b "\0"
    - item_type: preproc_def
      name: STRING_zinh0
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_i STR_n STR_h "\0"
    - item_type: preproc_def
      name: STRING_zl0
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_l "\0"
    - item_type: preproc_def
      name: STRING_zp0
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_p "\0"
    - item_type: preproc_def
      name: STRING_zs0
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_s "\0"
    - item_type: preproc_def
      name: STRING_zyyy0
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_y STR_y STR_y "\0"
    - item_type: preproc_def
      name: STRING_zzzz0
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/pcre2/src/pcre2_ucptables_inc.h
      type_or_value: STR_z STR_z STR_z STR_z "\0"
    structs: []
    typedefs: []
    union: []
- function_names:
  - META_CODE
  - META_DATA
  - META_DIFF
  - PUTOFFSET
  - GETOFFSET
  - GETPLUSOFFSET
  - READPLUSOFFSET
  - SKIPOFFSET
  - PUTOFFSET
  - GETOFFSET
  - GETPLUSOFFSET
  - READPLUSOFFSET
  - SKIPOFFSET
  - GET_MAX_CHAR_VALUE
  - SETBIT
  - SELECT_VALUE8
  - SELECT_VALUE8
  - CLIST_ALIGN_TO
  - NAMED_GROUP_GET_HASH
  source_file: /src/pcre2/src/pcre2_compile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: META_END
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80000000u  '
    - item_type: preproc_def
      name: META_ALT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80010000u  '
    - item_type: preproc_def
      name: META_ATOMIC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80020000u  '
    - item_type: preproc_def
      name: META_BACKREF
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80030000u  '
    - item_type: preproc_def
      name: META_BACKREF_BYNAME
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80040000u  '
    - item_type: preproc_def
      name: META_BIGVALUE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80050000u  '
    - item_type: preproc_def
      name: META_CALLOUT_NUMBER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80060000u  '
    - item_type: preproc_def
      name: META_CALLOUT_STRING
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80070000u  '
    - item_type: preproc_def
      name: META_CAPTURE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80080000u  '
    - item_type: preproc_def
      name: META_CIRCUMFLEX
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80090000u  '
    - item_type: preproc_def
      name: META_CLASS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800a0000u  '
    - item_type: preproc_def
      name: META_CLASS_EMPTY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800b0000u  '
    - item_type: preproc_def
      name: META_CLASS_EMPTY_NOT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800c0000u  '
    - item_type: preproc_def
      name: META_CLASS_END
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800d0000u  '
    - item_type: preproc_def
      name: META_CLASS_NOT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800e0000u  '
    - item_type: preproc_def
      name: META_COND_ASSERT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x800f0000u  '
    - item_type: preproc_def
      name: META_COND_DEFINE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80100000u  '
    - item_type: preproc_def
      name: META_COND_NAME
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80110000u  '
    - item_type: preproc_def
      name: META_COND_NUMBER
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80120000u  '
    - item_type: preproc_def
      name: META_COND_RNAME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80130000u  '
    - item_type: preproc_def
      name: META_COND_RNUMBER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80140000u  '
    - item_type: preproc_def
      name: META_COND_VERSION
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80150000u  '
    - item_type: preproc_def
      name: META_OFFSET
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80160000u  '
    - item_type: preproc_def
      name: META_SCS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80170000u  '
    - item_type: preproc_def
      name: META_CAPTURE_NAME
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80180000u  '
    - item_type: preproc_def
      name: META_CAPTURE_NUMBER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80190000u  '
    - item_type: preproc_def
      name: META_DOLLAR
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801a0000u  '
    - item_type: preproc_def
      name: META_DOT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801b0000u  '
    - item_type: preproc_def
      name: META_ESCAPE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801c0000u  '
    - item_type: preproc_def
      name: META_KET
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801d0000u  '
    - item_type: preproc_def
      name: META_NOCAPTURE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801e0000u  '
    - item_type: preproc_def
      name: META_OPTIONS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x801f0000u  '
    - item_type: preproc_def
      name: META_POSIX
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80200000u  '
    - item_type: preproc_def
      name: META_POSIX_NEG
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80210000u  '
    - item_type: preproc_def
      name: META_RANGE_ESCAPED
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80220000u  '
    - item_type: preproc_def
      name: META_RANGE_LITERAL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80230000u  '
    - item_type: preproc_def
      name: META_RECURSE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80240000u  '
    - item_type: preproc_def
      name: META_RECURSE_BYNAME
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80250000u  '
    - item_type: preproc_def
      name: META_SCRIPT_RUN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80260000u  '
    - item_type: preproc_def
      name: META_LOOKAHEAD
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80270000u  '
    - item_type: preproc_def
      name: META_LOOKAHEADNOT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80280000u  '
    - item_type: preproc_def
      name: META_LOOKBEHIND
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80290000u  '
    - item_type: preproc_def
      name: META_LOOKBEHINDNOT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802a0000u  '
    - item_type: preproc_def
      name: META_LOOKAHEAD_NA
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802b0000u  '
    - item_type: preproc_def
      name: META_LOOKBEHIND_NA
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802c0000u  '
    - item_type: preproc_def
      name: META_MARK
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802d0000u  '
    - item_type: preproc_def
      name: META_ACCEPT
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802e0000u  '
    - item_type: preproc_def
      name: META_FAIL
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x802f0000u  '
    - item_type: preproc_def
      name: META_COMMIT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80300000u  '
    - item_type: preproc_def
      name: META_COMMIT_ARG
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80310000u  '
    - item_type: preproc_def
      name: META_PRUNE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80320000u  '
    - item_type: preproc_def
      name: META_PRUNE_ARG
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80330000u  '
    - item_type: preproc_def
      name: META_SKIP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80340000u  '
    - item_type: preproc_def
      name: META_SKIP_ARG
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80350000u  '
    - item_type: preproc_def
      name: META_THEN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80360000u  '
    - item_type: preproc_def
      name: META_THEN_ARG
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80370000u  '
    - item_type: preproc_def
      name: META_ASTERISK
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80380000u  '
    - item_type: preproc_def
      name: META_ASTERISK_PLUS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80390000u  '
    - item_type: preproc_def
      name: META_ASTERISK_QUERY
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803a0000u  '
    - item_type: preproc_def
      name: META_PLUS
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803b0000u  '
    - item_type: preproc_def
      name: META_PLUS_PLUS
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803c0000u  '
    - item_type: preproc_def
      name: META_PLUS_QUERY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803d0000u  '
    - item_type: preproc_def
      name: META_QUERY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803e0000u  '
    - item_type: preproc_def
      name: META_QUERY_PLUS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x803f0000u  '
    - item_type: preproc_def
      name: META_QUERY_QUERY
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80400000u  '
    - item_type: preproc_def
      name: META_MINMAX
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80410000u  '
    - item_type: preproc_def
      name: META_MINMAX_PLUS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80420000u  '
    - item_type: preproc_def
      name: META_MINMAX_QUERY
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80430000u  '
    - item_type: preproc_def
      name: META_ECLASS_AND
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80440000u  '
    - item_type: preproc_def
      name: META_ECLASS_OR
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80450000u  '
    - item_type: preproc_def
      name: META_ECLASS_SUB
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80460000u  '
    - item_type: preproc_def
      name: META_ECLASS_XOR
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80470000u  '
    - item_type: preproc_def
      name: META_ECLASS_NOT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x80480000u  '
    - item_type: preproc_def
      name: META_FIRST_QUANTIFIER
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: META_ASTERISK
    - item_type: preproc_def
      name: META_LAST_QUANTIFIER
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: META_MINMAX_QUERY
    - item_type: preproc_def
      name: META_ATOMIC_SCRIPT_RUN
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: 0x8fff0000u
    - item_type: preproc_def
      name: SIZEOFFSET
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOFFSET
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CDATA_RECURSE_ARGS
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CDATA_CRANGE
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CLASS_IS_ECLASS
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: MAX_UCHAR_VALUE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: 0xffu
    - item_type: preproc_def
      name: MAX_UCHAR_VALUE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: 0xffffu
    - item_type: preproc_def
      name: MAX_UCHAR_VALUE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: 0xffffffffu
    - item_type: preproc_def
      name: _pcre2_posix_class_maps
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_posix_class_maps)
    - item_type: preproc_def
      name: _pcre2_update_classbits
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_update_classbits_)
    - item_type: preproc_def
      name: _pcre2_compile_class_nested
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_class_nested_)
    - item_type: preproc_def
      name: _pcre2_compile_class_not_nested
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_class_not_nested_)
    - item_type: preproc_def
      name: _pcre2_compile_get_hash_from_name
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_get_hash_from_name)
    - item_type: preproc_def
      name: _pcre2_compile_find_named_group
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_find_named_group)
    - item_type: preproc_def
      name: _pcre2_compile_find_dupname_details
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_find_dupname_details)
    - item_type: preproc_def
      name: _pcre2_compile_add_name_to_table
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_add_name_to_table)
    - item_type: preproc_def
      name: _pcre2_compile_parse_scan_substr_args
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_parse_scan_substr_args)
    - item_type: preproc_def
      name: _pcre2_compile_parse_recurse_args
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: PCRE2_SUFFIX(_pcre2_compile_parse_recurse_args)
    - item_type: preproc_def
      name: PC_DIGIT
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PC_GRAPH
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PC_PRINT
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PC_PUNCT
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PC_XDIGIT
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NAMED_GROUP_HASH_MASK
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: ((uint16_t)0x7fff)
    - item_type: preproc_def
      name: NAMED_GROUP_IS_DUPNAME
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/pcre2/src/pcre2_compile.h
      type_or_value: ((uint16_t)0x8000)
    structs:
    - fields:
      - name: '*code_start'
        type: PCRE2_UCHAR
      - name: length
        type: PCRE2_SIZE
      - name: op_single_type
        type: uint8_t
      - name: bits
        type: class_bits_storage
      item_type: struct
      name: eclass_op_info
      pos:
        line_end: 264
        line_start: 254
        source_file: /src/pcre2/src/pcre2_compile.h
    typedefs: []
    union: []
- function_names:
  - PRIV
  source_file: /src/pcre2/src/pcre2_find_bracket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCRE2_ASSERT
  - PCRE2_ASSERT
  - PCRE2_UNREACHABLE
  - PCRE2_UNREACHABLE
  - PCRE2_DEBUG_UNREACHABLE
  - PCRE2_ASSERT
  - PCRE2_DEBUG_UNREACHABLE
  - PCRE2_UNREACHABLE
  - PCRE2_UNREACHABLE
  - PCRE2_UNREACHABLE
  source_file: /src/pcre2/src/pcre2_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_FALLTHROUGH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/pcre2/src/pcre2_util.h
      type_or_value: '[[fallthrough]];'
    - item_type: preproc_def
      name: PCRE2_FALLTHROUGH
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/pcre2/src/pcre2_util.h
      type_or_value: '[[fallthrough]];'
    - item_type: preproc_def
      name: PCRE2_FALLTHROUGH
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/pcre2/src/pcre2_util.h
      type_or_value: __attribute__((fallthrough));
    structs: []
    typedefs: []
    union: []
- function_names:
  - PRIV
  - PRIV
  source_file: /src/pcre2/src/pcre2_valid_utf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_bumpalong
  - pcre2_next_match
  source_file: /src/pcre2/src/pcre2_match_next.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - BSR
  - GET_NEWLINE
  - GET_BSR
  - callback8
  - callback16
  - callback32
  - getstack8
  - setstack8
  - getstack16
  - setstack16
  - getstack32
  - setstack32
  - convert_utf8_to_utf16
  - copy_char8_to_char16
  - convert_utf8_to_utf32
  - copy_char8_to_char32
  - check_ascii
  - regression_tests
  - check_invalid_utf_result
  - run_invalid_utf8_test
  - invalid_utf8_regression_tests
  - invalid_utf8_regression_tests
  - run_invalid_utf16_test
  - invalid_utf16_regression_tests
  - invalid_utf16_regression_tests
  - run_invalid_utf32_test
  - invalid_utf32_regression_tests
  - invalid_utf32_regression_tests
  source_file: /src/pcre2/src/pcre2_jit_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MU
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_MULTILINE | PCRE2_UTF)
    - item_type: preproc_def
      name: MUP
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_MULTILINE | PCRE2_UTF | PCRE2_UCP)
    - item_type: preproc_def
      name: CMU
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_CASELESS | PCRE2_MULTILINE | PCRE2_UTF)
    - item_type: preproc_def
      name: CMUP
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_CASELESS | PCRE2_MULTILINE | PCRE2_UTF | PCRE2_UCP)
    - item_type: preproc_def
      name: M
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_MULTILINE)
    - item_type: preproc_def
      name: MP
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_MULTILINE | PCRE2_UCP)
    - item_type: preproc_def
      name: U
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_UTF)
    - item_type: preproc_def
      name: CM
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_CASELESS | PCRE2_MULTILINE)
    - item_type: preproc_def
      name: A
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: PCRE2_NEWLINE_ANYCRLF
    - item_type: preproc_def
      name: OFFSET_MASK
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x00ffff'
    - item_type: preproc_def
      name: F_NO8
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x010000'
    - item_type: preproc_def
      name: F_NO16
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x020000'
    - item_type: preproc_def
      name: F_NO32
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x020000'
    - item_type: preproc_def
      name: F_NOMATCH
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x040000'
    - item_type: preproc_def
      name: F_DIFF
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x080000'
    - item_type: preproc_def
      name: F_FORCECONV
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: F_PROPERTY
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '0x200000'
    - item_type: preproc_def
      name: REGTEST_MAX_LENGTH16
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: REGTEST_MAX_LENGTH32
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: OVECTOR_SIZE
      pos:
        line_end: 1182
        line_start: 1181
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: '15'
    - item_type: preproc_def
      name: UDA
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_UTF | PCRE2_DOTALL | PCRE2_ANCHORED)
    - item_type: preproc_def
      name: CI
      pos:
        line_end: 1865
        line_start: 1864
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: CPI
      pos:
        line_end: 1866
        line_start: 1865
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_PARTIAL_SOFT | PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: UDA
      pos:
        line_end: 2155
        line_start: 2154
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_UTF | PCRE2_DOTALL | PCRE2_ANCHORED)
    - item_type: preproc_def
      name: CI
      pos:
        line_end: 2156
        line_start: 2155
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: CPI
      pos:
        line_end: 2157
        line_start: 2156
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_PARTIAL_SOFT | PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: UDA
      pos:
        line_end: 2363
        line_start: 2362
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_UTF | PCRE2_DOTALL | PCRE2_ANCHORED)
    - item_type: preproc_def
      name: CI
      pos:
        line_end: 2364
        line_start: 2363
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_INVALID_UTF)
    - item_type: preproc_def
      name: CPI
      pos:
        line_end: 2365
        line_start: 2364
        source_file: /src/pcre2/src/pcre2_jit_test.c
      type_or_value: (PCRE2_JIT_COMPLETE | PCRE2_JIT_PARTIAL_SOFT | PCRE2_JIT_INVALID_UTF)
    structs:
    - fields:
      - name: compile_options
        type: uint32_t
      - name: newline
        type: int
      - name: match_options
        type: int
      - name: start_offset
        type: int
      - name: '*pattern'
        type: char
      - name: '*input'
        type: char
      item_type: struct
      name: regression_test_case
      pos:
        line_end: 160
        line_start: 153
        source_file: /src/pcre2/src/pcre2_jit_test.c
    - fields:
      - name: compile_options
        type: uint32_t
      - name: jit_compile_options
        type: int
      - name: start_offset
        type: int
      - name: skip_left
        type: int
      - name: skip_right
        type: int
      - name: match_start
        type: int
      - name: match_end
        type: int
      - name: '*pattern[2]'
        type: char
      - name: '*input'
        type: char
      item_type: struct
      name: invalid_utf8_regression_test_case
      pos:
        line_end: 1877
        line_start: 1867
        source_file: /src/pcre2/src/pcre2_jit_test.c
    - fields:
      - name: compile_options
        type: uint32_t
      - name: jit_compile_options
        type: int
      - name: start_offset
        type: int
      - name: skip_left
        type: int
      - name: skip_right
        type: int
      - name: match_start
        type: int
      - name: match_end
        type: int
      - name: '*pattern[2]'
        type: PCRE2_UCHAR16
      - name: '*input'
        type: PCRE2_UCHAR16
      item_type: struct
      name: invalid_utf16_regression_test_case
      pos:
        line_end: 2168
        line_start: 2158
        source_file: /src/pcre2/src/pcre2_jit_test.c
    - fields:
      - name: compile_options
        type: uint32_t
      - name: jit_compile_options
        type: int
      - name: start_offset
        type: int
      - name: skip_left
        type: int
      - name: skip_right
        type: int
      - name: match_start
        type: int
      - name: match_end
        type: int
      - name: '*pattern[2]'
        type: PCRE2_UCHAR32
      - name: '*input'
        type: PCRE2_UCHAR32
      item_type: struct
      name: invalid_utf32_regression_test_case
      pos:
        line_end: 2376
        line_start: 2366
        source_file: /src/pcre2/src/pcre2_jit_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pcre2/vms/stdint.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/pcre2/vms/stdint.h
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/pcre2/vms/stdint.h
      type_or_value: 4294967295u
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/pcre2/vms/stdint.h
      type_or_value: (65535)
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_stdin_tty
  - get_propname
  - print_prop
  - find_chars
  - process_command_line
  - main
  source_file: /src/pcre2/maint/ucptest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CS
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/pcre2/maint/ucptest.c
      type_or_value: (char *)
    - item_type: preproc_def
      name: CCS
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/pcre2/maint/ucptest.c
      type_or_value: (const char *)
    - item_type: preproc_def
      name: CSS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/pcre2/maint/ucptest.c
      type_or_value: (char **)
    - item_type: preproc_def
      name: US
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/pcre2/maint/ucptest.c
      type_or_value: (unsigned char *)
    - item_type: preproc_def
      name: CUS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/pcre2/maint/ucptest.c
      type_or_value: (const unsigned char *)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ord2utf8
  - utf82ord
  - usage
  - main
  source_file: /src/pcre2/maint/utf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/pcre2/maint/cmake-tests/install-interface/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/pcre2/maint/cmake-tests/install-interface/main.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
